From 9ea651d29933fec961de3e3a7636fd4ec9dbcf51 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 4 Sep 2025 23:33:00 +0300 Subject: [PATCH 01/37] update(icons): update names for icons --- packages/ui/icons/lib/AddRowAbove.tsx | 5 - packages/ui/icons/lib/AddRowAboveIcon.tsx | 5 + packages/ui/icons/lib/AddRowBelow.tsx | 5 - packages/ui/icons/lib/AddRowBelowIcon.tsx | 5 + packages/ui/icons/lib/AddSquare.tsx | 5 - packages/ui/icons/lib/AddSquareIcon.tsx | 5 + packages/ui/icons/lib/Arrow360.tsx | 5 - packages/ui/icons/lib/Arrow360Icon.tsx | 5 + packages/ui/icons/lib/ArrowBack.tsx | 5 - packages/ui/icons/lib/ArrowBackIcon.tsx | 5 + packages/ui/icons/lib/ArrowDownToSquare.tsx | 5 - .../ui/icons/lib/ArrowDownToSquareIcon.tsx | 5 + packages/ui/icons/lib/ArrowLeftArrowRight.tsx | 5 - .../ui/icons/lib/ArrowLeftArrowRightIcon.tsx | 5 + packages/ui/icons/lib/ArrowOutward.tsx | 5 - packages/ui/icons/lib/ArrowOutwardIcon.tsx | 5 + .../ui/icons/lib/ArrowRightFromSquare.tsx | 5 - .../ui/icons/lib/ArrowRightFromSquareIcon.tsx | 5 + packages/ui/icons/lib/ArrowRightToSquare.tsx | 5 - .../ui/icons/lib/ArrowRightToSquareIcon.tsx | 5 + .../ui/icons/lib/ArrowShapeTurnUpRight.tsx | 5 - .../icons/lib/ArrowShapeTurnUpRightCheck.tsx | 5 - .../lib/ArrowShapeTurnUpRightCheckIcon.tsx | 5 + .../icons/lib/ArrowShapeTurnUpRightIcon.tsx | 5 + packages/ui/icons/lib/ArrowUpArrowDown.tsx | 5 - .../ui/icons/lib/ArrowUpArrowDownIcon.tsx | 5 + packages/ui/icons/lib/ArrowUturnCcwLeft.tsx | 5 - .../ui/icons/lib/ArrowUturnCcwLeftIcon.tsx | 5 + packages/ui/icons/lib/ArrowUturnCwRight.tsx | 5 - .../ui/icons/lib/ArrowUturnCwRightIcon.tsx | 5 + .../ui/icons/lib/ArrowsRotateRightAdd.tsx | 14 - .../ui/icons/lib/ArrowsRotateRightAddIcon.tsx | 14 + .../ui/icons/lib/ArrowsRotateRightCheck.tsx | 5 - .../icons/lib/ArrowsRotateRightCheckIcon.tsx | 5 + packages/ui/icons/lib/AttachFile.tsx | 5 - packages/ui/icons/lib/AttachFileIcon.tsx | 5 + packages/ui/icons/lib/Bookmark.tsx | 5 - packages/ui/icons/lib/BookmarkFill.tsx | 5 - packages/ui/icons/lib/BookmarkFillIcon.tsx | 5 + packages/ui/icons/lib/BookmarkIcon.tsx | 5 + packages/ui/icons/lib/Bookmarks.tsx | 5 - packages/ui/icons/lib/BookmarksIcon.tsx | 5 + packages/ui/icons/lib/Check.tsx | 5 - packages/ui/icons/lib/CheckIcon.tsx | 5 + packages/ui/icons/lib/ChevronDown.tsx | 5 - packages/ui/icons/lib/ChevronDownIcon.tsx | 5 + packages/ui/icons/lib/ChevronDownToLine.tsx | 5 - .../ui/icons/lib/ChevronDownToLineIcon.tsx | 5 + packages/ui/icons/lib/ChevronLeft.tsx | 5 - packages/ui/icons/lib/ChevronLeftIcon.tsx | 5 + packages/ui/icons/lib/ChevronRight.tsx | 5 - packages/ui/icons/lib/ChevronRightIcon.tsx | 5 + packages/ui/icons/lib/ChevronUp.tsx | 5 - packages/ui/icons/lib/ChevronUpIcon.tsx | 5 + packages/ui/icons/lib/ChevronUpToLine.tsx | 5 - packages/ui/icons/lib/ChevronUpToLineIcon.tsx | 5 + .../ui/icons/lib/ChevronsCollapseUpRight.tsx | 5 - .../icons/lib/ChevronsCollapseUpRightIcon.tsx | 5 + .../ui/icons/lib/ChevronsExpandUpRight.tsx | 5 - .../icons/lib/ChevronsExpandUpRightIcon.tsx | 5 + packages/ui/icons/lib/CircleCheck.tsx | 5 - packages/ui/icons/lib/CircleCheckFill.tsx | 5 - packages/ui/icons/lib/CircleCheckFillIcon.tsx | 5 + packages/ui/icons/lib/CircleCheckIcon.tsx | 5 + packages/ui/icons/lib/CircleInfo.tsx | 5 - packages/ui/icons/lib/CircleInfoFill.tsx | 5 - packages/ui/icons/lib/CircleInfoFillIcon.tsx | 5 + packages/ui/icons/lib/CircleInfoIcon.tsx | 5 + packages/ui/icons/lib/CircleXmark.tsx | 5 - packages/ui/icons/lib/CircleXmarkFill.tsx | 5 - packages/ui/icons/lib/CircleXmarkFillIcon.tsx | 5 + packages/ui/icons/lib/CircleXmarkIcon.tsx | 5 + packages/ui/icons/lib/Clipboard.tsx | 5 - packages/ui/icons/lib/ClipboardIcon.tsx | 5 + packages/ui/icons/lib/Clock40.tsx | 5 - packages/ui/icons/lib/Clock40Icon.tsx | 5 + packages/ui/icons/lib/Clock60.tsx | 5 - packages/ui/icons/lib/Clock60Icon.tsx | 5 + .../ui/icons/lib/ClockArrowRotateCcwLeft.tsx | 5 - .../icons/lib/ClockArrowRotateCcwLeftIcon.tsx | 5 + packages/ui/icons/lib/CodeBlock.tsx | 5 - packages/ui/icons/lib/CodeBlockIcon.tsx | 5 + packages/ui/icons/lib/Copy.tsx | 5 - packages/ui/icons/lib/CopyIcon.tsx | 5 + packages/ui/icons/lib/Delete.tsx | 5 - packages/ui/icons/lib/DeleteIcon.tsx | 5 + packages/ui/icons/lib/DeleteXmark.tsx | 5 - packages/ui/icons/lib/DeleteXmarkIcon.tsx | 5 + packages/ui/icons/lib/DotsHorizontal.tsx | 5 - packages/ui/icons/lib/DotsHorizontalIcon.tsx | 5 + packages/ui/icons/lib/DotsVertical.tsx | 5 - packages/ui/icons/lib/DotsVerticalIcon.tsx | 5 + packages/ui/icons/lib/Equal.tsx | 5 - packages/ui/icons/lib/EqualIcon.tsx | 5 + packages/ui/icons/lib/Explore.tsx | 5 - packages/ui/icons/lib/ExploreFill.tsx | 5 - packages/ui/icons/lib/ExploreFillIcon.tsx | 5 + packages/ui/icons/lib/ExploreIcon.tsx | 5 + packages/ui/icons/lib/Favorite.tsx | 5 - packages/ui/icons/lib/FavoriteFill.tsx | 5 - packages/ui/icons/lib/FavoriteFillIcon.tsx | 5 + packages/ui/icons/lib/FavoriteIcon.tsx | 5 + packages/ui/icons/lib/File.tsx | 5 - packages/ui/icons/lib/FileAdd.tsx | 5 - packages/ui/icons/lib/FileAddIcon.tsx | 5 + packages/ui/icons/lib/FileCheck.tsx | 5 - packages/ui/icons/lib/FileCheckFill.tsx | 5 - packages/ui/icons/lib/FileCheckFillIcon.tsx | 5 + packages/ui/icons/lib/FileCheckIcon.tsx | 5 + packages/ui/icons/lib/FileIcon.tsx | 5 + packages/ui/icons/lib/Filter.tsx | 5 - packages/ui/icons/lib/FilterFill.tsx | 5 - packages/ui/icons/lib/FilterFillIcon.tsx | 5 + packages/ui/icons/lib/FilterIcon.tsx | 5 + packages/ui/icons/lib/FlagRu.tsx | 28 -- packages/ui/icons/lib/FlagRuIcon.tsx | 22 ++ packages/ui/icons/lib/FlagUk.tsx | 28 -- packages/ui/icons/lib/FlagUkIcon.tsx | 22 ++ packages/ui/icons/lib/Folder.tsx | 5 - packages/ui/icons/lib/FolderAdd.tsx | 5 - packages/ui/icons/lib/FolderAddIcon.tsx | 5 + packages/ui/icons/lib/FolderFill.tsx | 5 - packages/ui/icons/lib/FolderFillIcon.tsx | 5 + packages/ui/icons/lib/FolderIcon.tsx | 5 + packages/ui/icons/lib/FolderOpen.tsx | 5 - packages/ui/icons/lib/FolderOpenFill.tsx | 5 - packages/ui/icons/lib/FolderOpenFillIcon.tsx | 5 + packages/ui/icons/lib/FolderOpenIcon.tsx | 5 + packages/ui/icons/lib/Folders.tsx | 5 - packages/ui/icons/lib/FoldersIcon.tsx | 5 + packages/ui/icons/lib/FormatBold.tsx | 5 - packages/ui/icons/lib/FormatBoldIcon.tsx | 5 + packages/ui/icons/lib/FormatItalic.tsx | 5 - packages/ui/icons/lib/FormatItalicIcon.tsx | 5 + packages/ui/icons/lib/FormatListOl.tsx | 5 - packages/ui/icons/lib/FormatListOlIcon.tsx | 5 + packages/ui/icons/lib/FormatListUl.tsx | 5 - packages/ui/icons/lib/FormatListUlIcon.tsx | 5 + packages/ui/icons/lib/FormatUndeline.tsx | 5 - packages/ui/icons/lib/FormatUndelineIcon.tsx | 5 + packages/ui/icons/lib/Fullscreen.tsx | 5 - packages/ui/icons/lib/FullscreenIcon.tsx | 5 + packages/ui/icons/lib/Funnel.tsx | 5 - packages/ui/icons/lib/FunnelIcon.tsx | 5 + packages/ui/icons/lib/Globe.tsx | 5 - packages/ui/icons/lib/GlobeAdd.tsx | 5 - packages/ui/icons/lib/GlobeAddIcon.tsx | 5 + packages/ui/icons/lib/GlobeIcon.tsx | 5 + packages/ui/icons/lib/Google.tsx | 14 - packages/ui/icons/lib/GoogleIcon.tsx | 14 + packages/ui/icons/lib/Grip.tsx | 5 - packages/ui/icons/lib/GripIcon.tsx | 5 + packages/ui/icons/lib/Hint.tsx | 5 - packages/ui/icons/lib/HintAdd.tsx | 14 - packages/ui/icons/lib/HintAddIcon.tsx | 14 + packages/ui/icons/lib/HintIcon.tsx | 5 + packages/ui/icons/lib/HintSlash.tsx | 5 - packages/ui/icons/lib/HintSlashIcon.tsx | 5 + packages/ui/icons/lib/Home.tsx | 5 - packages/ui/icons/lib/HomeFill.tsx | 5 - packages/ui/icons/lib/HomeFillIcon.tsx | 5 + packages/ui/icons/lib/HomeIcon.tsx | 5 + packages/ui/icons/lib/Interests.tsx | 5 - packages/ui/icons/lib/InterestsFill.tsx | 5 - packages/ui/icons/lib/InterestsFillIcon.tsx | 5 + packages/ui/icons/lib/InterestsIcon.tsx | 5 + packages/ui/icons/lib/Language.tsx | 5 - packages/ui/icons/lib/LanguageIcon.tsx | 5 + packages/ui/icons/lib/Learn.tsx | 5 - packages/ui/icons/lib/LearnIcon.tsx | 5 + packages/ui/icons/lib/Link.tsx | 5 - packages/ui/icons/lib/LinkAdd.tsx | 5 - packages/ui/icons/lib/LinkAddIcon.tsx | 5 + packages/ui/icons/lib/LinkIcon.tsx | 5 + packages/ui/icons/lib/LinkSlash.tsx | 5 - packages/ui/icons/lib/LinkSlashIcon.tsx | 5 + packages/ui/icons/lib/ListAdd.tsx | 5 - packages/ui/icons/lib/ListAddIcon.tsx | 5 + packages/ui/icons/lib/Magnifier.tsx | 5 - packages/ui/icons/lib/MagnifierIcon.tsx | 5 + packages/ui/icons/lib/MailAol.tsx | 18 -- packages/ui/icons/lib/MailAolIcon.tsx | 18 ++ packages/ui/icons/lib/MailGmail.tsx | 15 -- packages/ui/icons/lib/MailGmailIcon.tsx | 15 ++ packages/ui/icons/lib/MailIcloud.tsx | 48 ---- packages/ui/icons/lib/MailIcloudIcon.tsx | 48 ++++ packages/ui/icons/lib/MailMail.tsx | 15 -- packages/ui/icons/lib/MailMailIcon.tsx | 15 ++ packages/ui/icons/lib/MailOutlook.tsx | 25 -- packages/ui/icons/lib/MailOutlookIcon.tsx | 25 ++ packages/ui/icons/lib/MailProton.tsx | 12 - packages/ui/icons/lib/MailProtonIcon.tsx | 12 + packages/ui/icons/lib/MailYahoo.tsx | 15 -- packages/ui/icons/lib/MailYahooIcon.tsx | 15 ++ packages/ui/icons/lib/MailYandex.tsx | 23 -- packages/ui/icons/lib/MailYandexIcon.tsx | 23 ++ packages/ui/icons/lib/Minus.tsx | 5 - packages/ui/icons/lib/MinusIcon.tsx | 5 + packages/ui/icons/lib/MoveToFolder.tsx | 5 - packages/ui/icons/lib/MoveToFolderIcon.tsx | 5 + packages/ui/icons/lib/Notifications.tsx | 5 - packages/ui/icons/lib/NotificationsIcon.tsx | 5 + packages/ui/icons/lib/Pencil.tsx | 5 - packages/ui/icons/lib/PencilIcon.tsx | 5 + packages/ui/icons/lib/PersonAdd.tsx | 5 - packages/ui/icons/lib/PersonAddIcon.tsx | 5 + packages/ui/icons/lib/PersonCheck.tsx | 5 - packages/ui/icons/lib/PersonCheckFill.tsx | 5 - packages/ui/icons/lib/PersonCheckFillIcon.tsx | 5 + packages/ui/icons/lib/PersonCheckIcon.tsx | 5 + packages/ui/icons/lib/PersonEdit.tsx | 5 - packages/ui/icons/lib/PersonEditFill.tsx | 5 - packages/ui/icons/lib/PersonEditFillIcon.tsx | 5 + packages/ui/icons/lib/PersonEditIcon.tsx | 5 + packages/ui/icons/lib/PersonGroup.tsx | 5 - packages/ui/icons/lib/PersonGroupIcon.tsx | 5 + packages/ui/icons/lib/PersonPin.tsx | 5 - packages/ui/icons/lib/PersonPinIcon.tsx | 5 + packages/ui/icons/lib/Plus.tsx | 5 - packages/ui/icons/lib/PlusIcon.tsx | 5 + packages/ui/icons/lib/Preview.tsx | 5 - packages/ui/icons/lib/PreviewIcon.tsx | 5 + packages/ui/icons/lib/Set.tsx | 5 - packages/ui/icons/lib/SetAdd.tsx | 5 - packages/ui/icons/lib/SetAddIcon.tsx | 5 + packages/ui/icons/lib/SetIcon.tsx | 5 + packages/ui/icons/lib/Settings.tsx | 5 - packages/ui/icons/lib/SettingsIcon.tsx | 5 + packages/ui/icons/lib/Shuffle.tsx | 5 - packages/ui/icons/lib/ShuffleIcon.tsx | 5 + packages/ui/icons/lib/Sort.tsx | 5 - packages/ui/icons/lib/SortByAlpha.tsx | 5 - packages/ui/icons/lib/SortByAlphaIcon.tsx | 5 + packages/ui/icons/lib/SortIcon.tsx | 5 + packages/ui/icons/lib/Spinner.tsx | 12 - packages/ui/icons/lib/SpinnerIcon.tsx | 12 + packages/ui/icons/lib/Star.tsx | 5 - packages/ui/icons/lib/StarIcon.tsx | 5 + packages/ui/icons/lib/TableConvert.tsx | 5 - packages/ui/icons/lib/TableConvertIcon.tsx | 5 + packages/ui/icons/lib/Tag.tsx | 5 - packages/ui/icons/lib/TagIcon.tsx | 5 + packages/ui/icons/lib/TextFormat.tsx | 5 - packages/ui/icons/lib/TextFormatIcon.tsx | 5 + packages/ui/icons/lib/Vk.tsx | 12 - packages/ui/icons/lib/VkIcon.tsx | 12 + packages/ui/icons/lib/Xmark.tsx | 5 - packages/ui/icons/lib/XmarkIcon.tsx | 5 + packages/ui/icons/lib/Yandex.tsx | 15 -- packages/ui/icons/lib/YandexIcon.tsx | 15 ++ packages/ui/icons/lib/index.tsx | 250 +++++++++--------- packages/ui/icons/package.json | 17 +- packages/ui/icons/scripts/generateIcons.js | 36 +-- 253 files changed, 991 insertions(+), 1006 deletions(-) delete mode 100644 packages/ui/icons/lib/AddRowAbove.tsx create mode 100644 packages/ui/icons/lib/AddRowAboveIcon.tsx delete mode 100644 packages/ui/icons/lib/AddRowBelow.tsx create mode 100644 packages/ui/icons/lib/AddRowBelowIcon.tsx delete mode 100644 packages/ui/icons/lib/AddSquare.tsx create mode 100644 packages/ui/icons/lib/AddSquareIcon.tsx delete mode 100644 packages/ui/icons/lib/Arrow360.tsx create mode 100644 packages/ui/icons/lib/Arrow360Icon.tsx delete mode 100644 packages/ui/icons/lib/ArrowBack.tsx create mode 100644 packages/ui/icons/lib/ArrowBackIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowDownToSquare.tsx create mode 100644 packages/ui/icons/lib/ArrowDownToSquareIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowLeftArrowRight.tsx create mode 100644 packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowOutward.tsx create mode 100644 packages/ui/icons/lib/ArrowOutwardIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowRightFromSquare.tsx create mode 100644 packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowRightToSquare.tsx create mode 100644 packages/ui/icons/lib/ArrowRightToSquareIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowShapeTurnUpRight.tsx delete mode 100644 packages/ui/icons/lib/ArrowShapeTurnUpRightCheck.tsx create mode 100644 packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx create mode 100644 packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowUpArrowDown.tsx create mode 100644 packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowUturnCcwLeft.tsx create mode 100644 packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowUturnCwRight.tsx create mode 100644 packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowsRotateRightAdd.tsx create mode 100644 packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx delete mode 100644 packages/ui/icons/lib/ArrowsRotateRightCheck.tsx create mode 100644 packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx delete mode 100644 packages/ui/icons/lib/AttachFile.tsx create mode 100644 packages/ui/icons/lib/AttachFileIcon.tsx delete mode 100644 packages/ui/icons/lib/Bookmark.tsx delete mode 100644 packages/ui/icons/lib/BookmarkFill.tsx create mode 100644 packages/ui/icons/lib/BookmarkFillIcon.tsx create mode 100644 packages/ui/icons/lib/BookmarkIcon.tsx delete mode 100644 packages/ui/icons/lib/Bookmarks.tsx create mode 100644 packages/ui/icons/lib/BookmarksIcon.tsx delete mode 100644 packages/ui/icons/lib/Check.tsx create mode 100644 packages/ui/icons/lib/CheckIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronDown.tsx create mode 100644 packages/ui/icons/lib/ChevronDownIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronDownToLine.tsx create mode 100644 packages/ui/icons/lib/ChevronDownToLineIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronLeft.tsx create mode 100644 packages/ui/icons/lib/ChevronLeftIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronRight.tsx create mode 100644 packages/ui/icons/lib/ChevronRightIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronUp.tsx create mode 100644 packages/ui/icons/lib/ChevronUpIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronUpToLine.tsx create mode 100644 packages/ui/icons/lib/ChevronUpToLineIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronsCollapseUpRight.tsx create mode 100644 packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx delete mode 100644 packages/ui/icons/lib/ChevronsExpandUpRight.tsx create mode 100644 packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx delete mode 100644 packages/ui/icons/lib/CircleCheck.tsx delete mode 100644 packages/ui/icons/lib/CircleCheckFill.tsx create mode 100644 packages/ui/icons/lib/CircleCheckFillIcon.tsx create mode 100644 packages/ui/icons/lib/CircleCheckIcon.tsx delete mode 100644 packages/ui/icons/lib/CircleInfo.tsx delete mode 100644 packages/ui/icons/lib/CircleInfoFill.tsx create mode 100644 packages/ui/icons/lib/CircleInfoFillIcon.tsx create mode 100644 packages/ui/icons/lib/CircleInfoIcon.tsx delete mode 100644 packages/ui/icons/lib/CircleXmark.tsx delete mode 100644 packages/ui/icons/lib/CircleXmarkFill.tsx create mode 100644 packages/ui/icons/lib/CircleXmarkFillIcon.tsx create mode 100644 packages/ui/icons/lib/CircleXmarkIcon.tsx delete mode 100644 packages/ui/icons/lib/Clipboard.tsx create mode 100644 packages/ui/icons/lib/ClipboardIcon.tsx delete mode 100644 packages/ui/icons/lib/Clock40.tsx create mode 100644 packages/ui/icons/lib/Clock40Icon.tsx delete mode 100644 packages/ui/icons/lib/Clock60.tsx create mode 100644 packages/ui/icons/lib/Clock60Icon.tsx delete mode 100644 packages/ui/icons/lib/ClockArrowRotateCcwLeft.tsx create mode 100644 packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx delete mode 100644 packages/ui/icons/lib/CodeBlock.tsx create mode 100644 packages/ui/icons/lib/CodeBlockIcon.tsx delete mode 100644 packages/ui/icons/lib/Copy.tsx create mode 100644 packages/ui/icons/lib/CopyIcon.tsx delete mode 100644 packages/ui/icons/lib/Delete.tsx create mode 100644 packages/ui/icons/lib/DeleteIcon.tsx delete mode 100644 packages/ui/icons/lib/DeleteXmark.tsx create mode 100644 packages/ui/icons/lib/DeleteXmarkIcon.tsx delete mode 100644 packages/ui/icons/lib/DotsHorizontal.tsx create mode 100644 packages/ui/icons/lib/DotsHorizontalIcon.tsx delete mode 100644 packages/ui/icons/lib/DotsVertical.tsx create mode 100644 packages/ui/icons/lib/DotsVerticalIcon.tsx delete mode 100644 packages/ui/icons/lib/Equal.tsx create mode 100644 packages/ui/icons/lib/EqualIcon.tsx delete mode 100644 packages/ui/icons/lib/Explore.tsx delete mode 100644 packages/ui/icons/lib/ExploreFill.tsx create mode 100644 packages/ui/icons/lib/ExploreFillIcon.tsx create mode 100644 packages/ui/icons/lib/ExploreIcon.tsx delete mode 100644 packages/ui/icons/lib/Favorite.tsx delete mode 100644 packages/ui/icons/lib/FavoriteFill.tsx create mode 100644 packages/ui/icons/lib/FavoriteFillIcon.tsx create mode 100644 packages/ui/icons/lib/FavoriteIcon.tsx delete mode 100644 packages/ui/icons/lib/File.tsx delete mode 100644 packages/ui/icons/lib/FileAdd.tsx create mode 100644 packages/ui/icons/lib/FileAddIcon.tsx delete mode 100644 packages/ui/icons/lib/FileCheck.tsx delete mode 100644 packages/ui/icons/lib/FileCheckFill.tsx create mode 100644 packages/ui/icons/lib/FileCheckFillIcon.tsx create mode 100644 packages/ui/icons/lib/FileCheckIcon.tsx create mode 100644 packages/ui/icons/lib/FileIcon.tsx delete mode 100644 packages/ui/icons/lib/Filter.tsx delete mode 100644 packages/ui/icons/lib/FilterFill.tsx create mode 100644 packages/ui/icons/lib/FilterFillIcon.tsx create mode 100644 packages/ui/icons/lib/FilterIcon.tsx delete mode 100644 packages/ui/icons/lib/FlagRu.tsx create mode 100644 packages/ui/icons/lib/FlagRuIcon.tsx delete mode 100644 packages/ui/icons/lib/FlagUk.tsx create mode 100644 packages/ui/icons/lib/FlagUkIcon.tsx delete mode 100644 packages/ui/icons/lib/Folder.tsx delete mode 100644 packages/ui/icons/lib/FolderAdd.tsx create mode 100644 packages/ui/icons/lib/FolderAddIcon.tsx delete mode 100644 packages/ui/icons/lib/FolderFill.tsx create mode 100644 packages/ui/icons/lib/FolderFillIcon.tsx create mode 100644 packages/ui/icons/lib/FolderIcon.tsx delete mode 100644 packages/ui/icons/lib/FolderOpen.tsx delete mode 100644 packages/ui/icons/lib/FolderOpenFill.tsx create mode 100644 packages/ui/icons/lib/FolderOpenFillIcon.tsx create mode 100644 packages/ui/icons/lib/FolderOpenIcon.tsx delete mode 100644 packages/ui/icons/lib/Folders.tsx create mode 100644 packages/ui/icons/lib/FoldersIcon.tsx delete mode 100644 packages/ui/icons/lib/FormatBold.tsx create mode 100644 packages/ui/icons/lib/FormatBoldIcon.tsx delete mode 100644 packages/ui/icons/lib/FormatItalic.tsx create mode 100644 packages/ui/icons/lib/FormatItalicIcon.tsx delete mode 100644 packages/ui/icons/lib/FormatListOl.tsx create mode 100644 packages/ui/icons/lib/FormatListOlIcon.tsx delete mode 100644 packages/ui/icons/lib/FormatListUl.tsx create mode 100644 packages/ui/icons/lib/FormatListUlIcon.tsx delete mode 100644 packages/ui/icons/lib/FormatUndeline.tsx create mode 100644 packages/ui/icons/lib/FormatUndelineIcon.tsx delete mode 100644 packages/ui/icons/lib/Fullscreen.tsx create mode 100644 packages/ui/icons/lib/FullscreenIcon.tsx delete mode 100644 packages/ui/icons/lib/Funnel.tsx create mode 100644 packages/ui/icons/lib/FunnelIcon.tsx delete mode 100644 packages/ui/icons/lib/Globe.tsx delete mode 100644 packages/ui/icons/lib/GlobeAdd.tsx create mode 100644 packages/ui/icons/lib/GlobeAddIcon.tsx create mode 100644 packages/ui/icons/lib/GlobeIcon.tsx delete mode 100644 packages/ui/icons/lib/Google.tsx create mode 100644 packages/ui/icons/lib/GoogleIcon.tsx delete mode 100644 packages/ui/icons/lib/Grip.tsx create mode 100644 packages/ui/icons/lib/GripIcon.tsx delete mode 100644 packages/ui/icons/lib/Hint.tsx delete mode 100644 packages/ui/icons/lib/HintAdd.tsx create mode 100644 packages/ui/icons/lib/HintAddIcon.tsx create mode 100644 packages/ui/icons/lib/HintIcon.tsx delete mode 100644 packages/ui/icons/lib/HintSlash.tsx create mode 100644 packages/ui/icons/lib/HintSlashIcon.tsx delete mode 100644 packages/ui/icons/lib/Home.tsx delete mode 100644 packages/ui/icons/lib/HomeFill.tsx create mode 100644 packages/ui/icons/lib/HomeFillIcon.tsx create mode 100644 packages/ui/icons/lib/HomeIcon.tsx delete mode 100644 packages/ui/icons/lib/Interests.tsx delete mode 100644 packages/ui/icons/lib/InterestsFill.tsx create mode 100644 packages/ui/icons/lib/InterestsFillIcon.tsx create mode 100644 packages/ui/icons/lib/InterestsIcon.tsx delete mode 100644 packages/ui/icons/lib/Language.tsx create mode 100644 packages/ui/icons/lib/LanguageIcon.tsx delete mode 100644 packages/ui/icons/lib/Learn.tsx create mode 100644 packages/ui/icons/lib/LearnIcon.tsx delete mode 100644 packages/ui/icons/lib/Link.tsx delete mode 100644 packages/ui/icons/lib/LinkAdd.tsx create mode 100644 packages/ui/icons/lib/LinkAddIcon.tsx create mode 100644 packages/ui/icons/lib/LinkIcon.tsx delete mode 100644 packages/ui/icons/lib/LinkSlash.tsx create mode 100644 packages/ui/icons/lib/LinkSlashIcon.tsx delete mode 100644 packages/ui/icons/lib/ListAdd.tsx create mode 100644 packages/ui/icons/lib/ListAddIcon.tsx delete mode 100644 packages/ui/icons/lib/Magnifier.tsx create mode 100644 packages/ui/icons/lib/MagnifierIcon.tsx delete mode 100644 packages/ui/icons/lib/MailAol.tsx create mode 100644 packages/ui/icons/lib/MailAolIcon.tsx delete mode 100644 packages/ui/icons/lib/MailGmail.tsx create mode 100644 packages/ui/icons/lib/MailGmailIcon.tsx delete mode 100644 packages/ui/icons/lib/MailIcloud.tsx create mode 100644 packages/ui/icons/lib/MailIcloudIcon.tsx delete mode 100644 packages/ui/icons/lib/MailMail.tsx create mode 100644 packages/ui/icons/lib/MailMailIcon.tsx delete mode 100644 packages/ui/icons/lib/MailOutlook.tsx create mode 100644 packages/ui/icons/lib/MailOutlookIcon.tsx delete mode 100644 packages/ui/icons/lib/MailProton.tsx create mode 100644 packages/ui/icons/lib/MailProtonIcon.tsx delete mode 100644 packages/ui/icons/lib/MailYahoo.tsx create mode 100644 packages/ui/icons/lib/MailYahooIcon.tsx delete mode 100644 packages/ui/icons/lib/MailYandex.tsx create mode 100644 packages/ui/icons/lib/MailYandexIcon.tsx delete mode 100644 packages/ui/icons/lib/Minus.tsx create mode 100644 packages/ui/icons/lib/MinusIcon.tsx delete mode 100644 packages/ui/icons/lib/MoveToFolder.tsx create mode 100644 packages/ui/icons/lib/MoveToFolderIcon.tsx delete mode 100644 packages/ui/icons/lib/Notifications.tsx create mode 100644 packages/ui/icons/lib/NotificationsIcon.tsx delete mode 100644 packages/ui/icons/lib/Pencil.tsx create mode 100644 packages/ui/icons/lib/PencilIcon.tsx delete mode 100644 packages/ui/icons/lib/PersonAdd.tsx create mode 100644 packages/ui/icons/lib/PersonAddIcon.tsx delete mode 100644 packages/ui/icons/lib/PersonCheck.tsx delete mode 100644 packages/ui/icons/lib/PersonCheckFill.tsx create mode 100644 packages/ui/icons/lib/PersonCheckFillIcon.tsx create mode 100644 packages/ui/icons/lib/PersonCheckIcon.tsx delete mode 100644 packages/ui/icons/lib/PersonEdit.tsx delete mode 100644 packages/ui/icons/lib/PersonEditFill.tsx create mode 100644 packages/ui/icons/lib/PersonEditFillIcon.tsx create mode 100644 packages/ui/icons/lib/PersonEditIcon.tsx delete mode 100644 packages/ui/icons/lib/PersonGroup.tsx create mode 100644 packages/ui/icons/lib/PersonGroupIcon.tsx delete mode 100644 packages/ui/icons/lib/PersonPin.tsx create mode 100644 packages/ui/icons/lib/PersonPinIcon.tsx delete mode 100644 packages/ui/icons/lib/Plus.tsx create mode 100644 packages/ui/icons/lib/PlusIcon.tsx delete mode 100644 packages/ui/icons/lib/Preview.tsx create mode 100644 packages/ui/icons/lib/PreviewIcon.tsx delete mode 100644 packages/ui/icons/lib/Set.tsx delete mode 100644 packages/ui/icons/lib/SetAdd.tsx create mode 100644 packages/ui/icons/lib/SetAddIcon.tsx create mode 100644 packages/ui/icons/lib/SetIcon.tsx delete mode 100644 packages/ui/icons/lib/Settings.tsx create mode 100644 packages/ui/icons/lib/SettingsIcon.tsx delete mode 100644 packages/ui/icons/lib/Shuffle.tsx create mode 100644 packages/ui/icons/lib/ShuffleIcon.tsx delete mode 100644 packages/ui/icons/lib/Sort.tsx delete mode 100644 packages/ui/icons/lib/SortByAlpha.tsx create mode 100644 packages/ui/icons/lib/SortByAlphaIcon.tsx create mode 100644 packages/ui/icons/lib/SortIcon.tsx delete mode 100644 packages/ui/icons/lib/Spinner.tsx create mode 100644 packages/ui/icons/lib/SpinnerIcon.tsx delete mode 100644 packages/ui/icons/lib/Star.tsx create mode 100644 packages/ui/icons/lib/StarIcon.tsx delete mode 100644 packages/ui/icons/lib/TableConvert.tsx create mode 100644 packages/ui/icons/lib/TableConvertIcon.tsx delete mode 100644 packages/ui/icons/lib/Tag.tsx create mode 100644 packages/ui/icons/lib/TagIcon.tsx delete mode 100644 packages/ui/icons/lib/TextFormat.tsx create mode 100644 packages/ui/icons/lib/TextFormatIcon.tsx delete mode 100644 packages/ui/icons/lib/Vk.tsx create mode 100644 packages/ui/icons/lib/VkIcon.tsx delete mode 100644 packages/ui/icons/lib/Xmark.tsx create mode 100644 packages/ui/icons/lib/XmarkIcon.tsx delete mode 100644 packages/ui/icons/lib/Yandex.tsx create mode 100644 packages/ui/icons/lib/YandexIcon.tsx diff --git a/packages/ui/icons/lib/AddRowAbove.tsx b/packages/ui/icons/lib/AddRowAbove.tsx deleted file mode 100644 index 8a8f3f6b..00000000 --- a/packages/ui/icons/lib/AddRowAbove.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const AddRowAbove = (props: SVGProps) => ; -export default AddRowAbove; diff --git a/packages/ui/icons/lib/AddRowAboveIcon.tsx b/packages/ui/icons/lib/AddRowAboveIcon.tsx new file mode 100644 index 00000000..8bf5e40e --- /dev/null +++ b/packages/ui/icons/lib/AddRowAboveIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const AddRowAbove = (props: SVGProps) => ; +export default AddRowAbove; diff --git a/packages/ui/icons/lib/AddRowBelow.tsx b/packages/ui/icons/lib/AddRowBelow.tsx deleted file mode 100644 index 5387bf02..00000000 --- a/packages/ui/icons/lib/AddRowBelow.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const AddRowBelow = (props: SVGProps) => ; -export default AddRowBelow; diff --git a/packages/ui/icons/lib/AddRowBelowIcon.tsx b/packages/ui/icons/lib/AddRowBelowIcon.tsx new file mode 100644 index 00000000..2160f54a --- /dev/null +++ b/packages/ui/icons/lib/AddRowBelowIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const AddRowBelow = (props: SVGProps) => ; +export default AddRowBelow; diff --git a/packages/ui/icons/lib/AddSquare.tsx b/packages/ui/icons/lib/AddSquare.tsx deleted file mode 100644 index b177471d..00000000 --- a/packages/ui/icons/lib/AddSquare.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const AddSquare = (props: SVGProps) => ; -export default AddSquare; diff --git a/packages/ui/icons/lib/AddSquareIcon.tsx b/packages/ui/icons/lib/AddSquareIcon.tsx new file mode 100644 index 00000000..cc8810a0 --- /dev/null +++ b/packages/ui/icons/lib/AddSquareIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const AddSquare = (props: SVGProps) => ; +export default AddSquare; diff --git a/packages/ui/icons/lib/Arrow360.tsx b/packages/ui/icons/lib/Arrow360.tsx deleted file mode 100644 index 37ec35a2..00000000 --- a/packages/ui/icons/lib/Arrow360.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Arrow360 = (props: SVGProps) => ; -export default Arrow360; diff --git a/packages/ui/icons/lib/Arrow360Icon.tsx b/packages/ui/icons/lib/Arrow360Icon.tsx new file mode 100644 index 00000000..78606955 --- /dev/null +++ b/packages/ui/icons/lib/Arrow360Icon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Arrow360 = (props: SVGProps) => ; +export default Arrow360; diff --git a/packages/ui/icons/lib/ArrowBack.tsx b/packages/ui/icons/lib/ArrowBack.tsx deleted file mode 100644 index 8a9cedf4..00000000 --- a/packages/ui/icons/lib/ArrowBack.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowBack = (props: SVGProps) => ; -export default ArrowBack; diff --git a/packages/ui/icons/lib/ArrowBackIcon.tsx b/packages/ui/icons/lib/ArrowBackIcon.tsx new file mode 100644 index 00000000..2aa874dd --- /dev/null +++ b/packages/ui/icons/lib/ArrowBackIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowBack = (props: SVGProps) => ; +export default ArrowBack; diff --git a/packages/ui/icons/lib/ArrowDownToSquare.tsx b/packages/ui/icons/lib/ArrowDownToSquare.tsx deleted file mode 100644 index f760c731..00000000 --- a/packages/ui/icons/lib/ArrowDownToSquare.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowDownToSquare = (props: SVGProps) => ; -export default ArrowDownToSquare; diff --git a/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx b/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx new file mode 100644 index 00000000..c4a2c206 --- /dev/null +++ b/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowDownToSquare = (props: SVGProps) => ; +export default ArrowDownToSquare; diff --git a/packages/ui/icons/lib/ArrowLeftArrowRight.tsx b/packages/ui/icons/lib/ArrowLeftArrowRight.tsx deleted file mode 100644 index 75b912f7..00000000 --- a/packages/ui/icons/lib/ArrowLeftArrowRight.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowLeftArrowRight = (props: SVGProps) => ; -export default ArrowLeftArrowRight; diff --git a/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx b/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx new file mode 100644 index 00000000..8bca4277 --- /dev/null +++ b/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowLeftArrowRight = (props: SVGProps) => ; +export default ArrowLeftArrowRight; diff --git a/packages/ui/icons/lib/ArrowOutward.tsx b/packages/ui/icons/lib/ArrowOutward.tsx deleted file mode 100644 index dc8a74a9..00000000 --- a/packages/ui/icons/lib/ArrowOutward.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowOutward = (props: SVGProps) => ; -export default ArrowOutward; diff --git a/packages/ui/icons/lib/ArrowOutwardIcon.tsx b/packages/ui/icons/lib/ArrowOutwardIcon.tsx new file mode 100644 index 00000000..b2dcb53d --- /dev/null +++ b/packages/ui/icons/lib/ArrowOutwardIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowOutward = (props: SVGProps) => ; +export default ArrowOutward; diff --git a/packages/ui/icons/lib/ArrowRightFromSquare.tsx b/packages/ui/icons/lib/ArrowRightFromSquare.tsx deleted file mode 100644 index 28e8cb5d..00000000 --- a/packages/ui/icons/lib/ArrowRightFromSquare.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowRightFromSquare = (props: SVGProps) => ; -export default ArrowRightFromSquare; diff --git a/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx b/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx new file mode 100644 index 00000000..cc961628 --- /dev/null +++ b/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowRightFromSquare = (props: SVGProps) => ; +export default ArrowRightFromSquare; diff --git a/packages/ui/icons/lib/ArrowRightToSquare.tsx b/packages/ui/icons/lib/ArrowRightToSquare.tsx deleted file mode 100644 index d46e6b85..00000000 --- a/packages/ui/icons/lib/ArrowRightToSquare.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowRightToSquare = (props: SVGProps) => ; -export default ArrowRightToSquare; diff --git a/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx b/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx new file mode 100644 index 00000000..5ac804bf --- /dev/null +++ b/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowRightToSquare = (props: SVGProps) => ; +export default ArrowRightToSquare; diff --git a/packages/ui/icons/lib/ArrowShapeTurnUpRight.tsx b/packages/ui/icons/lib/ArrowShapeTurnUpRight.tsx deleted file mode 100644 index 027244f0..00000000 --- a/packages/ui/icons/lib/ArrowShapeTurnUpRight.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowShapeTurnUpRight = (props: SVGProps) => ; -export default ArrowShapeTurnUpRight; diff --git a/packages/ui/icons/lib/ArrowShapeTurnUpRightCheck.tsx b/packages/ui/icons/lib/ArrowShapeTurnUpRightCheck.tsx deleted file mode 100644 index 5530fa44..00000000 --- a/packages/ui/icons/lib/ArrowShapeTurnUpRightCheck.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowShapeTurnUpRightCheck = (props: SVGProps) => ; -export default ArrowShapeTurnUpRightCheck; diff --git a/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx b/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx new file mode 100644 index 00000000..38ed18da --- /dev/null +++ b/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowShapeTurnUpRightCheck = (props: SVGProps) => ; +export default ArrowShapeTurnUpRightCheck; diff --git a/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx b/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx new file mode 100644 index 00000000..7ff4c1e9 --- /dev/null +++ b/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowShapeTurnUpRight = (props: SVGProps) => ; +export default ArrowShapeTurnUpRight; diff --git a/packages/ui/icons/lib/ArrowUpArrowDown.tsx b/packages/ui/icons/lib/ArrowUpArrowDown.tsx deleted file mode 100644 index dad8a3d6..00000000 --- a/packages/ui/icons/lib/ArrowUpArrowDown.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowUpArrowDown = (props: SVGProps) => ; -export default ArrowUpArrowDown; diff --git a/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx b/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx new file mode 100644 index 00000000..be2ae17d --- /dev/null +++ b/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowUpArrowDown = (props: SVGProps) => ; +export default ArrowUpArrowDown; diff --git a/packages/ui/icons/lib/ArrowUturnCcwLeft.tsx b/packages/ui/icons/lib/ArrowUturnCcwLeft.tsx deleted file mode 100644 index 96e9726e..00000000 --- a/packages/ui/icons/lib/ArrowUturnCcwLeft.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowUturnCcwLeft = (props: SVGProps) => ; -export default ArrowUturnCcwLeft; diff --git a/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx b/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx new file mode 100644 index 00000000..f998e6c5 --- /dev/null +++ b/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowUturnCcwLeft = (props: SVGProps) => ; +export default ArrowUturnCcwLeft; diff --git a/packages/ui/icons/lib/ArrowUturnCwRight.tsx b/packages/ui/icons/lib/ArrowUturnCwRight.tsx deleted file mode 100644 index edce0c22..00000000 --- a/packages/ui/icons/lib/ArrowUturnCwRight.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowUturnCwRight = (props: SVGProps) => ; -export default ArrowUturnCwRight; diff --git a/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx b/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx new file mode 100644 index 00000000..26bffee7 --- /dev/null +++ b/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowUturnCwRight = (props: SVGProps) => ; +export default ArrowUturnCwRight; diff --git a/packages/ui/icons/lib/ArrowsRotateRightAdd.tsx b/packages/ui/icons/lib/ArrowsRotateRightAdd.tsx deleted file mode 100644 index 50b374b1..00000000 --- a/packages/ui/icons/lib/ArrowsRotateRightAdd.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function ArrowsRotateRightAdd(props: SVGProps) { - return ( - - - - - - - ); -} -export default ArrowsRotateRightAdd; diff --git a/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx b/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx new file mode 100644 index 00000000..bc3436c2 --- /dev/null +++ b/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx @@ -0,0 +1,14 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function ArrowsRotateRightAdd(props: SVGProps) { + return ( + + + + + + + ); +} +export default ArrowsRotateRightAdd; diff --git a/packages/ui/icons/lib/ArrowsRotateRightCheck.tsx b/packages/ui/icons/lib/ArrowsRotateRightCheck.tsx deleted file mode 100644 index f57d01da..00000000 --- a/packages/ui/icons/lib/ArrowsRotateRightCheck.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ArrowsRotateRightCheck = (props: SVGProps) => ; -export default ArrowsRotateRightCheck; diff --git a/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx b/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx new file mode 100644 index 00000000..089ceb43 --- /dev/null +++ b/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ArrowsRotateRightCheck = (props: SVGProps) => ; +export default ArrowsRotateRightCheck; diff --git a/packages/ui/icons/lib/AttachFile.tsx b/packages/ui/icons/lib/AttachFile.tsx deleted file mode 100644 index 7181444e..00000000 --- a/packages/ui/icons/lib/AttachFile.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const AttachFile = (props: SVGProps) => ; -export default AttachFile; diff --git a/packages/ui/icons/lib/AttachFileIcon.tsx b/packages/ui/icons/lib/AttachFileIcon.tsx new file mode 100644 index 00000000..52e7b381 --- /dev/null +++ b/packages/ui/icons/lib/AttachFileIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const AttachFile = (props: SVGProps) => ; +export default AttachFile; diff --git a/packages/ui/icons/lib/Bookmark.tsx b/packages/ui/icons/lib/Bookmark.tsx deleted file mode 100644 index bde19398..00000000 --- a/packages/ui/icons/lib/Bookmark.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Bookmark = (props: SVGProps) => ; -export default Bookmark; diff --git a/packages/ui/icons/lib/BookmarkFill.tsx b/packages/ui/icons/lib/BookmarkFill.tsx deleted file mode 100644 index ed27ac7d..00000000 --- a/packages/ui/icons/lib/BookmarkFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const BookmarkFill = (props: SVGProps) => ; -export default BookmarkFill; diff --git a/packages/ui/icons/lib/BookmarkFillIcon.tsx b/packages/ui/icons/lib/BookmarkFillIcon.tsx new file mode 100644 index 00000000..8171afbd --- /dev/null +++ b/packages/ui/icons/lib/BookmarkFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const BookmarkFill = (props: SVGProps) => ; +export default BookmarkFill; diff --git a/packages/ui/icons/lib/BookmarkIcon.tsx b/packages/ui/icons/lib/BookmarkIcon.tsx new file mode 100644 index 00000000..1e85982b --- /dev/null +++ b/packages/ui/icons/lib/BookmarkIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Bookmark = (props: SVGProps) => ; +export default Bookmark; diff --git a/packages/ui/icons/lib/Bookmarks.tsx b/packages/ui/icons/lib/Bookmarks.tsx deleted file mode 100644 index 220fd904..00000000 --- a/packages/ui/icons/lib/Bookmarks.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Bookmarks = (props: SVGProps) => ; -export default Bookmarks; diff --git a/packages/ui/icons/lib/BookmarksIcon.tsx b/packages/ui/icons/lib/BookmarksIcon.tsx new file mode 100644 index 00000000..358898be --- /dev/null +++ b/packages/ui/icons/lib/BookmarksIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Bookmarks = (props: SVGProps) => ; +export default Bookmarks; diff --git a/packages/ui/icons/lib/Check.tsx b/packages/ui/icons/lib/Check.tsx deleted file mode 100644 index a289c7a4..00000000 --- a/packages/ui/icons/lib/Check.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Check = (props: SVGProps) => ; -export default Check; diff --git a/packages/ui/icons/lib/CheckIcon.tsx b/packages/ui/icons/lib/CheckIcon.tsx new file mode 100644 index 00000000..9269d160 --- /dev/null +++ b/packages/ui/icons/lib/CheckIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Check = (props: SVGProps) => ; +export default Check; diff --git a/packages/ui/icons/lib/ChevronDown.tsx b/packages/ui/icons/lib/ChevronDown.tsx deleted file mode 100644 index 4c3ae030..00000000 --- a/packages/ui/icons/lib/ChevronDown.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronDown = (props: SVGProps) => ; -export default ChevronDown; diff --git a/packages/ui/icons/lib/ChevronDownIcon.tsx b/packages/ui/icons/lib/ChevronDownIcon.tsx new file mode 100644 index 00000000..b3383476 --- /dev/null +++ b/packages/ui/icons/lib/ChevronDownIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronDown = (props: SVGProps) => ; +export default ChevronDown; diff --git a/packages/ui/icons/lib/ChevronDownToLine.tsx b/packages/ui/icons/lib/ChevronDownToLine.tsx deleted file mode 100644 index 39506292..00000000 --- a/packages/ui/icons/lib/ChevronDownToLine.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronDownToLine = (props: SVGProps) => ; -export default ChevronDownToLine; diff --git a/packages/ui/icons/lib/ChevronDownToLineIcon.tsx b/packages/ui/icons/lib/ChevronDownToLineIcon.tsx new file mode 100644 index 00000000..0ebc01a5 --- /dev/null +++ b/packages/ui/icons/lib/ChevronDownToLineIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronDownToLine = (props: SVGProps) => ; +export default ChevronDownToLine; diff --git a/packages/ui/icons/lib/ChevronLeft.tsx b/packages/ui/icons/lib/ChevronLeft.tsx deleted file mode 100644 index b773f582..00000000 --- a/packages/ui/icons/lib/ChevronLeft.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronLeft = (props: SVGProps) => ; -export default ChevronLeft; diff --git a/packages/ui/icons/lib/ChevronLeftIcon.tsx b/packages/ui/icons/lib/ChevronLeftIcon.tsx new file mode 100644 index 00000000..70f1e6cf --- /dev/null +++ b/packages/ui/icons/lib/ChevronLeftIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronLeft = (props: SVGProps) => ; +export default ChevronLeft; diff --git a/packages/ui/icons/lib/ChevronRight.tsx b/packages/ui/icons/lib/ChevronRight.tsx deleted file mode 100644 index 4a7e7e6b..00000000 --- a/packages/ui/icons/lib/ChevronRight.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronRight = (props: SVGProps) => ; -export default ChevronRight; diff --git a/packages/ui/icons/lib/ChevronRightIcon.tsx b/packages/ui/icons/lib/ChevronRightIcon.tsx new file mode 100644 index 00000000..e21830fd --- /dev/null +++ b/packages/ui/icons/lib/ChevronRightIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronRight = (props: SVGProps) => ; +export default ChevronRight; diff --git a/packages/ui/icons/lib/ChevronUp.tsx b/packages/ui/icons/lib/ChevronUp.tsx deleted file mode 100644 index 3de881e2..00000000 --- a/packages/ui/icons/lib/ChevronUp.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronUp = (props: SVGProps) => ; -export default ChevronUp; diff --git a/packages/ui/icons/lib/ChevronUpIcon.tsx b/packages/ui/icons/lib/ChevronUpIcon.tsx new file mode 100644 index 00000000..d887477c --- /dev/null +++ b/packages/ui/icons/lib/ChevronUpIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronUp = (props: SVGProps) => ; +export default ChevronUp; diff --git a/packages/ui/icons/lib/ChevronUpToLine.tsx b/packages/ui/icons/lib/ChevronUpToLine.tsx deleted file mode 100644 index 74a7f41b..00000000 --- a/packages/ui/icons/lib/ChevronUpToLine.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronUpToLine = (props: SVGProps) => ; -export default ChevronUpToLine; diff --git a/packages/ui/icons/lib/ChevronUpToLineIcon.tsx b/packages/ui/icons/lib/ChevronUpToLineIcon.tsx new file mode 100644 index 00000000..33cd39e5 --- /dev/null +++ b/packages/ui/icons/lib/ChevronUpToLineIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronUpToLine = (props: SVGProps) => ; +export default ChevronUpToLine; diff --git a/packages/ui/icons/lib/ChevronsCollapseUpRight.tsx b/packages/ui/icons/lib/ChevronsCollapseUpRight.tsx deleted file mode 100644 index b31f63e9..00000000 --- a/packages/ui/icons/lib/ChevronsCollapseUpRight.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronsCollapseUpRight = (props: SVGProps) => ; -export default ChevronsCollapseUpRight; diff --git a/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx b/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx new file mode 100644 index 00000000..2acb2c38 --- /dev/null +++ b/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronsCollapseUpRight = (props: SVGProps) => ; +export default ChevronsCollapseUpRight; diff --git a/packages/ui/icons/lib/ChevronsExpandUpRight.tsx b/packages/ui/icons/lib/ChevronsExpandUpRight.tsx deleted file mode 100644 index 1da37aec..00000000 --- a/packages/ui/icons/lib/ChevronsExpandUpRight.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ChevronsExpandUpRight = (props: SVGProps) => ; -export default ChevronsExpandUpRight; diff --git a/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx b/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx new file mode 100644 index 00000000..ec0c8ae0 --- /dev/null +++ b/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ChevronsExpandUpRight = (props: SVGProps) => ; +export default ChevronsExpandUpRight; diff --git a/packages/ui/icons/lib/CircleCheck.tsx b/packages/ui/icons/lib/CircleCheck.tsx deleted file mode 100644 index 01878914..00000000 --- a/packages/ui/icons/lib/CircleCheck.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CircleCheck = (props: SVGProps) => ; -export default CircleCheck; diff --git a/packages/ui/icons/lib/CircleCheckFill.tsx b/packages/ui/icons/lib/CircleCheckFill.tsx deleted file mode 100644 index 7e5eabfa..00000000 --- a/packages/ui/icons/lib/CircleCheckFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CircleCheckFill = (props: SVGProps) => ; -export default CircleCheckFill; diff --git a/packages/ui/icons/lib/CircleCheckFillIcon.tsx b/packages/ui/icons/lib/CircleCheckFillIcon.tsx new file mode 100644 index 00000000..363f588c --- /dev/null +++ b/packages/ui/icons/lib/CircleCheckFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CircleCheckFill = (props: SVGProps) => ; +export default CircleCheckFill; diff --git a/packages/ui/icons/lib/CircleCheckIcon.tsx b/packages/ui/icons/lib/CircleCheckIcon.tsx new file mode 100644 index 00000000..8650ed1b --- /dev/null +++ b/packages/ui/icons/lib/CircleCheckIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CircleCheck = (props: SVGProps) => ; +export default CircleCheck; diff --git a/packages/ui/icons/lib/CircleInfo.tsx b/packages/ui/icons/lib/CircleInfo.tsx deleted file mode 100644 index d93df20c..00000000 --- a/packages/ui/icons/lib/CircleInfo.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CircleInfo = (props: SVGProps) => ; -export default CircleInfo; diff --git a/packages/ui/icons/lib/CircleInfoFill.tsx b/packages/ui/icons/lib/CircleInfoFill.tsx deleted file mode 100644 index 57b2a07e..00000000 --- a/packages/ui/icons/lib/CircleInfoFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CircleInfoFill = (props: SVGProps) => ; -export default CircleInfoFill; diff --git a/packages/ui/icons/lib/CircleInfoFillIcon.tsx b/packages/ui/icons/lib/CircleInfoFillIcon.tsx new file mode 100644 index 00000000..a05d5390 --- /dev/null +++ b/packages/ui/icons/lib/CircleInfoFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CircleInfoFill = (props: SVGProps) => ; +export default CircleInfoFill; diff --git a/packages/ui/icons/lib/CircleInfoIcon.tsx b/packages/ui/icons/lib/CircleInfoIcon.tsx new file mode 100644 index 00000000..d03b2b06 --- /dev/null +++ b/packages/ui/icons/lib/CircleInfoIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CircleInfo = (props: SVGProps) => ; +export default CircleInfo; diff --git a/packages/ui/icons/lib/CircleXmark.tsx b/packages/ui/icons/lib/CircleXmark.tsx deleted file mode 100644 index e0cb42a9..00000000 --- a/packages/ui/icons/lib/CircleXmark.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CircleXmark = (props: SVGProps) => ; -export default CircleXmark; diff --git a/packages/ui/icons/lib/CircleXmarkFill.tsx b/packages/ui/icons/lib/CircleXmarkFill.tsx deleted file mode 100644 index 6f6c13a6..00000000 --- a/packages/ui/icons/lib/CircleXmarkFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CircleXmarkFill = (props: SVGProps) => ; -export default CircleXmarkFill; diff --git a/packages/ui/icons/lib/CircleXmarkFillIcon.tsx b/packages/ui/icons/lib/CircleXmarkFillIcon.tsx new file mode 100644 index 00000000..bd6e44b6 --- /dev/null +++ b/packages/ui/icons/lib/CircleXmarkFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CircleXmarkFill = (props: SVGProps) => ; +export default CircleXmarkFill; diff --git a/packages/ui/icons/lib/CircleXmarkIcon.tsx b/packages/ui/icons/lib/CircleXmarkIcon.tsx new file mode 100644 index 00000000..031ec448 --- /dev/null +++ b/packages/ui/icons/lib/CircleXmarkIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CircleXmark = (props: SVGProps) => ; +export default CircleXmark; diff --git a/packages/ui/icons/lib/Clipboard.tsx b/packages/ui/icons/lib/Clipboard.tsx deleted file mode 100644 index 31ac9e9d..00000000 --- a/packages/ui/icons/lib/Clipboard.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Clipboard = (props: SVGProps) => ; -export default Clipboard; diff --git a/packages/ui/icons/lib/ClipboardIcon.tsx b/packages/ui/icons/lib/ClipboardIcon.tsx new file mode 100644 index 00000000..b5cd9acd --- /dev/null +++ b/packages/ui/icons/lib/ClipboardIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Clipboard = (props: SVGProps) => ; +export default Clipboard; diff --git a/packages/ui/icons/lib/Clock40.tsx b/packages/ui/icons/lib/Clock40.tsx deleted file mode 100644 index 0e633563..00000000 --- a/packages/ui/icons/lib/Clock40.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Clock40 = (props: SVGProps) => ; -export default Clock40; diff --git a/packages/ui/icons/lib/Clock40Icon.tsx b/packages/ui/icons/lib/Clock40Icon.tsx new file mode 100644 index 00000000..b99543ff --- /dev/null +++ b/packages/ui/icons/lib/Clock40Icon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Clock40 = (props: SVGProps) => ; +export default Clock40; diff --git a/packages/ui/icons/lib/Clock60.tsx b/packages/ui/icons/lib/Clock60.tsx deleted file mode 100644 index 2a9383af..00000000 --- a/packages/ui/icons/lib/Clock60.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Clock60 = (props: SVGProps) => ; -export default Clock60; diff --git a/packages/ui/icons/lib/Clock60Icon.tsx b/packages/ui/icons/lib/Clock60Icon.tsx new file mode 100644 index 00000000..1195373b --- /dev/null +++ b/packages/ui/icons/lib/Clock60Icon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Clock60 = (props: SVGProps) => ; +export default Clock60; diff --git a/packages/ui/icons/lib/ClockArrowRotateCcwLeft.tsx b/packages/ui/icons/lib/ClockArrowRotateCcwLeft.tsx deleted file mode 100644 index 0e819bf6..00000000 --- a/packages/ui/icons/lib/ClockArrowRotateCcwLeft.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ClockArrowRotateCcwLeft = (props: SVGProps) => ; -export default ClockArrowRotateCcwLeft; diff --git a/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx b/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx new file mode 100644 index 00000000..fec41c22 --- /dev/null +++ b/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ClockArrowRotateCcwLeft = (props: SVGProps) => ; +export default ClockArrowRotateCcwLeft; diff --git a/packages/ui/icons/lib/CodeBlock.tsx b/packages/ui/icons/lib/CodeBlock.tsx deleted file mode 100644 index fc57e8cb..00000000 --- a/packages/ui/icons/lib/CodeBlock.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const CodeBlock = (props: SVGProps) => ; -export default CodeBlock; diff --git a/packages/ui/icons/lib/CodeBlockIcon.tsx b/packages/ui/icons/lib/CodeBlockIcon.tsx new file mode 100644 index 00000000..d4ff1da1 --- /dev/null +++ b/packages/ui/icons/lib/CodeBlockIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const CodeBlock = (props: SVGProps) => ; +export default CodeBlock; diff --git a/packages/ui/icons/lib/Copy.tsx b/packages/ui/icons/lib/Copy.tsx deleted file mode 100644 index 12c03c0f..00000000 --- a/packages/ui/icons/lib/Copy.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Copy = (props: SVGProps) => ; -export default Copy; diff --git a/packages/ui/icons/lib/CopyIcon.tsx b/packages/ui/icons/lib/CopyIcon.tsx new file mode 100644 index 00000000..3dca649e --- /dev/null +++ b/packages/ui/icons/lib/CopyIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Copy = (props: SVGProps) => ; +export default Copy; diff --git a/packages/ui/icons/lib/Delete.tsx b/packages/ui/icons/lib/Delete.tsx deleted file mode 100644 index 78a89932..00000000 --- a/packages/ui/icons/lib/Delete.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Delete = (props: SVGProps) => ; -export default Delete; diff --git a/packages/ui/icons/lib/DeleteIcon.tsx b/packages/ui/icons/lib/DeleteIcon.tsx new file mode 100644 index 00000000..42d9a037 --- /dev/null +++ b/packages/ui/icons/lib/DeleteIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Delete = (props: SVGProps) => ; +export default Delete; diff --git a/packages/ui/icons/lib/DeleteXmark.tsx b/packages/ui/icons/lib/DeleteXmark.tsx deleted file mode 100644 index bbcfe3ef..00000000 --- a/packages/ui/icons/lib/DeleteXmark.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const DeleteXmark = (props: SVGProps) => ; -export default DeleteXmark; diff --git a/packages/ui/icons/lib/DeleteXmarkIcon.tsx b/packages/ui/icons/lib/DeleteXmarkIcon.tsx new file mode 100644 index 00000000..41f2ef15 --- /dev/null +++ b/packages/ui/icons/lib/DeleteXmarkIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const DeleteXmark = (props: SVGProps) => ; +export default DeleteXmark; diff --git a/packages/ui/icons/lib/DotsHorizontal.tsx b/packages/ui/icons/lib/DotsHorizontal.tsx deleted file mode 100644 index cc68c79f..00000000 --- a/packages/ui/icons/lib/DotsHorizontal.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const DotsHorizontal = (props: SVGProps) => ; -export default DotsHorizontal; diff --git a/packages/ui/icons/lib/DotsHorizontalIcon.tsx b/packages/ui/icons/lib/DotsHorizontalIcon.tsx new file mode 100644 index 00000000..bb6baee8 --- /dev/null +++ b/packages/ui/icons/lib/DotsHorizontalIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const DotsHorizontal = (props: SVGProps) => ; +export default DotsHorizontal; diff --git a/packages/ui/icons/lib/DotsVertical.tsx b/packages/ui/icons/lib/DotsVertical.tsx deleted file mode 100644 index 62090f0f..00000000 --- a/packages/ui/icons/lib/DotsVertical.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const DotsVertical = (props: SVGProps) => ; -export default DotsVertical; diff --git a/packages/ui/icons/lib/DotsVerticalIcon.tsx b/packages/ui/icons/lib/DotsVerticalIcon.tsx new file mode 100644 index 00000000..ef1e08fa --- /dev/null +++ b/packages/ui/icons/lib/DotsVerticalIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const DotsVertical = (props: SVGProps) => ; +export default DotsVertical; diff --git a/packages/ui/icons/lib/Equal.tsx b/packages/ui/icons/lib/Equal.tsx deleted file mode 100644 index 9197e687..00000000 --- a/packages/ui/icons/lib/Equal.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Equal = (props: SVGProps) => ; -export default Equal; diff --git a/packages/ui/icons/lib/EqualIcon.tsx b/packages/ui/icons/lib/EqualIcon.tsx new file mode 100644 index 00000000..b525d4a3 --- /dev/null +++ b/packages/ui/icons/lib/EqualIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Equal = (props: SVGProps) => ; +export default Equal; diff --git a/packages/ui/icons/lib/Explore.tsx b/packages/ui/icons/lib/Explore.tsx deleted file mode 100644 index 4c2c35b1..00000000 --- a/packages/ui/icons/lib/Explore.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Explore = (props: SVGProps) => ; -export default Explore; diff --git a/packages/ui/icons/lib/ExploreFill.tsx b/packages/ui/icons/lib/ExploreFill.tsx deleted file mode 100644 index 132899e8..00000000 --- a/packages/ui/icons/lib/ExploreFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ExploreFill = (props: SVGProps) => ; -export default ExploreFill; diff --git a/packages/ui/icons/lib/ExploreFillIcon.tsx b/packages/ui/icons/lib/ExploreFillIcon.tsx new file mode 100644 index 00000000..3c13ddba --- /dev/null +++ b/packages/ui/icons/lib/ExploreFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ExploreFill = (props: SVGProps) => ; +export default ExploreFill; diff --git a/packages/ui/icons/lib/ExploreIcon.tsx b/packages/ui/icons/lib/ExploreIcon.tsx new file mode 100644 index 00000000..1ecae5d2 --- /dev/null +++ b/packages/ui/icons/lib/ExploreIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Explore = (props: SVGProps) => ; +export default Explore; diff --git a/packages/ui/icons/lib/Favorite.tsx b/packages/ui/icons/lib/Favorite.tsx deleted file mode 100644 index cf2beec5..00000000 --- a/packages/ui/icons/lib/Favorite.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Favorite = (props: SVGProps) => ; -export default Favorite; diff --git a/packages/ui/icons/lib/FavoriteFill.tsx b/packages/ui/icons/lib/FavoriteFill.tsx deleted file mode 100644 index 11c8d089..00000000 --- a/packages/ui/icons/lib/FavoriteFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FavoriteFill = (props: SVGProps) => ; -export default FavoriteFill; diff --git a/packages/ui/icons/lib/FavoriteFillIcon.tsx b/packages/ui/icons/lib/FavoriteFillIcon.tsx new file mode 100644 index 00000000..282fddb1 --- /dev/null +++ b/packages/ui/icons/lib/FavoriteFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FavoriteFill = (props: SVGProps) => ; +export default FavoriteFill; diff --git a/packages/ui/icons/lib/FavoriteIcon.tsx b/packages/ui/icons/lib/FavoriteIcon.tsx new file mode 100644 index 00000000..9043ae6b --- /dev/null +++ b/packages/ui/icons/lib/FavoriteIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Favorite = (props: SVGProps) => ; +export default Favorite; diff --git a/packages/ui/icons/lib/File.tsx b/packages/ui/icons/lib/File.tsx deleted file mode 100644 index 5c0901a2..00000000 --- a/packages/ui/icons/lib/File.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const File = (props: SVGProps) => ; -export default File; diff --git a/packages/ui/icons/lib/FileAdd.tsx b/packages/ui/icons/lib/FileAdd.tsx deleted file mode 100644 index 9b1859a2..00000000 --- a/packages/ui/icons/lib/FileAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FileAdd = (props: SVGProps) => ; -export default FileAdd; diff --git a/packages/ui/icons/lib/FileAddIcon.tsx b/packages/ui/icons/lib/FileAddIcon.tsx new file mode 100644 index 00000000..f2dfa88f --- /dev/null +++ b/packages/ui/icons/lib/FileAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FileAdd = (props: SVGProps) => ; +export default FileAdd; diff --git a/packages/ui/icons/lib/FileCheck.tsx b/packages/ui/icons/lib/FileCheck.tsx deleted file mode 100644 index 7349254a..00000000 --- a/packages/ui/icons/lib/FileCheck.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FileCheck = (props: SVGProps) => ; -export default FileCheck; diff --git a/packages/ui/icons/lib/FileCheckFill.tsx b/packages/ui/icons/lib/FileCheckFill.tsx deleted file mode 100644 index b6427dfe..00000000 --- a/packages/ui/icons/lib/FileCheckFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FileCheckFill = (props: SVGProps) => ; -export default FileCheckFill; diff --git a/packages/ui/icons/lib/FileCheckFillIcon.tsx b/packages/ui/icons/lib/FileCheckFillIcon.tsx new file mode 100644 index 00000000..50271002 --- /dev/null +++ b/packages/ui/icons/lib/FileCheckFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FileCheckFill = (props: SVGProps) => ; +export default FileCheckFill; diff --git a/packages/ui/icons/lib/FileCheckIcon.tsx b/packages/ui/icons/lib/FileCheckIcon.tsx new file mode 100644 index 00000000..916eac12 --- /dev/null +++ b/packages/ui/icons/lib/FileCheckIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FileCheck = (props: SVGProps) => ; +export default FileCheck; diff --git a/packages/ui/icons/lib/FileIcon.tsx b/packages/ui/icons/lib/FileIcon.tsx new file mode 100644 index 00000000..821d2daf --- /dev/null +++ b/packages/ui/icons/lib/FileIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const File = (props: SVGProps) => ; +export default File; diff --git a/packages/ui/icons/lib/Filter.tsx b/packages/ui/icons/lib/Filter.tsx deleted file mode 100644 index 3a7f8acf..00000000 --- a/packages/ui/icons/lib/Filter.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Filter = (props: SVGProps) => ; -export default Filter; diff --git a/packages/ui/icons/lib/FilterFill.tsx b/packages/ui/icons/lib/FilterFill.tsx deleted file mode 100644 index 643211c5..00000000 --- a/packages/ui/icons/lib/FilterFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FilterFill = (props: SVGProps) => ; -export default FilterFill; diff --git a/packages/ui/icons/lib/FilterFillIcon.tsx b/packages/ui/icons/lib/FilterFillIcon.tsx new file mode 100644 index 00000000..0f9a5268 --- /dev/null +++ b/packages/ui/icons/lib/FilterFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FilterFill = (props: SVGProps) => ; +export default FilterFill; diff --git a/packages/ui/icons/lib/FilterIcon.tsx b/packages/ui/icons/lib/FilterIcon.tsx new file mode 100644 index 00000000..6851954d --- /dev/null +++ b/packages/ui/icons/lib/FilterIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Filter = (props: SVGProps) => ; +export default Filter; diff --git a/packages/ui/icons/lib/FlagRu.tsx b/packages/ui/icons/lib/FlagRu.tsx deleted file mode 100644 index b0a89183..00000000 --- a/packages/ui/icons/lib/FlagRu.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function FlagRu(props: SVGProps) { - return ( - - - - - - - - - - - ); -} -export default FlagRu; diff --git a/packages/ui/icons/lib/FlagRuIcon.tsx b/packages/ui/icons/lib/FlagRuIcon.tsx new file mode 100644 index 00000000..e04db2dc --- /dev/null +++ b/packages/ui/icons/lib/FlagRuIcon.tsx @@ -0,0 +1,22 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function FlagRu(props: SVGProps) { + return ( + + + + + + + + + + + ); +} +export default FlagRu; diff --git a/packages/ui/icons/lib/FlagUk.tsx b/packages/ui/icons/lib/FlagUk.tsx deleted file mode 100644 index 40fbe53b..00000000 --- a/packages/ui/icons/lib/FlagUk.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function FlagUk(props: SVGProps) { - return ( - - - - - - - - - - - ); -} -export default FlagUk; diff --git a/packages/ui/icons/lib/FlagUkIcon.tsx b/packages/ui/icons/lib/FlagUkIcon.tsx new file mode 100644 index 00000000..eb17410a --- /dev/null +++ b/packages/ui/icons/lib/FlagUkIcon.tsx @@ -0,0 +1,22 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function FlagUk(props: SVGProps) { + return ( + + + + + + + + + + + ); +} +export default FlagUk; diff --git a/packages/ui/icons/lib/Folder.tsx b/packages/ui/icons/lib/Folder.tsx deleted file mode 100644 index 4c0aedb1..00000000 --- a/packages/ui/icons/lib/Folder.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Folder = (props: SVGProps) => ; -export default Folder; diff --git a/packages/ui/icons/lib/FolderAdd.tsx b/packages/ui/icons/lib/FolderAdd.tsx deleted file mode 100644 index 7ccb7782..00000000 --- a/packages/ui/icons/lib/FolderAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FolderAdd = (props: SVGProps) => ; -export default FolderAdd; diff --git a/packages/ui/icons/lib/FolderAddIcon.tsx b/packages/ui/icons/lib/FolderAddIcon.tsx new file mode 100644 index 00000000..427f0422 --- /dev/null +++ b/packages/ui/icons/lib/FolderAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FolderAdd = (props: SVGProps) => ; +export default FolderAdd; diff --git a/packages/ui/icons/lib/FolderFill.tsx b/packages/ui/icons/lib/FolderFill.tsx deleted file mode 100644 index 6dfe0380..00000000 --- a/packages/ui/icons/lib/FolderFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FolderFill = (props: SVGProps) => ; -export default FolderFill; diff --git a/packages/ui/icons/lib/FolderFillIcon.tsx b/packages/ui/icons/lib/FolderFillIcon.tsx new file mode 100644 index 00000000..3482763e --- /dev/null +++ b/packages/ui/icons/lib/FolderFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FolderFill = (props: SVGProps) => ; +export default FolderFill; diff --git a/packages/ui/icons/lib/FolderIcon.tsx b/packages/ui/icons/lib/FolderIcon.tsx new file mode 100644 index 00000000..85a53246 --- /dev/null +++ b/packages/ui/icons/lib/FolderIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Folder = (props: SVGProps) => ; +export default Folder; diff --git a/packages/ui/icons/lib/FolderOpen.tsx b/packages/ui/icons/lib/FolderOpen.tsx deleted file mode 100644 index 2ab15f70..00000000 --- a/packages/ui/icons/lib/FolderOpen.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FolderOpen = (props: SVGProps) => ; -export default FolderOpen; diff --git a/packages/ui/icons/lib/FolderOpenFill.tsx b/packages/ui/icons/lib/FolderOpenFill.tsx deleted file mode 100644 index 66211f7e..00000000 --- a/packages/ui/icons/lib/FolderOpenFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FolderOpenFill = (props: SVGProps) => ; -export default FolderOpenFill; diff --git a/packages/ui/icons/lib/FolderOpenFillIcon.tsx b/packages/ui/icons/lib/FolderOpenFillIcon.tsx new file mode 100644 index 00000000..c1ca1ce7 --- /dev/null +++ b/packages/ui/icons/lib/FolderOpenFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FolderOpenFill = (props: SVGProps) => ; +export default FolderOpenFill; diff --git a/packages/ui/icons/lib/FolderOpenIcon.tsx b/packages/ui/icons/lib/FolderOpenIcon.tsx new file mode 100644 index 00000000..d5300a7c --- /dev/null +++ b/packages/ui/icons/lib/FolderOpenIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FolderOpen = (props: SVGProps) => ; +export default FolderOpen; diff --git a/packages/ui/icons/lib/Folders.tsx b/packages/ui/icons/lib/Folders.tsx deleted file mode 100644 index 294d5437..00000000 --- a/packages/ui/icons/lib/Folders.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Folders = (props: SVGProps) => ; -export default Folders; diff --git a/packages/ui/icons/lib/FoldersIcon.tsx b/packages/ui/icons/lib/FoldersIcon.tsx new file mode 100644 index 00000000..eb4adfa3 --- /dev/null +++ b/packages/ui/icons/lib/FoldersIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Folders = (props: SVGProps) => ; +export default Folders; diff --git a/packages/ui/icons/lib/FormatBold.tsx b/packages/ui/icons/lib/FormatBold.tsx deleted file mode 100644 index 9e8fce06..00000000 --- a/packages/ui/icons/lib/FormatBold.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FormatBold = (props: SVGProps) => ; -export default FormatBold; diff --git a/packages/ui/icons/lib/FormatBoldIcon.tsx b/packages/ui/icons/lib/FormatBoldIcon.tsx new file mode 100644 index 00000000..58ecdebf --- /dev/null +++ b/packages/ui/icons/lib/FormatBoldIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FormatBold = (props: SVGProps) => ; +export default FormatBold; diff --git a/packages/ui/icons/lib/FormatItalic.tsx b/packages/ui/icons/lib/FormatItalic.tsx deleted file mode 100644 index a572aa36..00000000 --- a/packages/ui/icons/lib/FormatItalic.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FormatItalic = (props: SVGProps) => ; -export default FormatItalic; diff --git a/packages/ui/icons/lib/FormatItalicIcon.tsx b/packages/ui/icons/lib/FormatItalicIcon.tsx new file mode 100644 index 00000000..a6e0894d --- /dev/null +++ b/packages/ui/icons/lib/FormatItalicIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FormatItalic = (props: SVGProps) => ; +export default FormatItalic; diff --git a/packages/ui/icons/lib/FormatListOl.tsx b/packages/ui/icons/lib/FormatListOl.tsx deleted file mode 100644 index a69bd7a1..00000000 --- a/packages/ui/icons/lib/FormatListOl.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FormatListOl = (props: SVGProps) => ; -export default FormatListOl; diff --git a/packages/ui/icons/lib/FormatListOlIcon.tsx b/packages/ui/icons/lib/FormatListOlIcon.tsx new file mode 100644 index 00000000..e1463b24 --- /dev/null +++ b/packages/ui/icons/lib/FormatListOlIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FormatListOl = (props: SVGProps) => ; +export default FormatListOl; diff --git a/packages/ui/icons/lib/FormatListUl.tsx b/packages/ui/icons/lib/FormatListUl.tsx deleted file mode 100644 index 4e6a2f07..00000000 --- a/packages/ui/icons/lib/FormatListUl.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FormatListUl = (props: SVGProps) => ; -export default FormatListUl; diff --git a/packages/ui/icons/lib/FormatListUlIcon.tsx b/packages/ui/icons/lib/FormatListUlIcon.tsx new file mode 100644 index 00000000..dd21c806 --- /dev/null +++ b/packages/ui/icons/lib/FormatListUlIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FormatListUl = (props: SVGProps) => ; +export default FormatListUl; diff --git a/packages/ui/icons/lib/FormatUndeline.tsx b/packages/ui/icons/lib/FormatUndeline.tsx deleted file mode 100644 index d4362fd7..00000000 --- a/packages/ui/icons/lib/FormatUndeline.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const FormatUndeline = (props: SVGProps) => ; -export default FormatUndeline; diff --git a/packages/ui/icons/lib/FormatUndelineIcon.tsx b/packages/ui/icons/lib/FormatUndelineIcon.tsx new file mode 100644 index 00000000..32abd2ec --- /dev/null +++ b/packages/ui/icons/lib/FormatUndelineIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const FormatUndeline = (props: SVGProps) => ; +export default FormatUndeline; diff --git a/packages/ui/icons/lib/Fullscreen.tsx b/packages/ui/icons/lib/Fullscreen.tsx deleted file mode 100644 index 2d0c0d66..00000000 --- a/packages/ui/icons/lib/Fullscreen.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Fullscreen = (props: SVGProps) => ; -export default Fullscreen; diff --git a/packages/ui/icons/lib/FullscreenIcon.tsx b/packages/ui/icons/lib/FullscreenIcon.tsx new file mode 100644 index 00000000..cbb9a8ec --- /dev/null +++ b/packages/ui/icons/lib/FullscreenIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Fullscreen = (props: SVGProps) => ; +export default Fullscreen; diff --git a/packages/ui/icons/lib/Funnel.tsx b/packages/ui/icons/lib/Funnel.tsx deleted file mode 100644 index b408b931..00000000 --- a/packages/ui/icons/lib/Funnel.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Funnel = (props: SVGProps) => ; -export default Funnel; diff --git a/packages/ui/icons/lib/FunnelIcon.tsx b/packages/ui/icons/lib/FunnelIcon.tsx new file mode 100644 index 00000000..84a2f7d8 --- /dev/null +++ b/packages/ui/icons/lib/FunnelIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Funnel = (props: SVGProps) => ; +export default Funnel; diff --git a/packages/ui/icons/lib/Globe.tsx b/packages/ui/icons/lib/Globe.tsx deleted file mode 100644 index f549baea..00000000 --- a/packages/ui/icons/lib/Globe.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Globe = (props: SVGProps) => ; -export default Globe; diff --git a/packages/ui/icons/lib/GlobeAdd.tsx b/packages/ui/icons/lib/GlobeAdd.tsx deleted file mode 100644 index 902e41dd..00000000 --- a/packages/ui/icons/lib/GlobeAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const GlobeAdd = (props: SVGProps) => ; -export default GlobeAdd; diff --git a/packages/ui/icons/lib/GlobeAddIcon.tsx b/packages/ui/icons/lib/GlobeAddIcon.tsx new file mode 100644 index 00000000..b3aad92e --- /dev/null +++ b/packages/ui/icons/lib/GlobeAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const GlobeAdd = (props: SVGProps) => ; +export default GlobeAdd; diff --git a/packages/ui/icons/lib/GlobeIcon.tsx b/packages/ui/icons/lib/GlobeIcon.tsx new file mode 100644 index 00000000..cafb9eae --- /dev/null +++ b/packages/ui/icons/lib/GlobeIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Globe = (props: SVGProps) => ; +export default Globe; diff --git a/packages/ui/icons/lib/Google.tsx b/packages/ui/icons/lib/Google.tsx deleted file mode 100644 index b32547f9..00000000 --- a/packages/ui/icons/lib/Google.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function Google(props: SVGProps) { - return ( - - - - - - - ); -} -export default Google; diff --git a/packages/ui/icons/lib/GoogleIcon.tsx b/packages/ui/icons/lib/GoogleIcon.tsx new file mode 100644 index 00000000..68d9769f --- /dev/null +++ b/packages/ui/icons/lib/GoogleIcon.tsx @@ -0,0 +1,14 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function Google(props: SVGProps) { + return ( + + + + + + + ); +} +export default Google; diff --git a/packages/ui/icons/lib/Grip.tsx b/packages/ui/icons/lib/Grip.tsx deleted file mode 100644 index 3301fd98..00000000 --- a/packages/ui/icons/lib/Grip.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Grip = (props: SVGProps) => ; -export default Grip; diff --git a/packages/ui/icons/lib/GripIcon.tsx b/packages/ui/icons/lib/GripIcon.tsx new file mode 100644 index 00000000..82e2eebc --- /dev/null +++ b/packages/ui/icons/lib/GripIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Grip = (props: SVGProps) => ; +export default Grip; diff --git a/packages/ui/icons/lib/Hint.tsx b/packages/ui/icons/lib/Hint.tsx deleted file mode 100644 index f885be5e..00000000 --- a/packages/ui/icons/lib/Hint.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Hint = (props: SVGProps) => ; -export default Hint; diff --git a/packages/ui/icons/lib/HintAdd.tsx b/packages/ui/icons/lib/HintAdd.tsx deleted file mode 100644 index 97e37393..00000000 --- a/packages/ui/icons/lib/HintAdd.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function HintAdd(props: SVGProps) { - return ( - - - - - - - ); -} -export default HintAdd; diff --git a/packages/ui/icons/lib/HintAddIcon.tsx b/packages/ui/icons/lib/HintAddIcon.tsx new file mode 100644 index 00000000..abbc30ca --- /dev/null +++ b/packages/ui/icons/lib/HintAddIcon.tsx @@ -0,0 +1,14 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function HintAdd(props: SVGProps) { + return ( + + + + + + + ); +} +export default HintAdd; diff --git a/packages/ui/icons/lib/HintIcon.tsx b/packages/ui/icons/lib/HintIcon.tsx new file mode 100644 index 00000000..ee6efdd7 --- /dev/null +++ b/packages/ui/icons/lib/HintIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Hint = (props: SVGProps) => ; +export default Hint; diff --git a/packages/ui/icons/lib/HintSlash.tsx b/packages/ui/icons/lib/HintSlash.tsx deleted file mode 100644 index 8ed8e441..00000000 --- a/packages/ui/icons/lib/HintSlash.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const HintSlash = (props: SVGProps) => ; -export default HintSlash; diff --git a/packages/ui/icons/lib/HintSlashIcon.tsx b/packages/ui/icons/lib/HintSlashIcon.tsx new file mode 100644 index 00000000..cb14459c --- /dev/null +++ b/packages/ui/icons/lib/HintSlashIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const HintSlash = (props: SVGProps) => ; +export default HintSlash; diff --git a/packages/ui/icons/lib/Home.tsx b/packages/ui/icons/lib/Home.tsx deleted file mode 100644 index 7ffaa194..00000000 --- a/packages/ui/icons/lib/Home.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Home = (props: SVGProps) => ; -export default Home; diff --git a/packages/ui/icons/lib/HomeFill.tsx b/packages/ui/icons/lib/HomeFill.tsx deleted file mode 100644 index 78b16e6b..00000000 --- a/packages/ui/icons/lib/HomeFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const HomeFill = (props: SVGProps) => ; -export default HomeFill; diff --git a/packages/ui/icons/lib/HomeFillIcon.tsx b/packages/ui/icons/lib/HomeFillIcon.tsx new file mode 100644 index 00000000..0621797e --- /dev/null +++ b/packages/ui/icons/lib/HomeFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const HomeFill = (props: SVGProps) => ; +export default HomeFill; diff --git a/packages/ui/icons/lib/HomeIcon.tsx b/packages/ui/icons/lib/HomeIcon.tsx new file mode 100644 index 00000000..3c081912 --- /dev/null +++ b/packages/ui/icons/lib/HomeIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Home = (props: SVGProps) => ; +export default Home; diff --git a/packages/ui/icons/lib/Interests.tsx b/packages/ui/icons/lib/Interests.tsx deleted file mode 100644 index 030e7785..00000000 --- a/packages/ui/icons/lib/Interests.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Interests = (props: SVGProps) => ; -export default Interests; diff --git a/packages/ui/icons/lib/InterestsFill.tsx b/packages/ui/icons/lib/InterestsFill.tsx deleted file mode 100644 index 84a41e29..00000000 --- a/packages/ui/icons/lib/InterestsFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const InterestsFill = (props: SVGProps) => ; -export default InterestsFill; diff --git a/packages/ui/icons/lib/InterestsFillIcon.tsx b/packages/ui/icons/lib/InterestsFillIcon.tsx new file mode 100644 index 00000000..3c3360f3 --- /dev/null +++ b/packages/ui/icons/lib/InterestsFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const InterestsFill = (props: SVGProps) => ; +export default InterestsFill; diff --git a/packages/ui/icons/lib/InterestsIcon.tsx b/packages/ui/icons/lib/InterestsIcon.tsx new file mode 100644 index 00000000..d8dedfbb --- /dev/null +++ b/packages/ui/icons/lib/InterestsIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Interests = (props: SVGProps) => ; +export default Interests; diff --git a/packages/ui/icons/lib/Language.tsx b/packages/ui/icons/lib/Language.tsx deleted file mode 100644 index 6532b79b..00000000 --- a/packages/ui/icons/lib/Language.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Language = (props: SVGProps) => ; -export default Language; diff --git a/packages/ui/icons/lib/LanguageIcon.tsx b/packages/ui/icons/lib/LanguageIcon.tsx new file mode 100644 index 00000000..2d56763d --- /dev/null +++ b/packages/ui/icons/lib/LanguageIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Language = (props: SVGProps) => ; +export default Language; diff --git a/packages/ui/icons/lib/Learn.tsx b/packages/ui/icons/lib/Learn.tsx deleted file mode 100644 index 58a7710a..00000000 --- a/packages/ui/icons/lib/Learn.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Learn = (props: SVGProps) => ; -export default Learn; diff --git a/packages/ui/icons/lib/LearnIcon.tsx b/packages/ui/icons/lib/LearnIcon.tsx new file mode 100644 index 00000000..fec2a0ba --- /dev/null +++ b/packages/ui/icons/lib/LearnIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Learn = (props: SVGProps) => ; +export default Learn; diff --git a/packages/ui/icons/lib/Link.tsx b/packages/ui/icons/lib/Link.tsx deleted file mode 100644 index 80b7d878..00000000 --- a/packages/ui/icons/lib/Link.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Link = (props: SVGProps) => ; -export default Link; diff --git a/packages/ui/icons/lib/LinkAdd.tsx b/packages/ui/icons/lib/LinkAdd.tsx deleted file mode 100644 index e3414b02..00000000 --- a/packages/ui/icons/lib/LinkAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const LinkAdd = (props: SVGProps) => ; -export default LinkAdd; diff --git a/packages/ui/icons/lib/LinkAddIcon.tsx b/packages/ui/icons/lib/LinkAddIcon.tsx new file mode 100644 index 00000000..1f233916 --- /dev/null +++ b/packages/ui/icons/lib/LinkAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const LinkAdd = (props: SVGProps) => ; +export default LinkAdd; diff --git a/packages/ui/icons/lib/LinkIcon.tsx b/packages/ui/icons/lib/LinkIcon.tsx new file mode 100644 index 00000000..1f4d13ac --- /dev/null +++ b/packages/ui/icons/lib/LinkIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Link = (props: SVGProps) => ; +export default Link; diff --git a/packages/ui/icons/lib/LinkSlash.tsx b/packages/ui/icons/lib/LinkSlash.tsx deleted file mode 100644 index 20645ac1..00000000 --- a/packages/ui/icons/lib/LinkSlash.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const LinkSlash = (props: SVGProps) => ; -export default LinkSlash; diff --git a/packages/ui/icons/lib/LinkSlashIcon.tsx b/packages/ui/icons/lib/LinkSlashIcon.tsx new file mode 100644 index 00000000..949c9669 --- /dev/null +++ b/packages/ui/icons/lib/LinkSlashIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const LinkSlash = (props: SVGProps) => ; +export default LinkSlash; diff --git a/packages/ui/icons/lib/ListAdd.tsx b/packages/ui/icons/lib/ListAdd.tsx deleted file mode 100644 index 2cac847f..00000000 --- a/packages/ui/icons/lib/ListAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const ListAdd = (props: SVGProps) => ; -export default ListAdd; diff --git a/packages/ui/icons/lib/ListAddIcon.tsx b/packages/ui/icons/lib/ListAddIcon.tsx new file mode 100644 index 00000000..c73f4843 --- /dev/null +++ b/packages/ui/icons/lib/ListAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const ListAdd = (props: SVGProps) => ; +export default ListAdd; diff --git a/packages/ui/icons/lib/Magnifier.tsx b/packages/ui/icons/lib/Magnifier.tsx deleted file mode 100644 index 944606e5..00000000 --- a/packages/ui/icons/lib/Magnifier.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Magnifier = (props: SVGProps) => ; -export default Magnifier; diff --git a/packages/ui/icons/lib/MagnifierIcon.tsx b/packages/ui/icons/lib/MagnifierIcon.tsx new file mode 100644 index 00000000..0bd0ed4b --- /dev/null +++ b/packages/ui/icons/lib/MagnifierIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Magnifier = (props: SVGProps) => ; +export default Magnifier; diff --git a/packages/ui/icons/lib/MailAol.tsx b/packages/ui/icons/lib/MailAol.tsx deleted file mode 100644 index dc926e19..00000000 --- a/packages/ui/icons/lib/MailAol.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailAol(props: SVGProps) { - return ( - - - - - - - - - - - ); -} -export default MailAol; diff --git a/packages/ui/icons/lib/MailAolIcon.tsx b/packages/ui/icons/lib/MailAolIcon.tsx new file mode 100644 index 00000000..79e1c4d9 --- /dev/null +++ b/packages/ui/icons/lib/MailAolIcon.tsx @@ -0,0 +1,18 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailAol(props: SVGProps) { + return ( + + + + + + + + + + + ); +} +export default MailAol; diff --git a/packages/ui/icons/lib/MailGmail.tsx b/packages/ui/icons/lib/MailGmail.tsx deleted file mode 100644 index 61c53922..00000000 --- a/packages/ui/icons/lib/MailGmail.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailGmail(props: SVGProps) { - return ( - - - - - - - - ); -} -export default MailGmail; diff --git a/packages/ui/icons/lib/MailGmailIcon.tsx b/packages/ui/icons/lib/MailGmailIcon.tsx new file mode 100644 index 00000000..1bf5ac21 --- /dev/null +++ b/packages/ui/icons/lib/MailGmailIcon.tsx @@ -0,0 +1,15 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailGmail(props: SVGProps) { + return ( + + + + + + + + ); +} +export default MailGmail; diff --git a/packages/ui/icons/lib/MailIcloud.tsx b/packages/ui/icons/lib/MailIcloud.tsx deleted file mode 100644 index ce2934d8..00000000 --- a/packages/ui/icons/lib/MailIcloud.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailIcloud(props: SVGProps) { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -} -export default MailIcloud; diff --git a/packages/ui/icons/lib/MailIcloudIcon.tsx b/packages/ui/icons/lib/MailIcloudIcon.tsx new file mode 100644 index 00000000..ab8d519d --- /dev/null +++ b/packages/ui/icons/lib/MailIcloudIcon.tsx @@ -0,0 +1,48 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailIcloud(props: SVGProps) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} +export default MailIcloud; diff --git a/packages/ui/icons/lib/MailMail.tsx b/packages/ui/icons/lib/MailMail.tsx deleted file mode 100644 index 8dc4a44c..00000000 --- a/packages/ui/icons/lib/MailMail.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailMail(props: SVGProps) { - return ( - - - - - - - - ); -} -export default MailMail; diff --git a/packages/ui/icons/lib/MailMailIcon.tsx b/packages/ui/icons/lib/MailMailIcon.tsx new file mode 100644 index 00000000..d6c74fba --- /dev/null +++ b/packages/ui/icons/lib/MailMailIcon.tsx @@ -0,0 +1,15 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailMail(props: SVGProps) { + return ( + + + + + + + + ); +} +export default MailMail; diff --git a/packages/ui/icons/lib/MailOutlook.tsx b/packages/ui/icons/lib/MailOutlook.tsx deleted file mode 100644 index 139e3b27..00000000 --- a/packages/ui/icons/lib/MailOutlook.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailOutlook(props: SVGProps) { - return ( - - - - - - - - - - - - - - - - - - ); -} -export default MailOutlook; diff --git a/packages/ui/icons/lib/MailOutlookIcon.tsx b/packages/ui/icons/lib/MailOutlookIcon.tsx new file mode 100644 index 00000000..62db7a76 --- /dev/null +++ b/packages/ui/icons/lib/MailOutlookIcon.tsx @@ -0,0 +1,25 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailOutlook(props: SVGProps) { + return ( + + + + + + + + + + + + + + + + + + ); +} +export default MailOutlook; diff --git a/packages/ui/icons/lib/MailProton.tsx b/packages/ui/icons/lib/MailProton.tsx deleted file mode 100644 index 5158c118..00000000 --- a/packages/ui/icons/lib/MailProton.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailProton(props: SVGProps) { - return ( - - - - - ); -} -export default MailProton; diff --git a/packages/ui/icons/lib/MailProtonIcon.tsx b/packages/ui/icons/lib/MailProtonIcon.tsx new file mode 100644 index 00000000..205876a4 --- /dev/null +++ b/packages/ui/icons/lib/MailProtonIcon.tsx @@ -0,0 +1,12 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailProton(props: SVGProps) { + return ( + + + + + ); +} +export default MailProton; diff --git a/packages/ui/icons/lib/MailYahoo.tsx b/packages/ui/icons/lib/MailYahoo.tsx deleted file mode 100644 index e01db515..00000000 --- a/packages/ui/icons/lib/MailYahoo.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailYahoo(props: SVGProps) { - return ( - - - - - - - - ); -} -export default MailYahoo; diff --git a/packages/ui/icons/lib/MailYahooIcon.tsx b/packages/ui/icons/lib/MailYahooIcon.tsx new file mode 100644 index 00000000..9e13493c --- /dev/null +++ b/packages/ui/icons/lib/MailYahooIcon.tsx @@ -0,0 +1,15 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailYahoo(props: SVGProps) { + return ( + + + + + + + + ); +} +export default MailYahoo; diff --git a/packages/ui/icons/lib/MailYandex.tsx b/packages/ui/icons/lib/MailYandex.tsx deleted file mode 100644 index b3ff0feb..00000000 --- a/packages/ui/icons/lib/MailYandex.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function MailYandex(props: SVGProps) { - return ( - - - - - - - - - - - - - - - - ); -} -export default MailYandex; diff --git a/packages/ui/icons/lib/MailYandexIcon.tsx b/packages/ui/icons/lib/MailYandexIcon.tsx new file mode 100644 index 00000000..395ac18c --- /dev/null +++ b/packages/ui/icons/lib/MailYandexIcon.tsx @@ -0,0 +1,23 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function MailYandex(props: SVGProps) { + return ( + + + + + + + + + + + + + + + + ); +} +export default MailYandex; diff --git a/packages/ui/icons/lib/Minus.tsx b/packages/ui/icons/lib/Minus.tsx deleted file mode 100644 index 8c09577c..00000000 --- a/packages/ui/icons/lib/Minus.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Minus = (props: SVGProps) => ; -export default Minus; diff --git a/packages/ui/icons/lib/MinusIcon.tsx b/packages/ui/icons/lib/MinusIcon.tsx new file mode 100644 index 00000000..7833e3d7 --- /dev/null +++ b/packages/ui/icons/lib/MinusIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Minus = (props: SVGProps) => ; +export default Minus; diff --git a/packages/ui/icons/lib/MoveToFolder.tsx b/packages/ui/icons/lib/MoveToFolder.tsx deleted file mode 100644 index c76e67d3..00000000 --- a/packages/ui/icons/lib/MoveToFolder.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const MoveToFolder = (props: SVGProps) => ; -export default MoveToFolder; diff --git a/packages/ui/icons/lib/MoveToFolderIcon.tsx b/packages/ui/icons/lib/MoveToFolderIcon.tsx new file mode 100644 index 00000000..6186ae2a --- /dev/null +++ b/packages/ui/icons/lib/MoveToFolderIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const MoveToFolder = (props: SVGProps) => ; +export default MoveToFolder; diff --git a/packages/ui/icons/lib/Notifications.tsx b/packages/ui/icons/lib/Notifications.tsx deleted file mode 100644 index b46e6897..00000000 --- a/packages/ui/icons/lib/Notifications.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Notifications = (props: SVGProps) => ; -export default Notifications; diff --git a/packages/ui/icons/lib/NotificationsIcon.tsx b/packages/ui/icons/lib/NotificationsIcon.tsx new file mode 100644 index 00000000..7aeebb34 --- /dev/null +++ b/packages/ui/icons/lib/NotificationsIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Notifications = (props: SVGProps) => ; +export default Notifications; diff --git a/packages/ui/icons/lib/Pencil.tsx b/packages/ui/icons/lib/Pencil.tsx deleted file mode 100644 index 4b6037ad..00000000 --- a/packages/ui/icons/lib/Pencil.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Pencil = (props: SVGProps) => ; -export default Pencil; diff --git a/packages/ui/icons/lib/PencilIcon.tsx b/packages/ui/icons/lib/PencilIcon.tsx new file mode 100644 index 00000000..6510160a --- /dev/null +++ b/packages/ui/icons/lib/PencilIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Pencil = (props: SVGProps) => ; +export default Pencil; diff --git a/packages/ui/icons/lib/PersonAdd.tsx b/packages/ui/icons/lib/PersonAdd.tsx deleted file mode 100644 index c49678ac..00000000 --- a/packages/ui/icons/lib/PersonAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonAdd = (props: SVGProps) => ; -export default PersonAdd; diff --git a/packages/ui/icons/lib/PersonAddIcon.tsx b/packages/ui/icons/lib/PersonAddIcon.tsx new file mode 100644 index 00000000..75b1f452 --- /dev/null +++ b/packages/ui/icons/lib/PersonAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonAdd = (props: SVGProps) => ; +export default PersonAdd; diff --git a/packages/ui/icons/lib/PersonCheck.tsx b/packages/ui/icons/lib/PersonCheck.tsx deleted file mode 100644 index 47e7279a..00000000 --- a/packages/ui/icons/lib/PersonCheck.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonCheck = (props: SVGProps) => ; -export default PersonCheck; diff --git a/packages/ui/icons/lib/PersonCheckFill.tsx b/packages/ui/icons/lib/PersonCheckFill.tsx deleted file mode 100644 index 07aab18f..00000000 --- a/packages/ui/icons/lib/PersonCheckFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonCheckFill = (props: SVGProps) => ; -export default PersonCheckFill; diff --git a/packages/ui/icons/lib/PersonCheckFillIcon.tsx b/packages/ui/icons/lib/PersonCheckFillIcon.tsx new file mode 100644 index 00000000..636e3076 --- /dev/null +++ b/packages/ui/icons/lib/PersonCheckFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonCheckFill = (props: SVGProps) => ; +export default PersonCheckFill; diff --git a/packages/ui/icons/lib/PersonCheckIcon.tsx b/packages/ui/icons/lib/PersonCheckIcon.tsx new file mode 100644 index 00000000..d4135a81 --- /dev/null +++ b/packages/ui/icons/lib/PersonCheckIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonCheck = (props: SVGProps) => ; +export default PersonCheck; diff --git a/packages/ui/icons/lib/PersonEdit.tsx b/packages/ui/icons/lib/PersonEdit.tsx deleted file mode 100644 index 06bc419a..00000000 --- a/packages/ui/icons/lib/PersonEdit.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonEdit = (props: SVGProps) => ; -export default PersonEdit; diff --git a/packages/ui/icons/lib/PersonEditFill.tsx b/packages/ui/icons/lib/PersonEditFill.tsx deleted file mode 100644 index f6f0e95c..00000000 --- a/packages/ui/icons/lib/PersonEditFill.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonEditFill = (props: SVGProps) => ; -export default PersonEditFill; diff --git a/packages/ui/icons/lib/PersonEditFillIcon.tsx b/packages/ui/icons/lib/PersonEditFillIcon.tsx new file mode 100644 index 00000000..fb83a403 --- /dev/null +++ b/packages/ui/icons/lib/PersonEditFillIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonEditFill = (props: SVGProps) => ; +export default PersonEditFill; diff --git a/packages/ui/icons/lib/PersonEditIcon.tsx b/packages/ui/icons/lib/PersonEditIcon.tsx new file mode 100644 index 00000000..d312d450 --- /dev/null +++ b/packages/ui/icons/lib/PersonEditIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonEdit = (props: SVGProps) => ; +export default PersonEdit; diff --git a/packages/ui/icons/lib/PersonGroup.tsx b/packages/ui/icons/lib/PersonGroup.tsx deleted file mode 100644 index 29fc5dd1..00000000 --- a/packages/ui/icons/lib/PersonGroup.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonGroup = (props: SVGProps) => ; -export default PersonGroup; diff --git a/packages/ui/icons/lib/PersonGroupIcon.tsx b/packages/ui/icons/lib/PersonGroupIcon.tsx new file mode 100644 index 00000000..70ff3b42 --- /dev/null +++ b/packages/ui/icons/lib/PersonGroupIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonGroup = (props: SVGProps) => ; +export default PersonGroup; diff --git a/packages/ui/icons/lib/PersonPin.tsx b/packages/ui/icons/lib/PersonPin.tsx deleted file mode 100644 index d627a936..00000000 --- a/packages/ui/icons/lib/PersonPin.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const PersonPin = (props: SVGProps) => ; -export default PersonPin; diff --git a/packages/ui/icons/lib/PersonPinIcon.tsx b/packages/ui/icons/lib/PersonPinIcon.tsx new file mode 100644 index 00000000..8d19d5da --- /dev/null +++ b/packages/ui/icons/lib/PersonPinIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const PersonPin = (props: SVGProps) => ; +export default PersonPin; diff --git a/packages/ui/icons/lib/Plus.tsx b/packages/ui/icons/lib/Plus.tsx deleted file mode 100644 index 89302b55..00000000 --- a/packages/ui/icons/lib/Plus.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Plus = (props: SVGProps) => ; -export default Plus; diff --git a/packages/ui/icons/lib/PlusIcon.tsx b/packages/ui/icons/lib/PlusIcon.tsx new file mode 100644 index 00000000..cf385a2a --- /dev/null +++ b/packages/ui/icons/lib/PlusIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Plus = (props: SVGProps) => ; +export default Plus; diff --git a/packages/ui/icons/lib/Preview.tsx b/packages/ui/icons/lib/Preview.tsx deleted file mode 100644 index 70ec403b..00000000 --- a/packages/ui/icons/lib/Preview.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Preview = (props: SVGProps) => ; -export default Preview; diff --git a/packages/ui/icons/lib/PreviewIcon.tsx b/packages/ui/icons/lib/PreviewIcon.tsx new file mode 100644 index 00000000..b049bb69 --- /dev/null +++ b/packages/ui/icons/lib/PreviewIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Preview = (props: SVGProps) => ; +export default Preview; diff --git a/packages/ui/icons/lib/Set.tsx b/packages/ui/icons/lib/Set.tsx deleted file mode 100644 index 2fbe25d5..00000000 --- a/packages/ui/icons/lib/Set.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Set = (props: SVGProps) => ; -export default Set; diff --git a/packages/ui/icons/lib/SetAdd.tsx b/packages/ui/icons/lib/SetAdd.tsx deleted file mode 100644 index 671ad26c..00000000 --- a/packages/ui/icons/lib/SetAdd.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const SetAdd = (props: SVGProps) => ; -export default SetAdd; diff --git a/packages/ui/icons/lib/SetAddIcon.tsx b/packages/ui/icons/lib/SetAddIcon.tsx new file mode 100644 index 00000000..bd76f124 --- /dev/null +++ b/packages/ui/icons/lib/SetAddIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const SetAdd = (props: SVGProps) => ; +export default SetAdd; diff --git a/packages/ui/icons/lib/SetIcon.tsx b/packages/ui/icons/lib/SetIcon.tsx new file mode 100644 index 00000000..c89ffefc --- /dev/null +++ b/packages/ui/icons/lib/SetIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Set = (props: SVGProps) => ; +export default Set; diff --git a/packages/ui/icons/lib/Settings.tsx b/packages/ui/icons/lib/Settings.tsx deleted file mode 100644 index 936581ac..00000000 --- a/packages/ui/icons/lib/Settings.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Settings = (props: SVGProps) => ; -export default Settings; diff --git a/packages/ui/icons/lib/SettingsIcon.tsx b/packages/ui/icons/lib/SettingsIcon.tsx new file mode 100644 index 00000000..8e7afa4c --- /dev/null +++ b/packages/ui/icons/lib/SettingsIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Settings = (props: SVGProps) => ; +export default Settings; diff --git a/packages/ui/icons/lib/Shuffle.tsx b/packages/ui/icons/lib/Shuffle.tsx deleted file mode 100644 index 09853785..00000000 --- a/packages/ui/icons/lib/Shuffle.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Shuffle = (props: SVGProps) => ; -export default Shuffle; diff --git a/packages/ui/icons/lib/ShuffleIcon.tsx b/packages/ui/icons/lib/ShuffleIcon.tsx new file mode 100644 index 00000000..f20663e9 --- /dev/null +++ b/packages/ui/icons/lib/ShuffleIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Shuffle = (props: SVGProps) => ; +export default Shuffle; diff --git a/packages/ui/icons/lib/Sort.tsx b/packages/ui/icons/lib/Sort.tsx deleted file mode 100644 index 9dcc5f24..00000000 --- a/packages/ui/icons/lib/Sort.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Sort = (props: SVGProps) => ; -export default Sort; diff --git a/packages/ui/icons/lib/SortByAlpha.tsx b/packages/ui/icons/lib/SortByAlpha.tsx deleted file mode 100644 index 2f3b194c..00000000 --- a/packages/ui/icons/lib/SortByAlpha.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const SortByAlpha = (props: SVGProps) => ; -export default SortByAlpha; diff --git a/packages/ui/icons/lib/SortByAlphaIcon.tsx b/packages/ui/icons/lib/SortByAlphaIcon.tsx new file mode 100644 index 00000000..1108c2e5 --- /dev/null +++ b/packages/ui/icons/lib/SortByAlphaIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const SortByAlpha = (props: SVGProps) => ; +export default SortByAlpha; diff --git a/packages/ui/icons/lib/SortIcon.tsx b/packages/ui/icons/lib/SortIcon.tsx new file mode 100644 index 00000000..a2fef603 --- /dev/null +++ b/packages/ui/icons/lib/SortIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Sort = (props: SVGProps) => ; +export default Sort; diff --git a/packages/ui/icons/lib/Spinner.tsx b/packages/ui/icons/lib/Spinner.tsx deleted file mode 100644 index b7790693..00000000 --- a/packages/ui/icons/lib/Spinner.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function Spinner(props: SVGProps) { - return ( - - - - - ); -} -export default Spinner; diff --git a/packages/ui/icons/lib/SpinnerIcon.tsx b/packages/ui/icons/lib/SpinnerIcon.tsx new file mode 100644 index 00000000..eed25933 --- /dev/null +++ b/packages/ui/icons/lib/SpinnerIcon.tsx @@ -0,0 +1,12 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function Spinner(props: SVGProps) { + return ( + + + + + ); +} +export default Spinner; diff --git a/packages/ui/icons/lib/Star.tsx b/packages/ui/icons/lib/Star.tsx deleted file mode 100644 index 99f23a23..00000000 --- a/packages/ui/icons/lib/Star.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Star = (props: SVGProps) => ; -export default Star; diff --git a/packages/ui/icons/lib/StarIcon.tsx b/packages/ui/icons/lib/StarIcon.tsx new file mode 100644 index 00000000..f025538f --- /dev/null +++ b/packages/ui/icons/lib/StarIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Star = (props: SVGProps) => ; +export default Star; diff --git a/packages/ui/icons/lib/TableConvert.tsx b/packages/ui/icons/lib/TableConvert.tsx deleted file mode 100644 index 649ade65..00000000 --- a/packages/ui/icons/lib/TableConvert.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const TableConvert = (props: SVGProps) => ; -export default TableConvert; diff --git a/packages/ui/icons/lib/TableConvertIcon.tsx b/packages/ui/icons/lib/TableConvertIcon.tsx new file mode 100644 index 00000000..bbe9d5bc --- /dev/null +++ b/packages/ui/icons/lib/TableConvertIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const TableConvert = (props: SVGProps) => ; +export default TableConvert; diff --git a/packages/ui/icons/lib/Tag.tsx b/packages/ui/icons/lib/Tag.tsx deleted file mode 100644 index c031bf34..00000000 --- a/packages/ui/icons/lib/Tag.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Tag = (props: SVGProps) => ; -export default Tag; diff --git a/packages/ui/icons/lib/TagIcon.tsx b/packages/ui/icons/lib/TagIcon.tsx new file mode 100644 index 00000000..61c059a4 --- /dev/null +++ b/packages/ui/icons/lib/TagIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Tag = (props: SVGProps) => ; +export default Tag; diff --git a/packages/ui/icons/lib/TextFormat.tsx b/packages/ui/icons/lib/TextFormat.tsx deleted file mode 100644 index f9428726..00000000 --- a/packages/ui/icons/lib/TextFormat.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const TextFormat = (props: SVGProps) => ; -export default TextFormat; diff --git a/packages/ui/icons/lib/TextFormatIcon.tsx b/packages/ui/icons/lib/TextFormatIcon.tsx new file mode 100644 index 00000000..fa504093 --- /dev/null +++ b/packages/ui/icons/lib/TextFormatIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const TextFormat = (props: SVGProps) => ; +export default TextFormat; diff --git a/packages/ui/icons/lib/Vk.tsx b/packages/ui/icons/lib/Vk.tsx deleted file mode 100644 index c3faf2c6..00000000 --- a/packages/ui/icons/lib/Vk.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function Vk(props: SVGProps) { - return ( - - - - - ); -} -export default Vk; diff --git a/packages/ui/icons/lib/VkIcon.tsx b/packages/ui/icons/lib/VkIcon.tsx new file mode 100644 index 00000000..3845d190 --- /dev/null +++ b/packages/ui/icons/lib/VkIcon.tsx @@ -0,0 +1,12 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function Vk(props: SVGProps) { + return ( + + + + + ); +} +export default Vk; diff --git a/packages/ui/icons/lib/Xmark.tsx b/packages/ui/icons/lib/Xmark.tsx deleted file mode 100644 index 52e70033..00000000 --- a/packages/ui/icons/lib/Xmark.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -const Xmark = (props: SVGProps) => ; -export default Xmark; diff --git a/packages/ui/icons/lib/XmarkIcon.tsx b/packages/ui/icons/lib/XmarkIcon.tsx new file mode 100644 index 00000000..392a74d1 --- /dev/null +++ b/packages/ui/icons/lib/XmarkIcon.tsx @@ -0,0 +1,5 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +const Xmark = (props: SVGProps) => ; +export default Xmark; diff --git a/packages/ui/icons/lib/Yandex.tsx b/packages/ui/icons/lib/Yandex.tsx deleted file mode 100644 index 9d4aa050..00000000 --- a/packages/ui/icons/lib/Yandex.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { SVGProps } from 'react'; -import * as React from 'react'; - -function Yandex(props: SVGProps) { - return ( - - - - - - - - ); -} -export default Yandex; diff --git a/packages/ui/icons/lib/YandexIcon.tsx b/packages/ui/icons/lib/YandexIcon.tsx new file mode 100644 index 00000000..fd01192a --- /dev/null +++ b/packages/ui/icons/lib/YandexIcon.tsx @@ -0,0 +1,15 @@ +import type { SVGProps } from 'react'; +import * as React from 'react'; + +function Yandex(props: SVGProps) { + return ( + + + + + + + + ); +} +export default Yandex; diff --git a/packages/ui/icons/lib/index.tsx b/packages/ui/icons/lib/index.tsx index d8f63e3d..6cb9e2af 100644 --- a/packages/ui/icons/lib/index.tsx +++ b/packages/ui/icons/lib/index.tsx @@ -1,125 +1,125 @@ -export { default as AddRowAbove } from './AddRowAbove'; -export { default as AddRowBelow } from './AddRowBelow'; -export { default as AddSquare } from './AddSquare'; -export { default as Arrow360 } from './Arrow360'; -export { default as ArrowBack } from './ArrowBack'; -export { default as ArrowDownToSquare } from './ArrowDownToSquare'; -export { default as ArrowLeftArrowRight } from './ArrowLeftArrowRight'; -export { default as ArrowOutward } from './ArrowOutward'; -export { default as ArrowRightFromSquare } from './ArrowRightFromSquare'; -export { default as ArrowRightToSquare } from './ArrowRightToSquare'; -export { default as ArrowShapeTurnUpRight } from './ArrowShapeTurnUpRight'; -export { default as ArrowShapeTurnUpRightCheck } from './ArrowShapeTurnUpRightCheck'; -export { default as ArrowsRotateRightAdd } from './ArrowsRotateRightAdd'; -export { default as ArrowsRotateRightCheck } from './ArrowsRotateRightCheck'; -export { default as ArrowUpArrowDown } from './ArrowUpArrowDown'; -export { default as ArrowUturnCcwLeft } from './ArrowUturnCcwLeft'; -export { default as ArrowUturnCwRight } from './ArrowUturnCwRight'; -export { default as AttachFile } from './AttachFile'; -export { default as Bookmark } from './Bookmark'; -export { default as BookmarkFill } from './BookmarkFill'; -export { default as Bookmarks } from './Bookmarks'; -export { default as Check } from './Check'; -export { default as ChevronDown } from './ChevronDown'; -export { default as ChevronDownToLine } from './ChevronDownToLine'; -export { default as ChevronLeft } from './ChevronLeft'; -export { default as ChevronRight } from './ChevronRight'; -export { default as ChevronsCollapseUpRight } from './ChevronsCollapseUpRight'; -export { default as ChevronsExpandUpRight } from './ChevronsExpandUpRight'; -export { default as ChevronUp } from './ChevronUp'; -export { default as ChevronUpToLine } from './ChevronUpToLine'; -export { default as CircleCheck } from './CircleCheck'; -export { default as CircleCheckFill } from './CircleCheckFill'; -export { default as CircleInfo } from './CircleInfo'; -export { default as CircleInfoFill } from './CircleInfoFill'; -export { default as CircleXmark } from './CircleXmark'; -export { default as CircleXmarkFill } from './CircleXmarkFill'; -export { default as Clipboard } from './Clipboard'; -export { default as Clock40 } from './Clock40'; -export { default as Clock60 } from './Clock60'; -export { default as ClockArrowRotateCcwLeft } from './ClockArrowRotateCcwLeft'; -export { default as CodeBlock } from './CodeBlock'; -export { default as Copy } from './Copy'; -export { default as Delete } from './Delete'; -export { default as DeleteXmark } from './DeleteXmark'; -export { default as DotsHorizontal } from './DotsHorizontal'; -export { default as DotsVertical } from './DotsVertical'; -export { default as Equal } from './Equal'; -export { default as Explore } from './Explore'; -export { default as ExploreFill } from './ExploreFill'; -export { default as Favorite } from './Favorite'; -export { default as FavoriteFill } from './FavoriteFill'; -export { default as File } from './File'; -export { default as FileAdd } from './FileAdd'; -export { default as FileCheck } from './FileCheck'; -export { default as FileCheckFill } from './FileCheckFill'; -export { default as Filter } from './Filter'; -export { default as FilterFill } from './FilterFill'; -export { default as FlagRu } from './FlagRu'; -export { default as FlagUk } from './FlagUk'; -export { default as Folder } from './Folder'; -export { default as FolderAdd } from './FolderAdd'; -export { default as FolderFill } from './FolderFill'; -export { default as FolderOpen } from './FolderOpen'; -export { default as FolderOpenFill } from './FolderOpenFill'; -export { default as Folders } from './Folders'; -export { default as FormatBold } from './FormatBold'; -export { default as FormatItalic } from './FormatItalic'; -export { default as FormatListOl } from './FormatListOl'; -export { default as FormatListUl } from './FormatListUl'; -export { default as FormatUndeline } from './FormatUndeline'; -export { default as Fullscreen } from './Fullscreen'; -export { default as Funnel } from './Funnel'; -export { default as Globe } from './Globe'; -export { default as GlobeAdd } from './GlobeAdd'; -export { default as Google } from './Google'; -export { default as Grip } from './Grip'; -export { default as Hint } from './Hint'; -export { default as HintAdd } from './HintAdd'; -export { default as HintSlash } from './HintSlash'; -export { default as Home } from './Home'; -export { default as HomeFill } from './HomeFill'; -export { default as Interests } from './Interests'; -export { default as InterestsFill } from './InterestsFill'; -export { default as Language } from './Language'; -export { default as Learn } from './Learn'; -export { default as Link } from './Link'; -export { default as LinkAdd } from './LinkAdd'; -export { default as LinkSlash } from './LinkSlash'; -export { default as ListAdd } from './ListAdd'; -export { default as Magnifier } from './Magnifier'; -export { default as MailAol } from './MailAol'; -export { default as MailGmail } from './MailGmail'; -export { default as MailIcloud } from './MailIcloud'; -export { default as MailMail } from './MailMail'; -export { default as MailOutlook } from './MailOutlook'; -export { default as MailProton } from './MailProton'; -export { default as MailYahoo } from './MailYahoo'; -export { default as MailYandex } from './MailYandex'; -export { default as Minus } from './Minus'; -export { default as MoveToFolder } from './MoveToFolder'; -export { default as Notifications } from './Notifications'; -export { default as Pencil } from './Pencil'; -export { default as PersonAdd } from './PersonAdd'; -export { default as PersonCheck } from './PersonCheck'; -export { default as PersonCheckFill } from './PersonCheckFill'; -export { default as PersonEdit } from './PersonEdit'; -export { default as PersonEditFill } from './PersonEditFill'; -export { default as PersonGroup } from './PersonGroup'; -export { default as PersonPin } from './PersonPin'; -export { default as Plus } from './Plus'; -export { default as Preview } from './Preview'; -export { default as Set } from './Set'; -export { default as SetAdd } from './SetAdd'; -export { default as Settings } from './Settings'; -export { default as Shuffle } from './Shuffle'; -export { default as Sort } from './Sort'; -export { default as SortByAlpha } from './SortByAlpha'; -export { default as Spinner } from './Spinner'; -export { default as Star } from './Star'; -export { default as TableConvert } from './TableConvert'; -export { default as Tag } from './Tag'; -export { default as TextFormat } from './TextFormat'; -export { default as Vk } from './Vk'; -export { default as Xmark } from './Xmark'; -export { default as Yandex } from './Yandex'; +export { default as AddRowAboveIcon } from './AddRowAboveIcon'; +export { default as AddRowBelowIcon } from './AddRowBelowIcon'; +export { default as AddSquareIcon } from './AddSquareIcon'; +export { default as Arrow360Icon } from './Arrow360Icon'; +export { default as ArrowBackIcon } from './ArrowBackIcon'; +export { default as ArrowDownToSquareIcon } from './ArrowDownToSquareIcon'; +export { default as ArrowLeftArrowRightIcon } from './ArrowLeftArrowRightIcon'; +export { default as ArrowOutwardIcon } from './ArrowOutwardIcon'; +export { default as ArrowRightFromSquareIcon } from './ArrowRightFromSquareIcon'; +export { default as ArrowRightToSquareIcon } from './ArrowRightToSquareIcon'; +export { default as ArrowShapeTurnUpRightCheckIcon } from './ArrowShapeTurnUpRightCheckIcon'; +export { default as ArrowShapeTurnUpRightIcon } from './ArrowShapeTurnUpRightIcon'; +export { default as ArrowsRotateRightAddIcon } from './ArrowsRotateRightAddIcon'; +export { default as ArrowsRotateRightCheckIcon } from './ArrowsRotateRightCheckIcon'; +export { default as ArrowUpArrowDownIcon } from './ArrowUpArrowDownIcon'; +export { default as ArrowUturnCcwLeftIcon } from './ArrowUturnCcwLeftIcon'; +export { default as ArrowUturnCwRightIcon } from './ArrowUturnCwRightIcon'; +export { default as AttachFileIcon } from './AttachFileIcon'; +export { default as BookmarkFillIcon } from './BookmarkFillIcon'; +export { default as BookmarkIcon } from './BookmarkIcon'; +export { default as BookmarksIcon } from './BookmarksIcon'; +export { default as CheckIcon } from './CheckIcon'; +export { default as ChevronDownIcon } from './ChevronDownIcon'; +export { default as ChevronDownToLineIcon } from './ChevronDownToLineIcon'; +export { default as ChevronLeftIcon } from './ChevronLeftIcon'; +export { default as ChevronRightIcon } from './ChevronRightIcon'; +export { default as ChevronsCollapseUpRightIcon } from './ChevronsCollapseUpRightIcon'; +export { default as ChevronsExpandUpRightIcon } from './ChevronsExpandUpRightIcon'; +export { default as ChevronUpIcon } from './ChevronUpIcon'; +export { default as ChevronUpToLineIcon } from './ChevronUpToLineIcon'; +export { default as CircleCheckFillIcon } from './CircleCheckFillIcon'; +export { default as CircleCheckIcon } from './CircleCheckIcon'; +export { default as CircleInfoFillIcon } from './CircleInfoFillIcon'; +export { default as CircleInfoIcon } from './CircleInfoIcon'; +export { default as CircleXmarkFillIcon } from './CircleXmarkFillIcon'; +export { default as CircleXmarkIcon } from './CircleXmarkIcon'; +export { default as ClipboardIcon } from './ClipboardIcon'; +export { default as Clock40Icon } from './Clock40Icon'; +export { default as Clock60Icon } from './Clock60Icon'; +export { default as ClockArrowRotateCcwLeftIcon } from './ClockArrowRotateCcwLeftIcon'; +export { default as CodeBlockIcon } from './CodeBlockIcon'; +export { default as CopyIcon } from './CopyIcon'; +export { default as DeleteIcon } from './DeleteIcon'; +export { default as DeleteXmarkIcon } from './DeleteXmarkIcon'; +export { default as DotsHorizontalIcon } from './DotsHorizontalIcon'; +export { default as DotsVerticalIcon } from './DotsVerticalIcon'; +export { default as EqualIcon } from './EqualIcon'; +export { default as ExploreFillIcon } from './ExploreFillIcon'; +export { default as ExploreIcon } from './ExploreIcon'; +export { default as FavoriteFillIcon } from './FavoriteFillIcon'; +export { default as FavoriteIcon } from './FavoriteIcon'; +export { default as FileAddIcon } from './FileAddIcon'; +export { default as FileCheckFillIcon } from './FileCheckFillIcon'; +export { default as FileCheckIcon } from './FileCheckIcon'; +export { default as FileIcon } from './FileIcon'; +export { default as FilterFillIcon } from './FilterFillIcon'; +export { default as FilterIcon } from './FilterIcon'; +export { default as FlagRuIcon } from './FlagRuIcon'; +export { default as FlagUkIcon } from './FlagUkIcon'; +export { default as FolderAddIcon } from './FolderAddIcon'; +export { default as FolderFillIcon } from './FolderFillIcon'; +export { default as FolderIcon } from './FolderIcon'; +export { default as FolderOpenFillIcon } from './FolderOpenFillIcon'; +export { default as FolderOpenIcon } from './FolderOpenIcon'; +export { default as FoldersIcon } from './FoldersIcon'; +export { default as FormatBoldIcon } from './FormatBoldIcon'; +export { default as FormatItalicIcon } from './FormatItalicIcon'; +export { default as FormatListOlIcon } from './FormatListOlIcon'; +export { default as FormatListUlIcon } from './FormatListUlIcon'; +export { default as FormatUndelineIcon } from './FormatUndelineIcon'; +export { default as FullscreenIcon } from './FullscreenIcon'; +export { default as FunnelIcon } from './FunnelIcon'; +export { default as GlobeAddIcon } from './GlobeAddIcon'; +export { default as GlobeIcon } from './GlobeIcon'; +export { default as GoogleIcon } from './GoogleIcon'; +export { default as GripIcon } from './GripIcon'; +export { default as HintAddIcon } from './HintAddIcon'; +export { default as HintIcon } from './HintIcon'; +export { default as HintSlashIcon } from './HintSlashIcon'; +export { default as HomeFillIcon } from './HomeFillIcon'; +export { default as HomeIcon } from './HomeIcon'; +export { default as InterestsFillIcon } from './InterestsFillIcon'; +export { default as InterestsIcon } from './InterestsIcon'; +export { default as LanguageIcon } from './LanguageIcon'; +export { default as LearnIcon } from './LearnIcon'; +export { default as LinkAddIcon } from './LinkAddIcon'; +export { default as LinkIcon } from './LinkIcon'; +export { default as LinkSlashIcon } from './LinkSlashIcon'; +export { default as ListAddIcon } from './ListAddIcon'; +export { default as MagnifierIcon } from './MagnifierIcon'; +export { default as MailAolIcon } from './MailAolIcon'; +export { default as MailGmailIcon } from './MailGmailIcon'; +export { default as MailIcloudIcon } from './MailIcloudIcon'; +export { default as MailMailIcon } from './MailMailIcon'; +export { default as MailOutlookIcon } from './MailOutlookIcon'; +export { default as MailProtonIcon } from './MailProtonIcon'; +export { default as MailYahooIcon } from './MailYahooIcon'; +export { default as MailYandexIcon } from './MailYandexIcon'; +export { default as MinusIcon } from './MinusIcon'; +export { default as MoveToFolderIcon } from './MoveToFolderIcon'; +export { default as NotificationsIcon } from './NotificationsIcon'; +export { default as PencilIcon } from './PencilIcon'; +export { default as PersonAddIcon } from './PersonAddIcon'; +export { default as PersonCheckFillIcon } from './PersonCheckFillIcon'; +export { default as PersonCheckIcon } from './PersonCheckIcon'; +export { default as PersonEditFillIcon } from './PersonEditFillIcon'; +export { default as PersonEditIcon } from './PersonEditIcon'; +export { default as PersonGroupIcon } from './PersonGroupIcon'; +export { default as PersonPinIcon } from './PersonPinIcon'; +export { default as PlusIcon } from './PlusIcon'; +export { default as PreviewIcon } from './PreviewIcon'; +export { default as SetAddIcon } from './SetAddIcon'; +export { default as SetIcon } from './SetIcon'; +export { default as SettingsIcon } from './SettingsIcon'; +export { default as ShuffleIcon } from './ShuffleIcon'; +export { default as SortByAlphaIcon } from './SortByAlphaIcon'; +export { default as SortIcon } from './SortIcon'; +export { default as SpinnerIcon } from './SpinnerIcon'; +export { default as StarIcon } from './StarIcon'; +export { default as TableConvertIcon } from './TableConvertIcon'; +export { default as TagIcon } from './TagIcon'; +export { default as TextFormatIcon } from './TextFormatIcon'; +export { default as VkIcon } from './VkIcon'; +export { default as XmarkIcon } from './XmarkIcon'; +export { default as YandexIcon } from './YandexIcon'; diff --git a/packages/ui/icons/package.json b/packages/ui/icons/package.json index c28d670d..893b6888 100644 --- a/packages/ui/icons/package.json +++ b/packages/ui/icons/package.json @@ -1,5 +1,5 @@ { - "name": "@flippo_ui/icons", + "name": "@flippo-ui/icons", "type": "module", "version": "1.0.2", "description": "Pack of Flippo UI icons", @@ -8,15 +8,12 @@ "svg", "react" ], - "module": "dist/index.jsx", - "files": [ - "*.d.ts", - "*.jsx", - "README.md", - "metadata.json", - "package.json", - "svgs" - ], + + "exports": { + ".": "./lib/index.tsx", + "./svgs": "./svgs/*.svg", + "./Spinner": "./lib/Spinner.tsx" + }, "scripts": { "build": "node 'scripts/clear.js' && tsc --project './tsconfig.build.json' && tsc --project tsconfig.build.json --declaration --emitDeclarationOnly && pnpm eslint './*.{jsx,d.ts}' --fix --no-ignore", "lint": "eslint --fix", diff --git a/packages/ui/icons/scripts/generateIcons.js b/packages/ui/icons/scripts/generateIcons.js index ca94f126..ef414292 100644 --- a/packages/ui/icons/scripts/generateIcons.js +++ b/packages/ui/icons/scripts/generateIcons.js @@ -6,36 +6,36 @@ import { ICONS_DIR, SVGS_DIR } from './constants.js'; import { clearDir, kebabCaseToCamelCase } from './utils.js'; async function createIndexFile(files) { - const indexFilePath = path.join(ICONS_DIR, 'index.tsx'); - const content = files.map((file) => `export { default as ${file.name} } from './${file.path}';`).join('\n'); + const indexFilePath = path.join(ICONS_DIR, 'index.tsx'); + const content = files.map((file) => `export { default as ${file.name}Icon } from './${file.path}Icon';`).join('\n'); - await fs.writeFile(indexFilePath, content); + await fs.writeFile(indexFilePath, content); } async function generateIcons() { - await clearDir(ICONS_DIR); + await clearDir(ICONS_DIR); - const svgFiles = (await fs.readdir(SVGS_DIR, { recursive: true })).filter((file) => path.extname(file) === '.svg'); + const svgFiles = (await fs.readdir(SVGS_DIR, { recursive: true })).filter((file) => path.extname(file) === '.svg'); - const iconFiles = await Promise.all(svgFiles.map(async (file) => { - const fileMeta = path.parse(file); - const componentName = kebabCaseToCamelCase(fileMeta.name); - const svg = await fs.readFile(path.join(SVGS_DIR, file), 'utf-8'); + const iconFiles = await Promise.all(svgFiles.map(async (file) => { + const fileMeta = path.parse(file); + const componentName = kebabCaseToCamelCase(fileMeta.name); + const svg = await fs.readFile(path.join(SVGS_DIR, file), 'utf-8'); - const iconFilePath = path.join(ICONS_DIR, `${componentName}.tsx`); + const iconFilePath = path.join(ICONS_DIR, `${componentName}Icon.tsx`); - const content = await transform(svg, { typescript: true, plugins: ['@svgr/plugin-jsx'] }, { componentName }); + const content = await transform(svg, { typescript: true, plugins: ['@svgr/plugin-jsx'] }, { componentName }); - await fs.mkdir(path.parse(iconFilePath).dir, { recursive: true }); - await fs.writeFile(iconFilePath, content); + await fs.mkdir(path.parse(iconFilePath).dir, { recursive: true }); + await fs.writeFile(iconFilePath, content); - return { name: componentName, path: componentName }; - })); + return { name: componentName, path: componentName }; + })); - await createIndexFile(iconFiles); + await createIndexFile(iconFiles); } generateIcons().catch((err) => { - console.error(`Failed to generate icons: ${err}`); - process.exit(1); + console.error(`Failed to generate icons: ${err}`); + process.exit(1); }); From 4c8aa38ef6f0bb1f00e591c0da708264a2a3446f Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 6 Sep 2025 22:14:04 +0300 Subject: [PATCH 02/37] feat(headless/components): build library --- .../ui/uikit/headless/components/package.json | 255 ++++++++++++++---- .../components/scripts/generate-exports.js | 229 ++++++++++++++++ .../src/components/Composite/index.ts | 6 + .../Composite/root/CompositeRoot.tsx | 1 - .../Composite/root/useCompositeRoot.ts | 1 - .../components/src/components/index.ts | 2 - .../src/components/use-render/useRender.ts | 2 +- .../ui/uikit/headless/components/src/index.ts | 3 + .../src/lib/hooks/useRenderElement.tsx | 1 - .../uikit/headless/components/vite.config.ts | 39 ++- 10 files changed, 466 insertions(+), 73 deletions(-) create mode 100644 packages/ui/uikit/headless/components/scripts/generate-exports.js create mode 100644 packages/ui/uikit/headless/components/src/components/Composite/index.ts create mode 100644 packages/ui/uikit/headless/components/src/index.ts diff --git a/packages/ui/uikit/headless/components/package.json b/packages/ui/uikit/headless/components/package.json index 2a7a861b..574edd0b 100644 --- a/packages/ui/uikit/headless/components/package.json +++ b/packages/ui/uikit/headless/components/package.json @@ -15,65 +15,200 @@ "a11y" ], "exports": { - ".": "./src/index.ts", - "./accordion": "./src/Accordion/index.ts", - "./avatar": "./src/avatar/index.ts", - "./checkbox": "./src/Checkbox/index.ts", - "./checkbox-group": "./src/CheckboxGroup/index.ts", - "./collapsible": "./src/Collapsible/index.ts", - "./context-menu": "./src/ContextMenu/index.ts", - "./dialog": "./src/Dialog/index.ts", - "./direction-provider": "./src/lib/hooks/useDirection.ts", - "./field": "./src/Field/index.ts", - "./fieldset": "./src/Fieldset/index.ts", - "./form": "./src/Form/index.ts", - "./input": "./src/Input/index.ts", - "./menu": "./src/Menu/index.ts", - "./menubar": "./src/Menubar/index.ts", - "./merge-props": "./src/lib/merge.ts", - "./meter": "./src/Meter/index.ts", - "./number-field": "./src/NumberField/index.ts", - "./popover": "./src/Popover/index.ts", - "./progress": "./src/Progress/index.ts", - "./radio": "./src/Radio/index.ts", - "./radio-group": "./src/RadioGroup/index.ts", - "./select": "./src/Select/index.ts", - "./separator": "./src/Separator/index.ts", - "./slider": "./src/Slider/index.ts", - "./switch": "./src/Switch/index.ts", - "./tabs": "./src/Tabs/index.ts", - "./toast": "./src/Toast/index.ts", - "./toggle": "./src/Toggle/index.ts", - "./toggle-group": "./src/ToggleGroup/index.ts", - "./toolbar": "./src/Toolbar/index.ts", - "./tooltip": "./src/Tooltip/index.ts", - "./use-render": "./src/use-render/index.ts", - "./use-button": "./src/use-button/index.ts" - }, - "main": "./src/index.ts", - "module": "./src/index.ts", - "publishConfig": { - "main": "./dist/index.js", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": { - "types": "./dist/index.d.mts", - "default": "./dist/index.mjs" - }, - "require": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - } - } + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.es.js", + "require": "./dist/index.cjs.js" + }, + "./accordion": { + "types": "./dist/components/Accordion/index.d.ts", + "import": "./dist/components/Accordion/index.es.js", + "require": "./dist/components/Accordion/index.cjs.js" + }, + "./avatar": { + "types": "./dist/components/Avatar/index.d.ts", + "import": "./dist/components/Avatar/index.es.js", + "require": "./dist/components/Avatar/index.cjs.js" + }, + "./checkbox": { + "types": "./dist/components/Checkbox/index.d.ts", + "import": "./dist/components/Checkbox/index.es.js", + "require": "./dist/components/Checkbox/index.cjs.js" + }, + "./checkbox-group": { + "types": "./dist/components/CheckboxGroup/index.d.ts", + "import": "./dist/components/CheckboxGroup/index.es.js", + "require": "./dist/components/CheckboxGroup/index.cjs.js" + }, + "./collapsible": { + "types": "./dist/components/Collapsible/index.d.ts", + "import": "./dist/components/Collapsible/index.es.js", + "require": "./dist/components/Collapsible/index.cjs.js" + }, + "./composite": { + "types": "./dist/components/Composite/index.d.ts", + "import": "./dist/components/Composite/index.es.js", + "require": "./dist/components/Composite/index.cjs.js" + }, + "./context-menu": { + "types": "./dist/components/ContextMenu/index.d.ts", + "import": "./dist/components/ContextMenu/index.es.js", + "require": "./dist/components/ContextMenu/index.cjs.js" + }, + "./dialog": { + "types": "./dist/components/Dialog/index.d.ts", + "import": "./dist/components/Dialog/index.es.js", + "require": "./dist/components/Dialog/index.cjs.js" + }, + "./field": { + "types": "./dist/components/Field/index.d.ts", + "import": "./dist/components/Field/index.es.js", + "require": "./dist/components/Field/index.cjs.js" + }, + "./fieldset": { + "types": "./dist/components/Fieldset/index.d.ts", + "import": "./dist/components/Fieldset/index.es.js", + "require": "./dist/components/Fieldset/index.cjs.js" + }, + "./form": { + "types": "./dist/components/Form/index.d.ts", + "import": "./dist/components/Form/index.es.js", + "require": "./dist/components/Form/index.cjs.js" + }, + "./input": { + "types": "./dist/components/Input/index.d.ts", + "import": "./dist/components/Input/index.es.js", + "require": "./dist/components/Input/index.cjs.js" + }, + "./menu": { + "types": "./dist/components/Menu/index.d.ts", + "import": "./dist/components/Menu/index.es.js", + "require": "./dist/components/Menu/index.cjs.js" + }, + "./menubar": { + "types": "./dist/components/Menubar/index.d.ts", + "import": "./dist/components/Menubar/index.es.js", + "require": "./dist/components/Menubar/index.cjs.js" + }, + "./meter": { + "types": "./dist/components/Meter/index.d.ts", + "import": "./dist/components/Meter/index.es.js", + "require": "./dist/components/Meter/index.cjs.js" + }, + "./number-field": { + "types": "./dist/components/NumberField/index.d.ts", + "import": "./dist/components/NumberField/index.es.js", + "require": "./dist/components/NumberField/index.cjs.js" + }, + "./popover": { + "types": "./dist/components/Popover/index.d.ts", + "import": "./dist/components/Popover/index.es.js", + "require": "./dist/components/Popover/index.cjs.js" + }, + "./progress": { + "types": "./dist/components/Progress/index.d.ts", + "import": "./dist/components/Progress/index.es.js", + "require": "./dist/components/Progress/index.cjs.js" + }, + "./radio": { + "types": "./dist/components/Radio/index.d.ts", + "import": "./dist/components/Radio/index.es.js", + "require": "./dist/components/Radio/index.cjs.js" + }, + "./radio-group": { + "types": "./dist/components/RadioGroup/index.d.ts", + "import": "./dist/components/RadioGroup/index.es.js", + "require": "./dist/components/RadioGroup/index.cjs.js" + }, + "./select": { + "types": "./dist/components/Select/index.d.ts", + "import": "./dist/components/Select/index.es.js", + "require": "./dist/components/Select/index.cjs.js" + }, + "./separator": { + "types": "./dist/components/Separator/index.d.ts", + "import": "./dist/components/Separator/index.es.js", + "require": "./dist/components/Separator/index.cjs.js" + }, + "./slider": { + "types": "./dist/components/Slider/index.d.ts", + "import": "./dist/components/Slider/index.es.js", + "require": "./dist/components/Slider/index.cjs.js" + }, + "./slot": { + "types": "./dist/components/Slot/index.d.ts", + "import": "./dist/components/Slot/index.es.js", + "require": "./dist/components/Slot/index.cjs.js" + }, + "./switch": { + "types": "./dist/components/Switch/index.d.ts", + "import": "./dist/components/Switch/index.es.js", + "require": "./dist/components/Switch/index.cjs.js" + }, + "./tabs": { + "types": "./dist/components/Tabs/index.d.ts", + "import": "./dist/components/Tabs/index.es.js", + "require": "./dist/components/Tabs/index.cjs.js" + }, + "./toast": { + "types": "./dist/components/Toast/index.d.ts", + "import": "./dist/components/Toast/index.es.js", + "require": "./dist/components/Toast/index.cjs.js" + }, + "./toggle": { + "types": "./dist/components/Toggle/index.d.ts", + "import": "./dist/components/Toggle/index.es.js", + "require": "./dist/components/Toggle/index.cjs.js" + }, + "./toggle-group": { + "types": "./dist/components/ToggleGroup/index.d.ts", + "import": "./dist/components/ToggleGroup/index.es.js", + "require": "./dist/components/ToggleGroup/index.cjs.js" + }, + "./toolbar": { + "types": "./dist/components/Toolbar/index.d.ts", + "import": "./dist/components/Toolbar/index.es.js", + "require": "./dist/components/Toolbar/index.cjs.js" + }, + "./tooltip": { + "types": "./dist/components/Tooltip/index.d.ts", + "import": "./dist/components/Tooltip/index.es.js", + "require": "./dist/components/Tooltip/index.cjs.js" + }, + "./use-button": { + "types": "./dist/components/use-button/index.d.ts", + "import": "./dist/components/use-button/index.es.js", + "require": "./dist/components/use-button/index.cjs.js" + }, + "./use-render": { + "types": "./dist/components/use-render/index.d.ts", + "import": "./dist/components/use-render/index.es.js", + "require": "./dist/components/use-render/index.cjs.js" + }, + "./merge-props": { + "types": "./dist/lib/merge.d.ts", + "import": "./dist/lib/merge.es.js", + "require": "./dist/lib/merge.cjs.js" + }, + "./direction-provider": { + "types": "./dist/lib/hooks/useDirection.d.ts", + "import": "./dist/lib/hooks/useDirection.es.js", + "require": "./dist/lib/hooks/useDirection.cjs.js" } }, + "main": "./dist/index.cjs.js", + "module": "./dist/index.es.js", + "types": "./dist/index.d.ts", "files": [ + "LICENSE", "README.md", - "dist" + "dist", + "package.json" ], "scripts": { + "dev": "vite build --watch", + "build": "vite build && node scripts/generate-exports.js", + "build:exports": "node scripts/generate-exports.js", "test": "vitest", "test:ui": "vitest --ui" }, @@ -92,21 +227,23 @@ "@eslint-react/eslint-plugin": "catalog:", "@flippo/eslint": "workspace:*", "@flippo/tsconfig": "workspace:*", - "@testing-library/jest-dom": "catalog:conflicts_@testing-library/jest-dom_h6_4_8", - "@testing-library/react": "catalog:conflicts_@testing-library/react_h16_0_0", - "@testing-library/user-event": "catalog:conflicts_@testing-library/user-event_h14_5_2", + "@testing-library/jest-dom": "catalog:", + "@testing-library/react": "catalog:", + "@testing-library/user-event": "catalog:", "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", - "@vitest/ui": "catalog:conflicts_@vitest/ui_h2_0_4", + "@vitest/ui": "catalog:", "eslint": "catalog:", "eslint-plugin-format": "catalog:", "eslint-plugin-react-hooks": "catalog:", "eslint-plugin-react-refresh": "catalog:", - "jsdom": "catalog:conflicts_jsdom_h24_1_1", + "glob": "catalog:", + "jsdom": "catalog:", "react": "catalog:", "react-dom": "catalog:", "typescript": "catalog:", - "vitest": "catalog:conflicts_vitest_h2_0_4" + "vite-plugin-dts": "catalog:", + "vitest": "catalog:" } } diff --git a/packages/ui/uikit/headless/components/scripts/generate-exports.js b/packages/ui/uikit/headless/components/scripts/generate-exports.js new file mode 100644 index 00000000..d3c0e069 --- /dev/null +++ b/packages/ui/uikit/headless/components/scripts/generate-exports.js @@ -0,0 +1,229 @@ +#!/usr/bin/env node + +import { + existsSync, + readdirSync, + readFileSync, + writeFileSync +} from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); +const packageRoot = join(__dirname, '..'); +const distDir = join(packageRoot, 'dist'); +const packageJsonPath = join(packageRoot, 'package.json'); + +/** + * Получает все компоненты из dist/components + */ +function getComponents() { + const componentsDir = join(distDir, 'components'); + + if (!existsSync(componentsDir)) { + throw new Error('dist/components directory not found. Run build first.'); + } + + return readdirSync(componentsDir, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name) + .sort(); +} + +/** + * Преобразует имя компонента в kebab-case для exports + */ +function toKebabCase(str) { + return str + // Разделяем по заглавным буквам + .replace(/([A-Z])/g, '-$1') + // Убираем первый дефис и переводим в нижний регистр + .toLowerCase() + .replace(/^-/, ''); +} + +/** + * Проверяет существование файлов + */ +function checkFileExists(filePath) { + return existsSync(join(packageRoot, filePath)); +} + +/** + * Генерирует exports для компонента + */ +function generateComponentExport(componentName) { + const kebabName = toKebabCase(componentName); + const basePath = `./dist/components/${componentName}`; + + // Проверяем какие файлы существуют + const cjsExists = checkFileExists(`${basePath}/index.cjs.js`); + const esExists = checkFileExists(`${basePath}/index.es.js`); + const typesExists = checkFileExists(`${basePath}/index.d.ts`); + + if (!cjsExists && !esExists) { + console.warn(`Warning: No built files found for ${componentName}`); + return null; + } + + const exportEntry = { + types: typesExists ? `${basePath}/index.d.ts` : undefined + }; + + if (esExists && cjsExists) { + exportEntry.import = `${basePath}/index.es.js`; + exportEntry.require = `${basePath}/index.cjs.js`; + } + else if (esExists) { + exportEntry.default = `${basePath}/index.es.js`; + } + else if (cjsExists) { + exportEntry.default = `${basePath}/index.cjs.js`; + } + + // Удаляем undefined значения + Object.keys(exportEntry).forEach((key) => { + if (exportEntry[key] === undefined) { + delete exportEntry[key]; + } + }); + + return { + key: `./${kebabName}`, + value: exportEntry + }; +} + +/** + * Генерирует основной export + */ +function generateMainExport() { + const basePath = './dist'; + + const cjsExists = checkFileExists(`${basePath}/index.cjs.js`); + const esExists = checkFileExists(`${basePath}/index.es.js`); + const typesExists = checkFileExists(`${basePath}/index.d.ts`); + + const exportEntry = { + types: typesExists ? `${basePath}/index.d.ts` : undefined + }; + + if (esExists && cjsExists) { + exportEntry.import = `${basePath}/index.es.js`; + exportEntry.require = `${basePath}/index.cjs.js`; + } + else if (esExists) { + exportEntry.default = `${basePath}/index.es.js`; + } + else if (cjsExists) { + exportEntry.default = `${basePath}/index.cjs.js`; + } + + // Удаляем undefined значения + Object.keys(exportEntry).forEach((key) => { + if (exportEntry[key] === undefined) { + delete exportEntry[key]; + } + }); + + return exportEntry; +} + +/** + * Основная функция + */ +function generateExports() { + console.log('🔄 Generating exports...'); + + // Читаем текущий package.json + const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); + + // Получаем список компонентов + const components = getComponents(); + console.log(`📦 Found ${components.length} components:`, components.join(', ')); + + // Генерируем новые exports + const newExports = {}; + + // Основной export + console.log('📝 Generating main export...'); + newExports['.'] = generateMainExport(); + + // Exports для каждого компонента + console.log('📝 Generating component exports...'); + for (const component of components) { + const exportData = generateComponentExport(component); + if (exportData) { + newExports[exportData.key] = exportData.value; + console.log(` ✅ ${exportData.key}`); + } + } + + // Добавляем дополнительные exports для утилит + const utilExports = [{ key: './merge-props', path: './dist/lib/merge' }, { key: './direction-provider', path: './dist/lib/hooks/useDirection' }]; + + console.log('📝 Generating utility exports...'); + for (const util of utilExports) { + const cjsExists = checkFileExists(`${util.path}.cjs.js`); + const esExists = checkFileExists(`${util.path}.es.js`); + const typesExists = checkFileExists(`${util.path}.d.ts`); + + if (cjsExists || esExists) { + const exportEntry = { + types: typesExists ? `${util.path}.d.ts` : undefined + }; + + if (esExists && cjsExists) { + exportEntry.import = `${util.path}.es.js`; + exportEntry.require = `${util.path}.cjs.js`; + } + else if (esExists) { + exportEntry.default = `${util.path}.es.js`; + } + else if (cjsExists) { + exportEntry.default = `${util.path}.cjs.js`; + } + + // Удаляем undefined значения + Object.keys(exportEntry).forEach((key) => { + if (exportEntry[key] === undefined) { + delete exportEntry[key]; + } + }); + + newExports[util.key] = exportEntry; + console.log(` ✅ ${util.key}`); + } + } + + // Обновляем package.json + packageJson.exports = newExports; + + // Обновляем main и module для продакшена + const mainExport = newExports['.']; + if (mainExport.require) { + packageJson.main = mainExport.require; + } + if (mainExport.import) { + packageJson.module = mainExport.import; + } + if (mainExport.types) { + packageJson.types = mainExport.types; + } + + // Записываем обновленный package.json + writeFileSync(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`); + + console.log('✅ Exports generated successfully!'); + console.log(`📄 Updated exports for ${Object.keys(newExports).length} entries`); +} + +// Запуск скрипта +try { + generateExports(); +} +catch (error) { + console.error('❌ Error generating exports:', error.message); + process.exit(1); +} diff --git a/packages/ui/uikit/headless/components/src/components/Composite/index.ts b/packages/ui/uikit/headless/components/src/components/Composite/index.ts new file mode 100644 index 00000000..9243332d --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Composite/index.ts @@ -0,0 +1,6 @@ +export * from './item/CompositeItem'; +export * from './item/useCompositeItem'; +export * from './list/CompositeList'; +export * from './list/useCompositeListItem'; +export * from './root/CompositeRoot'; +export * from './root/useCompositeRoot'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx b/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx index 5ba076fc..691a7576 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx @@ -3,7 +3,6 @@ import React from 'react'; import { useEventCallback } from '@flippo_ui/hooks'; - import { EMPTY_ARRAY, EMPTY_OBJECT } from '@lib/constants'; import { useDirection, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts index b0efffdc..6237e57d 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts @@ -3,7 +3,6 @@ import React from 'react'; import { useEventCallback, useIsoLayoutEffect, useMergedRef } from '@flippo_ui/hooks'; - import { EMPTY_ARRAY } from '@lib/constants'; import { isElementDisabled } from '@lib/isElementDisabled'; import { ownerDocument } from '@lib/owner'; diff --git a/packages/ui/uikit/headless/components/src/components/index.ts b/packages/ui/uikit/headless/components/src/components/index.ts index e2c8b569..0cff19d0 100644 --- a/packages/ui/uikit/headless/components/src/components/index.ts +++ b/packages/ui/uikit/headless/components/src/components/index.ts @@ -30,5 +30,3 @@ export * from './Toolbar'; export * from './Tooltip'; export * from './use-button'; export * from './use-render'; -export * from '@lib/hooks/useDirection'; -export * from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts b/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts index ea048acd..a5b4905b 100644 --- a/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts +++ b/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts @@ -71,7 +71,7 @@ export namespace useRender { * are merged, `className` strings and `style` properties are joined, while other external props overwrite the * internal ones. */ - props?: Record; + props?: Record | Record[]; /** * If `false`, the hook will skip most of its internal logic and return `null`. * This is useful for rendering a component conditionally. diff --git a/packages/ui/uikit/headless/components/src/index.ts b/packages/ui/uikit/headless/components/src/index.ts new file mode 100644 index 00000000..64a35eb8 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/index.ts @@ -0,0 +1,3 @@ +export * from './components'; +export * from './lib/hooks/useDirection'; +export * from './lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx b/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx index c7b8f312..1646889c 100644 --- a/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx +++ b/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { useMergedRef } from '@flippo_ui/hooks'; - import { createSlot } from '@lib/createSlot'; import { EMPTY_OBJECT } from '../constants'; diff --git a/packages/ui/uikit/headless/components/vite.config.ts b/packages/ui/uikit/headless/components/vite.config.ts index cd3affeb..c22ad802 100644 --- a/packages/ui/uikit/headless/components/vite.config.ts +++ b/packages/ui/uikit/headless/components/vite.config.ts @@ -1,29 +1,54 @@ import path from 'node:path'; import react from '@vitejs/plugin-react'; +import { glob } from 'glob'; import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; import type { UserConfig } from 'vite'; import type { InlineConfig } from 'vitest'; +const entryPoints = Object.fromEntries( + glob.sync('src/**/*.{ts,tsx}', { + ignore: ['src/**/*.test.{ts,tsx}', 'src/**/*.stories.{ts,tsx}'] + }).map((file) => [file.replace('src/', '').replace(/\.[^/.]+$/, ''), path.resolve(file)]) +); + type VitestConfigExport = { test: InlineConfig; } & UserConfig; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react()], + plugins: [react(), dts({ + insertTypesEntry: true, + beforeWriteFile: (filePath, content) => { + return { filePath: filePath.replace('/src', ''), content }; + } + })], test: { globals: true, environment: 'jsdom', setupFiles: './src/test/setup.ts', - // you might want to disable it, if you don't have tests that rely on CSS - // since parsing CSS is slow css: true, include: ['src/components/Tooltip/**/*.test.tsx'] }, build: { - outDir: 'build' + outDir: 'dist', + lib: { + entry: entryPoints, + name: 'FlippoHeadlessComponents', + formats: ['es', 'cjs'] + }, + rollupOptions: { + external: ['react', 'react-dom'], + output: { + preserveModules: true, + preserveModulesRoot: 'src', + entryFileNames: '[name].[format].js', + chunkFileNames: '[name].[format].js' + } + } }, css: { modules: { @@ -40,12 +65,10 @@ export default defineConfig({ envPrefix: 'HEADLESS_', resolve: { alias: { - '@lib': path.resolve(__dirname, './src/lib') + '@lib': path.resolve(__dirname, './src/lib'), + '@packages': path.resolve(__dirname, './src/packages') } }, - esbuild: { - jsxInject: `import React from 'react'` - }, server: { host: '0.0.0.0', // '127.0.0.1', port: 3030, From e8d09c553140cf95de2af8800af29424210c46b4 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 7 Sep 2025 01:03:37 +0300 Subject: [PATCH 03/37] update(headless/components): update package name --- .../ui/uikit/headless/components/package.json | 2 +- .../Accordion/item/AccordionItem.tsx | 2 +- .../Accordion/panel/AccordionPanel.tsx | 4 +-- .../Accordion/root/AccordionRoot.tsx | 2 +- .../Accordion/trigger/AccordionTrigger.tsx | 2 +- .../Avatar/fallback/AvatarFallback.tsx | 2 +- .../components/Avatar/image/AvatarImage.tsx | 2 +- .../Avatar/image/useImageLoadingStatus.ts | 2 +- .../Checkbox/indicator/CheckboxIndicator.tsx | 4 +-- .../components/Checkbox/root/CheckboxRoot.tsx | 2 +- .../CheckboxGroup/CheckboxGroup.tsx | 2 +- .../CheckboxGroup/useCheckboxGroupParent.ts | 2 +- .../Collapsible/panel/CollapsiblePanel.tsx | 4 +-- .../Collapsible/panel/useCollapsiblePanel.ts | 2 +- .../Collapsible/root/CollapsibleRoot.tsx | 2 +- .../root/CollapsibleRootContext.ts | 2 +- .../Collapsible/root/useCollapsibleRoot.ts | 4 +-- .../Composite/item/useCompositeItem.ts | 2 +- .../Composite/list/CompositeList.tsx | 2 +- .../Composite/list/useCompositeListItem.ts | 2 +- .../Composite/root/CompositeRoot.tsx | 2 +- .../Composite/root/useCompositeRoot.ts | 2 +- .../ContextMenu/root/ContextMenuRoot.tsx | 2 +- .../trigger/ContextMenuTrigger.tsx | 2 +- .../Dialog/backdrop/DialogBackdrop.tsx | 2 +- .../components/Dialog/close/useDialogClose.ts | 2 +- .../Dialog/description/DialogDescription.tsx | 2 +- .../components/Dialog/popup/DialogPopup.tsx | 4 +-- .../components/Dialog/popup/useDialogPopup.ts | 4 +-- .../components/Dialog/root/useDialogRoot.ts | 4 +-- .../components/Dialog/title/DialogTitle.tsx | 2 +- .../components/Field/control/FieldControl.tsx | 2 +- .../control/useFieldControlValidation.ts | 2 +- .../Field/description/FieldDescription.tsx | 2 +- .../src/components/Field/error/FieldError.tsx | 2 +- .../src/components/Field/label/FieldLabel.tsx | 2 +- .../src/components/Field/root/FieldRoot.tsx | 2 +- .../src/components/Field/useField.ts | 2 +- .../Fieldset/legend/FieldsetLegend.tsx | 2 +- .../components/src/components/Form/Form.tsx | 2 +- .../components/Menu/backdrop/MenuBackdrop.tsx | 2 +- .../MenuCheckboxItemIndicator.tsx | 4 +-- .../Menu/checkbox-item/MenuCheckboxItem.tsx | 2 +- .../Menu/group-label/MenuGroupLabel.tsx | 2 +- .../src/components/Menu/item/MenuItem.tsx | 2 +- .../src/components/Menu/item/useMenuItem.ts | 2 +- .../src/components/Menu/popup/MenuPopup.tsx | 4 +-- .../Menu/radio-group/MenuRadioGroup.tsx | 2 +- .../MenuRadioItemIndicator.tsx | 4 +-- .../Menu/radio-item/MenuRadioItem.tsx | 2 +- .../src/components/Menu/root/MenuRoot.tsx | 2 +- .../components/Menu/root/MenuRootContext.ts | 2 +- .../components/Menu/trigger/MenuTrigger.tsx | 2 +- .../src/components/Menubar/Menubar.tsx | 2 +- .../src/components/Meter/label/MeterLabel.tsx | 2 +- .../src/components/Meter/root/MeterRoot.tsx | 2 +- .../NumberField/input/NumberFieldInput.tsx | 2 +- .../NumberField/root/NumberFieldRoot.tsx | 2 +- .../root/NumberFieldRootContext.ts | 2 +- .../NumberField/root/useNumberFieldButton.ts | 4 +-- .../scrub-area/NumberFieldScrubArea.tsx | 2 +- .../Popover/backdrop/PopoverBackdrop.tsx | 2 +- .../description/PopoverDescription.tsx | 2 +- .../components/Popover/popup/PopoverPopup.tsx | 4 +-- .../components/Popover/root/PopoverRoot.tsx | 2 +- .../Popover/root/PopoverRootContext.ts | 2 +- .../components/Popover/title/PopoverTitle.tsx | 2 +- .../Progress/label/ProgressLabel.tsx | 2 +- .../components/Progress/root/ProgressRoot.tsx | 2 +- .../Radio/indicator/RadioIndicator.tsx | 4 +-- .../src/components/Radio/root/RadioRoot.tsx | 2 +- .../src/components/Radio/utils/styleHooks.ts | 2 +- .../src/components/RadioGroup/RadioGroup.tsx | 2 +- .../components/Select/arrow/SelectArrow.tsx | 2 +- .../Select/backdrop/SelectBackdrop.tsx | 4 +-- .../Select/group-label/SelectGroupLabel.tsx | 2 +- .../item-indicator/SelectItemIndicator.tsx | 4 +-- .../src/components/Select/item/SelectItem.tsx | 2 +- .../components/Select/popup/SelectPopup.tsx | 4 +-- .../components/Select/portal/SelectPortal.tsx | 2 +- .../Select/positioner/SelectPositioner.tsx | 2 +- .../src/components/Select/root/SelectRoot.tsx | 2 +- .../Select/root/SelectRootContext.ts | 2 +- .../components/Select/root/useSelectRoot.ts | 2 +- .../Select/scroll-arrow/SelectScrollArrow.tsx | 4 +-- .../components/src/components/Select/store.ts | 4 +-- .../Select/trigger/SelectTrigger.tsx | 2 +- .../components/Select/value/SelectValue.tsx | 2 +- .../Slider/control/SliderControl.tsx | 2 +- .../src/components/Slider/root/SliderRoot.tsx | 2 +- .../components/Slider/thumb/SliderThumb.tsx | 2 +- .../src/components/Switch/root/SwitchRoot.tsx | 2 +- .../Tabs/indicator/TabsIndicator.tsx | 2 +- .../src/components/Tabs/list/TabsList.tsx | 2 +- .../src/components/Tabs/root/TabsRoot.tsx | 2 +- .../src/components/Tabs/tab/TabsTab.tsx | 2 +- .../Toast/description/ToastDescription.tsx | 2 +- .../Toast/provider/ToastProvider.tsx | 2 +- .../src/components/Toast/root/ToastRoot.tsx | 4 +-- .../src/components/Toast/title/ToastTitle.tsx | 2 +- .../Toast/viewport/ToastViewport.tsx | 2 +- .../src/components/Toggle/Toggle.tsx | 2 +- .../components/ToggleGroup/ToggleGroup.tsx | 2 +- .../components/Tooltip/popup/TooltipPopup.tsx | 4 +-- .../Tooltip/root/TooltipRootContext.ts | 2 +- .../components/Tooltip/root/useTooltipRoot.ts | 4 +-- .../src/components/use-button/useButton.ts | 2 +- .../src/components/use-render/useRender.ts | 32 ++++++++++++++++--- .../components/src/lib/FocusGuard.tsx | 2 +- .../components/src/lib/createSlot.tsx | 2 +- .../components/src/lib/getStyleHookProps.ts | 7 ++++ .../src/lib/hooks/useAnchorPositioning.ts | 2 +- .../src/lib/hooks/useHeadlessUiId.ts | 2 +- .../src/lib/hooks/useRenderElement.tsx | 2 +- .../components/src/lib/styleHookMapping.ts | 2 +- .../components/FloatingDelayGroup.tsx | 2 +- .../components/FloatingFocusManager.tsx | 2 +- .../components/FloatingPortal.tsx | 2 +- .../components/FloatingTree.tsx | 2 +- .../floating-ui-react/hooks/useClick.ts | 2 +- .../floating-ui-react/hooks/useClientPoint.ts | 2 +- .../floating-ui-react/hooks/useDismiss.ts | 2 +- .../floating-ui-react/hooks/useFloating.ts | 2 +- .../hooks/useFloatingRootContext.ts | 2 +- .../floating-ui-react/hooks/useFocus.ts | 2 +- .../floating-ui-react/hooks/useHover.ts | 2 +- .../hooks/useListNavigation.ts | 2 +- .../floating-ui-react/hooks/useRole.ts | 2 +- .../floating-ui-react/hooks/useTypeahead.ts | 2 +- .../packages/floating-ui-react/safePolygon.ts | 2 +- packages/ui/uikit/headless/hooks/package.json | 2 +- 131 files changed, 184 insertions(+), 155 deletions(-) diff --git a/packages/ui/uikit/headless/components/package.json b/packages/ui/uikit/headless/components/package.json index 574edd0b..5d9b248b 100644 --- a/packages/ui/uikit/headless/components/package.json +++ b/packages/ui/uikit/headless/components/package.json @@ -213,7 +213,7 @@ "test:ui": "vitest --ui" }, "peerDependencies": { - "@flippo_ui/hooks": "workspace:*" + "@flippo-ui/hooks": "workspace:*" }, "dependencies": { "@floating-ui/react": "catalog:", diff --git a/packages/ui/uikit/headless/components/src/components/Accordion/item/AccordionItem.tsx b/packages/ui/uikit/headless/components/src/components/Accordion/item/AccordionItem.tsx index 4927f1b9..e9e59283 100644 --- a/packages/ui/uikit/headless/components/src/components/Accordion/item/AccordionItem.tsx +++ b/packages/ui/uikit/headless/components/src/components/Accordion/item/AccordionItem.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useMergedRef } from '@flippo_ui/hooks'; +import { useEventCallback, useMergedRef } from '@flippo-ui/hooks'; import { EMPTY_OBJECT } from '@lib/constants'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx b/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx index 757760d0..5996e665 100644 --- a/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useIsoLayoutEffect, useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect, useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { warn } from '@lib/warn'; diff --git a/packages/ui/uikit/headless/components/src/components/Accordion/root/AccordionRoot.tsx b/packages/ui/uikit/headless/components/src/components/Accordion/root/AccordionRoot.tsx index 240801b2..982c38b8 100644 --- a/packages/ui/uikit/headless/components/src/components/Accordion/root/AccordionRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Accordion/root/AccordionRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useControlledState, useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useDirection, useRenderElement } from '@lib/hooks'; import { warn } from '@lib/warn'; diff --git a/packages/ui/uikit/headless/components/src/components/Accordion/trigger/AccordionTrigger.tsx b/packages/ui/uikit/headless/components/src/components/Accordion/trigger/AccordionTrigger.tsx index 369d7a38..6098f05b 100644 --- a/packages/ui/uikit/headless/components/src/components/Accordion/trigger/AccordionTrigger.tsx +++ b/packages/ui/uikit/headless/components/src/components/Accordion/trigger/AccordionTrigger.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { triggerOpenStateMapping } from '@lib/collapsibleOpenStateMapping'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Avatar/fallback/AvatarFallback.tsx b/packages/ui/uikit/headless/components/src/components/Avatar/fallback/AvatarFallback.tsx index 4d925f89..1ca4dc22 100644 --- a/packages/ui/uikit/headless/components/src/components/Avatar/fallback/AvatarFallback.tsx +++ b/packages/ui/uikit/headless/components/src/components/Avatar/fallback/AvatarFallback.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useTimeout } from '@flippo_ui/hooks'; +import { useTimeout } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Avatar/image/AvatarImage.tsx b/packages/ui/uikit/headless/components/src/components/Avatar/image/AvatarImage.tsx index 0e860f94..fddd6fe5 100644 --- a/packages/ui/uikit/headless/components/src/components/Avatar/image/AvatarImage.tsx +++ b/packages/ui/uikit/headless/components/src/components/Avatar/image/AvatarImage.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Avatar/image/useImageLoadingStatus.ts b/packages/ui/uikit/headless/components/src/components/Avatar/image/useImageLoadingStatus.ts index ebefc61d..5dd571f2 100644 --- a/packages/ui/uikit/headless/components/src/components/Avatar/image/useImageLoadingStatus.ts +++ b/packages/ui/uikit/headless/components/src/components/Avatar/image/useImageLoadingStatus.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { NOOP } from '@lib/noop'; diff --git a/packages/ui/uikit/headless/components/src/components/Checkbox/indicator/CheckboxIndicator.tsx b/packages/ui/uikit/headless/components/src/components/Checkbox/indicator/CheckboxIndicator.tsx index 4aa06a7c..076764aa 100644 --- a/packages/ui/uikit/headless/components/src/components/Checkbox/indicator/CheckboxIndicator.tsx +++ b/packages/ui/uikit/headless/components/src/components/Checkbox/indicator/CheckboxIndicator.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete, useTransitionStatus } from '@flippo_ui/hooks'; +import { useOpenChangeComplete, useTransitionStatus } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { transitionStatusMapping } from '@lib/styleHookMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Checkbox/root/CheckboxRoot.tsx b/packages/ui/uikit/headless/components/src/components/Checkbox/root/CheckboxRoot.tsx index 6d01060a..e7d4d9c3 100644 --- a/packages/ui/uikit/headless/components/src/components/Checkbox/root/CheckboxRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Checkbox/root/CheckboxRoot.tsx @@ -7,7 +7,7 @@ import { useEventCallback, useIsoLayoutEffect, useMergedRef -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/CheckboxGroup/CheckboxGroup.tsx b/packages/ui/uikit/headless/components/src/components/CheckboxGroup/CheckboxGroup.tsx index 98f13341..c085e1af 100644 --- a/packages/ui/uikit/headless/components/src/components/CheckboxGroup/CheckboxGroup.tsx +++ b/packages/ui/uikit/headless/components/src/components/CheckboxGroup/CheckboxGroup.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useControlledState, useEventCallback } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/CheckboxGroup/useCheckboxGroupParent.ts b/packages/ui/uikit/headless/components/src/components/CheckboxGroup/useCheckboxGroupParent.ts index f4951831..8c1c0023 100644 --- a/packages/ui/uikit/headless/components/src/components/CheckboxGroup/useCheckboxGroupParent.ts +++ b/packages/ui/uikit/headless/components/src/components/CheckboxGroup/useCheckboxGroupParent.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { useHeadlessUiId } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx index cbd0cc69..3a85f91a 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useIsoLayoutEffect, useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect, useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { warn } from '@lib/warn'; diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts index 2550eec3..915ace16 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts @@ -8,7 +8,7 @@ import { useIsoLayoutEffect, useMergedRef, useOnMount -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { warn } from '@lib/warn'; diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRoot.tsx b/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRoot.tsx index 2d5ffa98..4b7791b1 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRootContext.ts b/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRootContext.ts index aca9b78d..930b187c 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/root/CollapsibleRootContext.ts @@ -2,7 +2,7 @@ import React from 'react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { CollapsibleRoot } from './CollapsibleRoot'; import type { useCollapsibleRoot } from './useCollapsibleRoot'; diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/root/useCollapsibleRoot.ts b/packages/ui/uikit/headless/components/src/components/Collapsible/root/useCollapsibleRoot.ts index d7d15b2b..c0332d54 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/root/useCollapsibleRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/root/useCollapsibleRoot.ts @@ -8,9 +8,9 @@ import { useEventCallback, useIsoLayoutEffect, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useHeadlessUiId } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts b/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts index d4760df2..5155a419 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/list/CompositeList.tsx b/packages/ui/uikit/headless/components/src/components/Composite/list/CompositeList.tsx index 42f6958e..e3149699 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/list/CompositeList.tsx +++ b/packages/ui/uikit/headless/components/src/components/Composite/list/CompositeList.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEnhancedEffect, useEventCallback, useLazyRef } from '@flippo_ui/hooks'; +import { useEnhancedEffect, useEventCallback, useLazyRef } from '@flippo-ui/hooks'; import { CompositeListContext } from './CompositeListContext'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/list/useCompositeListItem.ts b/packages/ui/uikit/headless/components/src/components/Composite/list/useCompositeListItem.ts index 31bd5c73..12752b9d 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/list/useCompositeListItem.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/list/useCompositeListItem.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useEnhancedEffect } from '@flippo_ui/hooks'; +import { useEnhancedEffect } from '@flippo-ui/hooks'; import { useCompositeListContext } from './CompositeListContext'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx b/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx index 691a7576..d2f513fe 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { EMPTY_ARRAY, EMPTY_OBJECT } from '@lib/constants'; import { useDirection, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts index 6237e57d..f0792ead 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect, useMergedRef } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect, useMergedRef } from '@flippo-ui/hooks'; import { EMPTY_ARRAY } from '@lib/constants'; import { isElementDisabled } from '@lib/isElementDisabled'; import { ownerDocument } from '@lib/owner'; diff --git a/packages/ui/uikit/headless/components/src/components/ContextMenu/root/ContextMenuRoot.tsx b/packages/ui/uikit/headless/components/src/components/ContextMenu/root/ContextMenuRoot.tsx index 27378d3c..707fcb06 100644 --- a/packages/ui/uikit/headless/components/src/components/ContextMenu/root/ContextMenuRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/ContextMenu/root/ContextMenuRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useId } from '@flippo_ui/hooks'; +import { useId } from '@flippo-ui/hooks'; import { Menu } from '../../Menu'; import { MenuRootContext } from '../../Menu/root/MenuRootContext'; diff --git a/packages/ui/uikit/headless/components/src/components/ContextMenu/trigger/ContextMenuTrigger.tsx b/packages/ui/uikit/headless/components/src/components/ContextMenu/trigger/ContextMenuTrigger.tsx index e8626d86..c1c283d2 100644 --- a/packages/ui/uikit/headless/components/src/components/ContextMenu/trigger/ContextMenuTrigger.tsx +++ b/packages/ui/uikit/headless/components/src/components/ContextMenu/trigger/ContextMenuTrigger.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useTimeout } from '@flippo_ui/hooks'; +import { useEventCallback, useTimeout } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { ownerDocument } from '@lib/owner'; diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/backdrop/DialogBackdrop.tsx b/packages/ui/uikit/headless/components/src/components/Dialog/backdrop/DialogBackdrop.tsx index d2af8011..2cbe4f86 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/backdrop/DialogBackdrop.tsx +++ b/packages/ui/uikit/headless/components/src/components/Dialog/backdrop/DialogBackdrop.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { popupStateMapping } from '@lib/popupStateMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/close/useDialogClose.ts b/packages/ui/uikit/headless/components/src/components/Dialog/close/useDialogClose.ts index 3c68e27f..35cd3589 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/close/useDialogClose.ts +++ b/packages/ui/uikit/headless/components/src/components/Dialog/close/useDialogClose.ts @@ -2,7 +2,7 @@ import type React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/description/DialogDescription.tsx b/packages/ui/uikit/headless/components/src/components/Dialog/description/DialogDescription.tsx index 5c55f0ca..cec74457 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/description/DialogDescription.tsx +++ b/packages/ui/uikit/headless/components/src/components/Dialog/description/DialogDescription.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/popup/DialogPopup.tsx b/packages/ui/uikit/headless/components/src/components/Dialog/popup/DialogPopup.tsx index 8081b070..3caa52b2 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/popup/DialogPopup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Dialog/popup/DialogPopup.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useMergedRef, useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useMergedRef, useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TInteraction, TransitionStatus } from '@flippo_ui/hooks'; +import type { TInteraction, TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { InternalBackdrop } from '@lib/InternalBackdrop'; diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/popup/useDialogPopup.ts b/packages/ui/uikit/headless/components/src/components/Dialog/popup/useDialogPopup.ts index 6443f66e..7517dd33 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/popup/useDialogPopup.ts +++ b/packages/ui/uikit/headless/components/src/components/Dialog/popup/useDialogPopup.ts @@ -2,9 +2,9 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; -import type { TInteraction } from '@flippo_ui/hooks'; +import type { TInteraction } from '@flippo-ui/hooks'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/root/useDialogRoot.ts b/packages/ui/uikit/headless/components/src/components/Dialog/root/useDialogRoot.ts index 9e5a3bb7..5dc62a62 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/root/useDialogRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Dialog/root/useDialogRoot.ts @@ -9,9 +9,9 @@ import { useOpenInteractionType, useScrollLock, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; -import type { TInteraction, TransitionStatus } from '@flippo_ui/hooks'; +import type { TInteraction, TransitionStatus } from '@flippo-ui/hooks'; import { translateOpenChangeReason } from '@lib/translateOpenChangeReason'; import { diff --git a/packages/ui/uikit/headless/components/src/components/Dialog/title/DialogTitle.tsx b/packages/ui/uikit/headless/components/src/components/Dialog/title/DialogTitle.tsx index 7d256d6d..1e1a03b1 100644 --- a/packages/ui/uikit/headless/components/src/components/Dialog/title/DialogTitle.tsx +++ b/packages/ui/uikit/headless/components/src/components/Dialog/title/DialogTitle.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx index fd088cd1..0dfa0e2f 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useControlledState, useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts index 1fdd8f78..668c54ea 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts +++ b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useTimeout } from '@flippo_ui/hooks'; +import { useEventCallback, useTimeout } from '@flippo-ui/hooks'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/description/FieldDescription.tsx b/packages/ui/uikit/headless/components/src/components/Field/description/FieldDescription.tsx index 4b55c2e7..9001e638 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/description/FieldDescription.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/description/FieldDescription.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/error/FieldError.tsx b/packages/ui/uikit/headless/components/src/components/Field/error/FieldError.tsx index 16fa7437..3ca846b5 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/error/FieldError.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/error/FieldError.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/label/FieldLabel.tsx b/packages/ui/uikit/headless/components/src/components/Field/label/FieldLabel.tsx index ff96433d..f0acc8b2 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/label/FieldLabel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/label/FieldLabel.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { getTarget } from '@packages/floating-ui-react/utils'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx b/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx index 217d2fea..11654cc7 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/useField.ts b/packages/ui/uikit/headless/components/src/components/Field/useField.ts index aa390a13..0ef354d7 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/useField.ts +++ b/packages/ui/uikit/headless/components/src/components/Field/useField.ts @@ -1,6 +1,6 @@ import * as ReactDOM from 'react-dom'; -import { useIsoLayoutEffect, useLatestRef } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect, useLatestRef } from '@flippo-ui/hooks'; import { useFormContext } from '../Form/FormContext'; diff --git a/packages/ui/uikit/headless/components/src/components/Fieldset/legend/FieldsetLegend.tsx b/packages/ui/uikit/headless/components/src/components/Fieldset/legend/FieldsetLegend.tsx index 2cd33dab..1eebe951 100644 --- a/packages/ui/uikit/headless/components/src/components/Fieldset/legend/FieldsetLegend.tsx +++ b/packages/ui/uikit/headless/components/src/components/Fieldset/legend/FieldsetLegend.tsx @@ -1,7 +1,7 @@ 'use client'; import * as React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Form/Form.tsx b/packages/ui/uikit/headless/components/src/components/Form/Form.tsx index 11fb724b..c114bb9f 100644 --- a/packages/ui/uikit/headless/components/src/components/Form/Form.tsx +++ b/packages/ui/uikit/headless/components/src/components/Form/Form.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/backdrop/MenuBackdrop.tsx b/packages/ui/uikit/headless/components/src/components/Menu/backdrop/MenuBackdrop.tsx index f864d2a6..c74b5da2 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/backdrop/MenuBackdrop.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/backdrop/MenuBackdrop.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { popupStateMapping } from '@lib/popupStateMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item-indicator/MenuCheckboxItemIndicator.tsx b/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item-indicator/MenuCheckboxItemIndicator.tsx index 2c534187..5b3835b3 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item-indicator/MenuCheckboxItemIndicator.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item-indicator/MenuCheckboxItemIndicator.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete, useTransitionStatus } from '@flippo_ui/hooks'; +import { useOpenChangeComplete, useTransitionStatus } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item/MenuCheckboxItem.tsx b/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item/MenuCheckboxItem.tsx index d2a6f306..de49e0ce 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item/MenuCheckboxItem.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/checkbox-item/MenuCheckboxItem.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useControlledState, useMergedRef } from '@flippo_ui/hooks'; +import { useControlledState, useMergedRef } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { useFloatingTree } from '@packages/floating-ui-react'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/group-label/MenuGroupLabel.tsx b/packages/ui/uikit/headless/components/src/components/Menu/group-label/MenuGroupLabel.tsx index 7b36ac79..0e55cd8e 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/group-label/MenuGroupLabel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/group-label/MenuGroupLabel.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/item/MenuItem.tsx b/packages/ui/uikit/headless/components/src/components/Menu/item/MenuItem.tsx index ba36e0ce..ef4298f1 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/item/MenuItem.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/item/MenuItem.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { useFloatingTree } from '@packages/floating-ui-react'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/item/useMenuItem.ts b/packages/ui/uikit/headless/components/src/components/Menu/item/useMenuItem.ts index 26bf4c45..54aa424c 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/item/useMenuItem.ts +++ b/packages/ui/uikit/headless/components/src/components/Menu/item/useMenuItem.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/popup/MenuPopup.tsx b/packages/ui/uikit/headless/components/src/components/Menu/popup/MenuPopup.tsx index 64695fc2..0ec8271b 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/popup/MenuPopup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/popup/MenuPopup.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { DISABLED_TRANSITIONS_STYLE, EMPTY_OBJECT } from '@lib/constants'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/radio-group/MenuRadioGroup.tsx b/packages/ui/uikit/headless/components/src/components/Menu/radio-group/MenuRadioGroup.tsx index 91cc326c..4a6141f2 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/radio-group/MenuRadioGroup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/radio-group/MenuRadioGroup.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useControlledState, useEventCallback } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/radio-item-indicator/MenuRadioItemIndicator.tsx b/packages/ui/uikit/headless/components/src/components/Menu/radio-item-indicator/MenuRadioItemIndicator.tsx index f30858d8..a21d85ac 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/radio-item-indicator/MenuRadioItemIndicator.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/radio-item-indicator/MenuRadioItemIndicator.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete, useTransitionStatus } from '@flippo_ui/hooks'; +import { useOpenChangeComplete, useTransitionStatus } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/radio-item/MenuRadioItem.tsx b/packages/ui/uikit/headless/components/src/components/Menu/radio-item/MenuRadioItem.tsx index a20f872e..80c08474 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/radio-item/MenuRadioItem.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/radio-item/MenuRadioItem.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { useFloatingTree } from '@packages/floating-ui-react'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRoot.tsx b/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRoot.tsx index 9e7fd440..b28887e1 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRoot.tsx @@ -12,7 +12,7 @@ import { useScrollLock, useTimeout, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { PATIENT_CLICK_THRESHOLD, TYPEAHEAD_RESET_MS } from '@lib/constants'; import { useDirection, useMixedToggleClickHandler } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRootContext.ts b/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRootContext.ts index 7c8cf15e..eff5e078 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Menu/root/MenuRootContext.ts @@ -2,7 +2,7 @@ import React from 'react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { HTMLProps } from '@lib/types'; import type { FloatingRootContext } from '@packages/floating-ui-react'; diff --git a/packages/ui/uikit/headless/components/src/components/Menu/trigger/MenuTrigger.tsx b/packages/ui/uikit/headless/components/src/components/Menu/trigger/MenuTrigger.tsx index ced56d4f..68dfe1cc 100644 --- a/packages/ui/uikit/headless/components/src/components/Menu/trigger/MenuTrigger.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menu/trigger/MenuTrigger.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useMergedRef, useTimeout } from '@flippo_ui/hooks'; +import { useEventCallback, useMergedRef, useTimeout } from '@flippo-ui/hooks'; import { getParentNode, isHTMLElement, isLastTraversableNode } from '@floating-ui/utils/dom'; import { getPseudoElementBounds } from '@lib/getPseudoElementBounds'; diff --git a/packages/ui/uikit/headless/components/src/components/Menubar/Menubar.tsx b/packages/ui/uikit/headless/components/src/components/Menubar/Menubar.tsx index 943d277a..3a0c8a95 100644 --- a/packages/ui/uikit/headless/components/src/components/Menubar/Menubar.tsx +++ b/packages/ui/uikit/headless/components/src/components/Menubar/Menubar.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { AnimationFrame, useOpenInteractionType, useScrollLock } from '@flippo_ui/hooks'; +import { AnimationFrame, useOpenInteractionType, useScrollLock } from '@flippo-ui/hooks'; import { useHeadlessUiId } from '@lib/hooks'; import { diff --git a/packages/ui/uikit/headless/components/src/components/Meter/label/MeterLabel.tsx b/packages/ui/uikit/headless/components/src/components/Meter/label/MeterLabel.tsx index 5fb57d65..992e7769 100644 --- a/packages/ui/uikit/headless/components/src/components/Meter/label/MeterLabel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Meter/label/MeterLabel.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Meter/root/MeterRoot.tsx b/packages/ui/uikit/headless/components/src/components/Meter/root/MeterRoot.tsx index 20e9e9be..d67f60bb 100644 --- a/packages/ui/uikit/headless/components/src/components/Meter/root/MeterRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Meter/root/MeterRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useLatestRef } from '@flippo_ui/hooks'; +import { useLatestRef } from '@flippo-ui/hooks'; import { formatNumber } from '@lib/formatNumber'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx b/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx index 47761c88..1ef87a3b 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx +++ b/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { formatNumber, formatNumberMaxPrecision } from '@lib/formatNumber'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx b/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx index 17d1a55e..23603d2d 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx @@ -10,7 +10,7 @@ import { useIsoLayoutEffect, useLatestRef, useTimeout -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { isIOS } from '@lib/detectBrowser'; import { formatNumber, formatNumberMaxPrecision } from '@lib/formatNumber'; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRootContext.ts b/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRootContext.ts index b8c9a0e4..fe73fd42 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRootContext.ts @@ -2,7 +2,7 @@ import React from 'react'; -import type { Timeout } from '@flippo_ui/hooks'; +import type { Timeout } from '@flippo-ui/hooks'; import type { EventWithOptionalKeyState } from '../utils/types'; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts b/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts index 81a59a74..1ae7d83f 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts +++ b/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts @@ -2,9 +2,9 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; -import type { Timeout } from '@flippo_ui/hooks'; +import type { Timeout } from '@flippo-ui/hooks'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/scrub-area/NumberFieldScrubArea.tsx b/packages/ui/uikit/headless/components/src/components/NumberField/scrub-area/NumberFieldScrubArea.tsx index ebca5fa7..bad091a7 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/scrub-area/NumberFieldScrubArea.tsx +++ b/packages/ui/uikit/headless/components/src/components/NumberField/scrub-area/NumberFieldScrubArea.tsx @@ -3,7 +3,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { useEventCallback, useLatestRef } from '@flippo_ui/hooks'; +import { useEventCallback, useLatestRef } from '@flippo-ui/hooks'; import { isWebKit } from '@lib/detectBrowser'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Popover/backdrop/PopoverBackdrop.tsx b/packages/ui/uikit/headless/components/src/components/Popover/backdrop/PopoverBackdrop.tsx index 35870e95..31a40d03 100644 --- a/packages/ui/uikit/headless/components/src/components/Popover/backdrop/PopoverBackdrop.tsx +++ b/packages/ui/uikit/headless/components/src/components/Popover/backdrop/PopoverBackdrop.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { popupStateMapping } from '@lib/popupStateMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Popover/description/PopoverDescription.tsx b/packages/ui/uikit/headless/components/src/components/Popover/description/PopoverDescription.tsx index bca3fcbb..48f88b7d 100644 --- a/packages/ui/uikit/headless/components/src/components/Popover/description/PopoverDescription.tsx +++ b/packages/ui/uikit/headless/components/src/components/Popover/description/PopoverDescription.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Popover/popup/PopoverPopup.tsx b/packages/ui/uikit/headless/components/src/components/Popover/popup/PopoverPopup.tsx index e8294779..067e63dd 100644 --- a/packages/ui/uikit/headless/components/src/components/Popover/popup/PopoverPopup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Popover/popup/PopoverPopup.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TInteraction, TransitionStatus } from '@flippo_ui/hooks'; +import type { TInteraction, TransitionStatus } from '@flippo-ui/hooks'; import { DISABLED_TRANSITIONS_STYLE, EMPTY_OBJECT } from '@lib/constants'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRoot.tsx b/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRoot.tsx index 131d32a9..6f9c5dbf 100644 --- a/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRoot.tsx @@ -11,7 +11,7 @@ import { useScrollLock, useTimeout, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { OPEN_DELAY, PATIENT_CLICK_THRESHOLD } from '@lib/constants'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRootContext.ts b/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRootContext.ts index 05a4a6e9..5e6f8939 100644 --- a/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Popover/root/PopoverRootContext.ts @@ -2,7 +2,7 @@ import React from 'react'; -import type { TInteraction, TransitionStatus } from '@flippo_ui/hooks'; +import type { TInteraction, TransitionStatus } from '@flippo-ui/hooks'; import type { TBaseOpenChangeReason } from '@lib/translateOpenChangeReason'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Popover/title/PopoverTitle.tsx b/packages/ui/uikit/headless/components/src/components/Popover/title/PopoverTitle.tsx index c258f42d..19f2d247 100644 --- a/packages/ui/uikit/headless/components/src/components/Popover/title/PopoverTitle.tsx +++ b/packages/ui/uikit/headless/components/src/components/Popover/title/PopoverTitle.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Progress/label/ProgressLabel.tsx b/packages/ui/uikit/headless/components/src/components/Progress/label/ProgressLabel.tsx index 5222d52f..6c29c89f 100644 --- a/packages/ui/uikit/headless/components/src/components/Progress/label/ProgressLabel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Progress/label/ProgressLabel.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Progress/root/ProgressRoot.tsx b/packages/ui/uikit/headless/components/src/components/Progress/root/ProgressRoot.tsx index 4e97df1c..2542b9a9 100644 --- a/packages/ui/uikit/headless/components/src/components/Progress/root/ProgressRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Progress/root/ProgressRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useLatestRef } from '@flippo_ui/hooks'; +import { useLatestRef } from '@flippo-ui/hooks'; import { formatNumber } from '@lib/formatNumber'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Radio/indicator/RadioIndicator.tsx b/packages/ui/uikit/headless/components/src/components/Radio/indicator/RadioIndicator.tsx index fd6adc2e..a135e224 100644 --- a/packages/ui/uikit/headless/components/src/components/Radio/indicator/RadioIndicator.tsx +++ b/packages/ui/uikit/headless/components/src/components/Radio/indicator/RadioIndicator.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete, useTransitionStatus } from '@flippo_ui/hooks'; +import { useOpenChangeComplete, useTransitionStatus } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx b/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx index 06d448f0..90d9137a 100644 --- a/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect, useMergedRef } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect, useMergedRef } from '@flippo-ui/hooks'; import { EMPTY_OBJECT } from '@lib/constants'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Radio/utils/styleHooks.ts b/packages/ui/uikit/headless/components/src/components/Radio/utils/styleHooks.ts index 705ac5e9..1fd8ebd2 100644 --- a/packages/ui/uikit/headless/components/src/components/Radio/utils/styleHooks.ts +++ b/packages/ui/uikit/headless/components/src/components/Radio/utils/styleHooks.ts @@ -1,4 +1,4 @@ -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { transitionStatusMapping } from '@lib/styleHookMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/RadioGroup/RadioGroup.tsx b/packages/ui/uikit/headless/components/src/components/RadioGroup/RadioGroup.tsx index 2961d7d0..d5446496 100644 --- a/packages/ui/uikit/headless/components/src/components/RadioGroup/RadioGroup.tsx +++ b/packages/ui/uikit/headless/components/src/components/RadioGroup/RadioGroup.tsx @@ -7,7 +7,7 @@ import { useEventCallback, useIsoLayoutEffect, useMergedRef -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { useHeadlessUiId } from '@lib/hooks'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/arrow/SelectArrow.tsx b/packages/ui/uikit/headless/components/src/components/Select/arrow/SelectArrow.tsx index b03900c7..4f51209a 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/arrow/SelectArrow.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/arrow/SelectArrow.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useStore } from '@flippo_ui/hooks'; +import { useStore } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { popupStateMapping as baseMapping } from '@lib/popupStateMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/backdrop/SelectBackdrop.tsx b/packages/ui/uikit/headless/components/src/components/Select/backdrop/SelectBackdrop.tsx index aeaaa191..9d63f046 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/backdrop/SelectBackdrop.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/backdrop/SelectBackdrop.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useStore } from '@flippo_ui/hooks'; +import { useStore } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { popupStateMapping } from '@lib/popupStateMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/group-label/SelectGroupLabel.tsx b/packages/ui/uikit/headless/components/src/components/Select/group-label/SelectGroupLabel.tsx index 1ea7066b..b27883bd 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/group-label/SelectGroupLabel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/group-label/SelectGroupLabel.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/item-indicator/SelectItemIndicator.tsx b/packages/ui/uikit/headless/components/src/components/Select/item-indicator/SelectItemIndicator.tsx index 7c256f79..d92106ad 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/item-indicator/SelectItemIndicator.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/item-indicator/SelectItemIndicator.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete, useTransitionStatus } from '@flippo_ui/hooks'; +import { useOpenChangeComplete, useTransitionStatus } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { transitionStatusMapping } from '@lib/styleHookMapping'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/item/SelectItem.tsx b/packages/ui/uikit/headless/components/src/components/Select/item/SelectItem.tsx index f96d0ed6..1b20213e 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/item/SelectItem.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/item/SelectItem.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect, useLatestRef, useStore } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect, useLatestRef, useStore } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { isMouseWithinBounds } from '@lib/isMouseWithinBounds'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/popup/SelectPopup.tsx b/packages/ui/uikit/headless/components/src/components/Select/popup/SelectPopup.tsx index 08d1063b..dc891176 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/popup/SelectPopup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/popup/SelectPopup.tsx @@ -8,9 +8,9 @@ import { useIsoLayoutEffect, useOpenChangeComplete, useStore -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { DISABLED_TRANSITIONS_STYLE } from '@lib/constants'; import { isWebKit } from '@lib/detectBrowser'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/portal/SelectPortal.tsx b/packages/ui/uikit/headless/components/src/components/Select/portal/SelectPortal.tsx index ec7d763e..89c4c0dd 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/portal/SelectPortal.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/portal/SelectPortal.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useStore } from '@flippo_ui/hooks'; +import { useStore } from '@flippo-ui/hooks'; import { FloatingPortal } from '@packages/floating-ui-react'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/positioner/SelectPositioner.tsx b/packages/ui/uikit/headless/components/src/components/Select/positioner/SelectPositioner.tsx index 96be9cf6..13795a63 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/positioner/SelectPositioner.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/positioner/SelectPositioner.tsx @@ -7,7 +7,7 @@ import { useIsoLayoutEffect, useScrollLock, useStore -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { DROPDOWN_COLLISION_AVOIDANCE } from '@lib/constants'; import { useAnchorPositioning, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/root/SelectRoot.tsx b/packages/ui/uikit/headless/components/src/components/Select/root/SelectRoot.tsx index 878db9f2..647a77fe 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/root/SelectRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/root/SelectRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; import { visuallyHidden } from '@lib/visuallyHidden'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/root/SelectRootContext.ts b/packages/ui/uikit/headless/components/src/components/Select/root/SelectRootContext.ts index a8ca963f..8e2a3f4f 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/root/SelectRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Select/root/SelectRootContext.ts @@ -1,6 +1,6 @@ import React from 'react'; -import type { Timeout } from '@flippo_ui/hooks'; +import type { Timeout } from '@flippo-ui/hooks'; import type { HTMLProps } from '@lib/types'; import type { FloatingRootContext, useFloatingRootContext } from '@packages/floating-ui-react'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/root/useSelectRoot.ts b/packages/ui/uikit/headless/components/src/components/Select/root/useSelectRoot.ts index 7b660dfe..f5428cfa 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/root/useSelectRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Select/root/useSelectRoot.ts @@ -12,7 +12,7 @@ import { useStore, useTimeout, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { EMPTY_ARRAY } from '@lib/constants'; import { useHeadlessUiId } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/scroll-arrow/SelectScrollArrow.tsx b/packages/ui/uikit/headless/components/src/components/Select/scroll-arrow/SelectScrollArrow.tsx index af9798b8..4c30874f 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/scroll-arrow/SelectScrollArrow.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/scroll-arrow/SelectScrollArrow.tsx @@ -7,9 +7,9 @@ import { useStore, useTimeout, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/store.ts b/packages/ui/uikit/headless/components/src/components/Select/store.ts index b35186d9..473bdf51 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/store.ts +++ b/packages/ui/uikit/headless/components/src/components/Select/store.ts @@ -1,6 +1,6 @@ -import { createSelector } from '@flippo_ui/hooks'; +import { createSelector } from '@flippo-ui/hooks'; -import type { Store, TransitionStatus } from '@flippo_ui/hooks'; +import type { Store, TransitionStatus } from '@flippo-ui/hooks'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/trigger/SelectTrigger.tsx b/packages/ui/uikit/headless/components/src/components/Select/trigger/SelectTrigger.tsx index 99c433df..9d848239 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/trigger/SelectTrigger.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/trigger/SelectTrigger.tsx @@ -8,7 +8,7 @@ import { useMergedRef, useStore, useTimeout -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { getPseudoElementBounds } from '@lib/getPseudoElementBounds'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Select/value/SelectValue.tsx b/packages/ui/uikit/headless/components/src/components/Select/value/SelectValue.tsx index 8f402917..15b254a5 100644 --- a/packages/ui/uikit/headless/components/src/components/Select/value/SelectValue.tsx +++ b/packages/ui/uikit/headless/components/src/components/Select/value/SelectValue.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useStore } from '@flippo_ui/hooks'; +import { useStore } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx b/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx index 967725f9..11d5b2c0 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx +++ b/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback } from '@flippo_ui/hooks'; +import { useEventCallback } from '@flippo-ui/hooks'; import { clamp } from '@lib/clamp'; import { useDirection, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx b/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx index c74c9f66..d2a07681 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx @@ -8,7 +8,7 @@ import { useIsoLayoutEffect, useLatestRef, useMergedRef -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { areArraysEqual } from '@lib/areArraysEqual'; import { clamp } from '@lib/clamp'; diff --git a/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx b/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx index 5219b839..6d0e1514 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx +++ b/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useIsoLayoutEffect, useMergedRef } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect, useMergedRef } from '@flippo-ui/hooks'; import { formatNumber } from '@lib/formatNumber'; import { getStyleHookProps } from '@lib/getStyleHookProps'; diff --git a/packages/ui/uikit/headless/components/src/components/Switch/root/SwitchRoot.tsx b/packages/ui/uikit/headless/components/src/components/Switch/root/SwitchRoot.tsx index 2653adbf..c51d4ca1 100644 --- a/packages/ui/uikit/headless/components/src/components/Switch/root/SwitchRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Switch/root/SwitchRoot.tsx @@ -6,7 +6,7 @@ import { useEventCallback, useIsoLayoutEffect, useMergedRef -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { mergeProps } from '@lib/merge'; diff --git a/packages/ui/uikit/headless/components/src/components/Tabs/indicator/TabsIndicator.tsx b/packages/ui/uikit/headless/components/src/components/Tabs/indicator/TabsIndicator.tsx index 5f00b8fb..3296e88a 100644 --- a/packages/ui/uikit/headless/components/src/components/Tabs/indicator/TabsIndicator.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tabs/indicator/TabsIndicator.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useForcedRerendering } from '@flippo_ui/hooks'; +import { useForcedRerendering } from '@flippo-ui/hooks'; import { generateId } from '@lib/generateId'; import { useDirection, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Tabs/list/TabsList.tsx b/packages/ui/uikit/headless/components/src/components/Tabs/list/TabsList.tsx index b2b5270b..1bbebdbd 100644 --- a/packages/ui/uikit/headless/components/src/components/Tabs/list/TabsList.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tabs/list/TabsList.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { EMPTY_ARRAY } from '@lib/constants'; diff --git a/packages/ui/uikit/headless/components/src/components/Tabs/root/TabsRoot.tsx b/packages/ui/uikit/headless/components/src/components/Tabs/root/TabsRoot.tsx index fe4482e1..48dcc48b 100644 --- a/packages/ui/uikit/headless/components/src/components/Tabs/root/TabsRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tabs/root/TabsRoot.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useControlledState, useEventCallback } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback } from '@flippo-ui/hooks'; import { useDirection, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Tabs/tab/TabsTab.tsx b/packages/ui/uikit/headless/components/src/components/Tabs/tab/TabsTab.tsx index 17ee2606..d275286f 100644 --- a/packages/ui/uikit/headless/components/src/components/Tabs/tab/TabsTab.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tabs/tab/TabsTab.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { ownerDocument } from '@lib/owner'; diff --git a/packages/ui/uikit/headless/components/src/components/Toast/description/ToastDescription.tsx b/packages/ui/uikit/headless/components/src/components/Toast/description/ToastDescription.tsx index 251c95d1..bb31eec4 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/description/ToastDescription.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toast/description/ToastDescription.tsx @@ -1,7 +1,7 @@ 'use client'; import React from 'react'; -import { useId, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useId, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Toast/provider/ToastProvider.tsx b/packages/ui/uikit/headless/components/src/components/Toast/provider/ToastProvider.tsx index d82358e3..473aacf0 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/provider/ToastProvider.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toast/provider/ToastProvider.tsx @@ -1,7 +1,7 @@ 'use client'; import * as React from 'react'; -import { Timeout, useEventCallback, useLatestRef } from '@flippo_ui/hooks'; +import { Timeout, useEventCallback, useLatestRef } from '@flippo-ui/hooks'; import { generateId } from '@lib/generateId'; import { ownerDocument } from '@lib/owner'; diff --git a/packages/ui/uikit/headless/components/src/components/Toast/root/ToastRoot.tsx b/packages/ui/uikit/headless/components/src/components/Toast/root/ToastRoot.tsx index ba381138..8f70b37b 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/root/ToastRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toast/root/ToastRoot.tsx @@ -1,9 +1,9 @@ 'use client'; import React from 'react'; -import { useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; import { ownerDocument } from '@lib/owner'; diff --git a/packages/ui/uikit/headless/components/src/components/Toast/title/ToastTitle.tsx b/packages/ui/uikit/headless/components/src/components/Toast/title/ToastTitle.tsx index 999bd202..3fe4ad32 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/title/ToastTitle.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toast/title/ToastTitle.tsx @@ -1,7 +1,7 @@ 'use client'; import React from 'react'; -import { useId, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useId, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx b/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx index 301ea16e..9fbfb3cb 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx @@ -1,7 +1,7 @@ 'use client'; import * as React from 'react'; -import { useLatestRef } from '@flippo_ui/hooks'; +import { useLatestRef } from '@flippo-ui/hooks'; import { FocusGuard } from '@lib/FocusGuard'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Toggle/Toggle.tsx b/packages/ui/uikit/headless/components/src/components/Toggle/Toggle.tsx index c100c537..d7356e97 100644 --- a/packages/ui/uikit/headless/components/src/components/Toggle/Toggle.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toggle/Toggle.tsx @@ -1,7 +1,7 @@ 'use client'; import React from 'react'; -import { useControlledState, useEventCallback } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/ToggleGroup/ToggleGroup.tsx b/packages/ui/uikit/headless/components/src/components/ToggleGroup/ToggleGroup.tsx index cbae404b..b42aaf88 100644 --- a/packages/ui/uikit/headless/components/src/components/ToggleGroup/ToggleGroup.tsx +++ b/packages/ui/uikit/headless/components/src/components/ToggleGroup/ToggleGroup.tsx @@ -1,7 +1,7 @@ 'use client'; import React from 'react'; -import { useControlledState, useEventCallback } from '@flippo_ui/hooks'; +import { useControlledState, useEventCallback } from '@flippo-ui/hooks'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx index b1553943..be21cf70 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx @@ -2,9 +2,9 @@ import React from 'react'; -import { useOpenChangeComplete } from '@flippo_ui/hooks'; +import { useOpenChangeComplete } from '@flippo-ui/hooks'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import { DISABLED_TRANSITIONS_STYLE, EMPTY_OBJECT } from '@lib/constants'; import { useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRootContext.ts b/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRootContext.ts index f062dd70..486f8334 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRootContext.ts @@ -2,7 +2,7 @@ import React from 'react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { FloatingRootContext } from '@floating-ui/react'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts b/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts index 3634f04f..f7fefc14 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts @@ -8,7 +8,7 @@ import { useEventCallback, useOpenChangeComplete, useTransitionStatus -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { safePolygon, useClientPoint, @@ -20,7 +20,7 @@ import { useNextDelayGroup } from '@floating-ui/react'; -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { FloatingRootContext } from '@floating-ui/react'; import { OPEN_DELAY } from '@lib/constants'; diff --git a/packages/ui/uikit/headless/components/src/components/use-button/useButton.ts b/packages/ui/uikit/headless/components/src/components/use-button/useButton.ts index ee700dcf..949a4784 100644 --- a/packages/ui/uikit/headless/components/src/components/use-button/useButton.ts +++ b/packages/ui/uikit/headless/components/src/components/use-button/useButton.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { error } from '@lib/error'; import { useFocusableWhenDisabled } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts b/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts index a5b4905b..01d5726a 100644 --- a/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts +++ b/packages/ui/uikit/headless/components/src/components/use-render/useRender.ts @@ -2,6 +2,7 @@ import type React from 'react'; import { useRenderElement } from '@lib/hooks'; +import type { StateAttributesMapping } from '@lib/getStyleHookProps'; import type { ComponentRenderFn, HTMLProps } from '@lib/types'; /** @@ -17,11 +18,12 @@ export function useRender< params: useRender.Parameters ): useRender.ReturnValue { const renderParams = params as useRender.Parameters & { - disableStyleHooks: boolean; + customStyleHookMapping?: StateAttributesMapping; }; - renderParams.disableStyleHooks = true; - return useRenderElement(undefined, renderParams, renderParams); + renderParams.customStyleHookMapping = renderParams.stateAttributesMapping; + + return useRenderElement(renderParams.defaultTagName, renderParams, renderParams); } export namespace useRender { @@ -56,15 +58,22 @@ export namespace useRender { /** * The React element or a function that returns one to override the default element. */ - render: RenderProp; + render?: RenderProp; /** * The ref to apply to the rendered element. */ - ref?: React.Ref | React.Ref[]; + ref?: React.Ref | (React.Ref | undefined)[]; /** * The state of the component, passed as the second argument to the `render` callback. + * State properties are automatically converted to data-* attributes. */ state?: State; + /** + * Custom mapping for converting state properties to data-* attributes. + * @example + * { isActive: (value) => (value ? { 'data-is-active': '' } : null) } + */ + stateAttributesMapping?: StateAttributesMapping; /** * Props to be spread on the rendered element. * They are merged with the internal props of the component, so that event handlers @@ -78,6 +87,19 @@ export namespace useRender { * @default true */ enabled?: Enabled; + /** + * The default tag name to use for the rendered element when `render` is not provided. + * @default 'div' + */ + defaultTagName?: keyof React.JSX.IntrinsicElements; + /** + * If the value is `true`, all props will be passed to the single child component. + * It is important that the render function has higher priority, so if asChild and + * render are specified, render will be applied. + * @default false + */ + asChild?: boolean; + }; export type ReturnValue = Enabled extends false diff --git a/packages/ui/uikit/headless/components/src/lib/FocusGuard.tsx b/packages/ui/uikit/headless/components/src/lib/FocusGuard.tsx index 8c348f84..d9ebd217 100644 --- a/packages/ui/uikit/headless/components/src/lib/FocusGuard.tsx +++ b/packages/ui/uikit/headless/components/src/lib/FocusGuard.tsx @@ -1,7 +1,7 @@ 'use client'; import * as React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { isSafari } from './detectBrowser'; import { visuallyHidden } from './visuallyHidden'; diff --git a/packages/ui/uikit/headless/components/src/lib/createSlot.tsx b/packages/ui/uikit/headless/components/src/lib/createSlot.tsx index caaad248..a439309a 100644 --- a/packages/ui/uikit/headless/components/src/lib/createSlot.tsx +++ b/packages/ui/uikit/headless/components/src/lib/createSlot.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mergedRef } from '@flippo_ui/hooks'; +import { mergedRef } from '@flippo-ui/hooks'; import { mergeProps } from './merge'; diff --git a/packages/ui/uikit/headless/components/src/lib/getStyleHookProps.ts b/packages/ui/uikit/headless/components/src/lib/getStyleHookProps.ts index a1580f05..73c24aa2 100644 --- a/packages/ui/uikit/headless/components/src/lib/getStyleHookProps.ts +++ b/packages/ui/uikit/headless/components/src/lib/getStyleHookProps.ts @@ -1,3 +1,10 @@ +export type StateAttributesMapping = { + [Property in keyof State]?: (state: State[Property]) => Record | null; +}; + +/** + * @deprecated Use `StateAttributesMapping` instead. + */ export type CustomStyleHookMapping = { [Property in keyof State]?: (state: State[Property]) => Record | null; }; diff --git a/packages/ui/uikit/headless/components/src/lib/hooks/useAnchorPositioning.ts b/packages/ui/uikit/headless/components/src/lib/hooks/useAnchorPositioning.ts index c0f9c1b7..c8daa9fa 100644 --- a/packages/ui/uikit/headless/components/src/lib/hooks/useAnchorPositioning.ts +++ b/packages/ui/uikit/headless/components/src/lib/hooks/useAnchorPositioning.ts @@ -1,7 +1,7 @@ 'use client'; import React from 'react'; -import { useEnhancedEffect, useEventCallback, useLatestRef } from '@flippo_ui/hooks'; +import { useEnhancedEffect, useEventCallback, useLatestRef } from '@flippo-ui/hooks'; import { arrow, autoUpdate, diff --git a/packages/ui/uikit/headless/components/src/lib/hooks/useHeadlessUiId.ts b/packages/ui/uikit/headless/components/src/lib/hooks/useHeadlessUiId.ts index 57ecdb3d..b58be5fb 100644 --- a/packages/ui/uikit/headless/components/src/lib/hooks/useHeadlessUiId.ts +++ b/packages/ui/uikit/headless/components/src/lib/hooks/useHeadlessUiId.ts @@ -1,6 +1,6 @@ 'use client'; -import { useId } from '@flippo_ui/hooks'; +import { useId } from '@flippo-ui/hooks'; /** * Wraps `useId` and prefixes generated `id`s with `base-ui-` diff --git a/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx b/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx index 1646889c..94277217 100644 --- a/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx +++ b/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { useMergedRef } from '@flippo_ui/hooks'; +import { useMergedRef } from '@flippo-ui/hooks'; import { createSlot } from '@lib/createSlot'; import { EMPTY_OBJECT } from '../constants'; diff --git a/packages/ui/uikit/headless/components/src/lib/styleHookMapping.ts b/packages/ui/uikit/headless/components/src/lib/styleHookMapping.ts index 047060dc..9eedfe0b 100644 --- a/packages/ui/uikit/headless/components/src/lib/styleHookMapping.ts +++ b/packages/ui/uikit/headless/components/src/lib/styleHookMapping.ts @@ -1,4 +1,4 @@ -import type { TransitionStatus } from '@flippo_ui/hooks'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { CustomStyleHookMapping } from './getStyleHookProps'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingDelayGroup.tsx b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingDelayGroup.tsx index 3fa9cf23..54986610 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingDelayGroup.tsx +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingDelayGroup.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { Timeout, useIsoLayoutEffect, useTimeout } from '@flippo_ui/hooks'; +import { Timeout, useIsoLayoutEffect, useTimeout } from '@flippo-ui/hooks'; import { getDelay } from '../hooks/useHover'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingFocusManager.tsx b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingFocusManager.tsx index 572bc264..f5cb3612 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingFocusManager.tsx +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingFocusManager.tsx @@ -7,7 +7,7 @@ import { useLatestRef, useMergedRef, useTimeout -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { getNodeName, isHTMLElement } from '@floating-ui/utils/dom'; import { focusable, diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingPortal.tsx b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingPortal.tsx index a0ac3e22..be5e88cb 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingPortal.tsx +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingPortal.tsx @@ -3,7 +3,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { useId, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useId, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { isNode } from '@floating-ui/utils/dom'; import { FocusGuard } from '@lib/FocusGuard'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingTree.tsx b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingTree.tsx index 52e733fb..8101ec02 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingTree.tsx +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/components/FloatingTree.tsx @@ -2,7 +2,7 @@ import React from 'react'; -import { useId, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useId, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { createEventEmitter } from '../utils/createEventEmitter'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClick.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClick.ts index c5062000..6da07e04 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClick.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClick.ts @@ -2,7 +2,7 @@ import React from 'react'; -import { useAnimationFrame } from '@flippo_ui/hooks'; +import { useAnimationFrame } from '@flippo-ui/hooks'; import { EMPTY_OBJECT } from '@lib/constants'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClientPoint.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClientPoint.ts index ed5616c5..74de62e9 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClientPoint.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useClientPoint.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; import { getWindow } from '@floating-ui/utils/dom'; import { contains, getTarget, isMouseLikePointerType } from '../utils'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useDismiss.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useDismiss.ts index 4c51b545..c9ea466d 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useDismiss.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useDismiss.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { Timeout, useEventCallback, useTimeout } from '@flippo_ui/hooks'; +import { Timeout, useEventCallback, useTimeout } from '@flippo-ui/hooks'; import { getOverflowAncestors } from '@floating-ui/react-dom'; import { getComputedStyle, diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloating.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloating.ts index e4ae0625..3151896b 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloating.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloating.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { useIsoLayoutEffect } from '@flippo_ui/hooks'; +import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { useFloating as usePosition } from '@floating-ui/react-dom'; import { isElement } from '@floating-ui/utils/dom'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloatingRootContext.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloatingRootContext.ts index 6c3ea39a..1fc3af4e 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloatingRootContext.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFloatingRootContext.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { useEventCallback, useId } from '@flippo_ui/hooks'; +import { useEventCallback, useId } from '@flippo-ui/hooks'; import { isElement } from '@floating-ui/utils/dom'; import { useFloatingParentNodeId } from '../components/FloatingTree'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFocus.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFocus.ts index 93d3f8b2..d57b035f 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFocus.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useFocus.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { useTimeout } from '@flippo_ui/hooks'; +import { useTimeout } from '@flippo-ui/hooks'; import { getWindow, isElement, isHTMLElement } from '@floating-ui/utils/dom'; import { isMac, isSafari } from '@lib/detectBrowser'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useHover.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useHover.ts index 4969352a..19e4a11c 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useHover.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useHover.ts @@ -5,7 +5,7 @@ import { useIsoLayoutEffect, useLatestRef, useTimeout -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { isElement } from '@floating-ui/utils/dom'; import { useFloatingParentNodeId, useFloatingTree } from '../components/FloatingTree'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useListNavigation.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useListNavigation.ts index 996cc888..8e9c8bae 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useListNavigation.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useListNavigation.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { useEventCallback, useIsoLayoutEffect, useLatestRef } from '@flippo_ui/hooks'; +import { useEventCallback, useIsoLayoutEffect, useLatestRef } from '@flippo-ui/hooks'; import { isHTMLElement } from '@floating-ui/utils/dom'; import { useFloatingParentNodeId, useFloatingTree } from '../components/FloatingTree'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useRole.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useRole.ts index d513ccd8..a9bed172 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useRole.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useRole.ts @@ -1,6 +1,6 @@ import React from 'react'; -import { useId } from '@flippo_ui/hooks'; +import { useId } from '@flippo-ui/hooks'; import { useFloatingParentNodeId } from '../components/FloatingTree'; import { getFloatingFocusElement } from '../utils'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useTypeahead.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useTypeahead.ts index b2414b8b..df390d1d 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useTypeahead.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/hooks/useTypeahead.ts @@ -5,7 +5,7 @@ import { useIsoLayoutEffect, useLatestRef, useTimeout -} from '@flippo_ui/hooks'; +} from '@flippo-ui/hooks'; import { stopEvent } from '../utils'; diff --git a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/safePolygon.ts b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/safePolygon.ts index bb191b34..607f331b 100644 --- a/packages/ui/uikit/headless/components/src/packages/floating-ui-react/safePolygon.ts +++ b/packages/ui/uikit/headless/components/src/packages/floating-ui-react/safePolygon.ts @@ -1,4 +1,4 @@ -import { Timeout } from '@flippo_ui/hooks'; +import { Timeout } from '@flippo-ui/hooks'; import { isElement } from '@floating-ui/utils/dom'; import { contains, getTarget } from './utils/element'; diff --git a/packages/ui/uikit/headless/hooks/package.json b/packages/ui/uikit/headless/hooks/package.json index b2a47df9..89c19b45 100644 --- a/packages/ui/uikit/headless/hooks/package.json +++ b/packages/ui/uikit/headless/hooks/package.json @@ -1,5 +1,5 @@ { - "name": "@flippo_ui/hooks", + "name": "@flippo-ui/hooks", "type": "module", "version": "1.0.0", "source": "./src/index.ts", From 01da3625bdf92d86be655974d2718275aeb48e7e Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Tue, 9 Sep 2025 22:11:22 +0300 Subject: [PATCH 04/37] update(headless/components): update formating --- .../components/Field/control/FieldControl.tsx | 1 - .../control/useFieldControlValidation.ts | 1 - .../src/components/Field/root/FieldRoot.tsx | 1 - .../components/Input/InputDataAttributes.ts | 30 +++++++++++++++++++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx index 0dfa0e2f..ce6f2953 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx @@ -3,7 +3,6 @@ import React from 'react'; import { useControlledState, useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; - import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import type { HeadlessUIComponentProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts index 668c54ea..e4a41137 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts +++ b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts @@ -3,7 +3,6 @@ import React from 'react'; import { useEventCallback, useTimeout } from '@flippo-ui/hooks'; - import { mergeProps } from '@lib/merge'; import type { HTMLProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx b/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx index 11654cc7..c62d18fd 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx @@ -3,7 +3,6 @@ import React from 'react'; import { useEventCallback } from '@flippo-ui/hooks'; - import { useRenderElement } from '@lib/hooks'; import type { HeadlessUIComponentProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Input/InputDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/Input/InputDataAttributes.ts index e69de29b..8c02b4f1 100644 --- a/packages/ui/uikit/headless/components/src/components/Input/InputDataAttributes.ts +++ b/packages/ui/uikit/headless/components/src/components/Input/InputDataAttributes.ts @@ -0,0 +1,30 @@ +export enum InputDataAttributes { + /** + * Present when the input is disabled. + */ + disabled = 'data-disabled', + /** + * Present when the input is in valid state. + */ + valid = 'data-valid', + /** + * Present when the input is in invalid state. + */ + invalid = 'data-invalid', + /** + * Present when the input has been touched. + */ + touched = 'data-touched', + /** + * Present when the input's value has changed. + */ + dirty = 'data-dirty', + /** + * Present when the input is filled. + */ + filled = 'data-filled', + /** + * Present when the input is focused. + */ + focused = 'data-focused' +} From 58fa4a1c2aeed4602ed8e8aff9525786fde8257e Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 13 Sep 2025 00:12:47 +0300 Subject: [PATCH 05/37] feat(headless/components): update Field.Control, add Textarea --- .../headless/components/eslint.config.js | 8 +- .../components/Field/control/FieldControl.tsx | 156 ++++++++++++------ .../Field/control/FieldControlContext.ts | 24 +++ .../Field/control/useFieldControl.ts | 7 + .../control/useFieldControlValidation.ts | 9 +- .../src/components/Field/root/FieldRoot.tsx | 1 + .../src/components/Field/slot/FieldSlot.tsx | 40 +++++ .../components/src/components/Input/Input.tsx | 12 +- .../src/components/Textarea/Textarea.tsx | 14 ++ .../Textarea/TextareaDataAttributes.ts | 30 ++++ .../src/components/Textarea/index.ts | 1 + .../src/lib/hooks/useRenderElement.tsx | 1 + .../headless/components/src/lib/types.ts | 2 +- 13 files changed, 241 insertions(+), 64 deletions(-) create mode 100644 packages/ui/uikit/headless/components/src/components/Field/control/FieldControlContext.ts create mode 100644 packages/ui/uikit/headless/components/src/components/Field/control/useFieldControl.ts create mode 100644 packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/Textarea/TextareaDataAttributes.ts create mode 100644 packages/ui/uikit/headless/components/src/components/Textarea/index.ts diff --git a/packages/ui/uikit/headless/components/eslint.config.js b/packages/ui/uikit/headless/components/eslint.config.js index b6f72f18..ea294a0a 100644 --- a/packages/ui/uikit/headless/components/eslint.config.js +++ b/packages/ui/uikit/headless/components/eslint.config.js @@ -18,7 +18,13 @@ export default createEslintConfig( ...overridesTsConfig, 'ts/no-namespace': 'off', 'ts/prefer-literal-enum-member': 'off', - 'ts/no-unsafe-function-type': 'off' + 'ts/no-unsafe-function-type': 'off', + 'ts/naming-convention': ['warn', { + selector: 'variable', + format: ['camelCase', 'UPPER_CASE', 'PascalCase'], + leadingUnderscore: 'allow', + trailingUnderscore: 'allow' + }] } }, stylistic: { diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx index ce6f2953..d5cd6048 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx @@ -2,19 +2,30 @@ import React from 'react'; -import { useControlledState, useEventCallback, useIsoLayoutEffect } from '@flippo-ui/hooks'; -import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; +import { + useControlledState, + useEventCallback, + useIsoLayoutEffect, + useMergedRef +} from '@flippo-ui/hooks'; + +import { useHeadlessUiId } from '@lib/hooks'; +import { mergeProps } from '@lib/merge'; import type { HeadlessUIComponentProps } from '@lib/types'; import { useFieldRootContext } from '../root/FieldRootContext'; +import { FieldControlSlot } from '../slot/FieldSlot'; import { useField } from '../useField'; -import { fieldValidityMapping } from '../utils/constants'; import type { FieldRoot } from '../root/FieldRoot'; +import { FieldControlContext } from './FieldControlContext'; +import { useFieldControl } from './useFieldControl'; import { useFieldControlValidation } from './useFieldControlValidation'; +import type { TFieldControlContext } from './FieldControlContext'; + /** * The form control to label and validate. * Renders an `` element. @@ -25,6 +36,8 @@ import { useFieldControlValidation } from './useFieldControlValidation'; * * Documentation: [Base UI Field](https://base-ui.com/react/components/field) */ +export function FieldControl(componentProps: FieldControl.InputProps): React.JSX.Element; +export function FieldControl(componentProps: FieldControl.TextAreaProps): React.JSX.Element; export function FieldControl(componentProps: FieldControl.Props) { const { /* eslint-disable unused-imports/no-unused-vars */ @@ -37,6 +50,8 @@ export function FieldControl(componentProps: FieldControl.Props) { disabled: disabledProp = false, onValueChange, defaultValue, + children, + control, ref, ...elementProps } = componentProps; @@ -114,61 +129,104 @@ export function FieldControl(componentProps: FieldControl.Props) { controlRef: inputRef }); - const element = useRenderElement('input', componentProps, { - ref, - state, - props: [ - { - id, - disabled, - name, - 'ref': inputRef, - 'aria-labelledby': labelId, - ...(isControlled ? { value } : { defaultValue }), - onChange(event) { - if (value != null) { - setValue(event.currentTarget.value, event.nativeEvent); - } - - setDirty(event.currentTarget.value !== validityData.initialValue); - setFilled(event.currentTarget.value !== ''); - }, - onFocus() { - setFocused(true); - }, - onBlur(event) { - setTouched(true); - setFocused(false); - - if (validationMode === 'onBlur') { - commitValidation(event.currentTarget.value); - } - }, - onKeyDown(event) { - if (event.currentTarget.tagName === 'INPUT' && event.key === 'Enter') { - setTouched(true); - commitValidation(event.currentTarget.value); - } + const mergedRef = useMergedRef(ref, inputRef); + + const controlProps = React.useMemo(() => { + const baseProps = { + disabled, + name, + 'ref': mergedRef, + 'aria-labelledby': labelId, + ...(isControlled ? { value } : { defaultValue }), + onChange(event: React.ChangeEvent) { + if (value != null) { + setValue(event.currentTarget.value, event.nativeEvent); + } + + setDirty(event.currentTarget.value !== validityData.initialValue); + setFilled(event.currentTarget.value !== ''); + }, + onFocus() { + setFocused(true); + }, + onBlur(event: React.FocusEvent) { + setTouched(true); + setFocused(false); + + if (validationMode === 'onBlur') { + commitValidation(event.currentTarget.value); } }, + onKeyDown(event: React.KeyboardEvent) { + if ((event.currentTarget.tagName === 'INPUT' || event.currentTarget.tagName === 'TEXTAREA') && event.key === 'Enter') { + setTouched(true); + commitValidation(event.currentTarget.value); + } + } + }; + + return mergeProps( + baseProps, + elementProps, getValidationProps(), - getInputValidationProps(), - elementProps - ], - customStyleHookMapping: fieldValidityMapping - }); + getInputValidationProps() + ); + }, [ + disabled, + name, + mergedRef, + labelId, + isControlled, + value, + defaultValue, + elementProps, + getValidationProps, + getInputValidationProps, + setDirty, + validityData.initialValue, + setFilled, + setValue, + setFocused, + setTouched, + validationMode, + commitValidation + ]); + + const context: TFieldControlContext = React.useMemo(() => ({ + state, + controlRef: mergedRef, + setValue, + control: control ?? 'input', + value, + controlProps + }), [ + control, + controlProps, + mergedRef, + setValue, + state, + value + ]); - return element; + return ( + + {children} + + ); } +FieldControl.Slot = FieldControlSlot; +FieldControl.useFieldControl = useFieldControl; + export namespace FieldControl { export type State = FieldRoot.State; - export type Props = { - /** - * Callback fired when the `value` changes. Use when controlled. - */ + export type InputProps = HeadlessUIComponentProps<'input', State> & { + control: 'input'; onValueChange?: (value: string, event: Event) => void; defaultValue?: React.ComponentProps<'input'>['defaultValue']; - } & HeadlessUIComponentProps<'input', State>; + }; + export type TextAreaProps = HeadlessUIComponentProps<'textarea', State> & { control: 'textarea'; onValueChange?: (value: string, event: Event) => void; defaultValue?: React.ComponentProps<'textarea'>['defaultValue'] }; + + export type Props = (InputProps | TextAreaProps); } diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControlContext.ts b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControlContext.ts new file mode 100644 index 00000000..96a1bd2c --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControlContext.ts @@ -0,0 +1,24 @@ +import React from 'react'; + +import type { FieldRoot } from '../root/FieldRoot'; + +export type TFieldControlContext = { + state: FieldRoot.State; + control: 'input' | 'textarea'; + value: React.HTMLAttributes['defaultValue']; + controlProps: React.JSX.IntrinsicElements['input' | 'textarea']; + controlRef: React.RefCallback | null; + setValue: (value: string, event: Event) => void; +}; + +export const FieldControlContext = React.createContext(undefined); + +export function useFieldControlContext() { + const context = React.use(FieldControlContext); + + if (!context) { + throw new Error('Headless UI: FieldControlContext is missing. Control parts must be placed within .'); + } + + return context; +} diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControl.ts b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControl.ts new file mode 100644 index 00000000..9ce4db8a --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControl.ts @@ -0,0 +1,7 @@ +import { useFieldControlContext } from './FieldControlContext'; + +export function useFieldControl() { + const { controlProps: _, ...controlState } = useFieldControlContext(); + + return controlState; +} diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts index e4a41137..98f2e0dd 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts +++ b/packages/ui/uikit/headless/components/src/components/Field/control/useFieldControlValidation.ts @@ -3,6 +3,7 @@ import React from 'react'; import { useEventCallback, useTimeout } from '@flippo-ui/hooks'; + import { mergeProps } from '@lib/merge'; import type { HTMLProps } from '@lib/types'; @@ -38,7 +39,9 @@ function isOnlyValueMissing(state: Record | undefi return onlyValueMissing; } -export function useFieldControlValidation() { +type HTMLInterface = ControlTag extends 'input' ? HTMLInputElement : HTMLTextAreaElement; + +export function useFieldControlValidation() { const { setValidityData, validate, @@ -56,7 +59,7 @@ export function useFieldControlValidation() { const { formRef, clearErrors } = useFormContext(); const timeout = useTimeout(); - const inputRef = React.useRef(null); + const inputRef = React.useRef | null>(null); const commitValidation = useEventCallback(async (value: unknown, revalidate = false) => { const element = inputRef.current; @@ -117,7 +120,7 @@ export function useFieldControlValidation() { // let it fall through to the main validation logic below. } - function getState(el: HTMLInputElement) { + function getState(el: HTMLInterface) { const computedState = validityKeys.reduce( (acc, key) => { acc[key] = el.validity[key]; diff --git a/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx b/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx index c62d18fd..11654cc7 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/root/FieldRoot.tsx @@ -3,6 +3,7 @@ import React from 'react'; import { useEventCallback } from '@flippo-ui/hooks'; + import { useRenderElement } from '@lib/hooks'; import type { HeadlessUIComponentProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx b/packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx new file mode 100644 index 00000000..9f6c38f3 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx @@ -0,0 +1,40 @@ +'use client'; + +import { useRenderElement } from '@lib/hooks'; + +import type { HeadlessUIComponentProps } from '@lib/types'; + +import { useFieldControlContext } from '../control/FieldControlContext'; +import { fieldValidityMapping } from '../utils/constants'; + +import type { FieldRoot } from '../root/FieldRoot'; + +/** + * The form control to label and validate. + * Renders an `` element. + * + * You can omit this part and use any Base UI input component instead. For example, + * [Input](https://base-ui.com/react/components/input), [Checkbox](https://base-ui.com/react/components/checkbox), + * or [Select](https://base-ui.com/react/components/select), among others, will work with Field out of the box. + * + * Documentation: [Base UI Field](https://base-ui.com/react/components/field) + */ +export function FieldControlSlot() { + const { controlProps, control, state } = useFieldControlContext(); + const { ref, ...elementProps } = controlProps; + + const element = useRenderElement(control, controlProps, { + ref: ref as React.Ref, + state, + props: [elementProps], + customStyleHookMapping: fieldValidityMapping + }); + + return element; +} + +export namespace FieldControl { + export type State = FieldRoot.State; + + export type Props = HeadlessUIComponentProps<'span', State>; +} diff --git a/packages/ui/uikit/headless/components/src/components/Input/Input.tsx b/packages/ui/uikit/headless/components/src/components/Input/Input.tsx index f542fed4..8f6ada49 100644 --- a/packages/ui/uikit/headless/components/src/components/Input/Input.tsx +++ b/packages/ui/uikit/headless/components/src/components/Input/Input.tsx @@ -1,8 +1,6 @@ 'use client'; import React from 'react'; -import type { HeadlessUIComponentProps } from '@lib/types'; - import { Field } from '../Field'; /** @@ -12,17 +10,11 @@ import { Field } from '../Field'; * Documentation: [Base UI Input](https://base-ui.com/react/components/input) */ export function Input(props: Input.Props) { - return ; + return ; } export namespace Input { export type State = Field.Control.State; - export type Props = { - /** - * Callback fired when the `value` changes. Use when controlled. - */ - onValueChange?: Field.Control.Props['onValueChange']; - defaultValue?: Field.Control.Props['defaultValue']; - } & HeadlessUIComponentProps<'input', State>; + export type Props = Omit; } diff --git a/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx b/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx new file mode 100644 index 00000000..3789ef37 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx @@ -0,0 +1,14 @@ +'use client'; +import React from 'react'; + +import { Field } from '../Field'; + +export function Textarea(props: Textarea.Props) { + return ; +} + +export namespace Textarea { + export type State = Field.Control.State; + + export type Props = Omit; +} diff --git a/packages/ui/uikit/headless/components/src/components/Textarea/TextareaDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/Textarea/TextareaDataAttributes.ts new file mode 100644 index 00000000..8c02b4f1 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Textarea/TextareaDataAttributes.ts @@ -0,0 +1,30 @@ +export enum InputDataAttributes { + /** + * Present when the input is disabled. + */ + disabled = 'data-disabled', + /** + * Present when the input is in valid state. + */ + valid = 'data-valid', + /** + * Present when the input is in invalid state. + */ + invalid = 'data-invalid', + /** + * Present when the input has been touched. + */ + touched = 'data-touched', + /** + * Present when the input's value has changed. + */ + dirty = 'data-dirty', + /** + * Present when the input is filled. + */ + filled = 'data-filled', + /** + * Present when the input is focused. + */ + focused = 'data-focused' +} diff --git a/packages/ui/uikit/headless/components/src/components/Textarea/index.ts b/packages/ui/uikit/headless/components/src/components/Textarea/index.ts new file mode 100644 index 00000000..f4212c04 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Textarea/index.ts @@ -0,0 +1 @@ +export { Textarea } from './Textarea'; diff --git a/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx b/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx index 94277217..ad88347a 100644 --- a/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx +++ b/packages/ui/uikit/headless/components/src/lib/hooks/useRenderElement.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { useMergedRef } from '@flippo-ui/hooks'; + import { createSlot } from '@lib/createSlot'; import { EMPTY_OBJECT } from '../constants'; diff --git a/packages/ui/uikit/headless/components/src/lib/types.ts b/packages/ui/uikit/headless/components/src/lib/types.ts index 95feebb8..cfc48552 100644 --- a/packages/ui/uikit/headless/components/src/lib/types.ts +++ b/packages/ui/uikit/headless/components/src/lib/types.ts @@ -9,7 +9,7 @@ export type HeadlessUIEvent> = E readonly headlessUIHandlerPrevented?: boolean; }; -type WithPreventHeadlessUIHandler = T extends (event: infer E) => any +export type WithPreventHeadlessUIHandler = T extends (event: infer E) => any ? E extends React.SyntheticEvent ? (event: HeadlessUIEvent) => ReturnType : T From b6f680861a4d0b436575191965896b0679f46840 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 13 Sep 2025 00:14:47 +0300 Subject: [PATCH 06/37] feat(flippo/component): add Button, StoryCombine --- .../components/.storybook/customTheme.ts | 12 + .../flippo/components/.storybook/main.ts | 16 ++ .../flippo/components/.storybook/manager.ts | 7 + .../components/.storybook/preview-head.html | 7 + .../flippo/components/.storybook/preview.tsx | 27 +++ .../components/.storybook/storybook.scss | 3 + .../uikit/flippo/components/eslint.config.js | 75 ++++++ .../ui/uikit/flippo/components/package.json | 126 ++++++++++ .../components/src/components/Button/index.ts | 1 + .../Button/story/Button.stories.tsx | 200 +++++++++++++++ .../components/Button/ui/Button.module.scss | 229 ++++++++++++++++++ .../src/components/Button/ui/Button.tsx | 161 ++++++++++++ .../components/src/components/Input/index.ts | 0 .../components/Input/story/Input.stories.tsx | 42 ++++ .../Input/ui/clear/InputClear.modules.scss | 0 .../components/Input/ui/clear/InputClear.tsx | 0 .../Input/ui/control/InputControl.module.scss | 0 .../Input/ui/control/InputControl.tsx | 11 + .../Input/ui/root/InputRoot.module.scss | 93 +++++++ .../components/Input/ui/root/InputRoot.tsx | 43 ++++ .../components/src/components/Link/index.ts | 1 + .../components/Link/story/Link.stories.tsx | 118 +++++++++ .../src/components/Link/ui/Link.module.scss | 55 +++++ .../src/components/Link/ui/Link.tsx | 45 ++++ .../src/components/Separator/index.ts | 1 + .../Separator/story/Decorator.module.scss | 7 + .../Separator/story/Separator.stories.tsx | 113 +++++++++ .../Separator/ui/Separator.module.scss | 57 +++++ .../src/components/Separator/ui/Separator.tsx | 35 +++ .../src/components/StoryCombine/index.ts | 6 + .../StoryCombine/ui/StoryCombine.module.scss | 42 ++++ .../StoryCombine/ui/StoryCombine.tsx | 75 ++++++ .../components/src/examples/button-usage.tsx | 58 +++++ .../src/examples/polymorphic-demo.tsx | 56 +++++ .../ui/uikit/flippo/components/src/index.ts | 1 + .../src/styles/fonts/vela-sans/COPYRIGHT.txt | 2 + .../src/styles/fonts/vela-sans/LICENSE.txt | 91 +++++++ .../styles/fonts/vela-sans/VelaSans-Bold.ttf | Bin 0 -> 258132 bytes .../styles/fonts/vela-sans/VelaSans-Bold.woff | Bin 0 -> 94244 bytes .../fonts/vela-sans/VelaSans-Bold.woff2 | Bin 0 -> 54860 bytes .../fonts/vela-sans/VelaSans-ExtraBold.ttf | Bin 0 -> 256348 bytes .../fonts/vela-sans/VelaSans-ExtraBold.woff | Bin 0 -> 91428 bytes .../fonts/vela-sans/VelaSans-ExtraBold.woff2 | Bin 0 -> 52980 bytes .../fonts/vela-sans/VelaSans-ExtraLight.ttf | Bin 0 -> 263480 bytes .../fonts/vela-sans/VelaSans-ExtraLight.woff | Bin 0 -> 93324 bytes .../fonts/vela-sans/VelaSans-ExtraLight.woff2 | Bin 0 -> 53460 bytes .../styles/fonts/vela-sans/VelaSans-GX.ttf | Bin 0 -> 190452 bytes .../styles/fonts/vela-sans/VelaSans-Light.ttf | Bin 0 -> 263488 bytes .../fonts/vela-sans/VelaSans-Light.woff | Bin 0 -> 95028 bytes .../fonts/vela-sans/VelaSans-Light.woff2 | Bin 0 -> 55296 bytes .../fonts/vela-sans/VelaSans-Medium.ttf | Bin 0 -> 262352 bytes .../fonts/vela-sans/VelaSans-Medium.woff | Bin 0 -> 93836 bytes .../fonts/vela-sans/VelaSans-Medium.woff2 | Bin 0 -> 54316 bytes .../fonts/vela-sans/VelaSans-Regular.ttf | Bin 0 -> 264264 bytes .../fonts/vela-sans/VelaSans-Regular.woff | Bin 0 -> 95340 bytes .../fonts/vela-sans/VelaSans-Regular.woff2 | Bin 0 -> 55116 bytes .../fonts/vela-sans/VelaSans-SemiBold.ttf | Bin 0 -> 261968 bytes .../fonts/vela-sans/VelaSans-SemiBold.woff | Bin 0 -> 94860 bytes .../fonts/vela-sans/VelaSans-SemiBold.woff2 | Bin 0 -> 55172 bytes .../vela-sans/VelaSansGX-ExtraLight.woff | Bin 0 -> 45872 bytes .../vela-sans/VelaSansGX-ExtraLight.woff2 | Bin 0 -> 32240 bytes .../src/styles/functions/_hexToRgb.scss | 11 + .../flippo/components/src/styles/global.scss | 194 +++++++++++++++ .../src/styles/mixins/_corners.scss | 59 +++++ .../components/src/styles/mixins/_effect.scss | 7 + .../components/src/styles/mixins/_flex.scss | 19 ++ .../components/src/styles/mixins/_font.scss | 145 +++++++++++ .../components/src/styles/mixins/_text.scss | 5 + .../src/styles/variables/_colors.scss | 106 ++++++++ .../src/styles/variables/_fonts.scss | 73 ++++++ .../src/styles/variables/_spacings.scss | 29 +++ .../components/src/types/polymorphic.ts | 12 + .../uikit/flippo/components/src/vite-env.d.ts | 11 + .../ui/uikit/flippo/components/tsconfig.json | 16 ++ .../ui/uikit/flippo/components/vite.config.ts | 52 ++++ .../uikit/flippo/components/vitest.config.ts | 18 ++ 76 files changed, 2573 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/.storybook/customTheme.ts create mode 100644 packages/ui/uikit/flippo/components/.storybook/main.ts create mode 100644 packages/ui/uikit/flippo/components/.storybook/manager.ts create mode 100644 packages/ui/uikit/flippo/components/.storybook/preview-head.html create mode 100644 packages/ui/uikit/flippo/components/.storybook/preview.tsx create mode 100644 packages/ui/uikit/flippo/components/.storybook/storybook.scss create mode 100644 packages/ui/uikit/flippo/components/eslint.config.js create mode 100644 packages/ui/uikit/flippo/components/package.json create mode 100644 packages/ui/uikit/flippo/components/src/components/Button/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Button/ui/Button.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.modules.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Link/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Link/ui/Link.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Link/ui/Link.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Separator/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Separator/story/Decorator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/StoryCombine/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx create mode 100644 packages/ui/uikit/flippo/components/src/examples/button-usage.tsx create mode 100644 packages/ui/uikit/flippo/components/src/examples/polymorphic-demo.tsx create mode 100644 packages/ui/uikit/flippo/components/src/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/COPYRIGHT.txt create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/LICENSE.txt create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraLight.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraLight.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraLight.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-GX.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.ttf create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSansGX-ExtraLight.woff create mode 100644 packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSansGX-ExtraLight.woff2 create mode 100644 packages/ui/uikit/flippo/components/src/styles/functions/_hexToRgb.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/global.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/mixins/_corners.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/mixins/_effect.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/mixins/_flex.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/mixins/_font.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/mixins/_text.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/variables/_fonts.scss create mode 100644 packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss create mode 100644 packages/ui/uikit/flippo/components/src/types/polymorphic.ts create mode 100644 packages/ui/uikit/flippo/components/src/vite-env.d.ts create mode 100644 packages/ui/uikit/flippo/components/tsconfig.json create mode 100644 packages/ui/uikit/flippo/components/vite.config.ts create mode 100644 packages/ui/uikit/flippo/components/vitest.config.ts diff --git a/packages/ui/uikit/flippo/components/.storybook/customTheme.ts b/packages/ui/uikit/flippo/components/.storybook/customTheme.ts new file mode 100644 index 00000000..0b2db119 --- /dev/null +++ b/packages/ui/uikit/flippo/components/.storybook/customTheme.ts @@ -0,0 +1,12 @@ +import { create } from '@storybook/theming'; + +export default create({ + base: 'dark', + + appBg: '#14151a', + appContentBg: '#000000', + appPreviewBg: '#000000', + appBorderRadius: 24, + barBg: '#14151a', + brandTitle: 'Flippo' +}); diff --git a/packages/ui/uikit/flippo/components/.storybook/main.ts b/packages/ui/uikit/flippo/components/.storybook/main.ts new file mode 100644 index 00000000..67e34052 --- /dev/null +++ b/packages/ui/uikit/flippo/components/.storybook/main.ts @@ -0,0 +1,16 @@ +import type { StorybookConfig } from '@storybook/react-vite'; + +const config: StorybookConfig = { + addons: [ + '@storybook/addon-onboarding', + '@storybook/addon-essentials', + '@chromatic-com/storybook', + '@storybook/addon-interactions' + ], + framework: { + name: '@storybook/react-vite', + options: {} + }, + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'] +}; +export default config; diff --git a/packages/ui/uikit/flippo/components/.storybook/manager.ts b/packages/ui/uikit/flippo/components/.storybook/manager.ts new file mode 100644 index 00000000..11c3d5b7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/.storybook/manager.ts @@ -0,0 +1,7 @@ +import { addons } from '@storybook/manager-api'; + +import customTheme from './customTheme'; + +addons.setConfig({ + theme: customTheme +}); diff --git a/packages/ui/uikit/flippo/components/.storybook/preview-head.html b/packages/ui/uikit/flippo/components/.storybook/preview-head.html new file mode 100644 index 00000000..0b793360 --- /dev/null +++ b/packages/ui/uikit/flippo/components/.storybook/preview-head.html @@ -0,0 +1,7 @@ + diff --git a/packages/ui/uikit/flippo/components/.storybook/preview.tsx b/packages/ui/uikit/flippo/components/.storybook/preview.tsx new file mode 100644 index 00000000..13a0d605 --- /dev/null +++ b/packages/ui/uikit/flippo/components/.storybook/preview.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import type { Preview } from '@storybook/react'; + +import '../src/styles/global.scss'; + +import './storybook.scss'; + +const preview: Preview = { + decorators: (Story) => ( + + + + ), + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i + } + }, + layout: 'centered' + }, + tags: ['autodocs'] +}; + +export default preview; diff --git a/packages/ui/uikit/flippo/components/.storybook/storybook.scss b/packages/ui/uikit/flippo/components/.storybook/storybook.scss new file mode 100644 index 00000000..5a8dd189 --- /dev/null +++ b/packages/ui/uikit/flippo/components/.storybook/storybook.scss @@ -0,0 +1,3 @@ +body { + overflow: scroll; +} diff --git a/packages/ui/uikit/flippo/components/eslint.config.js b/packages/ui/uikit/flippo/components/eslint.config.js new file mode 100644 index 00000000..b6f72f18 --- /dev/null +++ b/packages/ui/uikit/flippo/components/eslint.config.js @@ -0,0 +1,75 @@ +import { + createEslintConfig, + general, + overridesStylisticConfig, + overridesTsConfig +} from '@flippo/eslint'; + +export default createEslintConfig( + { + pnpm: true, + react: true, + typescript: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname + }, + overrides: { + ...overridesTsConfig, + 'ts/no-namespace': 'off', + 'ts/prefer-literal-enum-member': 'off', + 'ts/no-unsafe-function-type': 'off' + } + }, + stylistic: { + jsx: true, + semi: true, + overrides: overridesStylisticConfig + }, + jsx: true, + formatters: true, + ...general, + ignores: ['**/*.md/*.ts'] + }, + { + rules: { + 'react-dom/no-flush-sync': 'off', + 'react/no-context-provider': 'off', + 'unused-imports/no-unused-vars': ['warn', { + varsIgnorePattern: '^_', + argsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_' + }], + 'node/prefer-global/process': ['error', 'always'], + 'perfectionist/sort-imports': ['error', { + type: 'natural', + order: 'asc', + newlinesBetween: 'always', + internalPattern: ['^~/.+', '^@/.+'], + groups: [ + 'react', + 'builtin', + 'builtin-type', + 'external', + 'external-type', + 'internal', + 'internal-type', + 'parent', + 'parent-type', + 'sibling', + 'sibling-type', + 'unknown', + 'index', + 'index-type', + 'object', + 'type' + ], + tsconfigRootDir: './tsconfig.json', + customGroups: [{ + groupName: 'react', + elementNamePattern: ['^react$', '^react-.+'] + }] + }] + } + } +); diff --git a/packages/ui/uikit/flippo/components/package.json b/packages/ui/uikit/flippo/components/package.json new file mode 100644 index 00000000..6c4ed5ba --- /dev/null +++ b/packages/ui/uikit/flippo/components/package.json @@ -0,0 +1,126 @@ +{ + "name": "@flippo-ui/flippo-components", + "type": "module", + "version": "0.1.0", + "private": false, + "packageManager": "pnpm@10.7.0", + "description": "", + "author": "@BlackPoretsky", + "license": "ISC", + "keywords": [ + "react", + "react-component", + "flippo", + "unstyled", + "a11y" + ], + "exports": { + ".": "./src/index.ts", + "./accordion": "./src/Accordion/index.ts", + "./avatar": "./src/avatar/index.ts", + "./checkbox": "./src/Checkbox/index.ts", + "./checkbox-group": "./src/CheckboxGroup/index.ts", + "./collapsible": "./src/Collapsible/index.ts", + "./context-menu": "./src/ContextMenu/index.ts", + "./dialog": "./src/Dialog/index.ts", + "./direction-provider": "./src/lib/hooks/useDirection.ts", + "./field": "./src/Field/index.ts", + "./fieldset": "./src/Fieldset/index.ts", + "./form": "./src/Form/index.ts", + "./input": "./src/Input/index.ts", + "./menu": "./src/Menu/index.ts", + "./menubar": "./src/Menubar/index.ts", + "./merge-props": "./src/lib/merge.ts", + "./meter": "./src/Meter/index.ts", + "./number-field": "./src/NumberField/index.ts", + "./popover": "./src/Popover/index.ts", + "./progress": "./src/Progress/index.ts", + "./radio": "./src/Radio/index.ts", + "./radio-group": "./src/RadioGroup/index.ts", + "./select": "./src/Select/index.ts", + "./separator": "./src/Separator/index.ts", + "./slider": "./src/Slider/index.ts", + "./switch": "./src/Switch/index.ts", + "./tabs": "./src/Tabs/index.ts", + "./toast": "./src/Toast/index.ts", + "./toggle": "./src/Toggle/index.ts", + "./toggle-group": "./src/ToggleGroup/index.ts", + "./toolbar": "./src/Toolbar/index.ts", + "./tooltip": "./src/Tooltip/index.ts", + "./use-render": "./src/use-render/index.ts", + "./use-button": "./src/use-button/index.ts" + }, + "main": "./src/index.ts", + "module": "./src/index.ts", + "publishConfig": { + "main": "./dist/index.js", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + } + }, + "files": [ + "README.md", + "dist" + ], + "scripts": { + "dev": "vite build --watch", + "build": "vite build", + "test": "vitest", + "test:ui": "vitest --ui", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "dependencies": { + "@flippo-ui/headless-components": "workspace:*", + "@flippo-ui/icons": "workspace:*", + "class-variance-authority": "catalog:" + }, + "devDependencies": { + "@eslint-react/eslint-plugin": "catalog:", + "@flippo/eslint": "workspace:*", + "@flippo/internal-test-utils": "workspace:*", + "@flippo/tsconfig": "workspace:*", + "@storybook/addon-essentials": "catalog:", + "@storybook/addon-interactions": "catalog:", + "@storybook/addon-links": "catalog:", + "@storybook/addon-onboarding": "catalog:", + "@storybook/blocks": "catalog:", + "@storybook/manager-api": "catalog:", + "@storybook/react": "catalog:", + "@storybook/react-vite": "catalog:", + "@storybook/test": "catalog:", + "@storybook/theming": "catalog:", + "@testing-library/jest-dom": "catalog:", + "@testing-library/react": "catalog:", + "@testing-library/user-event": "catalog:", + "@types/node": "catalog:", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@vitejs/plugin-react": "catalog:", + "@vitest/ui": "catalog:", + "eslint": "catalog:", + "eslint-plugin-format": "catalog:", + "eslint-plugin-react-hooks": "catalog:", + "eslint-plugin-react-refresh": "catalog:", + "jsdom": "catalog:", + "react": "catalog:", + "react-dom": "catalog:", + "sass": "catalog:", + "sass-embedded": "catalog:", + "storybook": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vitest": "catalog:" + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Button/index.ts b/packages/ui/uikit/flippo/components/src/components/Button/index.ts new file mode 100644 index 00000000..2173d951 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Button/index.ts @@ -0,0 +1 @@ +export * from './ui/Button'; diff --git a/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx new file mode 100644 index 00000000..61e4d903 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx @@ -0,0 +1,200 @@ +import React from 'react'; + +import { PlusIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { StoryCombine } from '../..//StoryCombine'; +import { Button } from '../ui/Button'; + +const ARGS: Partial = { + children: 'Button' +}; + +const meta: Meta = { + args: { ...ARGS, size: 'large' }, + argTypes: { + children: { control: 'object', name: 'React.ReactNode' }, + disabled: { control: 'boolean' }, + size: { control: 'select', options: [ + 'x-small', + 'small', + 'medium', + 'large' + ] }, + variant: { control: 'select', options: [ + 'danger', + 'label', + 'outlined', + 'secondary', + 'primary' + ] } + }, + component: Button, + title: 'UIKit/Button' +}; + +export default meta; + +type ButtonStory = StoryObj; + +export const PrimaryButton: ButtonStory = { + args: { + variant: 'primary' + } +}; + +export const SecondaryButton: ButtonStory = { + args: { + variant: 'secondary' + } +}; + +export const OutlinedButton: ButtonStory = { + args: { + variant: 'outlined' + } +}; + +export const LabelButton: ButtonStory = { + args: { + variant: 'label' + } +}; + +export const DangerButton: ButtonStory = { + args: { + variant: 'danger' + } +}; + +export const ButtonAsLink: ButtonStory = { + args: { + variant: 'primary', + link: true + } +}; + +export const ButtonLoading: ButtonStory = { + args: { + variant: 'primary', + loading: true + } +}; + +type TVariant = Omit, 'components'>; + +const VARIANT_SECONDARY: TVariant = { + name: 'Secondary', + variantArgs: { + variant: 'secondary' + } +}; + +const VARIANT_OUTLINED: TVariant = { + name: 'Outlined', + variantArgs: { + variant: 'outlined' + } +}; + +const VARIANT_LABEL: TVariant = { + name: 'Label', + variantArgs: { + variant: 'label' + } +}; + +const VARIANT_PRIMARY: TVariant = { + name: 'Primary', + variantArgs: { + variant: 'primary' + } +}; + +const VARIANT_DANGER: TVariant = { + name: 'Danger', + variantArgs: { + variant: 'danger' + } +}; + +const CHILDREN = 'Button'; +const CHILDREN_WITH_ICON = ( + + {'Button'} + + +); + +const COMPONENTS: Partial[] = [ + { children: CHILDREN }, + { children: CHILDREN_WITH_ICON }, + { icon: true, children: }, + { disabled: true, children: CHILDREN }, + { disabled: true, children: CHILDREN_WITH_ICON }, + { disabled: true, icon: true, children: } +]; + +const VARIANTS = [ + { + components: COMPONENTS, + ...VARIANT_PRIMARY + }, + { + components: COMPONENTS, + ...VARIANT_SECONDARY + }, + { + components: COMPONENTS, + ...VARIANT_OUTLINED + }, + { + components: COMPONENTS, + ...VARIANT_LABEL + }, + { + components: COMPONENTS, + ...VARIANT_DANGER + } +]; + +const GROUPS: StoryCombine.Props = { + args: ARGS, + // @ts-expect-error reason : button have oveloaded props + component: Button, + groups: [ + { + groupArgs: { + size: 'large' + }, + name: 'Large', + variants: VARIANTS + }, + { + groupArgs: { + size: 'medium' + }, + name: 'Medium', + variants: VARIANTS + }, + { + groupArgs: { + size: 'small' + }, + name: 'Small', + variants: VARIANTS + }, + { + groupArgs: { + size: 'x-small' + }, + name: 'X-Small', + variants: VARIANTS + } + ] +}; + +export const ButtonStoryCombine: ButtonStory = { + render: () => +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss b/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss new file mode 100644 index 00000000..82b36c48 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss @@ -0,0 +1,229 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_corners.scss' as corners; + +/* +* $size: large | small +* $bh - button height +* $padding - button padding +* $gap - button gap +* $iconSize - icon size +* $iconPadding - icon padding +* $iconSizeIconButton - icon size for icon button +*/ +@mixin sizeButton($size, $bh, $padding, $gap, $iconSize) { + padding: $padding; + height: $bh; + min-width: $bh; + + gap: $gap; + + @if $size == 'large' { + @include font.body('stronger'); + } @else if $size == 'medium' { + @include font.body('default'); + } @else if $size == 'small' { + @include font.bodyMinus('default'); + } @else if $size == 'x-small' { + @include font.label('default'); + } + + svg { + width: $iconSize; + aspect-ratio: 1; + } +} + +/* +* $iconPadding - icon padding +* $iconSizeIconButton - icon size for icon button +*/ +@mixin sizeIconButton($iconPadding, $iconSizeIconButton) { + padding: $iconPadding; + + svg { + width: $iconSizeIconButton; + aspect-ratio: 1; + } +} + +/* + * $state: hover | focus-within | active | disabled + * $bg - background color + * $color - text color + * $ow - outline width + * $oc - outline color +*/ +$ow: 1.5px; +@mixin stateButton($state, $bg: null, $color: null, $oc: null) { + &#{$state} { + @if $bg { + background-color: $bg; + } + + @if $color { + color: $color; + } + + @if $oc { + outline: $ow solid $oc; + } + } +} + +.Button { + border-radius: var(--f-border-radius-button); + cursor: pointer; + + transition: 0.3s ease; + + fill: currentColor; + + @include corners.corners(('::before', '::after'), var(--f-spacing-3)); + + @include flex.display(inline-flex, row, center, center, var(--f-spacing-2)); + width: 100%; + + svg { + flex-shrink: 0; + } + + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + + span { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + + &:disabled, + &[data-disabled] { + cursor: not-allowed; + } +} + +.loading { + cursor: not-allowed; + pointer-events: none; +} + +.link { + cursor: pointer; +} + +.large { + @include sizeButton( + 'large', + var(--f-spacing-14), + var(--f-spacing-4) var(--f-spacing-6), + calc(var(--f-spacing-5) / 2), + var(--f-spacing-6) + ); +} + +.medium { + @include sizeButton( + 'large', + var(--f-spacing-12), + calc(var(--f-spacing-4) / 2) var(--f-spacing-5), + calc(var(--f-spacing-5) / 2), + var(--f-spacing-6) + ); +} + +.small { + @include sizeButton( + 'small', + var(--f-spacing-10), + calc(var(--f-spacing-4) / 2) calc(var(--f-spacing-9) / 2), + calc(var(--f-spacing-4) / 2), + var(--f-spacing-5) + ); +} + +.x-small { + @include sizeButton( + 'x-small', + var(--f-spacing-5), + var(--f-spacing-0) var(--f-spacing-2), + var(--f-spacing-1), + calc(var(--f-spacing-9) / 2) + ); +} + +.icon-large { + @include sizeIconButton(var(--f-spacing-3), var(--f-spacing-8)); +} + +.icon-medium { + @include sizeIconButton(var(--f-spacing-2), var(--f-spacing-6)); +} + +.icon-small { + @include sizeIconButton(var(--f-spacing-2), var(--f-spacing-6)); +} + +.icon-x-small { + @include sizeIconButton(0, var(--f-spacing-5)); +} + +.primary { + background-color: var(--f-color-brand); + color: var(--f-color-text-white); + + @include stateButton(':hover', var(--f-color-brand-hover)); + @include stateButton(':active', var(--f-color-brand), var(--f-color-brand-light-hover)); + @include stateButton(':focus-visible', $oc: var(--f-color-text-primary)); + @include stateButton(':disabled', var(--f-color-bg-2), var(--f-color-text-disabled)); + @include stateButton('[data-disabled]', var(--f-color-bg-2), var(--f-color-text-disabled)); +} + +.secondary { + background-color: var(--f-color-bg-3); + color: var(--f-color-text-2); + + @include stateButton(':hover', var(--f-color-bg-3-hover), var(--f-color-text-white)); + @include stateButton(':active', var(--f-color-bg-3), var(--f-color-text-2)); + @include stateButton(':focus-visible', $oc: var(--f-color-text-primary)); + @include stateButton(':disabled', var(--f-color-bg-2), var(--f-color-text-disabled)); + @include stateButton('[data-disabled]', var(--f-color-bg-2), var(--f-color-text-disabled)); +} + +.outlined, +.label, +.danger { + background-color: transparent; +} + +.outlined { + outline: $ow solid var(--f-color-stroke); + color: var(--f-color-text-3); + + @include stateButton(':hover', $color: var(--f-color-text-white), $oc: var(--f-color-stroke-hover)); + @include stateButton(':active', $color: var(--f-color-text-3), $oc: var(--f-color-stroke)); + @include stateButton(':focus-visible', $color: var(--f-color-text-3), $oc: var(--f-color-brand-light)); + @include stateButton(':disabled', $color: var(--f-color-text-disabled), $oc: var(--f-color-stroke-subtle)); + @include stateButton('[data-disabled]', $color: var(--f-color-text-disabled), $oc: var(--f-color-stroke-subtle)); +} + +.label { + color: var(--f-color-text-4); + + @include stateButton(':hover', var(--f-color-bg-2-hover), var(--f-color-text-white)); + @include stateButton(':active', var(--f-color-bg-2), var(--f-color-text-4)); + @include stateButton(':focus-visible', $color: var(--f-color-text-3), $oc: var(--f-color-brand-light)); + @include stateButton(':disabled', $color: var(--f-color-text-disabled)); + @include stateButton('[data-disabled]', $color: var(--f-color-text-disabled)); +} + +.danger { + color: var(--f-color-error); + + @include stateButton(':hover', var(--f-color-error-desaturated), var(--f-color-error-hover)); + @include stateButton(':active', var(--f-color-bg-2-hover), var(--f-color-error)); + @include stateButton(':focus-visible', $color: var(--f-color-text-3), $oc: var(--f-color-brand-light)); + @include stateButton(':disabled', $color: var(--f-color-text-disabled)); + @include stateButton('[data-disabled]', $color: var(--f-color-text-disabled)); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.tsx b/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.tsx new file mode 100644 index 00000000..503e46ff --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.tsx @@ -0,0 +1,161 @@ +import React from 'react'; + +import { useButton } from '@flippo-ui/headless-components/use-button'; +import { useRender } from '@flippo-ui/headless-components/use-render'; +import { SpinnerIcon } from '@flippo-ui/icons'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './Button.module.scss'; + +const ButtonVariants = cva(styles.Button, { + variants: { + variant: { + primary: styles.primary, + secondary: styles.secondary, + outlined: styles.outlined, + label: styles.label, + danger: styles.danger + }, + size: { + 'x-small': styles['x-small'], + 'small': styles.small, + 'medium': styles.medium, + 'large': styles.large + }, + corners: { + 'clear': styles['corners-clear-clear'], + 'circle': styles['corners-circle-circle'], + 'round-clear': styles['corners-round-clear'], + 'clear-round': styles['corners-clear-round'], + 'round-circle': styles['corners-round-circle'], + 'clear-circle': styles['corners-clear-circle'] + }, + loading: { + true: styles.loading, + false: false + }, + icon: { + true: styles.icon, + false: false + }, + link: { + true: styles.link, + false: false + } + }, + compoundVariants: [ + { + size: 'x-small', + icon: true, + class: styles['icon-x-small'] + }, + { + size: 'small', + icon: true, + class: styles['icon-small'] + }, + { + size: 'medium', + icon: true, + class: styles['icon-medium'] + }, + { + size: 'large', + icon: true, + class: styles['icon-large'] + } + ], + defaultVariants: { + variant: 'primary', + size: 'medium' + } +}); + +// Overloaded function signatures for strict typing +export function Button(props: Button.LinkElementProps): React.JSX.Element; +export function Button(props: Button.ButtonElementProps): React.JSX.Element; +export function Button(props: Button.Props): React.JSX.Element { + const { + ref, + loading = false, + loader = , + children, + className, + variant = 'primary', + size = 'medium', + corners = 'circle', + icon = false, + ...otherProps + } = props; + + // Автоматическое определение типа по наличию href + const isLink = 'href' in props && props.href != null; + + // Type guard для определения типа пропов + const disabled = !isLink && 'disabled' in props ? props.disabled : false; + + const { getButtonProps, buttonRef } = useButton({ + native: !isLink, + disabled: disabled || false + }); + + // Применяем стили через CVA + const buttonClassName = ButtonVariants({ + variant, + size, + corners, + loading, + icon, + link: isLink, + className + }); + + // Определяем правильный элемент для рендера + const Tag = isLink + ? 'a' + : 'button'; + + const element = useRender({ + defaultTagName: Tag, + ref: [buttonRef, ref], + props: [getButtonProps(otherProps), { className: buttonClassName, children: ( + + {children} + {loading && loader} + + ) }] + }); + + return element; +} + +export namespace Button { + /** + * Базовые пропы для Button/Link компонента + */ + type BaseButtonProps = { + loader?: React.ReactNode; + children?: React.ReactNode; + asChild?: boolean; + } & VariantProps; + + // Типы для кнопки (с disabled, без href/target/rel) + export type ButtonElementProps = BaseButtonProps + & Omit, 'type'> & { + href?: never; + target?: never; + rel?: never; + }; + + // Типы для ссылки (с href, target, rel, без disabled) + export type LinkElementProps = BaseButtonProps + & Omit, 'type'> & { + href: string; + disabled?: never; + }; + + // Discriminated Union - автоматическое определение по наличию href + export type Props = ButtonElementProps | LinkElementProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/index.ts b/packages/ui/uikit/flippo/components/src/components/Input/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx new file mode 100644 index 00000000..c582bfea --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx @@ -0,0 +1,42 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { InputControl } from '../ui/control/InputControl'; + +const meta: Meta = { + argTypes: { + children: { control: 'object', name: 'React.ReactNode' }, + disabled: { control: 'boolean' }, + size: { + control: 'select', + options: [ + 'x-small', + 'small', + 'medium', + 'large' + ] + }, + variant: { + control: 'select', + options: [ + 'danger', + 'label', + 'outlined', + 'secondary', + 'primary' + ] + } + }, + component: InputControl, + title: 'UIKit/Input' +}; + +export default meta; + +type ButtonStory = StoryObj; + +export const Input: ButtonStory = { + args: { + } +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.modules.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.modules.scss new file mode 100644 index 00000000..e69de29b diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx new file mode 100644 index 00000000..e69de29b diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.module.scss new file mode 100644 index 00000000..e69de29b diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx new file mode 100644 index 00000000..72b085cc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Input } from '@flippo-ui/headless-components'; + +export function InputControl(props: InputControl.Props) { + return ; +} + +export namespace InputControl { + export type Props = Input.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss new file mode 100644 index 00000000..710e3a92 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss @@ -0,0 +1,93 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; + +.input { + $ow: 1.5px; + + outline-color: transparent; + + flex: 0 1 100%; + + background: var(--bg-area-muted); + fill: var(--text-6); + border-radius: var(--radius-input-field); + + overflow: hidden; + + transition: + outline 0.3s ease, + background-color 0.3s ease; + + @include flex.display(inline-flex, row, center, center, var(--f-spacing-3)); + + width: 100%; + + & > input { + background: transparent; + outline: none; + border: none; + padding: 0; + width: 100%; + + text-overflow: ellipsis; + + color: var(--text-primary); + + &::placeholder { + color: var(--text-6); + } + + caret-color: var(--text-white); + } + + & > svg { + width: 18px; + aspect-ratio: 1; + } + + &:hover { + background: var(--bg-area-subtle); + outline: $ow solid var(--stroke); + + input::placeholder { + color: var(--text-5); + } + + svg { + fill: var(--text-5); + } + } + + &:focus-within { + background: var(--bg-area-muted); + outline: $ow solid var(--brand-light); + + input::placeholder { + color: var(--text-6); + } + + svg { + fill: var(--text-5); + } + } + + &_large { + height: 56px; + + @include font.body('weaker'); + + .content { + padding: 16px 20px; + } + } + + &_medium { + height: 48px; + + @include font.bodyMinus('weaker'); + + .content { + padding: 8px 20px; + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx new file mode 100644 index 00000000..5142e17b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx @@ -0,0 +1,43 @@ +import type React from 'react'; + +import { useRender } from '@flippo-ui/headless-components/use-render'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './InputRoot.module.scss'; + +const InputRootVariants = cva(styles.InputRoot, { + variants: { + variant: { + default: styles.default, + underline: styles.underline + }, + size: { + small: styles.small, + medium: styles.medium, + large: styles.large + } + }, + defaultVariants: { + variant: 'default', + size: 'large' + } +}); + +export function InputRoot(props: InputRoot.Props) { + const { className, variant, ...otherProps } = props; + + const inputRootClassName = InputRootVariants({ + variant, + className + }); + + const element = useRender({ defaultTagName: 'span', props: [otherProps, { className: inputRootClassName }] }); + + return element; +} + +export namespace InputRoot { + export type Props = React.ComponentPropsWithRef<'span'> & VariantProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Link/index.ts b/packages/ui/uikit/flippo/components/src/components/Link/index.ts new file mode 100644 index 00000000..4022ac4e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Link/index.ts @@ -0,0 +1 @@ +export * from './ui/Link'; diff --git a/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx new file mode 100644 index 00000000..19c4d630 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx @@ -0,0 +1,118 @@ +import React from 'react'; + +import { MailGmailIcon, PlusIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { StoryCombine } from '../../StoryCombine'; +import { Link } from '../ui/Link'; + +const meta: Meta = { + argTypes: { + children: { control: 'object', name: 'React.ReactNode' }, + variant: { control: 'select', options: ['neutral', 'brand'] } + }, + component: Link, + parameters: { + docs: { + description: { + component: + 'The component is a wrapper for Link from the atomic-router-react library (https://atomic-router.github.io/react/api/link.html ).' + } + } + }, + title: 'UIKit/Link' +}; + +export default meta; + +type LinkStory = StoryObj; + +const COMMON_ARGS = { + href: 'http://localhost:6006/?path=/story/uikit-link-link--link-story-combine' +}; + +const NEUTRAL_ARGS = { + children: 'Link', + variant: 'neutral', + ...COMMON_ARGS +}; + +export const NeutralLink: LinkStory = { + args: NEUTRAL_ARGS +}; + +export const NeutralLinkWithIcon: LinkStory = { + args: { ...NEUTRAL_ARGS, children: ( + + + { 'Link ' } + + ) } +}; + +const BRAND_ARGS = { + children: 'Link', + variant: 'brand', + ...COMMON_ARGS +}; + +export const BrandLink: LinkStory = { + args: BRAND_ARGS +}; + +export const BrandLinkWithIcon: LinkStory = { + args: { + ...BRAND_ARGS, + children: ( + + + {'Link '} + + ) + } +}; + +export const BrandLinkWithEmailLogo: LinkStory = { + args: { ...BRAND_ARGS, children: ( + + + {'Link '} + + ) } +}; + +const VARIANTS: StoryCombine.Group['variants'] = [{ components: + [{ children: 'Link' }], name: 'Default' }, { components: [{ children: ( + + + {'Link '} + +) }], name: 'With an icon' }, { components: [{ children: ( + + + {'Link '} + +) }], name: 'With an icon with a built-in fill' }]; + +const GROUPS: StoryCombine.Props = { + args: { href: 'http://localhost:6006/?path=/story/uikit-link-link--link-story-combine' }, + component: Link, + groups: [{ + groupArgs: { + variant: 'neutral' + }, + name: 'Neutral', + variants: VARIANTS + }, { + groupArgs: { + variant: 'brand' + }, + name: 'Brand', + variants: VARIANTS + }] +}; + +export const LinkStoryCombine: LinkStory = { + render: () => +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Link/ui/Link.module.scss b/packages/ui/uikit/flippo/components/src/components/Link/ui/Link.module.scss new file mode 100644 index 00000000..d5b37da6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Link/ui/Link.module.scss @@ -0,0 +1,55 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_text.scss' as text; + +@mixin variantLink($defaultColor, $hoverColor, $activeColor) { + color: $defaultColor; + + &:hover { + color: $hoverColor; + } + + &:active { + color: $activeColor; + } +} + +.Link { + @include flex.display(inline-flex, row, center, center, calc(var(--f-spacing-3) / 2)); + @include font.bodyMinus('default'); + width: 100%; + + cursor: pointer; + + transition: color 0.3s ease; + + svg { + width: var(--f-spacing-5); + aspect-ratio: 1; + + fill: currentColor; + + flex: 0 0 auto; + } + + &_neutral { + @include variantLink(var(--f-color-text-2), var(--f-color-brand-light), var(--f-color-brand)); + } + + &_brand { + @include variantLink(var(--f-color-brand-light), var(--f-color-brand-light-hover), var(--f-color-brand-light)); + } + + .text { + @include flex.display(inline-flex, row, center, center, calc(var(--f-spacing-3) / 2)); + @include text.overflow-ellipsis(); + + width: 100%; + + flex: 1 1 auto; + + svg { + flex-shrink: 0; + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Link/ui/Link.tsx b/packages/ui/uikit/flippo/components/src/components/Link/ui/Link.tsx new file mode 100644 index 00000000..177e0c91 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Link/ui/Link.tsx @@ -0,0 +1,45 @@ +import React from 'react'; + +import { ArrowOutwardIcon } from '@flippo-ui/icons'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './Link.module.scss'; + +const LinkVariants = cva(styles.Link, { + variants: { + variant: { + neutral: styles.Link_neutral, + brand: styles.Link_brand + } + }, + defaultVariants: { + variant: 'neutral' + } +}); + +export function Link(props: Link.Props) { + const { + children, + variant = 'neutral', + className, + ...otherProps + } = props; + + const linkClassName = LinkVariants({ + variant, + className + }); + + return ( + + {children} + + + ); +} + +export namespace Link { + export type Props = VariantProps & React.ComponentPropsWithRef<'a'>; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Separator/index.ts b/packages/ui/uikit/flippo/components/src/components/Separator/index.ts new file mode 100644 index 00000000..f1c875e7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Separator/index.ts @@ -0,0 +1 @@ +export * from './ui/Separator'; diff --git a/packages/ui/uikit/flippo/components/src/components/Separator/story/Decorator.module.scss b/packages/ui/uikit/flippo/components/src/components/Separator/story/Decorator.module.scss new file mode 100644 index 00000000..d6ac2386 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Separator/story/Decorator.module.scss @@ -0,0 +1,7 @@ +.decorator { + align-items: center; + display: flex; + height: 200px; + justify-content: center; + width: 200px; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx new file mode 100644 index 00000000..cf46873c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx @@ -0,0 +1,113 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { StoryCombine } from '../../StoryCombine'; +import { Separator } from '../ui/Separator'; + +import styles from './Decorator.module.scss'; + +function Decorator(Story: React.ComponentType, args?: Separator.Props) { + return ( +
+ +
+ ); +} + +const meta: Meta = { + argTypes: { + orientation: { + control: { + options: ['horizontal', 'vertical'], + type: 'select' + } + }, + spacing: { + control: { + options: [ + 4, + 6, + 8, + 10, + 12 + ], + type: 'select' + } + } + }, + component: Separator, + title: 'UIKit/Separator' +}; + +export default meta; + +type SeparatorStory = StoryObj; + +export const HorizontalSeparator: SeparatorStory = { + args: { + orientation: 'horizontal', + spacing: 6 + }, + decorators: Decorator +}; + +export const VerticalSeparator: SeparatorStory = { + args: { + orientation: 'vertical' + }, + decorators: Decorator +}; + +const VARIANTS: StoryCombine.Group['variants'] = [ + { + components: [{}], + name: 'Default' + }, + { + components: [{ spacing: 4 }], + name: 'Space 4' + }, + { + components: [{ spacing: 6 }], + name: 'Space 6' + }, + { + components: [{ spacing: 8 }], + name: 'Space 8' + }, + { + components: [{ spacing: 10 }], + name: 'Space 10' + }, + { + components: [{ spacing: 12 }], + name: 'Space 12' + } +]; + +const GROUPS: StoryCombine.Props = { + component: Separator, + decorator: Decorator, + groups: [{ + groupArgs: { orientation: 'horizontal' }, + name: 'Horizontal Separator', + variants: VARIANTS + }, { + groupArgs: { orientation: 'vertical' }, + name: 'Vertical Separator', + variants: VARIANTS + }] +}; + +export const SeparatorCombine: SeparatorStory = { + argTypes: { + orientation: { + control: false + }, + spacing: { + control: false + } + }, + render: () => +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.module.scss b/packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.module.scss new file mode 100644 index 00000000..8a92fb9e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.module.scss @@ -0,0 +1,57 @@ +.Separator { + border-radius: 8px; + margin: 0; + background-color: var(--f-color-stroke-transparent); + + &[data-orientation='horizontal'] { + margin: 5px 0; + height: 2px; + width: 100%; + + &.spacing-4 { + margin: 5px 4px; + } + + &.spacing-6 { + margin: 5px 6px; + } + + &.spacing-8 { + margin: 5px 8px; + } + + &.spacing-10 { + margin: 5px 10px; + } + + &.spacing-12 { + margin: 5px 12px; + } + } + + &[data-orientation='vertical'] { + margin: 0 5px; + width: 2px; + height: 100%; + + &.spacing-4 { + margin: 4px 5px; + } + + &.spacing-6 { + margin: 6px 5px; + } + + &.spacing-8 { + margin: 8px 5px; + } + + &.spacing-10 { + margin: 10px 5px; + } + + &.spacing-12 { + margin: 12px 5px; + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.tsx b/packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.tsx new file mode 100644 index 00000000..0f53f0bc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Separator/ui/Separator.tsx @@ -0,0 +1,35 @@ +import React from 'react'; + +import { Separator as SeparatorHeadless } from '@flippo-ui/headless-components/separator'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './Separator.module.scss'; + +const SeparatorVariants = cva(styles.Separator, { + variants: { + spacing: { + 4: styles['spacing-4'], + 6: styles['spacing-6'], + 8: styles['spacing-8'], + 10: styles['spacing-10'], + 12: styles['spacing-12'] + } + } +}); + +export function Separator(props: Separator.Props) { + const { spacing, className, ...otherProps } = props; + + const separatorClassName = SeparatorVariants({ + spacing, + className + }); + + return ; +} + +export namespace Separator { + export type Props = SeparatorHeadless.Props & VariantProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/StoryCombine/index.ts b/packages/ui/uikit/flippo/components/src/components/StoryCombine/index.ts new file mode 100644 index 00000000..ce0ceacc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/StoryCombine/index.ts @@ -0,0 +1,6 @@ +/** + * Is internal component. + * + * @private + */ +export * from './ui/StoryCombine'; diff --git a/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.module.scss b/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.module.scss new file mode 100644 index 00000000..94c387f3 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.module.scss @@ -0,0 +1,42 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; + +.groups { + @include flex.display(flex, row, center, baseline, 32px); + + flex-wrap: wrap; + + .group { + &:nth-child(n + 2) { + margin-top: 20px; + } + + .groupName { + @include font.title-2('stronger'); + + color: var(--text-primary); + text-align: center; + + margin-bottom: var(--f-spacing-8); + } + + .groupVariants { + @include flex.display(flex, $gap: 16px); + + .variantName { + align-self: center; + color: var(--text-2); + @include font.bodyPlus('stronger'); + } + + .variant { + @include flex.display(flex, column, normal, center, $gap: 16px); + @include font.label('default'); + + flex-wrap: wrap; + } + + flex-wrap: wrap; + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx b/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx new file mode 100644 index 00000000..0a7906a2 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx @@ -0,0 +1,75 @@ +import React from 'react'; + +import { Separator } from '../../Separator'; + +import styles from './StoryCombine.module.scss'; + +export function StoryCombine(props: StoryCombine.Props) { + const { + args, + component, + decorator, + groups + } = props; + + const Component = component; + + return ( +
    + {groups.map((group, index) => ( +
  • +

    {group.name}

    +
    + {group.variants.map((variant, index) => ( + +
    +

    {variant.name}

    + {variant.components.map((componentProps, index) => { + const componentArgs: E = { + ...args, + ...group.groupArgs, + ...variant.variantArgs, + ...componentProps + } as E; + + return ( +
    + {decorator + ? decorator(Component, componentArgs) + : } +
    + ); + })} +
    + {index !== group.variants.length - 1 ? : null} +
    + ))} +
    +
  • + ))} +
+ ); +} + +export namespace StoryCombine { + export type Variant = { + components: Partial[]; + name: string; + variantArgs?: Partial; + }; + + export type Group = { + groupArgs?: Partial; + name: string; + variants: Variant[]; + }; + + export type Decorator = (component: React.ComponentType, args?: Partial) => React.ReactNode; + + export type Props = { + args?: Partial; + component: React.ComponentType; + decorator?: Decorator; + groups: Group[]; + }; +} diff --git a/packages/ui/uikit/flippo/components/src/examples/button-usage.tsx b/packages/ui/uikit/flippo/components/src/examples/button-usage.tsx new file mode 100644 index 00000000..0f18da8b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/examples/button-usage.tsx @@ -0,0 +1,58 @@ +/** + * Примеры использования Button компонента с автоматическим определением типа + */ + +import React from 'react'; + +import { Button } from '../components/Button'; + +export function ButtonExamples() { + return ( +
+

{'Автоматическое определение типа элемента'}

+ + {/* ✅ Кнопка - НЕТ href = рендерится как button */} + + + {/* ✅ Ссылка - ЕСТЬ href = рендерится как anchor */} + + + {/* ❌ TypeScript Error - нельзя disabled для ссылки с href */} + {/* + + */} + + {/* ❌ TypeScript Error - нельзя href для кнопки */} + {/* + + */} +
+ ); +} diff --git a/packages/ui/uikit/flippo/components/src/examples/polymorphic-demo.tsx b/packages/ui/uikit/flippo/components/src/examples/polymorphic-demo.tsx new file mode 100644 index 00000000..e21d44a0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/examples/polymorphic-demo.tsx @@ -0,0 +1,56 @@ +/** + * Демонстрация автоматического определения типа компонента + */ + +import React from 'react'; + +import { Button } from '../components/Button'; + +export function PolymorphicDemo() { + return ( +
+

{'Автоматическое определение типа по пропам'}

+ + {/* Кнопка - НЕТ href = рендерится как button */} + + + {/* Ссылка - ЕСТЬ href = рендерится как anchor */} + + + {/* + ❌ ОШИБКИ TypeScript: + + // Нельзя disabled для ссылки + + + // Нельзя href для кнопки + + */} +
+ ); +} diff --git a/packages/ui/uikit/flippo/components/src/index.ts b/packages/ui/uikit/flippo/components/src/index.ts new file mode 100644 index 00000000..949a631b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/index.ts @@ -0,0 +1 @@ +// Экспорт типов diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/COPYRIGHT.txt b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/COPYRIGHT.txt new file mode 100644 index 00000000..200aa9c1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/COPYRIGHT.txt @@ -0,0 +1,2 @@ +Copyright 2019 The Manrope Project Authors (https://github.com/sharanda/manrope) +Copyright 2021 The Vela Sans Project - Ravid Balaliev \ No newline at end of file diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/LICENSE.txt b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/LICENSE.txt new file mode 100644 index 00000000..77b17316 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/LICENSE.txt @@ -0,0 +1,91 @@ +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.ttf b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e8c702c53623904571aa496f10ffa9623a701a43 GIT binary patch literal 258132 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%0D%9Dp~pT@7v!7Z>#G!C1Ofum!}J9f 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 ZQT4D9{ro7K|52>sdJ=(#^PMh&{{oim4E_KB literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..fab3cf66d98be2d80718269e04f290d98099de74 GIT binary patch literal 54860 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 kR7oa=h%EjCfAX1=;cI9(0PgSp33dq zfiLIWbMKt9_gde**4k@7j?zl0JpLC{6=$8ja6X^33jBHn$H@G%=FY3{sGp_+8w&V* z`~0O#&i<1H=SBIvPpPv$IRET(&U{bFg4MRVtM=S*g@@7jL?zA`nPRQL1<=-%nhB<%TQrE;+PNsiNKd&4)K!_~9$Lp2Ph! zI7T*HzGeNdcV5f0i@&4-ld3mfa^bqz%qzabZ=3nPXCoJK22!8q^Ey6PZ@l7~&Hui< z?PE$g5v4MkFaOZR7lvAXU7!LzkMgbayyB9-cmDi8Rp89y zN~ITH`JoSA^NW=~Td4x?<@wS0l~-SK<>MdzS{Kik@?4E%_)|4I7OH#ng6tW;S0&-2 zTv5+Ic@Bmik#frzpq#h5U_*tQbHhX*1$4#$QZ*%)KsuWc~@H%N72= zPGzd4=tA?iWk`a9^Y1FaAsBo$P@zIfg$jcE`J-L-=sco29jVRWKNZTki4Rg%^G^l; zs7F=W9~@hT$O>n5h0=d6Uk0ay_Hd|B!O#(PMD8olxAK%#Dt1z=^!>(vKGNUH_aMBE zV^Hl3{Y1?e5x4N&?W!Q;9)owOoulG`Vc!k^?EP&m_k5P;4aax6{xZ+v=qy)zoMm9? z+qZ+~&1ZY9*jcL108zdV@!i8gk(`5!CiC|oI796*nC2cYQd3e6@*U+F5wB8~{{lq5 z&V37cra--4bqL%(wAiNFPIM<3`emZ!cphkw_gSK2m84P@cuUNpuI<+S+$1i&Hd#W$#|J^ zo?c9m`-K7Z+$nOF`UZN`4udJGCoqM!G>_+wfKUd%+pG!#dw?8W1b?SCkBQg$ek6?a zcUP+Vl#7xPTn|UDISD4J`k)V?gK9?PO!Rs+xJAuKp}fwg)O(!2rv73drHx_-gYR{5 zk=mJ3t7iCZU4-YF_UgAIuFVPEOF6~Hhz*mrzKf&W6T3>=t)x9kyDCVLGSJ41Jw2gz zMtDwSC%=>5qyNw~N`;Yog!@Gv;hNZouktql&fFzDGq&zW_^>kf`$uhi4ZV*t6i~NI z)lySdDI4wFw4aC665(9{J8mG)ETU|__LA}nWh_Q+&%r+rE?@awJ!Q1KgfqdThA%tK zy{lEHr;n6Az7zdi$?-L{BkX`EGUfNd%Xp@uj1_8UIH2moles3`y47H&Z4=n~bKia; z_!htWJ>Or?cdt_>xDdQuJ#E^6+>5^xzJ^PA*3bD)`16K~rF<{HciWL^SGTLH;q2yc zBRG@aQI?d${0_N@{(0Wo;9}~ulE3?sy3W`)kw3Z=xraLW4p|QR5%;^$BkI9W0rz>8 zI$Axel$oxM(XZjc7G(E^sz^DZ(gN$b$5EA)@+hBQRux8{*jlNJk&%>J1lWgZwtM0#tAfI~mI2Z!SY0uc*zQF5uwilzw}Uz#{mQ zr7ip3|0<|C*F7a7gX(;9NvozDPYN zpMwVsHiy!56s!;YlzP;2zhT$q{^8ejl$da{)G_?3+9R={{F9pHv>E#)99Rnfup7Y_ zIsXyoH*&t6<8^!%Jx5h%XdTy%(FS-{sD*Rli%1$egNq^;+Ow$-w&q%SZU|W#P(D*m z_p_8GbVxVT4t{FRSF5K(zfkiyp8>88KF@uw247Xw4URrQn~kW=X*2jc?_T@Vaj93x zJ*Hf#qw?9*^<1?s<#x3vbe6i9x`;1Y8?L4n9D1;Ndh55bkX59|%zXJYKfDCc9r_o?H-YjiVh|DT8_j|b*~ZR)k)etkRN z-xWE5j)=wOpU{&$pY}>UXCy(c|2H6fpZgs82^1+{;pDmfj8d-9-B3ao*#6z*+39aVngcQ|VMW)lQ95>(n{* zPJ{DaXNhx<^A%^Wb2eTzs7h3+s#LYAS4~l8s6Mqwy+Idqt)f4K+>Yvmx^^$r;{Z75E-cSQ7u7kQn zPts+&Qa9*UJzJlt=j#P}sdJ(8H_k=QeN-?{MOC?~Q|GFS)y?WY^=W9Lcd7Uzr3VP~cDLtXD2aUOS` zaDM7M0fRparuh-~vdG_~V+zMy8^EKx|=X1_q zA@Ywp*E>s{9jZVTt1H!2dZKfM^Fe2mbFH)4+2VZJ`GH=f?sgV9w>ckkKCV~lRnAk+ zInFiCN1THyLp9LLY*U?TwmMVIQS;RM)cbkLC2E`6uKq;*+Ii0Th4W9&^Ukx*KRU;p zpE)l$KUcx9F(Dz%`WVM#^+c;LAZ3yfygs z;Gy6vWm_rJ9?Fzo5v?dSWt!@i>6(hIl<8i#Ob-v1>DIwAMqo0ehbK{|hfD_2T*V^NWoyk^y)z_+rxwPbu}ngD?C$ z|9|a;m*qDv{QQNdUU>M0dpJuw_TaIph752p;?3RDC(1t$l4f>VOi=>MwVS>SiU*NJWT zC*-#LVBCBP%Ky3Q9{HuYF4ux52qe&&cEgSkQR8%nWfLA?e;qhokh+H+HZ*VSZu7zMC?l^7N&u= zInQmIRoI(LO#8f2UF_VgK1BPJR(iAAqdu(bu|oG@haSZeeNTNKOY}2rkyxUC!xmwQ z)RWkvEUZxqmMFvdvX0U++Qc5|g}M|QQK-H{d;Xd#Qr}gR)MKhbJ+5Nd|1$MMRjvL; z)uV#UU-d55ERzb%#+EE|WMd}J&C{|2u(&cKi zj;U*Pg}P2xsgLPeb-k`pAJx_BQ@UB*pqtbub)&jN_o>_U8R{n8u6F5J>T`OA`n;a0 zzNpVqf1&%;-D;m+roO7rR`=@VYJ<*Ef2w=1Sas?~-GY7lxoh2Cfb~Cf{@(eC^P=-h z{U6Rv`gi*G`gQ$=e$y$^KiALef7HLw|D=!U7xatzm-<)wCH=DgXZ?!)wf>F%7yYXK zSN)p)H+@|HyZ)_yOaH-{6`Rc{YkxDe?VWVKccVK z=jr$9_v`cZh590WiC(Wa=#Ba^eYw6ue^7r&U#YLsSL+Y!YxE|4t=^(H>+AGKvCp5- zAJaGLoAnO;IeokSyxyhn)L+nlrti{!uJ`D>^;h&?>b?3Ny-(k(zpDRA->1K>zoGBf z`}G6*oBDu$NPkN|qQ9?ypuecUr2ksqp}(yU>F?<8>hI};`eFU3{xbIeYx+UGR`1q3 z^<(-^^$+ze`mp*lJx_f>&rx5}b5*`Nq$a3Gu+|T%Y;{28sE1UpI;gVLw^UetU8So1 z*z)^Tx_UrG)HhUz`l;$t~ukE&7qooZHpuUgbkRI7SMHL0i7e05ySRj;XaI#aFJ z+3I{9R%>;tx=^R7i*&lWKu6R@ovSX>`RW6@KwYjUs7rO8+M&DDPTj3;(Y@+cJym^H zPgA$)>FP6jiu#IvkNUD+to~BJSMAkHjCU2!dX4e1A91e3pFf2s$GbXbI&++}oVm_C zXTI}i&KI1|;&tzIb~)d5zU@5Xd4@Bnz^gDRzY(Lt5EboKpO z-?HYQe*4o0)mf7srv8Bo&Tl!W!p#*Gb1yw>zh29SNHZ52W1OWnSIpZVsF}BXb=8`R z9ThtkuG>*DuVUkc>-Gn0%#klH*|DarV!t|j^`-oO#p>ApzBMI-rG14nbIZGa!8H!rH#AE;frdfDpzThA)l-*?uUl31)_?*2!YuHOIXStYSG zYxq^hU`Z+Q$1aV!WzM9`8I63OW$$wK>ivBs`_-BqJLH~cuda&i-@0Q*$qwq_em5kRUA_|%IAptInDi?;eO6?Kj*lg^W4t`?&m`HbJYDj(fwTNelBxASGb=m-OttT z=UVr3z5BV*{oL$+ZgoGmyPrFcws+)r$0meM5l4bk{&0#2ZJRjpnu?06tE)FPHeTJ_ ze06*KrYTddo-yN^Gtazc-n^^(`>$EL^wz7dhPN^J(gR<@*vK>e%t#Tvr}&tm#KT;oM&uU}`}7P7Do@w>T>;JW-4Zw#?R|2ulQygv zDLr~y{JJ-v99Epc@~p&r6hq`KerZJIX;EK!^5jCEPa1`Cq0p9RqT3!)sb;De25H68 zFtVg+ah%98D>rZIA=+lpJu4Mia*b+Kw(9P#f->FJIa5xuw7*jKt-9@;rzdrkm32&d z`kdRGuHn^-o^#tOzT+4C@Xc3-R5NI0o_Z#=oj`M~P=D&LWvSGm)K|+yrCg~`lwVA= zwJbBO{18=<%2CTy^dYs&LxOT70j%;&Egi1dv$Dan^1*K_Ans_f(%&yP)rIVaJ2m(GbFPZ>k?1AXEz{`>VWdOalmaeVsk%CE{F zi~afwPwsv4B>GQ1^Ca3&$l3B zB8-${CFaAlhcfgl7b2!T%nlKB=F*YMRnGfomp~V>Gr2g`T>3w`^mB668gMDt0&WI( zf_uTk;0ciV{zK%ea#aMW9#pmPsSX}>ajnkCc`{G5XWa>I&BTrr78Opwj)d!GI^C1& zYO5+!!eh(%;H*mvr+%~|zy4DT8tbO#q!qS1lRNg0-SAQub?44p(b-b-fmNX^(i)mG z3ko}&ih<>0G{giaBflf4=%ME~Tm6k+7iWm1&+zG@S1$DWbTM5nOt-qoH=f`Soye(1 z^u@*kA0qgwF`qN|Tx>*D#xL_Z!){F{P7*!E+&^kWC-PY`TaD(&U3?Sc?4asG=AFpA z45@dT?`932^>H8h)gkI&|59vuZC$Ibs?5?83W};~yC++1h;8pd6J16vW176coc1*{ zo4Sh%qJi+f%-prh?Z>iQ^C=!5s*}aTjp1D_P34oyV=09bdpjmwxLiJU6cm=25Ao~9 zP>tuGB}115=a&1m;)aQdxG^kB2>Y~>E*H|RRuHcdC=-P^+VCwzIHbFDRb9Bs@7<;x z(-m*++VxhjY=B@A||l$ZFTCaKK96nxUa2Cv}d!wVh}ceHtg(i=Nu{E#Q(3F;&M z@}HWN^WCV!O8JnG+9z#z9z;SS{vg%Khr>BsktQ&bB8<}+RT;+Jgh$Ybbu*ry`LEH7 zldKoqMzUT4AI4Y2%SO{nUJ-DxOC}qge3~s{O-}On1E9 zlS5L&`sGMgyK*$XN`E0WLj9Vsdp+t2zic|C=AAy-G|Po%pKScSNzYbK#yU&&JzHJt z_A--g^+8pS{2GrETlHdxTR|@uvJq%D=b0QO-fHDq4B?jZxt!10d~Sp9lLzf{_uyHN zdxnI^W2r+)tv_(VnC5w#C-x+>@W2>`xpM^RyRloi9$Oct)OqUje%WVsPjrx6 zTbCif$gsSWl!eGV2eT=>l%BeDtR0RiBHw)ErhrC{`Robk* zs37O^Wq;YrMgHYJ4He6UVqfc+Bo`(PwHz@Ffr%zhZxk7GqsY-Mi_a_TACF{G0=2`n zIie+b<8HtB24xgpi?pQQ-|v^vsrCCk77zCS(V)NBUn2TE7Wl&OVy-><=9NRsL>?qw zX*ef+;V zNarF*=ORewB1q>VNarF*=ORewf;8j%#R!smnB3dbYm+FtD$AKrP)MxWTSOKjT?g0p zT{5+ycGl{_#E$;^$c#&-mlbAL<(*%BS^US}ek5KwYvc5V{d1@3LP_|%wYKb>73C8q zWoKXC(Ho4I?2l{9B8}Lw652_vMlj@3T>(}~JE-)v6gM%E$UP;TuDH)a)2ORO*v6)r ztP6c3?3LKDx5%12E3h$$a2q*V;0B zw)4=iwvm!G_!Ca{%xa6kExdyqwtO02t zUKG$mJMc#V$=)BY)Q)6Ifh37Nub*b+pN9O?kbfHTPecA`$UhDFry>6|7r&&4oM<#r;hi z=WT7{j9+|&2&^6}aM3%5Gvk9}#4B&!Hk2PGuT1Z05A8c&eZt?i-9&DJ9gdK}@v*~= zWDGlUFq_t4+c-s4rL6ibE*fPcfNFD`JGSLYQ*C|ipOt>JB`lf0VYa_&)P|6?MP@3B&$;G z5-laHm0N*CjS`u1Ne0^BHk0E-WB(<@Dx&C8x@sBRXlDRM>X-+uTua^nj04Z+KKTDkYM za-LSsugf8LIZrF+Y2`evoTruZv~r$S&eO_yS~*WE=V_An&y97K;VZJ7a9KbO0Yu#? z*``(};2x`Dxz3S+$DEdnzj4Fjy6N*O8dfc6TfXzqRq=n)v4({`<>fsKE1FlH)!2B} z%I5g9p*`&veCC3AA9zn|TDbF^k1o6P&WqZDcgMe`ULjsR)rqSHy%w@<=BlZ*qsU_Mv{Hh^ovP2di24|oVX4qV?p3Ew`6V!(_j0|zid z+)EVZMKNzt%v%)m7R9_pF>g`KTNLva#k@r^Z&A!!6!R9fw|j<@mwIg-lusm6bW--$Pje=k>ee0}oz!;e$GG_w|3bcS~jbwT4ITxcJUXdna%B!iGB@ zY0!CNb0BfM|PxH6B~&(iqM9HIMhDENfgwBDPRFu4K{+!U_00i_JM=o2oPmMzaq8tiE(Mg9oD+Z%%DRimqFbXAS6s?k+7x~fK3)#$1kT~(v2YIIeNuBts*Qbn$cA`x)QU9u8Ml; z_otp*T`S03#*ZC~AJbnNm(s#pAAB%=K=;3K(Mi=N_AOp&?At88)vvXrQM;tE$tmJu zr}$iKqK6_qdeavPA@vYa4R1rK?1Wy%_5{oTugb|G} zq7g zmK9`Z{h5qSf2|{Tjbew_{@FDP(^|{c_VulwlCa08+UAEQ?EiPQc{kH{QWJf{F*{T8Ae|dAMk%<+LQo5O zz&x-LtOuLGHn0oq1qZ-kknCTHKl4wjyiGE0zID8cJO1X?C%4m%^c6yl^c6Bl&g}8) zEoruuKN8KPPaqwO{O2{}1IQv5$asM`Th%uEvRL}-bI`#Ne_fM$MQ$R^bn7(zLNDzs-8bp?=5v&p5fdn!^pQ$L4l-q;7);`V<_Fr! zp%_0PITOf|%8C3dy`-sNAy@-01zW();7)Kaco;kZB;Y9KjxrBTL@ras8?!_iAee*YNZfG3KH5IDMYDP6e&cJLKG=PkwO$H zM3F)iDMXP%6e&cJLKG=T2Z51TYA(rzFvl==E+D<1LT0kS^c?|$ym^e4V+-uDDS)h` z7nUkLYda%{4_pYMSJXO~1=tz*y4Ud!?QuK&@Yy`y^jorrmLMcCRLGZ;O!Qk0kw21g z1!5^4B#ldY9+^@CJ2%P_J0huws{Agx%7dkFUSf=LKqtx~Vf-6sB}yc1%$7-b!#e13 zvPLGOO6O6EkY&myb0)=<2$Rw%qeR>}!YE0R27nCncs$5~2QvPhV|XBcD)TjSIHn)9 z^2{~u#1g|-q32}qUP9p85_Pg9c=O3bt%la=@^RNmBLjb(B>f{49#$tA*Gi1x+d9~? z)3)uT1HTdu>xyH>hsS@EC^U-bx1(^0V!Lg4iaV}ds5bda?vAe|+Hhi|KxP0+0!zkt zWei@tbecQ4K=OPdcF9_0A>?$91;QPfJS;yAa{1?ncl-=1z>e9voT64j)J^^{!7yn!GDFy7m^7dX!m#98 zYUa<5sIh^&bR<<@j|^C#%`|o)&jb zLz6o0=WR?ZTg+$KD&&Hh(I8gDPHtm{87i{@$wVqtjby~CEp+`R$OA0pg{nxPQea4IQE14XFjC|;|Uqa@U&Q8kJzN0~k`LMsYvA8D|2 zAZJkE5BUT>;)rMbr^y=d_&3d+JJG9t;nzWnh`hz8gT%~<#1M%$L86nH7b4nP=3rP+ z51-V=r~wtPM+hw(+t5!l$8OP2Hv=~EN3BRu6xz)fY5XvaEO7?kwHji})oj>V=3bGZ zr)Je{Bwx>8CVnN;+r@-+aO^f!tWG z-xcZSbk4xtiJGy}oDRyHxB7e#WfglJk{Bsleb8UlF{7kRlM)*>TC!!8;V&tt?Q>YK zFJ+c?lx=$pgRzSkVqX*`=6A4|uF>`6Ds%j^htAC#Q?8@P(~GCXeKKBcm?~WcBT1~K zUy@Fa%*uPfCrWqT|6mytdN+2lTJ7`8(w*s^@aBox8VRddZj2p~IfW=irP8UWlvZZv z0H0p#$E~^jq%o|SzyA83k<3`!$F1;)#_Nr{eFF0Ix7O(IT)%wA)ZaU6CZe;nCck59mZTL!N`U>$%(+*-ov)D=FJxMd63dGv7R(5bHOCldC(|_Z}v4nhS3Hj0z@}(u@OH0U?mXI$kAzxZTzO;mVX$kq# z5}TrUmXntO<2&e+))usVxpzHx1HVThy>=^1@p39s_)KGw-MJkxU%c+0-x0W6CU=y# z4{S>a-aog)&g+=cF{lRL#Eygwy^S1vyZV8jD@k)EYeWHNMnJN6YjPb_2JLg`RBc>3 z)vBjDH5^-|oq6-R>)g2?+1%CoCYcbJh6l?Syi&#=Nys8SXgQZbc=1*;;4WcI6Gs_r zuj9OJydKO?TIa-=u4`sOswp$Z8ccs|P{4@5_K5@W&>p(8L*`12Y3-#GpXd`KsnPqw zI|Ek_?9s2pqw?4r;{!kS#!|O2mfEbB_%-Rymrhtkcd|#KDY>s6*9v@VkR3Bxudx$49FIO zTF?XLft6rA*aWtLU0^Rb01g8;AvuX50~yV=5m*y0v?eQ1#VjisEFdVY2r>}M1!;#e z5IfW9jdjyNgVz)-zx;*;xBq_s+I0s`+`*0_bLPf>lihdzmiZU#x^zm{`rYdmY`th^ zC_df!*Z6B+Yg^P^ddc^7(f#)@EPKW4Z`9A;u%LF%#}9twBL_cmX8p43&W@jW4#C;6 zzinYz_cYV286KQ-mDCGx7hWVZTO^IP$j;jF);i4~+axrTe$Hg8;mQ1FG8&$Yh9{%p z$!K^o8lH@XC!^uXXm~Ojo{WYkqv6S(h9{%p$wtF@atotjX_t*w!;NTI24Bc_ML3Cq zdN2hn0IR`9uo-LzyTLwi5F7z!NU6;Py~*qG&S2e%J6za?rrXeT8=97l6WY*p8=7uI z(`{(F4NbS9={7XohNjy*O}C-xHp(ZVZ_@g`ap~Oo&5*Smy6aRZFm&5ZW(Eu+R z;6($xXn+?D@S*`;G{B1nc+mhaWE#tCne5mAFJv-|^p#nXV|Y=>{mtx^pD{%HYcou1 zcu@{7%Hc&hyeNkkW5d#U|8Z6Kb&uwVq9= z#U|7mo4}+LRcma5gj zAFs#P@XwbNfKzyit^W91XN<4Sn=zMAXGro1Tm3CQDZWhV^7)4^joK5VR+8$J=~9GM zl2Zr)$su_ClXPNlF}4yJ%6v{aN-v%fn!$f}>OAKLofm&?;Nzh^1N)t&Z>@Ef4}2YU zz)cx9dYUrJ{uYn8TmQ-s0B0$+mTUz=AA|!ESl86pdP&uY^)Es4QupA3z zp-hyTMSx@-z1m5}M7oOk)J%-NbRnh2S?;-PNg-^NttjL>$@X^TR&{sL3nu!T!0H*1 zLb2w!uyH-|qYkC8O8n3U>HD9vrW z{t39=h)cTLD^8)f0dIkjXx2Y!lt+I{a{6}OspwlW+yT6{&DG>_MS7(sn?#)x>Ayjx zv&ot_7_%Uue}7uv&jiiBRZ2eq4+5&w&w?cGCX|j@4^T?kFGAS1N9V~J1>qF;a;BKE zzp$F&zgrTg5@UbdEi6=rGLn-DV~KF=c9bty%YaOLqt5e2^~`hLzMbbhXmmAf&y6Hq zB~&A~mr)jqWi=p4N9p3VcLZ!4kxykV_k@>go;f&xCC?4K{XEaTCT!P_rK|P+8YVT8 zM9##sfR@riZQ*`MI3W6$h9TqVvd@cTIZcD%XgQB8y1U?X*8~QSbM=kK2R0sWp=?uF z_r=05D|uJ;`T=AjYukqOa>tOpSF%BkCWwk=aObSJ!tIu*3voD?_xC=byp6tC3xhxXuk{@nkBq}J;uA`?BP zM4D0Nnh-{Y5pEHv1HE8ASOqqKYr#$64sZ{62s{qlUQsR)P%fbain4}4c9&rnAET%& zX_z8nvz)7^mzww!eZM5nw;c1Dl-&FL%+S^$>$Rkfy!|l$yCW=ly?XVezs9GO*Gtal zVL@b}i)3+_HX2|rz#66B&&g49!jp~y_ZKo{A%o9ibL20?3Cm(%Nd*%1$zPXxe=R4Y zFSwDvsF&{7ct)s%1o|gq<@MrQXn7~g=Rq9e$hTh%tc5od)%AWUy4mQF1C(@2lXPg3 z4o%XbNjfx1hbHOJBpsThLz8r9k`7JMp-DP4N%v@y4o%W6O$yC$y{rRhb?R!$n7~7_ ziM|CjWW9zywDOh@EiKX+p|X~q()`BySXxF<=hdA5m9o|qTNd?|cGMK6O{grIboP|M zqbK^V`1Z~35&KDX`vwJMPwK#8x9Fw~d%H-fNpQSxj}CHIp@P4lQ}9yQIQ zrg_vfkDBID(>!XLM@{pnX&yCYw=|n3$fKrtwx*L1vDpvGcCcv$BUIQ~cTAhDCN_;$ zad(4*`$n(7jh!c>(=>IZzxHlRPv|rt;$Xq+;E;p6k~v`<{9PsoU$1D%GJs^yXy&#f zV%@LA%K0!ema1b=R6@jRy?9`+vo*eN;0N*72$(lIy9cHX)H=5gTq*G({d!x@qM>?v zmn9Wqij&B5=Yk}c+=htR(w+9YQuz$BNGKzL#ITwS>Fp*}OFuf;p&eSoAw5^I(R-Lj zR)$_es>iRFF}%8jFO<<=>*z5ee&%x$ zC2l~4mwRy{&tr_*twT;FyHcy10DD_UgSSdK26ni0%Tq(f7Yo! zCi8^TL_4m(1^{LD`inBm=ui)don?bCIfjo)J?Yi)XGRyabn!)1I+td_9;x4z z&@%qb7vtY#Q@ss=JKtIxxN%^KbN`9!h5ytoR7>4bhtB6pV#vF#8#PL!MlyF)228yg z$!tNXkxViSxW^QHE^)DVRQ@Mzdz0zi@1XoWfhQ^dlP7w_r2@a7lC{Q}AT$PE9QnbnQV-jLWteiw#! zZhz0MSzr}osn z6TwqF1&t&=lznAnY}=kuZ%J)S-DMe9n7W7thtB#GiAevQ4GP``5>i**G~=&nlJ`v-c1fD6;5r+2m#`i0 zbTpigpR@5o)ICGPGH>2nV<8h$CZIW4S0K~Li#RWmMdQSNDOHtq-9@ZsA{LxnTW3`n zEYNwMzhlk(npjrnS(P1g2cDuITi{$1+VkfA-Mb2o1Om~vs-_QoFmUdPKH6_zg3r=V zXgx_kp+Tad246H(BNzNz1SH0llV=EIpwFQ*0}jzMsWEBbL(HPHXXw_O9pFtV7H^~G0^;fd;_3q8>H^~G0^;fd;_3q8>H^~G0^;fdFRm^i zt}Y<1wg$e;CfLhJu$OVs47$lipk-*Fj0Afb3HCA)>}4d_%Sf=7kzg-VyTLwi5F7z! z(5)UW3P;iki0dN?& z!!=c;?5n8h(Dl>aikZQs?d|}+e+l*7Iv|Uw;{$hZ_`>?GuJvEo;2wPos4qVpe|6u! z_^XF6*J|D;AG-3Y1D~Adt)@oj0ke*Jzww1ds!4D2YkiDWV5Fn1)}v@Wiq@lOJ&M+& zXg!M7qi8*f)}v@Wiq@lOJ&M+&p4OviJ!-Tr#-7O=GOSXG)@2Tc(RwA{SEBVwv|fqU zE75u-TCYUwm1w;ZtyiM;O0-^y)@3FKR;d|{%c>q}UE)hpt=1>8mPO`CaO+e~ia`UI z3KoJj;8L&!+zjpn_kxGP6F}Co$QmKp){fk++15^$EZZ}l!gqC+33V``4kpyWggTf| z2NUXGLLE$~g9&vop$;b0!Gt=PQ0FnB4kpwYCJbM@Jt`aSBr$hIVs+W5jF1R{%$;vh z;Mm0Qcp;7;E0I`;ZQXks)j?=aHtv%Rl}ibI8+UXs^L&I9FqAQ+?6{{G&Uy3-Ofd>SlvsY?Ol~f zxz%#36?@Z)y=leXv|?{su{W*Qn^x>iEB2-pd((=&X~o{OVsBbKd((=&Y4z;Q;J%~2 zC9R|JDY#yyK5sZ?(_7lNf5hmd@@-N&ZYxALpFIh#3+*@gKkN|Py35b4F)dNMJE!80 z$Rf#}1hTJ$^oiQcu@KuLpB=6jnm97WJ%h~8@#VX;TBpl81>s}+sad4}W6{njS*Dmw zR5&&B6yJUve=R)1M(y|6s0aK!8kdb4zAfw@g^e;SISqD6A0?YARu4UkeR8l@cDt#B zee&DG(`TLN7Vzve=}Y={;T?yS3Vc`6p5FGn{@oKswNi;Kdr!?q!L4t)Yu~!me7)Dt ztw!;GjXwWZAr~s_)Fr$6&HAUI+xA*Vf4Zi;GD#K1&9okHCLVC6byE>eqM#m30Smxt zun}wq+re(I4;%zXfSJ5BN7?<(+sr&X8}mfalgw0+_$L>Rl<*sy7Akko3>&9nvzYy5 zz2sE9$Ya zW7lcRWQ%D#$mb2xNT4hegUmKBVFv7rKpp4> z^T8^x0bC1i0(XFWz(e41;Ewf{!cCdqY4f;DCY7E;E!>njp>QU`NfgwBDPRFu4K{+! zU_00i_JM=o2rzcDiD4$;r1!!eE!hM<7cp(q-GeFydt?qLk4fdE7&HK05CMB)uqOt4 zVz4I$dt$IB276+#CkA`WOi;0pO>nx2r#8XqCOF*$r<>q(6P#{>(@k)?2~Ib`=_WW$ z!R)SNO>nx2$BVypH`*Q#zn0q_xb@=kSUj^U_gBZ+!6X+UeSnb3OOm4s`WZ4tW>S`l zHyVa081X+gODXv($s^Xw9FtGLD4ANqp1<;;*nCK28f`AKfjHa0*Wzg1G!tO^wp<*w zL7TXGoJm6)P<#0yS$F$?c|-Dp|3mVI=JiI2Js(G7hW=YZ<4=yKr9N^hS;N76vWbP8 zRi8fSZ>v=jg;e>XkmME5c7=0`jVxNAmh9Txg7t2}dbeP`Td>|OSnn3BcMI0L1?$~{ z^=`p>w|LgO1?$~ntalX+tJhlZUaWVoXT5u|-o3Onc{6t}*1H$$-HY|^#d`N*y?e3V zy;$#FtamTgyVqLp84N9mwYGas$e>WCXSLt;i{hd;OvHdf!{WGxrGqC+Lu>CWz{WGxrGqC+Lu>CWz z{WGxrGqC+Lu>CVU+dl)_Kf~JoQDS5Nj%TB>%UL{9P`qJ0bQ^ia_>JTA6oX?}Da)w+ zG(FE{pKKdprctk!D4I8*hS=Ly6=0_`>z{T;WA2p*^3C$OzJ32M1y|*Rxt=p1D zvi$z2k(H<3tfg*G^X{835}J3H7%@HW5c7WW)g+_&CTn?`#HpdeCN$rK=9|!b6Pj;A z^G#^J3C%a5`6e{qgy!Ag=~+%*21fJKFfpR}EVHafMvbEGix_1RvAmqou%R6`w0mr5 zhYjtpp&d4~!-jU)&<-2gVM9A?Xon5$u%R6`w8MsW!-f=&azEHkb?qDzsnpHcW#J(<~e09aZm$5sr*j z>1W>oEzIau$vfwU#E;e{__#4Xt1yFi!-*Ob)*%~lnxVch3@HNgZ!ee+R)G!RT5uD% z1Ka~10*`~yEyN5p{eP*YkT~_7Sc_Ci2ftI3ksQbVpWR??+JB+lknHU{vKuB^bsjr) zyAdXOeWzAqXe=ukwLNY$(eL?`q_>gPOMqMN&+Hx|(MynMjI&HbIbAt3B8w%2xc*qQ zip-IlK{!3J=)2BhNd|bXsxp-?L1>cTE{0(hiK~c&q_o5-?>YxZzG9S^Rlg(FjU2@~ zUwsEO95Jem|HnJ`XEK&$*2^qX7Yt_1R(iagDKwnv>t{`t3zID`z1QIsyNRcf=DIcW z1VE14ED(jlk2Eb4d*p5vDy8VVc>bh zM&}V5okwhR9 z02~Hx-_DogC7O?c@$~Bh%VpZfE&T6>M0ak~q@ta2c52hk2InKn`pP15y&v~8XN>uX zGL_zr2FOH&|Fv@yPy0MXB6I&sNk+@~=$GY1h&pE+vJU)>7FM;PB zG7BN`UaX`wtnOzbG-CV<>UgJw~jOxZkLTl~mgsjO2o4o9}CI$ixknPP75tJ%^A z`y-HmnpZ{@ z7WEc|Pd`+<9hA+%MFF_%t&&KGF{lOI5r6il2o^BTz|Z%0F4&q#>gc zk43$BOcI24?mMiJamG3_)sj9WDv59s1@&MGSO8XojbJm_4t9fm;2<~xBte)-!m-Y< zQD#@?pibF7q>!VGg`KW9h{@aMl*ydIPD!U!f({;FXWR3cb8j8BoXe{hWZNq__j&^p znYcZ{6jesSnr&~O8PC=XVVd!5&3LwEJXuL$-&P z{oh$d=e}&ON;ZkHFZ_({bk4f*ho9{0`{WOAj6bE@umAYRua6%M?dkjI{;RIM|D%2J zsPpnwS6p!wl%Tz^#?I6`hw%Nrao5{hBo&19W^bQ~)LGUP$p*OI+CQPQbJWy-0zHKZ zwyC6YQVbfvRIm`N0hfX;;AU_qxEDMOo&YlAR;C7f?;enM4p8?AiP}#<66STMvIJUp zj#U5Oc>?&I{%xZE#*SbwikLnBkiY&(PRd=jnpmjq_gVo;ce=tEX|4gY(oQxWvu8G* z{2x1|-cz|uDf6b6Rd6mF0Zqg@T6Z$ZJ+pH^PS=!s**^^jG;B0AC0rENoxOFvMY5W$ z)$xWqf}dJ;c+;@>XU^=)_r`c@UAB`vNU^IfO8G)(DzXL8In7FUAhA~7$rOsW9LGCo;OE3fNt z#2Y=w_|yAym%?|sj6>L=9(j$BStc}^1gq$$T{Ef_ZSU+456GsxW5`n0{}i%@ z;%9zYCM_0D>@4BR(w$FjWErK%BFh4fQNub})m$d5t3Zw=cIiY3ER#*E4a-VkSqUsF zfn_DItOS;oz_JopRszdPU|9()D}iMtuuQhTwo^_6oLg#(m9P_s#k|Yz1Z+CMJ z?r(}jhVH8uM-iib&U^cizH?MzdM_b*YvV}bgqQ56;I-cx^^bm8o>~hoR(95H1sMX% z&yicS%_>Zi<;M6TRc5&9eIu-$RUfH$7tR+3@&yav7x_tu5SlP z*@s{$`@_5zdIT?fonNl54^52sCZa36gw1G1aLy3|<_HI-V%xNG*m`*KO=+r?pLhJdbCX2ATntXnO=j)q(R6V zmNRJ(nKXz@8bl@yB9jJ@NrT9wL1fY(GHDQ*G>A;oAjE0r9R+e%&KrrFu1j)s=}cWPeO-UU&iIb_ zq4)mjUtjaGZt0Fc7ro=!DQjlN-oO4o|K_h(-1(ETGe7#Z%NyhI(yqDn7dL$HLS3@< zt`D8@+>bghyE57|y{f0bbWZONcdg&IWsZqC4Hu04@6@;W*^snXkbfJ849kWL*pLAm zGGIdnY{-BO8L%M(He|qt4A_tX8!})+25ex@LAx(d25iVMY$!pfr*S2#tTK~b6l9fI zA$lvc%y`$MJKU8!wi;JcXm+y~GhxrL%si=#r^*hETu4rRlkY&et+hqB>NHXO=^L)maB8xCcA9Lk16*@i>% z;(*f_j`yI+0?V7z5Xg1FnE(!?!}xKTwr_j!Vq44@%DaB^tvKpp)oAW7nS|I;8MR5c zX|vPTxC~9jpyS?lDn#;p`5PCV0+qxM#Y>GJTA-iuTb`tiC=y|&8!OEguFaNYkbA-P zRA&E;kmc2Bcz3eAysF*im)h}E?v$elCs9xjrho-tHP{F?gY959*ar@RBf!jK?`Hj% zgb{ObgmRogkm!y+zx#J6OShvO|0ipAO+Z)Hc(<)W4XGqT-{i%ZY)&b}@B6pS5y z)AVPExz%)igWuYX5p~O;zn$RLgL4%BDVga1nUOeizA0Ombf2o+P3?N!SK{%W56{lM z>j>R=%+s=O%y>yc+B>n;|EY!IzZ~qBjXx-lPxN=zwA#VEm96ANJN1zFnkKCaNXm$o zijOQ!_K_yR5G3}ulZ?XFTZW0k!bD+Vh!!Ra3loKfiNeA}VPT@MFi}{TC@f4A7A6V{ zdr?@JC@gHEFj+UiiXrLO72qvpdm^+I;Uo&`!4$9ntOgswX0RRX2K&H4a0JL`Op{we zQXUf1%WiNI(@#1IY;2Z}x078|jkin3+oj{}((!ibc)N7GT{_+_9dDP8w@b&{rQ_|= z@pkEWyL2967o)ckp9SgY+nFztqAKM|lY2#04b|4=mT9{a7k#t3eA7YG;Vey}J9lz# zPjy#knJ(f#UB(N87$`Y#=7+25*0j&Nbo#k}vaIvxE$b$qd;6uunVIp|8s_T0qn~_emC7wiQj~C>AW;?(t?PAIOlh zjH61|AdBRZ>@;ml#F2k*(5vFpgI|hI=Xfs(&ILM$cSpwK2ja&E4mt~D+(hJI_q)g% z`hMu7aYlciWay53b~I5oO_#!CN(p7_W|2_7-BB;#7V9Z@JG}|ESl&*0p4=D@tt76! zA+(3_(5+drN9Zw_ZOVxc5P60v@wRblP8QDC?34EnyrG&TCu{^bs8QERPzhOAE*&k| z$x_7bjVhYX7vE>oNAP4lWJgi`Gh4Oze-0WjTf5===V6;FsLurTm;TzgY2pMAlU`Hf zPb{6b&6K6H4~2kq!-ePaf(y~8jOXT>1%R!N*;$$O7d_^Ly-%*BU3fcHXX!wgRVXxSeJ(5!WW&ttuwbN(?2k z3L-1nR8-Dob63fH%Lbxylt~;}(tS>PV_0A$i9I{y{a~wx%PxA(ZL7*UCQa%n<9Ba9 zc@h~)KcjT043ow_lXj!@8?})-9;a;+Z*jeLXgLbM9NN7doDiq!O@)yc6w7uy*`y9dT+&36r0{yY%i;5FU?lIdVQ)v! z3+97WU<0@o+yw3b_kf4Mtc1UUuvgfv1Q$T)HEdH%B_@6 z$5!|e7Whj$Epnxlivt$-D_i3aCr_C921%Ctm$J5HMDx8_HZ=0=l&ru0qqpB?(Q>j} z^z$rIUNM{%W7QzT}7Y{^n&?d z71#i-1vh~^z&+q0@HlW=PBkq@wuGbQ#K9oOuZE&DOK|33f`vb7a{Q$3tqcZDno5&PFt9oMx6Djgy?qXlx1~H&P`cSS2cT6 zO+`QtOp~B%sL&iI(lxiuYsV>dCJt*6{sVMn1;%r+Z#g=-3i zU)*U_$r+OLtri_invMi(&acN5saXYDHeR{LuXDNBsJx8)>0zTR`)`0I|IMtF$JULT zof@YyHbYOmZkA7ugQss6iOaD*=l|DS^{r4Gi>t;l1@?@^RatpB9;O9`{$}bx2++uHcxihc>r)ylAEdc3LRJUOVI^8`g zJ%?6IHB8`ULjsUUyt?0W|^ljh8Es6Xyjh^e&B6G}!kuyxdpG_rYqMxkmlj-LY z^qlEtBW3lJd3)+}^a_6i+-#@31+El>TFT#)lI<)d+gVDsvy^OSDcR0avYn-5J4?xS z(wzj7QkC_B@&r80sjRshiz;KUuyfkSYVTvNrHhWsWf93Iax!5W(cihuF_FNj^aW*? za-yR!UA7`n2YSJLunKGd*MghC9pE1D5O^F6@9()&K~SB{OYo9zl9MV%&5E9$eNTc+ zAF;hanP?=h`S5yy(u20YvcZ5|Y&ImIGOq^^4@-HMC8b&4Ovt->^ zvAW+cxl_q!4P8d|U!2>LRHn^uAsO8DNI5Kh*eu9 z#ueogCS_+|-_a{^liRK%jf_2%u!e1}UnfZcz58C0ghNk^eMxO>(j~`LMJcKp=Rt%y1Kxx zXLsRI!ipp{+a$A+(6dB~*Z^Zpu$$(Lg?NKyPSpkaSMf&uUfs!>;H8|s7=IxCSo{ah zPn{$23Vm!~%0Rt79?!w<@=x&9&>mF3>YbJ^Q5-rw@`^<9fl@+gOft-DZE>#t*LXf@ z*D3rvGoJ7C2UZTe=#-uK>c9c|fcz7D)!4HPb)ml`N#heqO(bEyZ2TgbG)f}x6qJ(4 zO9L~EtR%RRGi$cAS1#u{+4%knf8nf|8dAi;GK!62lCr;yNkvL(wF#3X1@gZ*UfLpa z4Q!d^eSlJCxnxJt^1YYIyFz?XR~$2AXSu`5>zbRPWe&JeY^yDyvn zujIMB5;KYC=7sd0eDg75$A^g5wOsy^dOSBdwwM~S7B^{KNYbc8^0<)Xw~AGXm91>g zE&P^O*h@DoV{z4l4g*5sLY4jJ;=r5#s{e?983u*Khq`hVv4H@m6mIRc& zpX@STqgv2C7GON7s6jIws2giXr}#B~&5fB~dh@X%3e;+y>jP62giL5}jIM^Ya}Lpw z*oH9HtgBng%rz1d>jF(Do(XP0@l2p89{5T;e&T)du4?lPfwQ z6tSx5VlxT1_282NnG$Q?pLm{iTZ2y(J87RQJ}XBp^glPL7vOhM!{^7z5>#3AFVn}e z%nSwlqS?Ws=&1Li+2%xXyyqZ%Ckm2srHtLYdFx<7>{_P6;7Vo))$1XVj~jQT4z4drbm!do+OHsYQ=HTC+BNAT zrmAvd7KK))YeFraxdG2CGvb2iP*%3sc}`s8Ts9byS#oCDRSMR+5Y&PmFb}K*>%k_l z4eSDY!2xg>n8e64oV)~Nm8aabPSy%{7EWN|r0fbn0yC$@Y*3RDuA8azNjosB*6E$8 z&(O|U|N2t=_~fr_T6W_Fll471J9N=`Yc@n*Z~52H{P6CkMKjwn^TWZF|ML5R9iLvl ztZmhng?dVN<+%mkn(QUAM!KI)muWd ziEgf|*+jfU@|H@N6`x^dj}?JB&57K-aFUKLV`H&jf1nFZp)HxB-9N{x?xE-Ea`?N-LRw^mUP3CZdlR{OS)l6H!N}2 z&^^n^%RsC}DU+|djgV#Nh_#|(EgG>FjeKpaMI-IM5o^(iwP?gzG-53pu@;S3i$<(P zBi5o3Yte|cXvA8u4oBuxbuq>&v0@(WLyn5ic2Af(uE-gd8@;lZiCBg%7}N!Wx?oTj z4C;bGT`;H%26e%pE*R7WgSuc)7Yyq17}N!Wx=d9fJfX|nSEi&(3{gjwN=QMKCZ5QZ zGpzNHnaOkv3(D-Gi!PQ_jFUb3HSEa;hA?RD$r+TgLaa;teeaA%^g#I$btJtd`gmnK)-(t0{@Up>{@WT#5V2P1(>R7t15AyzZzy8hc}B(!N7`(?{oP zsJ&Tta(feg?j2bhmqR8e)5s$7v-PL_KFb{hP57+D3>epEwTaJa^G|a+#N<&)#vD|# zX*I7Cls-&9zN;VK)sOG$$9MJPyZZ56{rIkad{;lds~_LhkMHWoclCP_PCvd&-a~kZ zIA^lzHwM3n`_8hyYZkt1mgl=>;k#zxyJq3LX5qVL;k#zxyJq3LX5qVL;k#zxyJq3L zX5qVLS>LsQfo$slq#HVLfaBet~}6&%It@7Auqo!=paA&?i)Lxi?)dOt;({zMXoj zo4m>(6tPod%7{DijrjWz@=D9gmGDybP+7^7R>I4b@Ny-*TnR5%!poKLawWW62`^W| z%atB4SHjDcMy+R1rj_QtvRHYM<>exHxya+?B6zt7UM_-{iy*@yc)18(E`pbf;N>EC zxd>h^f|rZnZQKf2DAT%EAg~p%a0O*p0Si~a!WFP^1uR?v3s=Cx z6|iuH$HEn`aD^#uHg{cNit9}hYZ$yDz4=D^cNyf;Wa|%^-nGDF>mygwx{)_EUOVn#w1Y$5IL>_I6CVaJhWy zC@3s3AL7@YGPS*2LDY1C+w_o81UDI$V0B^$*=4nxKXXS}Wz#T*OA)LrK9psd^zFo= z%09=~DbNe%gH>PyxE9<5?g00Ihrr{&%^lRjTzPw@Y(18vYK`I~{Z?X`TLN?44d5c2 zL_s~60v3SPU?bQJwu9YZA2mEWXpER5Xczt>D$aWg}zp` zxqk-tk8*!Gwh9aFIMkCyiuAmI06u7(pNQ(A!ZO^R<3ebKIkTrcIxy@*#Bq;5f4H~@7jCd8N z^cL%}di8L&9;;W6)vL$q)noPQv3m7by?U%(Jyx$Ct5=WJtM{y4Jyx&YR40v)q~5SZ znoud?l4Gas8wT7LO^=f)fk$N2euGDsYfny>&>oX&IyKHnA27wWA#mmE7HLX zad9NW*Kz()Sd&9U2NT@lx0_=+7DcL~$g#-8C+udM;Yl?-sfH&KPE^B_YIsr&PpaWb zH9Vo{kpY&8Li|rGR-@g2R z?7azmT;+N1KW7$=Hp|*KYZ*z_Vp)>4TBF6bHe?AKW4xOHF(mPl1Y%a(><}=9KniK< zg(So!)R-jgrG#sYlTwmWu+xON6!@fs8*OQD-uFFo&S)fA#*;Q( zLLTO5BxcTe-rxId@3X}Cg7+s@#(4i*#vnctA!DSV<&3nEFC?iWWwwl&hDr+75X_#o zgwZ-FJL&r<_;RWsMy$Vd%a@R-AmYAJQ+tlQF~_BoX3HD1we4+}w@5;lh;DhEg@Gs? z4CPP=Urj8QMQEi(Xr)DHrA26^MQEi(Xr)DHrA26^MQEi(Xr)DHrA25ZanA@)zRJa0 zkZjKy?qQMI@*zIAU0W>eSS;=QnlDM_q7bTs!q5n`4%!TDhju}Gp@Yz2=qRM(mka2j zBr;{TaT|0g4d4D6n(#M}DUy) z1DB`HX_%3l-{K8bP8*;|ciTVQ&#K5&omJNN-56~U1U9%Z+97XrxG-v}wv;73-ao7X zBeLKV`G<8dvmT~)@QObt*j)m4mw??RV0Q`FT>^HOfZZivcL~^C0(O^x-6ddm3D^}E zPGNTm*cC@msV)F+Hh&9LN0+{n)N4}cm04IOPoGCkR zILWuhPc*53IvfJSC21syMUm!6(pNT7^$2n_M-vtWg=9Wg)sFowr!2pQjMOawxg{XC z1mu>0+!Bym0&+`0ZVAXO0l6h0w*=&tfLy5^gc}3t7MvyPK<{jJuIsE z3rP}}F>&$=iJsbkho;Y#h`e_~h;q!~VuJb;~ z5BSKLA4l-N=CY0T(KmjVNS|_~PdU=39O+Yz^eIRBlp}r0kv`=}pK_#6Int*b=~IsM zQEfLxbCx50qeOS~qx#K|a;->4iAtmuMi26IL*pVypzhbOI? zW(J78?#B>xZJvJXQTMu=+*C)Jn_@C2Qf;Q5D@(+-mMeLzu-@Nc_IH^59cF)r+23LI zcbNShW`Bp--(mK5nEf4Qe}~!MVcWV0v%kY?f0v_V!b(ue=#WNjT{I%28*Lfg$gMXb zqZ|1z8j;bB$mm97bR#ml5gFZxjBZ3mHzK1OkM$hNIWM7w}>E$($=wZ<4Ru4$9kEM^)g@mGt9r&KpUa!pq8Ho38OCNf4MKDr;`f8d<6M9CWL ziQ^EM)skic`NARobmhw>QV#sq>2VNv@Aym8S#$D6BbCa2ki4OYd&NzfkRx48n^s4< z#HAY=Yf^PCm!(f!0+FN}>I5Q5OkyBbLedRc7d|af!E2R{l&yqSm8rr&gqbW!NkZ~# zp>@_(%{GLT&^qgsCjDtDeLxO*+vigvJyD8ln~1Iqn!?(3(v~~t)i*-X^okM7nken{ z$$xya_ft;w^w*+Uu#rkBr2d12mi39aOjv<$+3IK|wePSyG1mC#Nk33E)$=_=u|B$~ znRc-2lqIm{=d6>_Lpbdr9Y-2pRV_h{9<3pJ(2zZ7q8>D44;r!u4cUW+>_J2JpdowE zkUeO~9yDYR8nVaMkUeO~9;G2GaVC0{hLmdU1h(L}tF-N5K1~V|GQ}2_lfC< zP_(7a(XJ<6w8(Rw^=r2jHNbO_*d)Mfaz%@r5a)C%W;kMmZ9^KJL!fgAbPj>eA<#Jl zI)^~#5a=8NokO5=2y_mC&LPk_WTSHkbPg$W&gEW)w4=-Cc4@)dh5goL+izXiZ(Z1L zUD$6Vl0fUA&Cqse7qk~T2pxuwLdwS;z+M%*jT3!d`{g`s0Q+hH`)UAVX@Ka^0QS`Y z_SFFP)d2R@0QS`Y_SFFP)d2R@fNft5U|$WW+nvd$4yfC8qC;(-IlLqJm-vF}cO|+8 zDS*(rHJPrf2f`@}~?Zy*>>PzdS`0>E>xcSz|f4fOtX^VZ%Y| z2{)FFdUvpFYJ8nHOoLL#L~uJG^EibT4_)%BGc*A12_W!XMhN*JovQ43F~6~4K1wa@wvLwm9`Q%6Be7Jj;$d_y8t?w z3n_4rf5OlRv<}(~ZHIP2d!d8SVdy9%{ghgd>;BxGymm@or7nCZvqietB3*2eF1AP) zTcnFE(#00(VvBUKMY`A`U2Ksqwn!ISL^d1u^$HhnLaH%Fh{=?6#qb6zBe3qvBY*MtQO)jO^QGaX7ajbk-@o>jf#Gw{y=Hm+HJd)ObzHGa zWa!e*eEPC)lscN7@H?&pa{~O&2KJK*P-k5=0Ro-qWE=vWoCTxk-Te>)tZANJ$2`{2 z4316aq7bTs!q5n`4%!TDhju}Gp@Yz2=qMzoD_$Z_dN|}vJ~we8vutb{DVnl$nbU04 zrJQEjZiJ;3`)rPf%vNVEZV4FZkdJ~D|SH@5`I$tvN^d2j-`N3;8Kk@k`OFsX^=4&2oj-2pj z_igB}C|`8xVE?846`}si0{bI5=dD?_`=y(2dTGz9HRs*wTi3AS+R@=_S2i`SxOQat znpI6WilRGLAaAOp-S3orW@@<|(PD&;5-q9RsIqVV7W?McklBwptYZ%An8P~eu#P#b zV-D+>!#d`$jybGj4(pi1I_9vB((g*|?gX~zE>wX?rSJ;b&4ujdLUwZ@ySb3vT*z)N zWH%SGn+w^^h3w`+c5@-SxzOIth3sZ2q%sYI)ik{_uQN_hF9bW=@@~HQg?mPq-uJ?d zAAk7f)!C5~h1-_&U9zCGe9^@Vnugk{(yjb?k+QY>{(8p^f4z52>%}`)j;y+*dG*yp zvJ83ky|vwc0tdjdS_f5UHYau^Og9o|B}^zlt%TIs73dvRz)BR@D}#wl_+5)N?3^!R-%NJC}AZ^Scwu=qJ)(wVI@jf2{|ZG za})d6rGLJSP{P}0y~*|x`naVr4aL}!D@2LLUSr~7-72E4n%sNpq3WcE&XdSc}+79i4_Cg1t!_ZMk)=AR#64)5ITqV}19aGLa zm9tLetW!DbRL(k;vrgr#Q#tEY&N`K|PUWmqIqPIj9A4q#O-P?Oq$}~sikZ=_Qmi?} zqFFCRC&k@AjipN}eDcZ2A?w`te|Vb3(=*{jwk@)5b+25Ucj^odFiI;dPD0q_B)B6h ziJJ*04r#(>4a!lB9!}7UX@or^?&sOhf)mH#tfvZsg^8xPO@)f+?6z~q&2DS`?6pufWY3RJ zv-_{P=Uqb@rr7gd&o4~Y?XGEUc{zhWy|i}pXd#}|9IM&A>!;A8PQd(kSfAqdVu?y1 zTShO53v9QL;bdNRX(DtiBYafzzA2W@dR?m5?w#JUo%rCj(@1H1&2~=9-!NJ8j?y*V zoE(qWG~82fB*CP_`2{|BteYuF0&U{_m>hDT#g8%mhS#jH_#A1+r7;jW9$e?hHLsWv zvf9OH>S8o?F`BvBBi_xysa@&1N?XXFG9$ENRy!||O>;&4RzFY6Cg^k3FDc>mSDsH?6v6c;wm@jZG`B9Ui@QMT3X`X`AY@q%u!6b1*MAdsI#pmFE#R zWW^k_I!>qC6_LyonWQZJ=bBU)Dx0q;P+=%JTu4;a1dAi1d}RyD*j?SfPN~>>96?h? zox%mfb5+c(i`P+TJ+uYd0o@JlgC2vPhK@mE&&g)4R1Z<_sWcDaS6A95Z`DiQ%96LT zIk)`7L(4wb)APAy7i{h7-dc9oKY!(`|M#x)+Lg-+@~*sNbw$#P z{!Xv=@;ffc%31$<9kdzR4()>WLIhv|&{VtSY0Dq(LM}M;kqh+VZO6BudA4iQ@g`m#xejZ#=D7 z@$Wi5GIIRn_88IfO5}LFWYKbE8}|MzZtKTxte7B_0}VG4B#F&Vyz&T3WSU_CR0~N5 z;lV zS?_YzyPWkdXT8f=?{e0=ob@hey~V?7ZmG88h>j~I;YAZb^j_t}2(LeO|M?f(e{6d+ zerTPqql2%TIG_mVTVC3|QU?dEXCwq@&QP|g_=EU=G2Al}+2NjZ@O*?bJn0gq^YS=g z74G@ro*(Y{;hrDv`Qe@)?)l-KAMW|#o*(Y{;hrDvNvCKS^(q%{LBc)N14MJL3hqhI z8^ygUxK{=Ds^DG~+^d3nRdBBg?p49PD!5k#_p0Dt72K1~Ilxjv2UByfion4Q)8L{G z9GuFSikTolpGj>~K13z@Acmi&--p9brxs8q%gG>bU8fY({7k?+RhdnfsOB*6(>V51 zvef!%)UE&WG#G2U^&dPp6>G=y^?$i{`ILOs-kHN+cWLGCET4@tH8r0jzc8-U^w=z} z)M@dn>qG{Fx^}UKq_DqtbK10NbP(*+E=oN;=@*k4DeGxcNUN(&tKb1pNPxhj?PfGOAg`pY(dD zcgpUjUWy!<-f%|S;6m|Xb+z4;D{<=h2{e+#=D(Scy)bcU-S6yPaO&5lUI1TrOxfCW z1W~kZZA$)w2F?FKi>X=b@eEjD_g-j|SS`5@6V$9pJ4anZ+Kas)u#ytBiAvQ%TGNKG zTtW!25SB{_%O!;662fu`VY!5`TtZkbAuN{=mP-iBC1hJJAuN}WvRvBuhDBN$C89}5 zA`8+GZj-bZF=b+>S>$^sN{V%=!+w7n5^#$0u<7Bzzb&Zi!WMg$Scik z%Cc<$A2J3CY=DmhHVdgx<~QH*8W(3d)d_q|r-801(>e`UYNkx5iB@M#M^q%8wmj=} z*de|kGJIR$*-WqXRb+}|NBXe0Ydk-9BWX&1N2gZ*NAP>lrk2vCtgFOzr?w*B5skQW zI$O9fa^mF6QyJ-+zhb`_Uwj;Yr}W0{O5ERluN?l)R;KRh+;cHcrsbmFA!{&|pDyM| z6uVN3^qn<7?S&3PhoPg8N(N1&6``AmcO0j@KnB}S zVo{uC3IE4Lro^q&SE)4<|595cdnRVi`+pL7FJeCLbYlKGDPTD@4MtPJ za`MS3xk|h>QlVu00`mXAY{;3l&G^adH$jiJDmzQnkZcxl}#Iw*96iZYOZ5=63 zR3#qga%|aty=D8^viL9QsnE(OCbMSmRcAt6$TC^B0B8im$FTc91#-OxVhG3aUN7$oNf)LEOZx#FKJ zWb-bR&6`9cb*om6geW>O399DkH=4bg#CX1>nG6t?9_mjKBFM1uK1Gj@0q04_8ebRUE4+3ovk%} zet&Fq8vONkRF*f_w>Di+J|o+kKO-}kcVm}-R0XYFcAVt?_jwjuF?O8E;&D7f2V?Ob zLBHyvFmYpuCU{1kj(7mo$aW@XK%LNHXf3n}+6LVP?SUSJo`PP0j0aGSY_C?bJ9OhoI*nb+fN6*$E1Bq$K;)9h(`ZZ ziTAs2l3OaE5?n#?rMkNwa3!_Qh6>Af5ood`Tbtm0O;6pfo;VR9QBK$~o9 z=M8tZwVZ5vqql5cMx>Hgq@$O&KXsk)EfxvJ*%?vc7vr=Ih1_i|1f@%ndS@7Ij)k{?&K z5Le1-I^iivU&{ff+?U)eUGim`l_bCTU@lw6IB9*d#4%k`^{e3!9{cP13?9 zXw^+7OrO={eLu09D=7UZ2@Zl&Oa=tK_wkBiLfjB=r%jWZ5>z zyS&bqTS;Pj=0i1*{4)%#fi^?eX^zPquQIvh-Y{t#R_5Y+j@^FAAKm%!0xQ4pnv42BIaK8&dVFKihJlLN z0~>l5Tsl}advJq)&GOM3PI<2X$(}XyKDKjB_p((@E3a9+X>|Fr`~T{uoB!(m^G-cc zzwGkCbFNrAXYR7g2ZpXVZ;tX;1RJWadDyemy2*|4xUS}L?ea|ti$aI)W-b*Q^At*C z=E0yw$si~hv{5n$N(Mp6ASf9GC4-=35R?ppl0i^12ucP)$si~h1SNwCC3&D%#kAme&%_)_*}N#2wsN7otSyRt6KX6bQt#Ysk+0kjX-JhKbKBC4g5wY!^k@e z<%oWwPQqu3oLgght$zK?aTMG8{LDdx-zJz+=c|qMW!U4!R9u(DxK^76bqZ5@dfpKV zu4I$}p97a`6@<5~zZ^mb@nnfdM3tB#RC31#@@+>FT>c%a;W79`j&x z>fU1_Let4s@{v}eyY|RCA<$OA-#G8Ii8|5ESScSpLx}x@WyTV&JacfpXsOwS+s_lERgA7}Lj~GM(`V8&L`|b)v*VEwdIPvliMi zYaudgAu?+rGHW4%Vj(hXAu?+rGHW3+YaudgAu?+rGHW3+YoU@^nV9wqmCTX^qeK;N z$RTdMr(MgeK_zUZ!;hqu+p|7&v#AeM;BCy|k}1=^Ge(dvsi?2xiywOW zuUYcq8Dl8vy3Cfw4>8U9H+GF(appj>aU^-j^`3>XbA#dxpt!bR#;!B+N#kfP+e`2x z<^zo##4_ptKQiD2VUo;6Ayfy2p%G{uv>DnC?Sl3~2cg5zQAjMKAj_&7JBTGnV+WB- zg~+8s*0m71RES(EL@pH~mkN|XD z;HMk>bldpp20z^zKR}0BFJ~xtyoFZgi8IDaAX!4UPn9u7IL59~*zzchio zaS~rmmW3mLoSxw(iedsUD&EfxwYMoB`io;YlyZyUhF<+|i7?c^0m9bnlJaiCgCZ0Knj4P#z<+7+k$HbEP zDe0QK=^!-SMrb++O$VXrAT%9>ri0LQ5Sk7`(?MuD2u%l}=^!*6gwjV4QI^jViS+?O ztKe=Bs^SZD4lG_S9QBX~t5ubh(1nx{6Esab#4gK29Od&j(#9idyi5Y%|7}|+*6%s& zjX^TgGnFB7s&rCBdp-LR0FUGQOTWmExe*;#T5Y_4hxzV8Q0?sFVQ49rfv+&-TsdPtOn4A%~7xgn!T`E2U}$t~F;w`}cv|J&w!K0L_x998yz zs%OCcJ#os^U6&akZGq#1P-}>m)g2EAf2Ey;gDO1o7jZS)&pO zd4mmU!d#-{VIqe-v(G0x!vYLL6CG3)S(!-_pF?>yJbC6qa1su@r}lNX`W&}(;HUOp^G7NT)=E7;a(_ph@{2=S-1&>S3rtR}1toGQ zrY6dF%EZ=!7T846d;pGw2rpc4xS-5sp=V2SlRO1 zt;~IYq}F`JsoVVzo~+qJJ%;zgKaGUEf35UFmgge(y_vqr&b=AE;0glq=djcc{v^vS zWf0^L*%RP3Lt$3N9w)Nfol&ihayJI8 zbGvbsj_w*3FSeS8+Y>L{zDhP%JcZl5O_u!y7AjJ#3iK0%k%uDpL{0?u zpSs_hJoc-xUwKo;{#Evk=bo{9{Q8~?JP#)DuG5eV!rW|3E_t2mDRf26OgX#IPa{Wo zGO%8Yt8q_dNd+5KNLf^~RmDA`b%}%qaPF^J68p4cr*Qi%4?%;CUAA4Ma6XY;B^-nKMPIZl1Dc~4idYD+O@ zVZ=Il&shpM6|(?f&mt`A@kUsKG|!dpyN>hs%=U2hi+g(zK~Wk<_OX4%zEsMZCfw-zNzdh=y))EEC&21QIZy#;U6%#eHsek4C|NF80 zo^vnkIQHYn3Hx_mq5^l$Ij_5_s{6b-V>kH2w^ejC6g^Va(^&N4^J5F0-+9M&2xgT3 zs&Wrw;wf?KaeDUuuE$dx|9@KX6o2?m$Ma{cM7B#j#nk=%#*N;%a@x3PcU-S8Qx>G6 zPZEw!(Y}2OzP-s`A@YZ1oPzz8f^VOKZ=Zs1pMr0nf^VOKZ=Zs1pMr0nf^VOKZ?E%L zq_dR72(h$6NEMMbA-*8Om?|An{`Ua zRhi?!-;Rvc&EG<9={j3U)g$=0B4u^22V1&M5J`2I8KY7s6$6p|QAHaQ@^edsSnZ1( zjfDKd<4VtKXUSpb5MK{0Onh7#0l>~Ee;o-S(Lae#SMi4JX-zXe9p!3n(p-w!TRSG< z=e|FBWclrr@bT1(dmcS?yCYjwZkn~(&A~2F;$1F(vsK<;T3^%wZI(BhT^*=Qc?+^N zK6fqNBjp^9ho`f)M6S=eDpC$FyVO`ntbt~7YQzdyh;J*eGx@n0nTnK!=c!2Hbl#CO zNjVU%Hm8#n{7y}fNkE;792x0v;JAp#Y(uiQb04W%vQNhwo<#Kf>ZWp#Gba&NQ##FK zw@fa>q$XuI`zyy&9@}Sg%I=GaN?&5JU|yoS(izQMz&eX&4jhMcu3!P_tEMqw3Kxl0ukxW9Xg)Lyt${W|*Fig> z-OvH(5cE7`4wy?hAe8PKvArFo)n;w${Eqe-^4`dE^ z*WbA7uA6SUb7$GgJulrX4Q}-7o|TaUyZ1iwjeUC`5qnD46YN&@RDq|;+U4H$aZx$P z(@WgZtL|V@rgwfBmRFg5s#1mxRfcve!}5~(&Sh9$WmsNiSYBmVUS*!W&_U=hbQDtg zrE*d=3z`k@wO5Bwd5yD{-$3f@IfaWNXb#i`jY8|8Ezl0=ZfGC$81yuB43bq96DCKU z%A}YH-SUoo8Ybf!R6auzVk94`f#yTQ&>CnXbRD!4+6^6m4nfaDX00n&YiUM_y*I9V zWZZgZ5xU+o$(oDNM?5=s@};-ey%4*Pu1r=;lsnFFjy;ix9rbKRGAATGNatw4M9~5j zU_p4Hk_9TjLIqf;01Gl_yaFs#fQ1UMPyrSyz(NIBr~nHUU_m&_4woqkWqMbavHk{H zDO?mmbD%D06j~2$fp$Q5L;Ik|pr@f@kgR_`YwzVcUuln8*4x(Bs<~wn7Fa%11I>qq zp*7G(=sIX8v>Q4A9fF>R%(}Y=yQZrVj36MsGhG}AqFw2}Gzk)P$@o-Az@3s>!@zk# z-8-SoQ*Rw`OMyJm>{KO3RlVc$Pt`L)ob5#QGShX?gsKG>)!;%B(-khN!9_K=s0J6+ z;G!B_RD+9Za8V5|s=-AyxTppf)!;(X+rh1mMn?yIq@GrmbiDjTFC^+l}c7p%a+VI*&P7#MiW=2FA$h}$;<1O+P1Gkt%z8#Ii)BJmIaCXELW`lb z&?aabbQiP-dK7vJdI2)0!R?#|%gkoo^RQcMpl&pfr0gjT)Qtw}Mgw)DftXJXt%Ej0 z+o4_1Ug#in7&;1}fsRnTrM=O4+>t4p>qHZE+M1{nP1K37>_iiFqKP`uM4f1&PBc*` zny3>^)QKkQL=$zQi8}dM$vEir%u~82kr@Xv7+QZWPn^W9=R-Bnd}tV218sz^gLXo@ zp##t%=y}LkIqt#G)ham~9X3fWgWcg{Dh!^kzsDqsZi=2BQ^C~8w%w+m$0E-X>lwFf zn=i1O@4~4m$DS|(GMzpiX8f|?w-5aGf!{vXfwDnpEwl;R2HgeifgXjPf?j|Oe*3_0 zpTh5acEhm7?=bisw(&a*euu&DF!&t?zr)~n82k={-(m1O41R~f?=bis2EW4^zoRCq z(nIpI=tPO3$RHFQ>yRrY1qZ>jsd7o-q6nG;bwQ)hdT0x@1G*d92R#No4IP67)3v;+ z&lBt=U|{rI?sSy<1AEhnyx84CrUK%~R8g2nw0Fp4F8b;Fg-i#RfoJjNgKX7W>#!S_ zCQ9$f&$y#|n(pgB+%GzzVUwm>_eyP~=6oDT(5 z_b@#qnxd!Z2!iqEy!W`741Mk-@=c9{KAAna^RMGRV#DiL9&w+1H)5uU=1GWDh7V!S zv2wq&kv)k4N$ia_Sw4C!g>-(>@2LxwA|~$^*zd}PJ6@+Ff)%U>?T05_2cPPaGRYdG ziOoED=uH{Rb__=PqDbuRcJ~_mXNkQLj?pDuXB`uhZ0Hn^3}Nn1a6FG>3Kh?jm}^B#w%Haz z8~4|S>}^B#wjq1lkiBil-Zo@!8?v_z+1rNfZA139A$!}j?47T?Vo6TPQZl%XlNV#z zW+8*K^v9>Dtk^7Ma27H+3mKe+49-FZXCZ^Lkil8V;4EZt7BV;s8Jwl>{53xAH;{?c zG$YBI`IKfprI}A@=2M#alx9AqnNMlvQ=0jdWecC;{#*i+f~;mNf@XN%j789lMbL~z(2PaUj789lMbL~z(2PaU zj789lMW7%lC4|jb1Oja2Pkvsm^e-v1MC;py@T4Kp>AtPCQ|jaC77;!4@jnn~JSQuA z@iIB@v7uD6xU#)6P>@?zk`(!tIRx^*Q$Ks)hEQ@~$xk>7+OyKeQF3y+FD0Y7voYo5 z|BD_A*>XzsQoU!sb<~ZdI5}l9j~(EcqjTpCcaH}-^G;lwgftGubeja}UOrbNX)Z{b z3nbxf)6Bh(PgbGDzo>R}Vi+ zHm$->6LP4@mP1W|xd}PcgdA!@4mBZ%nvg?H$e||WP!n>f2|3h+9BM)iHSuk7iqK@T zb2GScN#PRh49RX&I^ISgcG-l-wLI z8MVcJhB8eV@!tEVDbvKNKNE@OXvD7J-)id66XQuR7{n49gqCt~VCS8w*`;w96aqvGr?9#No$`U&0dTL<w;Hyr#*$l&CAS(&ZZ($NYAm_cSaPeeg7 zr><7F>*O%fV~Tf_q&*)C^?c2c6fTOOIZzig3ay8>Ks%tjp?%O}(9_T{NElMVt3F9e zbS9*}&%>U1FuM9U#O{^rS}fm&=(ox{=T5g)@C+4zZ_1W>R@yYT(UfVFg=estz`35; zp!4u_3_m8PA})sSj?n*(M&ori#B!ZwbJkIKs^-9o#NW$7MuE!2vZL~%v}W*IRh6n` zbpoUFN7%A6RQwONj8m*cbWNPTM6Pmy)T|^G=tdXXj=H-ZSyxFS=#y z6!Bp>u+a5kQf88<7CG9i`>p0_CN5TN$9hjX#|Q3Kno%raGswJ}Iq>t&B-P zK)>P-j@WS+{Ti2>8%D?e31>93(6SBIv+nheJEMsMgi{s?H_kypn*u3yswd&FM6IPH zNO?>+Osc3&~+>AXFUsQl3-ScrmI8K z)uHL?&~$ZZx;ivn9h$BVO;?Aet3%V(q3QTkJ~7ASYA5Qfg6w1NQBI-c)9bmeryFcR zZKs-M>6L&U^DFHrUrnuLvbf7tbg$ORf9J`ID`rbJ_qqrBSF39xeCzi0S%2QM@}@hJ z0{?pBuC&NaU1d*R-1p_xlHJ`fXZ4|r7RmLVm2>O8Cu_d3uWWwNPY&$vYK`19+mMHh={-fCV;y z1vY>MHh={-fCV;y1vY>MHh={-U|V1VSYQLj0;~57jI+RW2RbEldckF{jmute*$Xav zdB9$9*$Xav!DTPF>;;#-;IbE7_JYe^aM^1tuwK>C4yg!^5?PC)?-L0&o&1NXM4T@) zRpP^ko=HUCl!nvEjH!g8isJ;ohD@v_NZM_!aN{^mCYq)p4zS~7qI*I@otnKwJ^^S> z+++kv)FU!284h#tQzXEQ7m&DnC?Sl3~2cg5zQAmW9#4_g{=N(@4 zNCUj=uqw4wzC{>hhe382WQRd^7-WY*b{J%bL3S8qhe382WQRd^*hY33WQVyo_nCKo zfw-$>-e_y}3||$H$*{+Gx{o59`jeY~JUaTLo1)`9bwl;?OK*8_?ae?h+3RMstDzD^JMG##neoqzs1?_p`39vP0FPDq{Fz0~>r01V`M>a0y}1jH59n`QwH z0^EIMqa!i|tILrg9d5FV2#9a3!P$wPBB8K7@<>)&?!df6eDzs z5jw>PonnMeF+!&pp;L^|k$KyCC_oypV%xt3B7ve_ND!1=5{2MR2VZDckCdIOr|T9GG-ZVpP;?wMUu*Bd$NHNDjTwi*ht3-3|VQsq|?asK2AN(A+o&37iM!U zuf_5nuZb!v5@#jLX{;{hXGg{O-Rs{uezvuhIreVfhW?83MVAitUDjU_>c5O;MW146 zcfWM=O)u?PwdTA#PaSMnaqZ~hYgRTjuDEt&_?lHsc%SrW@cEI?d7hXogt#ciWaR+P zx;sr#bgrOJYf>MY)Msl_ADYyMCiS7fd}vZ1n$(9T^`S|9Xi^`V)Q2YZp-FvcQXi5| zCX8g;?Nm}YYm-2uRPd!E>eQ5KI(X6gL$_JTFYx(``)gyGe`XYC_?9L4b>C0ZRl%|l zo9HL?{Hmt1$P<$z9M>$~WcfG`9EW_<4L|{1dZIJ?S8RzO90=MR2*QCN90$b%w(K48AH;ctPKZ9GRUG z%Ma`S66N?zaXe2XwsGo%N%%4!T&z)bLnWT)-1|L_4JG1|FsM7~lEh)h5%Qv~VtY-9 zm6WRalnS3xZ9b*Kr&Rcq3ZGKpQ!0E)g-@yQDHT4Y!lzXDlnS3x;gif4If4c%Qr<0m z$|M^}kRnE1jwnUbH6ort^X-lik59lP-7O+=Ydo8>epv zlDy3$WK2l$(r;@w5mkUS#nLAtc30_N*ikwWZu!R{1fT4>VvHDhZx-)K?XJ96%5|yC zP>E-5YzK*?2{=4 zWG3Yy)PmMp&{_*xYe8!*XsrdUwV<^YwAO;wTF_bxT5Cb8q(oVVJ-zTRT}MaKF$hhQ z+7vE|AR69d5T;`grehGMV-TieETm%)rehGMV-Tie5T;`gN|RbXjhnO2*rb_OCo5IO z%1F-&`Pq(h$d;phgPd>FgSC2m5ORm0VQ3As5xNfA3GIdsK!>2`A;pqcxOfw?eGoko zgk&eCgUHY)pUim?ccdU7h@j}5%QCB=%qIq^w`0?zH=dVa6=Z#8-MJqN=7fri*Dm_x z-K%RBZ2kIWAAe~3lGMm=l0S9+(5jUDn$psb4_tiP1=S0$IZ!t5V|T2oU%sNNEvqOm zDY|+X)E^1LSUSUSb_(fJs zk2&K~I-<*6H9te6hIleEmjwegGeFG@P%{J6%m6hrK+OzLGXvDj05vl}%?ukgGeFG@ zg&Ofv6XjQenm*Q3IurHrv3lnL$kz~fzky87WhMy91VNb~C=&!_f}l(glnH_|K~N?L z$^=1~ASe?A(d!=siLC5V6|$wKLd45&q@n}Z9*5+c`5SwFlB9?=X(Tm)q$ZHm1d^IS zQWHpO0!d9EsR<-Cfutso)C7{6K$0X^aoewO@g^ilvg_#23{BSe2;X1ukq~9q-hVV; zsT@wZdtshfS|(V_1Z%QtN@$Vz*i3V z%2D`QsNB^Y)3;@i2M@sj>AFRtp~#~aP}Bm7T0l_?C~5&kEug3c6t#e&7EsgzidsNX z3n-EiObSIUps0nLlM|qjNi>vWXC2Sw8MvOycg+p|)4ImSP9I2077xkrJiMwqS(k|Tws@)t{8U4M**R9$)LnIsxA z0R95tF97}m;4c9F0^lzI{sQ1H0R95tF97}m;7{83EBpn(p9}#2J21La5m_P8iN)qa=evx+;p|m2nS6&>W}> z8im$FTc91#-OxVhG3aUN7$kCTIX77X8f4mlTrWmbw()ZtKg;BScCOp!DMWUI$g>?5 zQCZt5qYY7yR&C8(iyygAQ?#b5GG|)q0K)R-j-Jz9n^#mGYOS-pUd!9^t>cAfq)6K~ z+_P?G&!V1BL`rJDnqHEfUzVG0S@&l@x%W&|>yjHT3@100ZRqRU7}kE2*0F_bzcZ1A z6ZIDOFC+`S$VEM2=if~hI-Lj343XAf{K5)}<79p5BZ|Vvp(md_nfuWMA-WgeOZfqw zkyx8<3Qyn&$2B8LoD53N6FOKb<9;{2gTtO7?yXO}vwCEl$iN}WgXOgod*8^y1b7Xd zd`-NUpk&{_i+A92w^#m%uEIM}kMbiq4UytlpYtBh_P-o>#?uz9B9~Mybx?0CJ*OVm zG!J(4uDfxm`cE9sRLV*{rmU1$k!au`8aRjs4zkKYG;k0N97F>L(ZE48a1ad~L<0xW zz(F){(AK~~G_VAjv;|0KeX#%w(7>iWS~3@fP#qM8Mxb@jW@tOK3)%}EgbqVTA)Rff z?+_f8QClncYo_W!Uj6(m-TC;c*LdqUkkQI%AT|xHoQ76TLo27DmDAA5X=vp%v~n6+ zISs9xhE`5PE2pWin!~H^_9ubY9C?J-5RhkSbxNk1{#-dP<0zy|rdKkS7|*oByfST= zd0^5$xKqW{De0lG$BVOSd7tlFGdna=zj#x4$z2zH?BgA4TG}rtnlU5tZf3*(`P$7d z-`Li1&Sh<%`AJzurjJAKVK_?PyQ%)T!*kFc9+dc%I%TytTi23Rk??0-yV(}z5UQT2M!(f zhpo+#y{97cZ$EKhFP*9F`|k~WlJltFci+E>_d9nN*Sg3{29?zC%o^64Z zd-$+>zj{FHp;Hf^vKk^U^U@&CxPkkk=eexWkCI-@th5+6Dm~A=Lr4PF4m&)T zXK%31aX))pXXCi&sN3vT^1uWO9f>hpEcMyOQs-e3XPisQPd+>@gH7d-F6kHfPgp_H zc9Nk+{wR-M$_S|tf2>b0)n-h9>1}s^3GpowLQLj$j!GV#z(@v#_5x~P>O36F`sp|` zc+u7!_KMzq==s7p`}V2guijuq^!f^fM~vyp5G?EnS;uUI*%#a^8Fw5V2WuzXFDJiR zHWrfrCi_c{hGfi%>@gdh(kE6j(h5YW<1Hy6DswvJKM?rK9}0T2Gg9l=E z=fSAHV}P;(vAs_}c-F1T!0mQ)*=B#3+l-m&5;w*)ZhVgEeeA&0dHiVK-Gum%k}@4L z4=w{BidSaGHifSl{G1BA2-pvay`M4UVr)M#pd_Wj^-6y>_pFDb7Rd>CbrzdQ*`KV?yH+tT7^D(aO z)b!tRR7Q=+z#3Py!WmW|#}!&-)NuQWnjs`<^ffAVn9Z3@3XfPgdK!UPI&;lzH{Jb1 zs!c=clo$lU_Zjd~1X>9jm#`AuopX(q(S`{z2{yf3V~-aS=TwwuFoNe^*H3vszHMxQulo)IR_8aQT>qfq?E zwNep*n5Yv9nHf&QACVlMG{rp8Tf2=E^gJ53-Tee`o zqb;uj@=d%5-XEP9+kE2Q$yR`7IVVnxhimvm`J!6BNQ_J|^W{2=y(_O0{}DrcHm|egghagH`~vz9WLUvk$sDYe ztoPs~``Y^Bi6$9to`l~Mk2gH|_mk~=WwQo4=#^6M*<(f2OBKGp_(ERG7!XgJPaANV=;@!b1g&lArbQ5)3n~8r-H+R#XTQ`==jB zN1!<{Z=k+4#tyZ4bWvtmMoW8^|DD>Z{_Cm>l25I7*`#BC?C{3xO>R499uh_G??8vz z-%XyU3}<8usi%s|(}`n5T(?el_Yd_MPFO)Ko*X@m`6 zs3zqKx@V{>e$Ve_!8!SxYW`j#6HUA}3Dm^&oDTPtC2D>D^emL^ymy*xR650AtI6}| zZyQ|=#;%+cWk)!}6Vp?p>#WcwBU-0{xUqfM@zX@z`@e@;iNRf?=R0SPyE!5gIo68` z$)O9qJ@IR&7|X=nd~B zlSA&Vlw{eoN`aKvko(vqJJ+)G&QYKwJpKCkD?s!yj3=`>qQD??xFRP{*Kw@(X&DJzo-rwIt- z(3zB>J+|MHhb9)9&c>Y0!iXUv01yu>Pl>_`<*m8>Hrckx{4QYp zHtC6`|H|dLi5iYZf#Tw5zON7l8hb)wLH}f%EaM_-cBQlq2uZGWTx89O3B8APQ0{rz z&F!=DNt|PZe`DW7$Ivra1?`!zMbNvG_#xH?CT%BA!ao_med^B~LvLJEQqEhpM=F*7 z+hWDcem}hp9CM-|W^^_x{dWu9fD$o|So~-WSa}(J3&9={HEBjpho)k5XMHe6Y z_3@#f<3qoFEa}G$_hWhZk*j`=CH)*r`Z<>Lb1doSSklk2q@QC+KgW`OjwNaO%XzA{ z_eJ(eMezL2`JGOD*|G6s=ZO0rG*iS~A!ldZU4z9VmG)5aPuSBlz4yEA{n$z4w!HcQ zx`9UTR=0Zx)rxMy(Tmzuac$0<rYf=qcz0$atj{c%?EJ=m=JAvuX%SgsDU|dpp8HNbg69Cv|uw%tDN&9K}Px+d{+y<10b9F6|Jsjsi8vA_Sj z&br2UcK!p=zvN!(+MLcTOG^Im7oQb@P4cv2(;t zYJ-EXB!LqaP84u)2fgMNosgz`Ad!5PPZ=|T=vA`05+j}aoMpAmVw8A=ujP*;Cn8T; zna@4<%jcfsexGD)?|oxebJvT!-xrcQ7yY8{UFq}8*t<6=xX#VSl_1BR?wAOzbN7ze z6x0S(Oj?d3?5lKh#odc8jd_CoqCEd0{xMV)PS?0cv7e(5_U3r*aj*L6Z`+jHI8W*X zIE;-j(Kr;Iy~jO&>ZH@oQc0d@mVXFc7Hr+s4UKP~}w9rls^A_)g6YUfBzk$shI zuJB6bz`_Gb@`4;j$Op(VksMqk0}~DL8C*#PmwX5*1!^PO;qn-6`tFe+`Nt>Vq>hjO z*?2zMSdkvE|Gt>Vtxl8OYVTUFq~@=l;7N4EH4YIX5XiUiuR!*sc|PvOgUN|;FdcUq z@5nj>atHOYS&E!Nk?|>VrxpA=&C0cIkL2Xs@~qW2 z_M5SvTT3HP%Dqtodkyy%^vs#&y&(v4jI_;vBC^yfwo0JPv4(~ByV-?;v-hW%k zE%n(-Zjm_U{`4t?tPwNj8@!K;js9%R*NAZW*B`}v6*5wPS0S<`!-Jl6YI)=2w+R5k z_VI#({2FuMX1@NAEd(AMe+O#+zrVtL7e0LtX7A7R#LTihy@Z=`tH*9+>#ZkY}0hJO<|~gf@L%H5!sEe#y*nTi0?0VJ&@t4!bX}W#wwcvxuQBGt(|*J zQx^_gs<{s<7BW`G2{&pk)Umjah#NU9v61F@2mj;yi)4V2az)QNgVOvE2)Ff{iUPg-en#D%g|^z6cW2s&vw%Qkojr|MY&ddi8yqzp{O#+j?7A87YjM zAZ@K+^L?wUU+*5Nvvz(kz|YV5dQJXiQf^?soquV~5oyl8IL|xFJI}w0v->%ozjJfT zkwr(Oj9N*2d=yWmlK7H;$0!_0j?N`HI#-7VlDQ~^>Yy+*02?R+(5W{SwoGpY)9pdygL^)fCa<&lVY$3|oLX@+GC}#^%&K9Da zEkrq6h;p`&_M2bf;!Q}hxeNHj0*Sm*07N!q2IaIe=Vp;AwNB!2R!(YtRM@IRMr(oP zEy_%~u6p&tx`F26zq!ZT-dNu;%e^JutEsgn)?k&pdF<>tZO+;UR{5H<`EWMh z=4?Kk&4;u3a5f*#=EK>1IGYb=^WkhhoXv-``EWKL&gN^*$_Z}{BvDjtQ7gr9*6HAU zDxa9ndWmdQy`z%YaQRRTG#?s<)<7Gf>!6*`Zs-7X2znk;@r_rwcoR~^t13D)aX7)c zboq_v4BvSE@|(^%=ceV01_u}Q_YHVUMsHiW^7aw^?_1W4oV#lE=((!|^A#Q|FhB5z z$O}o=rq2L!;kCeiByp+darZhHo7WKpZU;3$gh&=fcC%<4*`Qgkv!f+jP^$SQTTmzW ziu0n_n@_mRtXzuXNj}>vpKw_|;j($KH)N1IX;~5uh?Kb~VwL`WukTOBKFN2Vyu|RmJNP{e$duSmj!WHg>t4y^4az5{uzd2# zO8Kf!_Z}7#y-B_!X}-1dy&?Tg_A@L?;=lB)aj)=cpCKSCDt4^MWf9=^ii#W#unti} z!wBGey^mYjW6J~kt-`V2@R&SjZ{+O&3voF{ABWS znd=SqZl7IWkmS#MIP&hPUFeOs#y)5$kJLQy%o|r*KRbEJ*l(=D$lKn0-y@N4{W9{> zBG#7uWbgrAYMh^g-{a?2{=lbyAFSglNVMe+HwTPIvP?mHfdpPzLWlMWbYt*SC|jUU2eQ?R9u-^ad!9Zk2GOlz_OyDOCv;+b zk_T9<)=_qF;;K+v`Lsm!43P@PVoxbNhKn9@G>t!%huoGHbXXlJTogfbpe|?>S`Tf3 zc0hMS`=H05r=eqz6nb^?>QQ^Klf9@0J-&tkb(Ry?<%ad=A_vW!BnnM^Dp#L&A#<%P z`%?NA1*;eGE3GSnWj_DAtM~o&Obo}#Ru{F5%xfHO zDr7)p>%y|;;fB0W*YcLuE55$DrSpnEx}x>Mr9C+_7OeP$kr#m)^vj@Ub>In)=UJ-{ zUTb|2s0prNU(NEw^m{N_{|>55@|E+36LAIgvTxk^)jFSD(gm_T`D*_Znk!a07ygON zn8jP7&Lv4z8$|ldQF71a?9nzo<@W`|FAMqaBq;{I$7Q7Fu)owM%ksV)lZ5{3v3nx# zvdgZsvXcr|e`#%5OKE9K8GrKr+rA&3njhGIYQFD>A8d&7LUiMdSSe!!r1R*;VRYVb zD@(--6XHV3h&o0nDjuYoEA*S_3z3i+JX`QMBtLUK1C3!Jv?X;}q^iEssz}`56!?%D zeOEcda`NNjP{HBAJ%m4=bv-wVIdc8`KXgB@)**p*WpkVt#X`HX4Kh4i-5O)sQg$Mt zDw31uR*#czuE2mWMb=&flhO|KH4ivK(%a1=jO`jP9mT|mT)#U;Fmmsl?|k^nKxtq< zlH_^!oySRkC;iWW))WOfckcEgm4m3WSiR_RFXx3`q>7jGLNDiqUd{`>oELgIFZ6O= z=;gf7%Xy)f^Fpt-r(fmbElB(xX)%={wvF_dl4L{i+{D~Sk)MSRvc9}#5>}A*3JZPh zs`y9jgbcqlKdlQDwDi^G1pR4|cO(A7h6U%YX{ugY`*+FnFT3lJBcHI|{9uFs;Yi!= zUme^!R5~*q*64LkYEbLE%Kkafs(xOee(r^LkK?<0Js(rN#I^{e!b^&D-MpOAZd0Il z7YZwb!8YUs=x#$!U@K<}afY1#=E%Ea2Lk)$F-~4$>>T_A?(M4Rz22ejwM6|)l)-C923`RU7%5^Iiijx}V}SbypJ z+1OGEfQSsmHu1lsWN49Rhnr(2i^2I4lY;KN;mA<2DRoS@0I4WlAlW3@YLkdHrUwhl zrpe}4+C$G##$}EgWLAK(IlQ}L1mYjYJj!^P7=1LK#BP$3;AIh+W%E2S{r}?x zpp#q=zMENY+1DPKfBSVF%et704eCN0*Rt>h06?l@<(fXY@|WfIU&@6xy$kqlvH2@W zw3W}TXMa@dj$EAt8p~7*t|0yJF|VaxS49Tz(4Nb?cgN2TTz1)kpY5=+?JLm*L)+H3 zx3Awe6nWRay57HX@6W#Qg`e$P<-h)V|Ehg*y?3Smdg}^b$3?d+TXyTk9X?;j#kVe7 zcFRQ_K5)sJ2lSqLNFGb#LWaH#`fe z+B~beAZ2LRU)^Or5qWaM1DCZV=guziUV|RwS@50S=2<9jcRx$q9*VQI-KMqpY1)-i z!d_Q~rtn~*_yLx2lH}P`G?$yz|FmWKUp;wT zi|ybT7d41eS#dhts0JnYC6coqL0^<2I+-1D>V$DEl>qVm>r4l}}XfwHc%ei^3+OmQh->-2VB4+W-0Id?|(FKK<4TN7m7-p+pOm1d`GMwNhKvg^uUiafBpUt$Ey^h8^0(UzbG5OC>y^h z8^0(UzbG5OC|kv|#I{b7^>boaL?iTMS4^<4TCI2dznVzWK(; zao^#-8y>%M>!04xC*ZvD^2@J`48c$@Ks%tj zp?%O}(9_T{Xohr2bS*;E)a{5Gz|nOHl)Bf&W&cL4;&`mO&EdDAW^xRE(cQ_PWsUN& zKVEaMQ5=5bf~1c2HjCyq=={JaT#L1W&{FhLrLGkcF~KQKq{ z_5?K5mmp>tKB9>_x)EQIRc&Klw9l<N5bo zVR99p$aE?>HY?n<7?S&3PhoPg8h?HU&93Ut`Ac&?7 zZ3`{B?sRerF5?NRR1nCT-PY>Q&dc@sz0ZH+!^fMf)S`{|t@L>>Jz|I(*8J)HfxmG-R{t@Z$HN+=T^HZe2I3Nzs$$fa*2@_f{ujl2`JXCv?WA3t#-@~mysMwVGi zZJT!NUjO6hsCz&BW$>3^uNXOe;gnAs7an)uXdd4=c$O@zLbbQ$1a6j&6iEA%Swsp* zW`-6+YoSfhHs~&B5A-PX6!ZdQGK*&sDVU`q1rh{cj+J1u8f;eE*sSK;s=;P8*sKPd z)nKz4Y*vHKYOq-iHmkvAHQ1~Mo7H?Y7KIcy$|B6;W9_pP>3MB5Y6uA)vL$#32_8Z& zhtQ}YBzOo39zueL*xVr`cnAp|LV|~o;2|WqobT$Tm1GE!F&uJ$^n8JO564MMhaY(NPd}Iax4wHeJ-D&0ZR3NR%qybj@V&qM z!?mA%KJw1NgOPWh|Lod7{JSrV9scF;ZBK2z^3ZL=!?zu}a_dvK4TENpMc80Zfbl`k zwSk2$*&|rr3f5m_CYnOGM2V#LWclETmkv<}(~ZHIP2d!d8SVdy9%Jd#WU z(Hy0EXO^-vOWB#F?95VjW+^+fl$}}1&MakTma;QT*_oy6%u;q{DIdbEyvoH}ki_uH zm7Jdqn6snuJf}uFgjY&6c~a17m8^yNofY|X2lxKVE0O0Od(7&68ZQ?fm{D)Q*oO0fVnvJb9uY$yVj~V-mq4E_q&mAzwt)o+u!wFKDzLV?cQylTexKG z_qT0buw-<>=e8rumPg)B3V`J_JdKz<>NsyO#ydjk9W zuqgCi=R7RmzXm*hix2X8&j0WY|E9p7QERx!bDP=aQeQh8QWmw@+{zCV!#T_|l>@x6 z=qV}Qpv{3!=4)erw%Pl$jUCsfe%rBKYM0j zX-?C^3p(q2YqHP1>&TVcpZmhn4{L`n?e4wwoSK?*F73S$PP1plZ_V(BmERf?+2&-= z#$|fC_iQ#gTg=!LUUgJbTy9CE62KISr5nP`kUvRBu^HB$^*l`RLUel_?v(19l;}?( zzBcnX@A9gI$ZN=fvphv?Zka=vqg9pjOT*$MUsaxJd|cx*rgNV6fwA|kH@^G)x&0Sh z@)vKs^;Xy7#ko*dnG#!F6PIA_KDG+LG*^y?xR{*KD8=H+ z_85_DkB8K^sRT>?o%&fW4AkM$OqA;}`LjfGJ){$l`-ngyX_A5_P*O>yRJG%+XWeT( zLxvsCdLoj2>Up*Adq2$d{|r7#FeK(=+=xHt+nrn@K9~;|KR{$*4kR|0OfwTpu1Mlw zc_y)#(iakr=gP07wVU-Yq#r znL(fLllMkWjNL}Ihc9vcx|8a-;xhGCo?|A#(`t)}=o>4Xpa&DWF zb3b-|PFjWB`&<4%&u-opc$S?k^}h91iF*e-xr0Us8Zl3D9M8Mc_jc!JW%;+GooFiFvibZW^N{X$e=-!gXnz`e_|aAv2@jE z5s7Mk;PuDuKmUUJk8O|67PQXSvjhXrlCg3s-HZ)fwdbXqZh2|i*c=uU18^SMk$G|o=HwzJE(Rd}f3dbS zi?KA#ItU$xjzW@ZGM9T49f;h}u`*@mpLH*5DFIIR zH1WZ@1UOMzO>S6!uI?b*S%%Lh(NFOi*c&OHFS(_cfq{dIxYD7xt>EZ1 zNuR({gn1H!(^p6b8Fwd{g(4kN0f89BcEYo+lB0H0aa_!q6byc3x5=&WFC)48qR0sl z|A;?)@~Gr!QLss_7J64bgX#@AD>i?`1O=U^h-<0qgcOXFcE@_{gW){MrcqB*Y_33C zKGIjTQ;rEXN?2VIZjgFBV*s6$!EfX=k>efSkzldJ8H+Igi%}i{e!~;S<t}&3Sw$S;#!Cnm0rFe|kz*1BXFa*k-H7cwF+1d@z&Ik1=g7Ca8g&s<9`xm`Y_@_clUUv`{I zC#mN@Z_4P)+wev4-S%5VG43Ig2RQQqZ z+3&`jk%|sKj8t^qa1^Y;oC89g%&QB9ljU2K%#mUux#GDbcS)p+ph3<)DyYgx_M0E+4|Z18+o?0 z*vh=PXNz-d;-1amSOxKLYS=nFg`BI3+?UpE_ESh|vpj`3Lvo%kud=^%R6}mQLf!iJ zRF%(=KODKtdg$a)>!FC)c*H8?EM&LX>Xy{!YMH>FVVQ55a(&`%*$4@>(`1)N9i{2! zQr+V_0({_~K<3nQ+?$zO&Am}$VD5E=@+RNJWWq z@-AmuBAFy1MY%m$);*DfzGtD{Q{tVfc#p0*<~~OFV^f2v^k$J~mHV4byv6~o$<5;p zJ6(!z3}7H?|4b)I<@0j}h|>pdMPl>EX*au2)O&7>Zi`$SQ%f1!ruhA>?ixx|$@0j; zz=^=UIDL{I^|<@a;}n{alg^{KnW*HElXnO?d6EYc8Bmu-{P`&*1i!S>5%R8*h9p*}`pP?&PG&Zidawu}bzRLD5 zz3)eN-0`C?p69m)BG35G`=b1G-%@{Mx%UxY(*;)!4_|e`JfCmg1y>CZUwJ{3k7ogc zNHM962Mdek;Us?V`xO|>jm@KqQ$%qlmBUZ5cqF$}M=%5lF!cXt?@i#Ns?vn-y0@y5 zkcCvpR$0it?_{lzKnMg#Si@>q1Vna05fK9-q9O)laBW1}QQQ#Gc4(y$X~w3z5z+2; zn7qo^jNR=x$~d;|OFOpH3c0-h=iFPl6$)*8q`%+${k~6pa&O(Lx^?b(mhUWx^|wm5jx{!Do|vMM)wP$GBDyvX%+z*j zbBs3zO{hst&(w~Yy*l7`d=aOV%(__al#TwN2MW|<|H|Acw{nb#XsU`K#rFu~ds6dk zJ97r-3?+x+Qc!ctS`o5FjqQa%TD4}*9$U~_@r|pi?G>`R7W$HY#!}^$YaztH`^|EiKlq?=|O!z9!|B%i`KMuB?_k_B5&Wq*xR#B0AZ zo@E9eVkv!A(dseh;Iqfi@Jpr-)0ND#_s6;WWZ=_(qet3}EcSb=R4$dIPf9M4q)%!m z0M4attJBP`xJ0=`LZ9L#rtZV6^YHujDFxAQHlj4ozhCwJg%uSGzrSP9$l|!T;*o>c ze8zZq@Rgg|+BRJ|_}7W~HEC%z`H9AF<=G{!wvT5Is*MbKcH5sR%b-~sDJT-(rUY`n zwl>mgC3XpGBSqg+dj(`8jr{YF-CG;UOlVnO>EZr~xQbah-a8r2!N%9j2FroUt-YW5 zaI&zc_pKwhDBb4RApd~9E-)>URu$+U=topf=tTyvHsVQV8ckiotB$ft$p_N;K&VMG zULp!!e`v@H!FdS{c?sQm2@QD(4S5L-c?k`92@QD(4S5L-c?k`92@QEwXh zljb@1`>&&!v#82nGgHvb`S(L!WS%k{rCLrP&jiWuAY&*)a&R&N_NK76_>x8*X8+y{ zCgIXrNut0Ay=I;;TRxU@EG{I z%%=KhHkFx`P<|>io65|lGP9}7Y$`LG%FL!Rv#HE%Dl?nP%(CeM3%gjiSpjxapZN`# zSy{=krR;f)GFqIQdS}$Muk860J1am~nl_B=nTY zKKX_u5GkV{@>^^^mA1+^!cB}=8*MugIn@gPGh9Q zi^$EVppBs1u%IUjYS3n>Uba6hkbb0fo}Yd$U2d3U%>9jW!@^E5vuH>%!{Mfsy+pZT z38MR%sbI4BsT8rks*)rrNzsn$mZdLjogLRLR%UnHoUJb`UiZe`?d|uxzOH$Gb4F(K z70n~AXiCp)o|o3NYS$IUazw=PD|cNxRKji>x_3-9%BHR!)q4Hp(y}S5N4H%+xdgHW z$6{Av4-tDybG#ZT0fKaX8-td@5a{9@XoaH0i#I@AeCbS=xSmBp2x0pCE@*MHi~Cva zBav<#iFD&gq#H*f-8d5I#*s)j4%w&@5%D%B9|961 z6)RP;D8<1&P(*92X}?#=gl0Qqt@&%vV%kp(8eN`V`_2FJxdhG7#S&xqJIu2VA}*lDlX5E+KL8X!ThqgEUB+OGG)7jRH-fe5o1{ znKVLtR#x3)SRk1UgJd!clF2YgCc_|^41;7c43fz(NG8J|nGAzuG7OT*Fp!X}$}mVK z!$1PND#$50d$slAk<<2i3dF;!rcYZn3Q#fM7W!I%fg#LNj z^#dbAjsBrg1FuWFM|19eT65lg53A&Eqvsy|$uZSaCyXALVa%M^nwpuNHhP@cEdKp< z(@|lEXb%VC)H2#^UJ9JcOaz3WR0Kt)a$<@dS77Q31@K6LpGOMdkplJ4$KO_<16Trd z0$spPU=MH*I1Y$nCY)Dh&T1JyQpT*7F{@?FY8kUy#;lext7Xh;8MDd;BEU<)Yk)PY zWz1?B!+-*PmY$xfcI8nq?@F}CN^_9?IFbE&3W0i{4VVEe1=a#vfCqtRfR};S0b%4= zj%N4dSn|6Pdtdn&e8vegMJGq5

!JF<>Rq<|x7~O=Is^xx0V=(X-QN!2G>MNQ@UtaRF33>UI ziNdq+r_yytXjv}OosVe4;Cs1l=&sGmkN+MQtUMF9^h!AxNOzX5V$)rapD)O3ZE0|} zdSkDJ*5YW_21r#WjSHYzi3Ix3q*sc0Eu!~Kx~9lA=;zyaP5HJNC(f1U?hc4{nzD7B z>rVQrHTLd~p&S7fvSL+8t7j2mrrnGrWRCRa?XPjBhd*(9~HwRqMX zv#&{MOPM#Fz9xhGeNC?1Srl2f6nD9mmt0GK62J7XZtbi{;8Jeuv-RL7wo)4vWH>7OO@*- z3kqy45(g%MQ7+t%PYUy72R;pVp!BYi0JwiIzJa_ad8lST8Z$HG>t?rIav4_obwAlz zHgHZ=O2gOg$pK;NWI-2fSAC2lg}MAGR_2ScBSSInG*7d=*kW< z-;}Pb<}kF3IUFS66gyu&Xb!W@;zpYd>{aLM*udTv_-pv$($BJ_f|>Iz`~NZLxtLTk z=cLhotGSmOP-YMBz#$jKLcX9PPukhoZ@UuWN?NO{+e+iK0fH1yS@V?I|C*K1Fm^`G z>;I$;u;0~QEF9O6o!v05P`_Q_=$6d-lB6fH8cUMiJf{Dw=SKT&b6p?@UgAga$dA;z zAU>WA?#D30bNbf*S(c5h6$J?{J2A$>N1(nQp+e2P0U2DXeVfhL4K+*RBOHj%FQrEq zLQ+TU1quKk&7|-2(|DFkdH}}fz(y9tsY1R6GU(-*SNtRKqlARdC zygv{8KdfG-yd|$iX8PncL3_~?kge`A_bvo|h@&)+gDvFR^kA9bN(XlFh_V|%Zl?8;9hLL-NKUdE=10aY)`cBySv& zHx9`w{ScsmlboCe{9UTpxm9Q{4ce0pSQYK1L3?S;TN<>N2JNLmduh;K8nl-N?WI9` zY0zF8w3i0$$u_R6w#URmn)jPWCf7ikvnJ0H(NGtwrrkM90fUf%2OcaeO3{xvrnm3n(m~YL;vD&qen_tHRt1Y z5$grTtIy~eJ@2J0Kc>a)*`viBTW%MzYK{x*SM}*9pp{2hp!X?SQ8nBuzpqlg9xpZB zUt0?YO$GJ%%2VH)22q+Z)CxuKp~Ul=18FSCO>cYUC8{i`G`4qM9PiRPL+#^?b4&xa zQPg+D`R>^xt|z5OM$bOrdBfC2`t%lK{QLd1udOWb^W{5goU8bPsv~mEW1NwW`GI4! zJn=Rk*il^Eb*N`jy%Ql7XR?QltX#Sbo%P715ApX&>_GGeam&j)u(I^1&#dVu50UA- z-)Pl0oh#AaGD@6p^{m(5&oPD>hSsfhThD^>oF!HwM<>rLRaJ5> zsZRc0GO|=jm7E;2MYFZer6SyH&CP1Tds3n=-j)n$)or;*s$$~si|C0+crwRug`j6q z)x?&{F`4?BLp`~np@u8WGi>@`&C@WuInwPkLPPV;(1z2Z7^&5^XZ!(yS+s+nS& zK5fXaex(iBw|xE~!!hidkqZv3Uw>#p+p1<`mKOH?W7_aThm2Q_ec$-=EW^myd}P&@ z-`;Y|Z@ShTxh+%4ELm$i;F~OmD@*nOd*6yJW^ny}t|PIvnUJHrgB(-56OKF+TPPdv z=`ia(xXS;YeoDPJOyl0_d;a(OqvzdEtS_5hh96k(u^y}MWpK|U>U)oBZ&~m8e^1`q zE8o*Tb9@!}oQ%nW-cZzJ<&5@-mn8q_b9O6e#I z;wA`jq^m{7!+kGR-vaShc+3`%#G#mUf3;E}KO!ZoQd1x?Dk)o)NTdprgkXXt0C_+y zFba^E_99>nuo>6^>;?`1#{f(FNk;pTFo}8B93o#D*0Xv48si3&L3ulXe9uD`}pbp(CqZ_x4&mcXRjY+MrVn?6LW-T z8A7f0h=ptEm!Vcg3!664+PO>O5{P$%sQJHC@pZe&Fau#~+1yi>i(;0GV!tL_%yLo8 za#753QOt5t%yLo8a#753QOt5t%yLo8a#753QOt5tEX&0qT+L>*E(YSUYT?s~UI-;Y zkNr4F0t$h8pbeM-ECtpATYv|FXMmT1*8z!@gmX0et%nmUiRyhN9&Bk4DHU$2wDuIF z{xM+vT0Xy)&#&e4Yx(?IKEIaFujTV=`TSZwzn0Ih<@0O#{8~Q0hT2!%8zRBmEBha? zROIDL_c${yl3imRr5Q$ijKoN`daT$;Rn5rxRk#0fSJSnX^f`B^pvdf*^Q<6=1V>!H zK@Db5WX!FV16O?SGD0Gr0Y<9+iWv*}B&4G^Jn~U*T%^EIu~YP}qrI|Y2lQ0z7_3bR zlpR3|RbWF1MQye^VHOyeabdHoi>XhPn8Kq3;Zee*lps7x5FRB6j}nAO3BscU;ZcI{ zC_#9XAUsMC9wjEPo#f;+pn_+0O1G90PofaT%7CeZh3jD9I#{?47OsPZ>tNwJShx-r zu7ic^VBtDgxDFPsGjIDgCm#YLlVn%EI>i%GrZZ3lxT92mb)`vEKm-+jBB+1}Djyv?qilbD`6GYYa{KzMysDyc<*Tnq7+R*?Z|p5DkITqwm@#2WMMC`gt#_V% zc-+#Obu0N(yEN^_f4l#l_p17brk9NCY+5@z(y6`cbcg4q<<#b<42}folSlPeh10A6~;-Yfth>De=SGME(EOPH6LlWk+{dQKef-PkN z?F-2!h)0c-wU3~XtR1UXKNs}pg8p34p9}hPL4Pjj&jtOtpkEp>HH)2{ z3;Ly<6U%9th&Z5(+xjaO)#kJz?3R)Mq~)#W+pZ&Kxbt+O=oO)*FYmkB?7F-Pl#uI2;xgJI}b?wVw4o#qrZXJOowz z1l7%09#-X!5x&G3DgxS#fELd&*a_pr3y_S0fOaFG-3Vwm0@{s$b|awO2xvC~+6@i3 z5zyj)mRMw*>2gNNw@@P~B7U<;O2hgyi87%{a8)#_k!*a=V(D*eC4R5oRFO>Qa=*)2 za+!MbLnx1*5|I7j>-9FD{S*2GdXGB;*%i%dn0wJ244Xy+g_XyVp>$2rzAlv>Vm|Ao zT3MBACAe>rziX1+GwI+f#>e;HuO+?)hb89Rw_?S8If-G~2zBULCzsOp zYm-0vNSnNWzw!J>9~sZ@cTS%^`kHm?t{FYOXRrK~S3+x#qEP;atCpoQH;~rs=@a{y z1=?)KNDYwRQQe^F|MAK01Dfa71G{(Xf9`3#RoM~P46&@f3+`paIE5Vu9F)r}_ zK|TwMxb0}VUGinxrn0?i0#s;qT@jmGHSrQABpV^o% z0w{ z25pSAl~)Wnb+qvZjlF5>r`8U>Z16y(ph{|1yipk9?YXOZ+K|lLmMa?cDdOM3wp8&q zUE*)d-{SKLu4mo595q^U;QU!0hl}%NDn58|M}>1VQ(7dD=s}jmoq$sTktdgIRgsQM z;{Q_0#CP7RO@{4uh!aB83iC`>6*FH#t|LDgzW7$87TAl~m#Ox0!#QN?2vmcJVh|sf zKw@HcmSlKJE;s}o5}I8rjnnkIH~nh+n8d2d4U=aKOkL=_%6MYI;)PfI>;L|j>W(!d zY8TI$l9f}Ps3Cs4a4IE`q zaf_XOqolrQCh=${@n|OTXeRM!Ch=${@n|OTXeRM!Ch=${@n|OTXeRM!CekR674#%0 zrvWqeYFeNCG-JkEmIXGQ1=ccE!Z`5)1%O16TY(N>3D6020Xu;`z(L?Rpd4mm%Ss$d z>{!PMz>Ec4qWF_6&@#zV#u*!9_4H9Yw26g+fx_Zrcc9!Vt$ZZ4cQpmzm$ih;{!cxe>Qpmzm z$ih;POlcnDZB9M}%!rqWYQGhijqN68y=l1FxYSoY`sLR7`#URdyIDK3V_-u5onJjV z_40J}ryQa?U8mDA$CF?19 zC_Ko7K+FZ{AA!n*U`*mWB1I)+E$h6PHmds8g$gdc24p|Rm^ig9t7I5dI^QxLx%B{= zn?c&f8KdadGpKKPlv%?&&%ftdsp#jaz%f`Fj_pLWcL|4Tq--!Su5hV}fgqc}79plc zGz(pXV%6@#XfedhQDca;NNF0(Ri<@nao)vCmoD~dadp2tefoEG+Nb&$L!W$iXXo9M zHKXUi9jAWqgHy_nDm@BZV=xL!9N!Oo;vh>akYCgj+j%IAvlP;nrCx2Q5Y&)B-tq5B zB2G!cS~}SB>o+){*g_a?v)UNQiMTEK6rYqrF@H0HL?t;Sz!cPzfZbf^Ku|pK>Je*4 zjF;vE7jH>mHX@j@bN$@R_wu(~u6hkPmwa760?`rBj{Ec==w!~MFJrFbQESHf#OW;Z zv}q-%D#+SXiceUALCWDIEGI`(IGE?s2*$6;%A8#+EGJtZ_``B$mw#sM1VC8MO=6~G zE)#?k69EE2@v8L)<)rDazU0PNwSHMwl@Ihx6x_pPS~bjvCa*0d>lwgLFMN`IZr{PRU~oCBCA-0 z=Z-dIax^kI8Y+oKCPyQaqmjwc$mD2bax^kI8kro8OpZn-M-$V`4EWGm8AbOV3pi@c8IbpjyG9@98xpD$l5Yo@X|#~j8>731L)tX z99Y7LL+Bys=Sf-p>Lg7-7&AXFAFn67fgN4AbMxT^(~Bq95Aj8P73CW;cydue`|!hE zI~EweVU4Pk@3A69MeMbA8_swqKGHvqurS&Ig8b5t` z=a=_X7q+(-R`WpUh02b#`Zn=gw)d)!Vj-4n1csBDz7?igR#ps3(W;z`&`iK;(2hw% ztII6g)}=BN&sO%@xK_;TKio$!!9uCJzB%yMENt5Lj`j2Qg^LOB5N22~Ac9ep8DTwz>cV)o!v7HP^<)BM$LN!p zt-DzH93EZ&_x&=DY7J2HnB@3L;FHh&BSEjeuw)Ale9s zHUgr>!T|079sr&OUIJbNEJY#$qK$xPAyZKtqye*p-Tm@G>ON%Imo}{CvM*PhC(NL} z5V5pHwOX@YWR1{&EUj7-FI*`E*=HZR=xQPHL^U@S-UmAVci`*dw!&7GjNsSYsj9Sco+iVvU7ZVDY)!2< z7GjN65;hG9Tglv68Db;8q$id5+Zs~9(nS5AJ*EXR}gr7g5Sb}0^ZS^Tp&=ASUF z7CA5CTa|n(SxH_++JCk5b&iAVjsD+C1Pd>Gx&5z{!)Be_W`!rOqeR;l$Rj~4VIjuG zRFLb;;t}OokYJrkWs^p}i9kM32aE@a;Og^#Wld$8hod?1=@d5>a4`>BCfF(dD&;{%S_5cTggA=zy+@e!(U0iaI00j5I^BVbZW+(y(FDuwl}$VbZW+(y(FDuwl}$ zVbZW+(y(FDuwl}W17`QR@H zv6Wrw{G+0YTCGp_w6CKG@O_A9hKZ3)ksR}SF?Fdje@)fr5?1@s287`%oE3w!V#Z$# z&WgcVF*qv*XT{*G7@QS@vtn>o49<$dnZ&>q&WgdAMAGG<`#FkvXbGj5XD0n*`Ij~2 zNvu_lL{*okCx$9}lzR0^zf=S<7+YxI- zFKy3gEK42M`tZYJ=~-JerlBCTC;7ik-mjT+>-gz6C1o!e)4pMPY1X)P9c8VJ{RbAO zmDIddKeVxBKz>tcDf=S#`u*3dzT4;V`>Q==+_~;okc;_!b5w#dZvqwIOXVInL;II7 zQ?~#gxKn9Dm(4ZspkA z+_5Xijk{Kk*QQhT$;)i-{L-uYo?FRZAlSZ z#mT?Tx*`DknlggHDOf*g<&ENLovZaT& zwd-2(kk$-iiN5UY8O@Xc@Uf)R!9#kq=yyK!wTtPh4ipOdRQSntdJg7 zNDnKdG)!TVPI7V@kYz)PyHZd(Bxv$C*nyt)=wjuQHJSw3H7X%q3@nx`X$=5+Vu-5#^T$>g$InQ@n*u0O-!)E$|X zE)|l<`1-wfDC7Sg+o}J)Uxb#TmAtDBs5X9|v3{A+9i|POFneM3!WTDBoc-YO<-@KV zk)1u_%3;Iiw`6Cx%umxMYLnP3b=UD@WeaB*x76g-SeAjB~!5QA3i(dGjigV?Ifu!b~dYbB8xKi7+Tu5=#nc}EH@&d!03mCgRX z>i}y;zN5i0T6YEB+q#u~Z)+h@+Ghb-_QLAn91D~pmS&xqn5{G^rV@&=8ajk=;spu- zAJ7VP084;QpbOXu>;Vn}#{pSWWQ7`TO6}oD?coe{I8u8!QhPX3dpJ^iI8u8!QhPX3 zdpJ^iI8u8!QhT^xY7a+h4~KA}lO_xi8F;i~q@P|!lGZlTBZCZ+qvmvSk7?CmctZ<)Mf>24_{ynG z8*jN~Bj7$btvlcCyHEWLeM7EuO&-HuvVNZmf=bq?(ivA5yg#1L->Kd&cw1f%IsXCmj7ON43fW^?&C9m)A3Lvc z?xg-%nO94khZ zCnlDUs;HnRSYr8TJ!HrY`>wlg-wi|j$Hz)0T{mjo@ELz7PUO_INzimG<{kyIGj>PLD;#rf z7MXV|;%-I$yA^S_BJNhi-HNzd5qB%%ZbjU!h`SYWw<7LV#NCRxTai-F;xP}3Oizkb zZCQ50C8%i;k(!@pRyipLW5_^UAGUxMt;qB>YM(B+V^X&6%%5@RysbaT{D-&+!{;s> zP+8xU*>vr+%E9wCv`m^dZPKLa({;UNf(STe5$x1v8gul^ji=D`z0`G0x1cw|$Sy$z@1)#z-1$@1xfO!VBfW`_FjTNBL zDjo^r#0yCAiVtW7I)EiWC(s4#1oi+2f#ZNGgK9vrHI?^fj!N-uM)7U-E56OV-;Cnh zjN;pj;@gbk+l=DdjN;pj;@gbk+l=DdjN;pj;@hmK!_6^Jc{g7v<-Gyry#eLD0p+~` z<-Gyry#eLD0p+~`<-Gyry#eLD0p+~`<-LI$GOV{b`4I3c?+v}myPW;4l=rG{sl1yM zNzO-r>aM-nvU+NHRC0duz>2K6s#!OU9kXFpRb1Af)TI36sPd`TwG`B3^q<(+I6f+) zx?qy|pZkUEkxNDn^i||Vh8I*1$!J^Anw{OcqAg=cbwPM!UWIQUZ)Y1Djw|6 zkIheyd%U5(zPY)+zCmbBXN`v?Oqt{OUlyemLC$Ic45YRgRCUqeilC@u6!CaiTVj1C zjj4`)zeX1QCt$fSbD*&tXpB92fmWacSORncUBFIY4{#7T4k#MSS1Lub1efx`KEV~B z78nIg2NnTqfX%=TU^j38I0jhQ&jaM zoJSv8VDybV*2Q1LHD#$IWG1i7J}`998u-W&FI`h7YebG$5to; zES!+B@_sWOzrt7(;9~Bpqv;JY1$|AP?A-g7+S&8Lu5Z@e%;)d0ou5l>%ncwIx7rx?tA&C{a!r#SwZ~%~2lp4t=uFgJ{Hx zMc6cAD^?bbC8ouG7a|N?2m=?wz=bey@r*8nfeT^aLKwIZ1}=nw z3t`|w7)Z{L%P$OE2m=?wz|5?!0V`7cS);Hbo*Fqb-z(!6Yxv~~KUVw^09)e=P`ocx zY@ZjhKX?CM(8gc90F6CgeZ6{qZdM=6ihj(LYsWQ@NPzl#_{c7s20!cd9GTA(vm4(3esA4!UrJP}EQ zjOW};dqjA|sC+gv(IkX7C80#37UASTCQ1mH6up}2a;;kRo-%XsxEm*wo5VOro|87aj(2&^Ph39c zDaCO(@JWNRh3$P)VdH@wH~50AT#FTZ`R_^`ikMnBso#4gM_(LIHt&s81YK9 znDZiElKIhjQ^bi(g&g~HlxF0jv59n$V+wQ_3j(#TnWlF&4;wFCFjdY1nV@rx7nw2U zYZo;%8Jb7t>mvu*b>lRy$hh-+4!1unP8bxwSYi{hiz-jF-u4 z3G`$$UlMl=rO2pvFJE5fnnsQE<#4@LxAejJ=Q`KinKOKL{pclaCE>;giPt>*$^vor z_AEW;e0R>yRc-wbYcF24q+~*4cJ7F|4MjJow*+LZ9L; z_V-29PHG383ApCxD9rntl!MzyB&d}=5{Vp+L=HzHha-{0k;vgl8nW+a^!mHg)11?d^AHV`#_Q_zBU1>QBNBGr=6HZug}atEaz+U*e~fztNqNLPKSFcP_=5)L_PP@||k za+H-=uBUPoRY(eF(xKGcSR$o${EH=83S@@z&&j`7_B5!f%hs-5WIWlT&8{_`9Hq^i zqlL|RNB(HDTZ|`t>hA*M&kNpJu=k|z9i74m$D0Ng@ooX*O)6r$v`(W-?|f6%EtKCd z=H&uC+O|;OEm@{4@owtTBG6zyHxarP;p!o~)$Y)7a?0 zr&^C*U_JU+BrDSE1#3k*rFhPgt){$l?=t0`@FMX7V(ca_y3P1Nr(OXst|SIAjd+Eo zd5!hXaUsv4SD8A$u%w7vc+-P&S*uG7(VYp&TB3gIb-O1`+I`&{&u`bY zhHYz%^>=79wH13k{I^$Iq0PMG{(m;cpLgsrP8z?tOXj-WSg&vDGk(g0&GDN%J}PH| z3ul6;Y7D*~CrLmdP!F^LGk~SQT3`$CAn*+EGVnSejw{J@kg^OpdZ5w7TE-nNiT=qH z0m#2_Ewp{jHtNH-KmUgL7-#O%vbCZ;nnQc>pYOi|;=9j$5(=Sq-@!Di`Je3^6&i-( zSYgS=Ts8lq>54K09x@q$;6XS=R`X1bs;pV0T?`sdUUid3fd}PUs-9L_tVC;6Y)QH@ zIdS^IS+|c0pP7&_GknzTv$n7EW)05E8|+E;tTSeFL2r$X+L$>Zb7M@j-a2d3=<|*& zZ_h91Pp+<>Jiq6cF)1F^gRk9~t#9ZvPFYh;jXcI2XLbO+NI90o9lf$nvwOT$Dltl0 zgT#oFSvG^y7+<=Uz))qtluER(V@xu%EbqGQfkS3P?U6_H&!_%A;|z6VSo7)TT*j#@24glj-eV_RyEO=OPVUq7M0$1|F1hM8ri=*O?JOMAvn zy+iNcE$#H=InD1dzN@&P?%_Q0E$-oLweDel$GuB^C)%2ClP(19{G7W$K6>GA@!D}- zcNd(03psZ6`L1)HTjN=xpKuOV+m-8mB?ZQ?mcbrzEwuHR3j@e6} zWr1?x;>L+2EK3ckZJ3zGi`iJkJWqxd#E8k|mAaFOdV{BQLS+^9v*Stq&?4CG(uksH&{Fc{p{!ZQH2X+tnKTzG4X9D9>)GAi}33v z;OMt{ER$a>y5Sk1rQTX9gI!Aj&du65Zg7L!2-ZSnZy4xIA!Ugwt@@wk;Qo<_tuj{ArKfl7?PA%N{ zV!Jk(-!giGuKRh!T&V9zvi-j zt)I@%Xp6K~!cHl;hYzC1RE}z!r7JVx- z5Z{)11*3t-UV(*)+R4^!K5dDyQ}~;_*rBfN-0ep0wcnH(TuV^bB)F`u@jRdKJp0x2 zAUAlPPk0`Ay}^cP*Qr*Qn<*j`OQS$Ax6@ z`ZY{ST`#A<5?L)7$Jy+ z5YymHK^;o*t3xTMLn)|3DX2p!s6#2JLn)|3DX2p!s6#2JLn)|3DX2p!s6#1A9g==4 z;*$`iu+Vg*6`~Xtq7)XQ6c(Zs7NQguq7)XQ6c(Zs7NQguq7)XQ6c(Zs7WxgiLX^Tn zh9iZQdHI@ZA4ZcYza1BQdCa$y?@7J9S9v5+Mh*%D4O zGwb4e^XbGu&t(p?I975TDp^NEVR%tj{NceK`>N#6vZnh`nZFyNe>4>toVgV ziIt48I*=<}-;}Of2XgC}+&Yk32XgB`ZXL+21G#k|w+`gif!sQfTL*Hbcbxc@>Z}-y z+*b;Vk8qzuj@j_??zn*jAgKUfY&YGQFj!sAYPIaq{?a z_pW2dj{R;x(~RpzH!Yb|7a3A@+1hcFH_mPH{3~xRGkzMKGo-wHXioIG*-`neg9ne! zk21c;^kFNUKjxb3mi&yn0`Y2Fz;KM}G0DS;@+y-oRe&RdB!{d(WZ_Kqu)w1oVhZ13I>|NTGSckdq` zia-2H%1hf?r_6nR``qml+b0jc>xC4Anhwn^aL2hDiS0C4JBOS8av`k*N42aa2OW(( ztY{*QJX{118DWZx@7x~H)N3-CI-w(7ft&eH*F>OAk&BwI)m^L5N=40A?Oq-8s z^D%8crp@OU7e1!VXHJ_`SCeO?S`OCLic5r+VTg`|MEoMEX$6~h;UA#_JE(WXp6#7Z z=X3j?)%DS%HGS{?y)IYh_Pf?PUC->_qjAm2wP&6B+Pm7j+9!2QiXUTd!2kz*Pl7C$LZwToo*Lj;*KAvkGD_kn#BJm?fG1vhAeS3Xkmf07vy=g z8Z6i{C2)mMQm0;IO1;Pwq(!L}TuaA&DX6T*x)xheoR$tSXm!)^AQQywRx-hZOptVK z4|nk(6FkTS4>G}nOz8C1aUJAw}i4|GGxat{Ky=qk84A?;`KUZ}e(d#f96c0G_^Q7Nk zLOMkelGPSUfBl@fyVg$Vuch`M+Hp-&!-BS=mR4iyV^8^(eD8A2^X$Ks7^fnt#?Gy+ zo;4zG_JXf|@$;tZo>*v{iSGM}paAdztw0B`1n301 zfSte|;2>}u5C=v9zeCiOT^HbRX)#j51;2<(;5?oPmPBOZ)sIWOMXpMKO@tkhc%gwD zXdnj~$bklOpn)7{AO{-Afd+D*fgETc2O7wM26CVQ3BD^D$bkkVgpb|b>!nR(Hy&#@ zO&VYYu&5G##KGeA;kW;8`#m3Sy?@@l_i6*yuRpVFXWPm){$I9rtzf9u z#E{>^VJ^iiuuKD;52dCm1$}u5PXOz6w^(X zQCU*OA)3!oR+&QRpon336e?=DLOQtAHwnL&LW-rV(4}O`my#)8N~U}%newG%%9oNU zUrMHYDVg%6WXfACc#@OTfJ{H`7~!1GU(UW%vE# z>TCXS$BJ}q?`cnZj3+(%^s;Ae7&hekz01cnFCLw{Xu;{|bWcpW=k%2e@7^?S`QGb? zG~MvbQb=E|)9<^h!BvstH-Wga!eutDY|$vr$|%K6GJBV5k1*3#S3Bta+K~aqGyEKw z0md`Hcm^2H0OJ{8JOhkpfbk44o&m-)z<352&j8~Y3gbdQIVVhxR|=Eljz}{sA~H>q zxn=cHP7JLaL=O>A5-odC(0NsxKm4xdRgs~|&B>F;^-nSWq?HbgY5ne;1zWO%g%<74B~pLV;V3}ch=z3!j>lwVbK)b1kpKjK3h zqAd@kh*)9P*nqfQwOpt+xioHmnxpqlb2%rU z&2ybPchFbVws3IcikZWrwN%gIN8jwc`o!b&U9J}A;k>~)jU`@PORH_Ksa*K*RrQ)y zbJgQ35({GYPu^cJJild7YS!?1LyK1Y!`fykB1tTcgFKYHIL#VOZm$*@NFBCb4|z%q z$8KI_T?h>Gs!s$;6iw&{`6~`6|Czh@j2w9D-H6_^$lkN)-ZPJNW>Si3F(lNI!^}&r zPY$zh>S^X$ENtXAHRQu$YDg}S6r|F!TJ0EWhG_rB+`&dC3X35}_% z5y*_sjd2UaBvc|}YBJ+=S7->SYnt;#{?j~Kl<{8zo(#{mdoR~Q?==2!v}L&W8r{{V zIorN3f6i`OVVqm>ko+;WYg+jAKfCde@y6>3q2dy9QPbscopJACi7$l#hxElnkYuq# znHDB2%h~pn1jQJ0g|%}7(uJ&qA|;(_E%i56#ePhwBq4Djcp-FAhs6&oQy#~;thX|C zSxj9Xa>c18GlVN8e5=%Yw~V8Nd#X5A1M*FHU3S7VWt>FZML!bRCRVZ>vpLFj`LY~q z%m@g!FM=M!gj{uc>A^(VYKxo@f+1|xjvADki5ZhG!4cuQe0D3W#H6XM%dG6wKAY-W zzcaI6$foNw?Yi4T!?Jd+^G$u|YWt)FrZ(JdOhJ z7)Ni~4+6O3CL79c{_5(pNLhXjAaI8t+q0t7-N7fVv? z{e0l$1M-E?6R29J5T73dmhF9K&x24VZ(ak#QyH>-TEP8urYXh_kR8KwJTO!%N&~fRjp?Z^BpS!XE12B$`g{# zyST0?)F}>rIZB`T2#!L*YUVh~1PQ4re+B2cip(-ClBqFiDO<9^rFo-J9X7D~r)6%_ zTI#c_(vzcl{`C5WzQ9)4oIQAU^9zycyv~3)*C={ zxba3(im&;N8>X+#3Db4W@Io)04oAp5o>dwM?GAie+oQ{1Mf%!hAJ&DS{sp%5wLW1d zNLd#Gw}%y@L}o~m3%oJ|oaYI5#)1S{`299`!ZjPdr3PlxgER;D+S97K;zH}_UbfzvHdn6r;FCB|79g8m=i!U9EFCB|7 z9g8m=i!U9E&)O2_ZB9M}#N?=}8cIJ{)9$dkwkVTB+4o{?Bq-yf{qmtn+4qbNi)`8Q z=9ZN&-?bpwI2BpbHe*o5<*lU=5qi8)ljKg*pFjJoQT536M&6W?70;szEdTq3l{J&< z2F6xQZmJwtWGr}U2qA0c9QDAp&n24DsUu=iEKV&embW2Y(Vc>qIJdu$Drs5Zbd?d@MX#Ilk@^PN}iuwPY`w4 zT*BFUN0hF*m{0*;ef8dZ?-_$#4;zCydCxd=wH7+-fm!^~stx1SS!}ztL;e`Azs?h| zKBM!8zNzLS8OfgEcrS29g4X9C&$hK3+qTy?CNrAGg1HR4c^EMg`dLR=7KGIN%YwK) z|T*oE2pR9c_+(s?h#x}wZn@`b8ma{;o5;=Rtj; z&L2*?%>$S3>-plTr=Eh&WP&BPk@mpfIIBTgkKL+UCBGA_fcb6@5WopjvA-6 zWaG5)i5v;r>qlh!t)5}s8@mr5?%v2#68q}JDHi6I8s-^XAf89n!#UTzD5pO4>~;c} z$mdYTU?QJkiiRO1FW7hShAe3z3=ZL2qxNRTDr8?p(zLp@4r32dAM=Dud{cf)SNQ;N zjz2DGP8Rp>4H?2Fo#ZDh@#i?)ptU;hB(`^(zDvLA{4nb0n!AsbHd}GNNaqpPK4O%Q zF(}Eb`pUVB=psjrghIy|?Mc@s&U4&6)KOtQ9os|(psDwl?WZysTIi3~48R%ZxpOYk z42!zEjde0Aja=CMu1{Q_uu%DPuH2jp2K%AN%M{6~uQNp=@kKg_m=Wn9vf3jkAE3mC zl-oM3Mv(Hmp>RNC?-kK-qPQYS-O?VogS+Qei&ySOU$hXGB_#@x? zIikcL>@f~%t@mml$k|cjDEEM-&Itd=zC8Lf?st3dt#XFtIu9A%cjr$_UfI@yC9jk& zilDQ^gJk}gEEFbr#34+*Os=T;qGJkS3W3UN>0!f`pIUqrMrUTc>l49Q&pLgx90`|K z@6xKfUwEPCJw;ba?;(=y@1o zyQLIRUPo~h6H?O4Le+*Eha5G0X9U;K%iGb((}8y8Mm)jN>{#_S4dICsfIOfU7zIoR z76EI3&A<*|H*f$r23Q{82=oEzLuHy};)f71CAxTj({J*fcRn-Y3lfvel<{+SiI0ks zBY80*Z^V?7V-3d|YXr5NOMQrp#>csQZ?tu6>YDESwx4^lYR1UY@|xtN3}@ugu-xk>RL>qcsI2c(!wNUVou71+I@>gKtM8(|p`o?h?sadY@Kg4>wuB({W zUfzAH8VPwIU)x0bzEG`Sn$eYkoxb-?7Qq~~tYBF0e+Ir=k z$=p1k8GpayhR3I@bkQfy_Z3Pme0*O(9#Hc`GR3I@b zkQfz6j0z-%6a{1Dyv@mnfLIW@DrUq+w6c3dLSk**Pai``6G&r7|3(ue z8^D9gjZQZMZQt^zFLTa$dilhzs^r-Cl$tx*7Cy6J&NEky+gzO*AD`yiI<#qJL&M6Z z(lN!wWAyK-L#euS_tihSE-dVZS62@mnNwDl)6%r~$SpU$zH0Eu+{((_k%K>&a z%cj-WPb)M3%4>z!Mn{%wzH1Z;YmuW)8>aATtrFjm8FUC6QL3SF{xOAFroESiy(c>} zFrQ(Zc!2`I2ebkmz!IPn=mK^Edw_$$aX{^~B6LtL^uTTXw4j|}9WEhee9mKY=d_21Ju>gH%jZs_kA7N+s{+}u z%4l^BC2p13cQ19z-n4BeJLu?F_szveTvNi+QUVcMM^LCP7Vo;ye1jG$0Xip9a49*? zUX`%EvCVx`sHZ5e{F-Sc;o%Qnc)@6Wx2fFq55q2-omWv3#`)Pv);XjpatxhofqNHg z|KdQp4D#9p`D85J3suY1peWJ8JQ1-1h@KH5?-DE~U0pHSOSEv^#R zn`bL!Eaz7{zjDW+EX`J9@z09b5`C>?QQ6p3$zP;kPM7F%k-XtX6o&F}kxEF)l`yVI zexzI>W8d1;U6UQ&JN2nO&pB`H`Hh|}ub7Sf}W9sLO$;cl(~pxRpb)4B z+JG6rQeZ8x1$Yp626!2G9T1mmHg^==Ad1&!s6yzW*c1lexlyox3kGu)NH=$)mpXiO zFSYMNP`1y^2mi2X^B*1EAKMai#vpzm5lNlDBxkj^SGuY%Y0m4!jHQFI zbTF0ch0n^*oizNj93MSXP133QNvH+HMP7iqT*Yf|@%7Q*}A-LW` z>r;<`ZYBP{gXo@Nj!}WKA}Bx@sBCFyP0};nRPn6t>0w+HivNPwF>C#}v;PEGb*Q2x%T> z=j>Hu+<$gUPt(G{`LcsF;@gz8EFPwxoQe}d-BY>MolpAj zI=lPa32m@-WBtgvs~PS^$NQb<#y{WayRYyY^n;>j=ojt|d3?)rVo7%!$tZOcR5S0f z5t_Ey_^paJ@i>?%l_>V>8$0F8Z5ht;j@v#_Zv6%6( znDMcg@v)fkv6%6)?+zIDBA1+cYg2RlyIxI=Qr&sZ|_vdy#0TW{Feu4!qH-E!TbTSm3q{G(M@JU?{Hyw5i6 zG5+xC@~d9eywBhF{zDT#HU9h6@zaXO4lR$04byHf9#RlnJ)?8PyxXRhglBZjXxsdg z8`i(NrLC^+ow04#zNuyHdtOU?b!ppO|J>E{uiB}kn}>{u&mEMKH$6w(anS0Of!1+6c)wKJwn&;1@n>ZNN~Gr!Zs3xkT(*axDoKxk zGDA>O5`a9Q78nIg2NnTqfX%=TU^j38I0jhGnhfYDLy>S0Gv=n3q(qIl@dsB;zxTR{ z1B}lyzt^!Kp|Czj^JxP-w>)noHO|g59gVA;iC&K-+9&G z;>l~q)~=a0HobaKO{Vd?4~<=o^*0>)ASF>7nK<27F`;gt*yP4(x8&`3@OjS)#Jjce zr|rQBa_QK%9#(ZcPb{123IX`NA+o!-itS4;zZg7LR>e;(sV3qX(I1{S%y;9{liQ!Z z$u~?}d4yg&r=5D(fQ_%+xbC%EW5T{16>{iHDRF0<^Ni1srIo0c9ok?uPLcbv6duCY z$A&zz5YPfqT`0%JV4<}fw3dU`a?n~1TFXIeIcO~ht>vJ#9JH2$)^gBV4qC;jr~I(x zpjBLhhfs;q9Oa4%B`PAjB?h<+qEMx*Z3OypLhcnr6@@Al#rL96rJ_)!qEMxxP^F?! zrJ_)!qEMxxP^HXm1d^@$A976PO0)WF2BmN{*ejwWy9NY^RIh($&v%>`x_sJ zfD>?9axlAm=dSOyWMeEgxo{o4UOklhkO*0f!`vXh~WT>f>4tb!Gy6A2qm?^$#N`V zF;EnhYT5Whm7owGoHW`{N^~5!iSy%zjlg(O2-E{@zzkq1uolC;-*M;~cjr%xN5A3dSPJ@%OK z$rDc)pFH-M7WbpYch^@}R94pSxT^8;K@AfTB348UdpSxDo=k_Os~6NfJ;9)B|n63}7j+7T5wj2s{J4 z47?7Aa1k}H)(Q&;x^ymd*W|0_Cy6A|CuZkU7OOH%i)quclW>DXDgL;9`yc;~U<7dq z{-5($+wsb_e7&%+IY#{$HuRn?Jguv^DXC#~;@m zX&Kom>(!dkslO2NhI^O7#L~dEEy&{^WQN({3L^DjTXK(L#g_r&TG%zoB1BnKl8h7O z2w`SrrK@6-*_iAYQmD!fz%(A`e_-}w&@sDh+sdZKLkV?5#y6;C`oRVgciZ8BsfaEDn?kv%t^K%NFGdb z`XtdS+&cE>0nJhXm5#2u+LN~!qjmh2|1^&zdTM*SKkk-x7#xi0Jo7e(BWx4_5?@156}AF$h}2L|@K%%v+? z`-r)8>hBvL@F{hz=L_wl^XtuPUy`W>KF@^soL!*>pgYvs0nZ=3vmaJw!7WuUYEglq zBrGW543nvtK2eIPea{5+owA{Bi0=&l;WarEvQl@1Zsh*{{4$N-Rr-jZ!h|RwhLDv) z6ynbq7E-J43q2h09o_zpnUki`S57<4hSwprxEdf1`5rHv34h^x>?NwNWLHV~o;?3? zzVn{?j{W@Rui4M9^Qa+01!fx+nIN~7q9!TclA^}*%PysWb1--BdBOS#W1ajAUpUI| ze84<}^!ByVl&6O~b9bkCcbOQNgivI5e&|sx<2^0os~tNS>KNm|e(-$J`13N0C|>egAAHyBxn?qeFofi) zMhSMs-C3nN8lY@f(e6txyX@X+-2(@ur41U`J?-8Q@3ea_DRcjTkwP>kYODiV-&ok%T+?xOrT;AWW@Bhus_nbNB%$eT_`EFLF7+_lze17#>rm{`HLZc zG2}0X{Kb&J81ffG{$j{q4Ec*8e=+1QhWy0@@)tw?V#psQMu=Squ`8jAIE-_8Z+)SM ztD;Ba=naN|LNFPe3aY^>a2dEB{2Dw2b^xJ=P*^rh%bp=|i#-Y1b#*K|6}8pK-Sr=V zrFibv+O~yw=091do-iywsYh~H$Mh|3rHgF=qI%WBVPO8qurIsO)|fv*aqf zN3Ub-1?4JyzacCkvOGkt94w2_aQ2y$hz+}T2@ms5OJ5^9

    cERCpRG8ODLB9St1 z(jW&t`kK!(T8;zqk7y=5xWN<2|2CKkj;Ck?D@DSJm#0*S#&hqJQDPA@zGkRyc zxNK2NOCPIQRAp_fuAW?4l-{%Vu_-wjnq5Jr?B;=^$Bv%g(s!`0OW$t2`uFIf^-fdM zzkJ-d1qHTDK50oaH>kDn+S8$B;eGSL^AhbTy)e~zK?hvQmIj*X3)`q$D zW2#2?@6~lcx3dPG(~>rJ(dfxPyI}Cz{wL2qwr9VtT`$NU1&`=!!uy1UdqlrV4K0tL zO?BIJxDA&yKxff9&_1u@jhn+?3h!pWF&)X`+BKo?AMTrHb{IaQ&4an{f{?Y5{iviwtKNg`niN5;$An=pJzYaT0dp5$R*z-h_Xlg#*64y=Dg zzN_4Fo^8=l!?4r$Y1A1JciTQ^n)*02&91?ucD>Cg^l>ZdWu=Pf;{%8+MAZK;)yHKq zq|?KcQ8~v&0i{Ig#DplF>YfL67+Q$diQ%hTK4nuO#^Llf214UGV$O{_pYG7Jo_)6E z?j1W??tb=JJxl+U@2P%zus7%R7JTdoeZ#!dveE29XAxT%SJJ0SK_a{uTKY-S*G~%B zPamr5Mv))s^e0jJU7YERE_AZQ@-lTP3P&=?00m$YmwVM)fytrr$A-qy1Bwk<7tpIvO`&A8;u+z0MNrpef`317!t zR6muihliG_TZF+5h1i~%iY3D-+`t<=Z?N6mkZI zoIxRHP{Q$Qcx}tW|OPV)8Lhr=G@8ixY{bKX<6?In*er?4qtoC6~pU zIh=cQ?tPqi?d^UUQJxNvyPT~(k_hHLdV#@UBq#%Ozyh!wtOM7A&ENsB4Y&d{U=oNL z!2lXV|LncZXVM#UZO%La9a+=8!#62SLBkDMI^nA~_}0Ol)6OaBmvuwK!h0{7I`xu! ze>t|iBz0g(`IzG?#t#@czC3)+%*p2;P+vXYk~($ODGMjhoW9|O3s=9eVcLOvhE88R zzO>dmWZ3k@B@=3=4Y6%fpiX4!cHfP3SEmF={@pKR*%eydkYGZrfs}`Gh@~JF?BLW0 zMU7C9KtU`8u@uBo5KBQU1+f&wQV>f)ECsQYtr4=_->PGgXjDlc9gG4K!6{%NSOID$2f=f|tr0QQ2vNr%uUKr$0K*B^(Ux3|BLbzN7m&5=7`%aa9*F0Gcpix7fp{K> z=Ye=0i06TLuEy~ij`x9Rdl`fp&>_VwtAAyDsGHTvq(!vj>qhn*iN3(+*aNeF44tOP zXL!TRr)OVVT`=n08|P2|;aP7cAbUd)#)L?y+t07yC1c7fu>1b<)x_Qu-+; zw71;k8uleU z>UM*=-JotasM`(dc7wXzEOljxksa}gM5|2#>0lI?2u=YD!3yvra2>b}JP4ixE_M4t zUD2gc3z9HXC!oss!32a392SR)g-8z1XYuuY7$gUf~rYSHOUF~ zH5~5)p=uF{4D6yw$31WtuoUgsiwjHZB#l36*V~(M6clgYGi=#>wDgxgbFRBDih3s6 z_b?&%u#k2xRc@pPcH+yLW9dst57X%vdnkZm6hx%M2a)hWWPlGM;e$x{AQC=^gbyO& zgGl&*^>LsPYy?}tRPK1hTQ65)eH z_#hEJkPqphguagB17K@;9yMGR^BNLrIOh@kVBCXo(^yO2^;>^mK~|Xzc2`%+h<`7_ z7dv9&mQV3G4F&?;4nGXgon?)hckD35fAr>~;EKpKGNjSc*ja9{^5Cn>t=^N#y#5)X zZS>bldHL9~@Po6?LbhK1ZO}NR!8Bq-4S&9GT#LVt{32$b@i02}dS`BNM`r3E{|uaAZO_G9et9 z5ROa;M<#?L6P!;Bh!K={M<&E06XKBx@yLXDWI{YLAs(3!k4%V1Cd4BX;*kmQ$b@)g zLVQ3b#3K{powgyGMd^}QXOKb!nrtMqvLISy8VuHX@ofBAPZL znl>VuHX@ofB0A7UMAJq@+crWPvhKT_u{Ti&9ce)AXOBns&Q|?;8M0k-bk%-e%k)lH zdh9ofUheq>Ie8r4yc`uuX?M*=P!aDXr0*4C7{XQdtY#ii3uGgkkiHvvE^MUcJ-(ic&*VwFI&dx63?2a6fZPAdqaw@R4Vh(4 zQF)fyvN5^~QHL>-@6>yl_B@oLS`3~*#p?!X! z?&nibvWY$)+UG<2d}yB!?en31KD5t=_W960AKK?b`+Q4#F zA4WWgxCt&&?uH~2Hk7qw{h&;Lo{Mn@=T4UMd7dJ;LS8I_D~jNXBDkUmt|)>lir|VO zxS|NID1s}B;0lpJc386rt`JEkHJ*hmGIuMRQ^Gn=<**28nQ3JkroPl^I!7$0ZEmHZ zqHX@F_9%!Qpmj1-Pvx7G?M7Y>H_#HKwY#p*t>@0viEOTw0+zv!Oozsq&^R+d<4m4s zLStDLl?jbAp>ZZO&VCRw{SOo4V&+W@H%$n}dI2#&gL*r~{oDGe$p>Z}e&W6U>&^Q|!XG7y` zXq*j=vja5FhQ`?rjUn&R$nj*Iu&>iJ^+ZYAeoyC#$ru{ntCBIa9x6k(vrOu)KnW7= zpg}d)v`%pDz+FyYZ-~g|!wOliV=Xnr$U#qsMS8*_V#=LJqAY1e(e4S0 z^n^uv!XiCkk)E(fPgtZUEYcGe=?RPUghhH<7U|CNDp}x*z#oEumtLHvQ654hV#-Gv z0E1g}E)mNZ0+U`{AK0J|Y|sZb=mQ({fere=27O?IKCnR_*q{$=&<8f?0~_=Sut6W# zKrDzkp$?Qr9y>h2u{T-QmhTBs!$+L7tZeeKS(!2iU}ZO?iDTC{9{mE9&WYJjD-tl422Saki~P}?<0C^KuxKsFH;0NKqn z7c2rRK_l1*wt%f*JCFuH2`-nJS*R@|bYho5M(6@#X~MD|q=crkDW7(C*iKxI29mVP znPKhka6x~#Kw5(Sa6x~#pg&yDA1>$*7xae<`ojhN;e!5fL4UZQe}D`6!v*~<7f6g5 z!UZyeb7W31UopA!-jTV1nV+xrbb=$=c*5%HgH@5fGL$ER^Fr1ljOLHoTDyZ)C$8+3-d-ypauWWWyWT@J2SgkqvLS^7C~Z9{}ME z5#iaEBx!`3?(jxBydj?mw~`F`E6ypaxXq{AEO@J2ekkq&Rj zhsH(KOjGH?8?yM;X&M~ErnbgsLhDRuoe8Zop>-y-&V<&P&^i-ZXF}^tXq^eIGoiIK zK(=wugx1oGi89g8ZH*k&U)F8(u*(Bzo8UzGq?NGypk24Q>)6ol^0J zz)f;4a;40{oyyK|l*pZy&yJR@B4+D#2VM{DPIiX1s3&Ty9@kWX?5z+*HeiO?ks;rW)cTf^D2#5{dMq3vCpu6 zAqd%_j18Wo_k_x%(K3jMTxr{q=uUP8Z)A&)?2t{1p|hXX$SqYkjW$a9pxFrQDNegL zg|=i0?cNmHy(zSNQ)u_5(C$s4-J3$YH-&a@3hmw$+Px{Xds71K-W1xsDYo4kLA+CJ z;g2TVaZbB8j&^TcpxqlsuEcoAINH5&w0mL)VI1w=INH5&w0q-d_r}rgjicQgN4q!9 zwtFX#<8hA0REk<8GANU^26B$F112=EZ{YX{Sk){Vhgh2(0t&%oa4M(F9Q7|$cBmQ~LexvT+gk$y7 zW2<`=o}bb^P7LAcQF4Rt;PqEK&_+6&W=fLlCh-nVd&w=0P!0&V5_c`$U9Qb_>{5}VMp98KyE0xJ$ll52O7$emY-}-Z?z!~(EPH)&YZnOw>vy1=TEK@JBE zf`bOZL4)9+L2%F@IA{9~RJL!aex%Mb{$a4$hU|XEotj_U~^gHeRCGrM7x+av5 zzNN&;#@dv_M>4HNz!ZiohAyBu`MzI7)F2tKB;0Nq zG%`mzo}Csuw#(`2P+LP}&)uOs^Bu_^k!$~#$evJXBdqVpqF$~nlEo1Jhh-4`Pfw?1 zP}nDQIuD$1lro4<5Oi7y(eyg)*{q1C&{B_Oy}%@ykz%KrI|!d8?HRJ9tvyST8z~_- zf}c2YUkP1l>GU<31EZ*=dL2vPeL2gR=vb#U8%t|8mey=6t=U*wv$3>hV` zH5*H7HkQ_GEUnpCTC=f%)@&@T*;p(7Wg(5T&P5cI?{3;Ymz>MAy`7|Y7U-nXZFc04 zOwt#BcYV%pJ)ti{&co~qBQesD=4wilF!x$r&t;uDOZ^sCmVqLY3Z`~1);Ef#dkrUFN3|e}U;Z0{bNT5H- zn7bwWq56}8Sypo(fM-wLE}d7H^ec;bO#2swBN=3X0x${81&hE+&PeTxp6snW_GqWdK8TNwO!D! z&N>#&5vKo+s%~L{f3H^wv;5cIP~UZ0q(bgExX!62GtVirVCisiy8VsfI1!uz7J?PvN8mbe8+Z^r2i$%}I$SIhr1C)^ zmbh9n%TVlhXDUs;$J~!_;o>yAP*;}JI9(@EU!0{hvTKn|J2Ik|2Jfc9yJ_%l8qAnR zA0rLkO@nvS;N3KMHx1rRgLl*5U9qQ+aDNTQ`@rdAbhoQ{oW+##MKI}_$v0KyoGJY3 z?uzV0_riQ2CJ@ZrBlk>q$)3uMNA8!(Iw|@S&e|H*TYPt`YXSpLuq7G&FIr_ILm07E z!ezQ6XU^j8z$zQd8UJTj*GMO!6Dw?_Z*b&AHnvmn|JK=jgLO8}iW`TazsGepqV0EL z1%=El>D5OT1$K*dCx#Z<#xi#xC5Q99nRYG85Yc-WNN&@Nddm%_g4%8z^bzII9gzWz zUOu5z;ItD3v=apg`~q6=0@{fJ+KB?%i2~Y*0@{fJ+KB?%i2~Y*0@{g!Ks!-DJ5gYT zYhU^v1-6|SLb#Z|lrhW^Xgec#Og)Xlkqk0G0hk2lf<<5@XapO<7O)j;2cqpr#UJ6c z6S*jgqV4pN;W;~!@ZD+f&M;c0vurb$wkDUhCYQD*m$oLCwkDUhCYQD*m$oLCwkDUh zCYQD*m$oK1(AMPA*5s03C$!_gMqBU1IzIi-q11G9`4QPH;*vuu=S4?uf&zT!*^f)s z{Iy$2@vYYU1-7{SU$XY^yIa$zcA?{-=Sb5m8$9GJ5>3u_tsf0e(vfA5t~V*4ACWaY z8M}7v>jWRjUimbui?CM9^dvQH;|T|?)jDXMZ|JgKyUOpN#aqF>8!}s9RaLB*AS3vM z3L+>95fp_8ib4cMA%db1K~adHC`3>cA}9(GB-T%mF|XtJ07#wdONsqgF8`7**@!^n zdu7((IE(;8SaZ~Gpc{W{BT3F83ac!A>!oBN%fk{wjj3QZ7z3^HE%YO=PY$uSQY0o= zCTZP?1?S)zLkV?h&4awsn!G^F5iYOp1BSC0jIUj3x4 z?dQx{JNB)DrVV9?=DRaaek|P<$2hrc<6}jvw5Zv%sIsutwy4?gOExWPHZ5v4EowF` zYBnuuHZ5v4EowF`YBnuuHZ5v4EvhV!m2P^bT@g#qt2cv(!g&1{Cy?_>31`mL3!0i=|q@^Bd zrG|ty&W=?G1Iq%Az!zMCHorR2TAK}_7QkGyU}nG(C35)Y(D&LbhqZj#2`SyS9y?+v zs!^euX2L_cJ6~88Bd~31;UKxevWm7F?y{pGcL#@p4<11~+{oE?^%0hb;pAazf@QmW zi1OWS+$^9JWaB0rKh~XA6B{<)-8Rjxgz5}mJ9gTn2C)Z~C}oT;-JRT*@15Go{WlmT z`j(c~WMt2Yfx#XMOTLLJ=gFNNb?bym@%1Y{J~=XL@BW$<9=^`=cjW1ei3~@^c}+?v ze;>5H!0qJ(`TL+{_;G-T>47j!!m#RhY5(Y9cBeaE0(Cw{>a6>a z4aK>RgwI97OCQ2Y_*^7>F7+ap+~*?UbCK}5NcdbNd@d3`7YUz>gwI97=OW>yCn9?u z`lwvXe95lM*$Q3g#85~KY_E4>C?tkLVkjhrLSiT+hC*T}B!)s_C?tkLVkjhrLSiT+ z250tXyx1###AwdY87N?|2DGSxLVILZ@mx{G~qu?8LyIjF-HD$iwC)pulXolw)b z>Cb0`eU%%Lcueh#Nwxj79<=_x>hQ?!6{ntBlN1^L)t@_Tv+95RvF&$R^)1@e@}Dcx zGjfMc^p=%OFTY}{c`~K<2`A2;(xcY{2k*cVdl>(3zuo^|_S?l#yXXRVZn5(S^3C$@ z^ofpPTt&9W4YMmu&JUG;2hAHCv~k*<`$gQzr$fZ5h-_SPMp06&a1&u6*33i)>}$`m zRZfInU|K=W;q*(TZz}F6&e6b`jd#xW!x`L@$=l(aGhKJK*qe8D%sNt3<|w4{M{pLY zD%K3;I>x>3;$FwQ*J9^Pp39Oo@!!L}mIX+1o$OxA%(Ps~%(VEIWkYhE;$Ek@*8|<_ z!S1!p`icLc?scYnJ;J@ta<6j`E#2vedyW#@Wf1u2;91wFPeV#d{lJ0ChYqdJ%&gDK zT3%34KW0orNl8OlS^bnL4KrtMsIR9L;m>4sz?~?CV^|cB0xxAK#TO)0B^(~5Y)~pUOR2n>V6RdmFHmX}?-oo_swhRNF+4kg@Wzq;62d9@P^t0zm71^* zOHpG0=`HIEwkkCdzZ1Eh)J3sg98@YbWwugNeM)(kC^ZdCCk->Az!`w_&mavm*D7^l zrc$%GKg+MwNp~tW8=SmRsW}%Yb;_Gcow`e@(~0}69!ixH&OG9)!o3hb=gd^9ra`G% z-d{qR>u*u2f&0tv!;l>Bowrx13yEXRK&37&S86TquX_jVSL(7Xr7q7<>c`*;!nl&O z{)Bk0%2Vp<4N6_Z^|d>dx;|N{8y{7e6IJS#F-qM!6KqxLmxTAreM)U2?oG`~{c5{X zn+bahas3)Uw>K(v2e^}P?(VD9Z@AaAMXBE&Q0iXX_v7!uGca(sQK^SEDfI~PK9&G7 z0QVlBtJD*?pX{O3Q<+LVt-vixJ;S|cNSA+&QqSUN8}DqpPpRkjD7Axdo{s`Ndx85e z5YCHBl=>Zb`5L8OeN(B|!^`|?P`tv(V?ZN*C@!pbTs#3QETZT!X2?u>8$&d&W%z!zg+22_%G!CXr=TR;y-?u(kILYw5m;bZH8BQt7e=r6<;atx8Yg-X!9mv`^{D*C;)8pwix% zN>3vk_*l=x--&lBebP>)Pv+h!r0dj8N}s-4=`(q!9RKrpR#mAqysE1ygLAtmy|_l{ zI?_;2_zjIpFaKQWRn1CYn4$DVr00j=67H`fuEyC)Urrj<^X?V+yAo_5jH|MgzM8nM z;l1l{Uys|zdpF;y^e>W?{^b&-H*x=0JwT??n|bfHJxc$Ybl*Nx={ufO`Yz(Xn{@wX zm(suGoqIMaeQ%S}_u=;e((>RUrML3V!(2aFsq|y`eS&zNS_AO=G+{mMSNfUtd;(#K z($8*HdfQs1pCjDoE&v}Yy}d^19i(f=eM&#i{TGPmg)DH5(mT5VpVBWDfSG{!UL@?7 zc=pnrSl>-h`sGGIT(4{ag#Rk{UM1{T_ba`-84$;A+^=m{`t_Yk{~-zx&l{Oa|FJKS zGk)F*2R*<*kO!UwyTChOpVDtvD*Y$Y`OaLhNa;W0=g&NUmvG-BJ$q`Dejh&{@azN9 z_#xr^mFvGYfb~j$v=3zGE{>LV8AMk@W0q=fB zc%S>g=Su&RIR3du=`VQx1^&Oly??#Z|K6bVms^xRP^0u$7bxArxwQunyS49N6aGh> z{`(P5Kf*b-T$z+R0r92m2KY(APbz*=2{Ua1n5)cy{mKj^>_N@oL%{W5t_LTB2Cx=f z12!o`yJu+kOvWyN-wgZ?!S9eYU<0@X;Af~8kpH1I-~zB-8I&zEoUn%bfVg*qeaejJ z0x|&U8S#!aHes@fD|Zk0T$z007@45VsEx`L5Oz^Gm<=kG8O^(6#sIG}Cn$iw6Yf)H z9M6h(DKnmUCvdNnXJrFHo-z~hJ87pflMBEBWv28{W@?r)-nD?VdGAzaI^oY;q|7Y* z&N@Sx*_>xLDTCZGbM`263V!EqSLU?!fa^1PcBUV^smxh(0q>r*5;OwRebyGR74Xhk z;%A>SXNQAikO{^C;yj!8&b|O_0GpJlC;)4enKxIN`8=EdxiXc!yMS~o*sn}=r84Ib z@44im1}w&Z9p}2)$}AZO#whax+&^dl?*QIedIngcOhXhPoQBVpS>6SdgZscP@F6&$ z%nI(W*s09Q^~$Wu18*vGUJ4+d^Cp40fOMU=5JC1 zV6QS4C}l3h&xM4)x&X`sP0C!90Ep)z@^{e%fcGxi3Elzw6jcu3XAOSVWPx#DW)K(m zRpyfY%B=ldnRSHUn5oQVxPN?$GFR~K6-~%@Y7&{(|ss<-J=8>sFp^TBOY8 zxysxY4!A~NF_)ln#Z~*^EmH3ai=m*Wq}JoGvMCSJHcMX2UkE3K-|w1058D*Gw&$lCoDhL z{`5Fc6-B=h_e{|guEbjl%bw{ZL^&i(A ztxnZ3t~*A(tLMA!SamES#|g6w?n>7kr#6^NTz9$aN>;zJ7e&l2!H93l}w{4CVYgklQzceLdQA5L$rA5abx3Icl(Xx3X=GQGgZt0?m z`ik1hisKeLFAa$a4KOF$1~{jxrXuB}irS@ZK@LxuRk6IfGNq)VrlO|0YI)E{>B@$Z z%2`zlm(^6% _kT3uJ0l070TD|_^4@g$)P$4`AlNnK6l=$x#a?9pZ3Q8`)dLU5k8 zd;Q>-r&XW3sG_%?GwZ8s=T|SOs7a};T3WrZwkV~ekCfplOWZPX%VLY5RC^$U-iQRY4T6E$AdsU_^`u2?9#n1-+(^>8W7A&tQl&LJ%|yqls< zvLQ$+I;L_s_h#{QIccfHU4mQQso}bcyN3#+RIMc4CHS9(pM~U8-l(^JC9l=wq?WL< z$yJsux6x{JTS$Sl3}n8S zo<^$AwIyFoN~FZvQ$fnDnq1B2xWtxE3hAw~xn0QpBHlSt7%5B}rSP`!Ops67^U(;X zJ0T?86sTWEOw~*yR}*^$CFYc`#CWunt0uiEgmL&#Q;2N=&xLb4!{x%Y?dwVvsST|! z^QcKdo@}4ngZc6Mt2HU`snjUp5~1&8_$x)tAoW$2Tg%8vE%{F2zLd1wUCJ?&JBQ*e z;qG9*0z4L4*E&+VB19sj5Qos>>nJG85!*|Q6)ZnmLA>)wm++_XV-?r692<}nQXia} zEFU8Mc5jQEbJ7?rnUgGcG>`_V@4_FB50MtZ5)=A|mUV!azRNN{RJ?)INEuX+B9Th- zI7&KKa4qR@xWA0eD<@iagRQxNl5*toQt~3TeF<+YrF2E2)o>O`zK~L$VP(@ddFNm* zIamgw;TlINZoMDzcZk2RSZ-=<(C`MT9XgC}U3heaj?}C~)6sm~CsudSacZ89S9j^I zIzcCrp}W-vCR+xpudrucsk`a!%;Nl2_t0W>vP$<-+jWvo*1dHfeT;fu_tpK>3%b8P zR;TDxCToVO{W?t#(Cm%UgY;l3#ZL92dP)69r>o!T3_U~-)x*?qovB9X;aEEup^wv9 z>Rl23n$NYcMNv!)=crxkWu31_>QQ`yy-+RGMe0>OT947kW2HBwJhd(@YDlAf$FC!?ooub!r-s{*xK&tPN4B0W>Ru219>M3bbSVup-7*p&(de>a+;Pg>TkM2J)-C7`MOe9spItm^?_c9;H}n+ zbhSQ5pQ~&1Vs);r)pdG_{(-JnHF~K!M>ptYdO6i?vATukt4y_MrRwwwy^=M8AL&(E zt4V5!K2O!_^YsP#LcLmFq?YP6`iJTV`eJ>FUaK$F>kvIt)W7wQbfdmZP1Tp{A0u*p z53?;-EA)DOg<7Vs)IZT1^i^t_zFJM!KjoX-*XW<=Yt?%+;3w+q^hSNXzJca*7Q*#> zeWUj2oAk~4=jsA|i#kvLLf@)?sW<6g>CO5!y+!|8{X$)+ev8oi1oh=)eY?Ix->K&4 zyI6K~K;Nx@gYlYEbd&zAzDM7y=Bm~DKD9>uP~WdE(hukd^;Z3mepo-EAJvcP$MqBX zN&OV2Z%)%s>u0oIKdVkxXQ;h;n|fG3r?=}J`gwJxenI_3@6<2qm(-K$Dg8Tjle$^& z(l6^*^s9Qeeoeowf3KVMAM_jgkNQphmVR6RNx!52tl!n|={@>={ek|A{!sr_f29AW z_v(-JC;IPtpZC1XF6t z%tSNEOg2-@RO2<%%ycuu%rqyOS>_}&+nj9Xm{ZJLbE-MboNmrAXPUFj*{0l7n0aQt zsWeq)fmvu4nQC*6IoH&f#irKOnI+~2rrsYwThtUz?N%lGb3;p&&H7`#+B{?Y=2^4NJZH9>9p-tyue@60aqvU$b4sxCFV z&1>pf^E$i8{;u}1h9pJ(M5QvP{WEoq`YG#qE7T^MhO5o*8Ed!!b56f9&1$2HQrpZQ z%p2y9=1udKdE5NSykq{1ktaTupc)yi__4ZNtyh<*vl)H3SUqjtHSd`{=6&;l`HQ+z zy@|Shh5D0fR)1!s;w_dC=B{$sv02h3Nd#k7X0Fdb&X!otGCJYf-Gkzr9`(P1%Rv0+`p;=Yzis#i=Ew7Tx?9$>==Ug(^j#x>pzd%T;r@p&<&ZQ;1DxXCFgjx2SfFLk1KpO2577)*xT%gWBliJ90IO!%aE z74@-`+WW~a9q(pud_m-7H{8iixDk^Zs%t8%VyCo!B`Z63WQ4b3{<4Ou2ya`SxLXo2 z-MKqGTuyMaGQrL51eXF60;Soj5yiSA>tG##is;Q9DPbG)p5+S;%NaRqUz3hfb-Lu#=AKkUl>{K z##HTAq-v)kofCZ7i6D1WM2*9oHEp@1B8`uzb?(-N+|3&qR@GLK+j%MG&`=Y9aq*l*@>ukQdJ+4s{BzAOYPm*r5!St zlU*3zAho9<#QR7aCAFs{Vp#~YmAdIJ9pzaTOlPT^yD~SorGa$2=`AgbTh=a}%iLmL z=GLBNw)QM@YR?KMnJa?Hj9$@JdsaBLXI1c_L({VSh*hDr$1T^g!ie*1a53k#@rS%n znw4dJaJDs{v&}J7Od++bNK|EcaX(@Mq--{%px)0|vjXqiddzbh zA7>jMXE(kqhpqFnt;FGdD{**k%aC*6I^fR=QSMtF$jZxc126G*S?KgUgH zj+@RLH$6FS`f}WK&BPs zmREj&zJcd%esbOX<-70a2cEn6%XP~$*Uew9TaNi|Ipn(e$al*#*Uf)!;5y*XEstEc zJo4Q5^4$3H-1O!J((C%qbJLmUrZdk?PoA5;JU3l=fpi7JcjM1<)0gL_D?i{bknTYK z1M#@&&3D7kcjL=<i!$qS^ z{1Nbip7g7Y{BLh=0%n+VOF88HvBXmg_ZJ{*|mm>@X6@E zo~ac}mQRZT-hWR;uM^LP*@51FqatJRX#b8S{@Y*w8_my9>H%goB^ z$T}y#VfBmZoG0URJj}h3=>{^r%+2%?GCUt}>8X=+MoYL(Cd3s;Tw>^j^Vki-UUYRY z0^WOcxOU!flVmSqY;2CxX58`OX4YOrkxlD}Jg=(0ZbZX^2s%7+YFHsxQ4NdgtK>Rz zLEW-?d#+w?pD(RmDbJVE9jg^bl}y5lhuUfzfRsm0R)G~moUIt*Y^yP6D~32*vB24i z3C>n5aJFKBvlR=Rtysy)8s&yJ%6)H?``#$`y;1IaqulpK6~@f3gNH}VuUJ~uwQA*j z$XHpo!nscT!Lq8QGUM5Hr~8ts`s%t$>D-}qSK7DYmoTGOTT`{5!3o4(+9_w}@jSGq zs^DXL8GM`|*XLF>w0TH$Zv?$q&dDmaf{{t=?AS%CmMo%BCCRZ>OinLdMqhRxPb+a7wWxze^ycQhd=hRZExJ!i%h^ zudiFNY)Ong+bl<0r_kPUNzufk%hp#{EQIp27TL5;_Y=?8Coi2XOE1maCjrW zZQk4ZPLS9`3)7}C*Wul)+)?=+Tl3-q722tX)EkN{H(HuExMGA`sIJ14T~HRWaKzH3 zSve6C<&+yc(dyaOoe(lWU~hDhKo}*k7hQux1XOEL+}Xc&5xga4t$lg#(KOyu< zXz;~_p-)QeMSPo(4SnXMBeuf!074(QX>vQV&J(vcYcJp;DwB1_vSxxo6zh(xaL%^y z@^Z86&FB%-mddIHBeG>~gVmd@j3hF+&Pbv2XBe$y2#j&Xllg@+uJ{bcKk*A^)a^r# z`}u`47ZT2Kh#tamww}wn&r~x|g)9O<5;+%s#JtiKr5<=m?JS~bNUXWHW&dpyG) z=h@>Td#ts`275fu9@p68I(uAC4kef0{-`N6!x*bkG3mFmzWrJ$Mg5B~ul?1#XXolL zN6!||wnO~3aR2LmyV}1KHHBZf`&%8=>7Qpy)cWXcv0Y;O#Lfiro7bsdO>FQtGxpXF zzvkG^|2~TSyq)hZad*dlbfjP0?zk`F!`pr_@$&0?m|t3aT72KQyW=zC%i_y;v(vxW zkK%U6&y7FJ{jH2|`^A#V_$xzxnelga_&pzQe{o-gd8J$(YR2!1-xammvyD5qMy-yW z8UG*8HlY?2;98#IyO~&t(ZRQ?v;LgOi^An$v>ln^4@mF$ONttAFP9tq) zq;j{!9_E#>6XQb7SI1Vvyp7z0iRXMi)oS>S9?4l2MrFdtNcDzE@71dBj5 zI0u{yYQSPp3+liU@B=_<)hcj4xBy%TR)aOIjp|}>30Mm*<=#5*BhUyg1DAszgZ1DF za3%N&*Z{5qSA(B|YrxOIwct9iv9&>64{iWA0w1^u{G51h0lxsZf?tA7;8$QX_*3gk zdI+UE6bu8IU^tl6>eG|K6fhNd!89-(%mA}_?__WaI9-il9(s(XoOBIm%0kzJrLB#6 zIp@`!FX7zS+Ms`odp#guLQ#DuVciA(i2H5uF8AN({8!E&3W)s``(jmEG4V*#Q8OqL3ZpMfIo58Ex-|ccuB-HZ5KYsI9@DcbM*b6>x z^)nGG?+v7UZ&u;0dzA-7fJhJpqCpIZ1zkWKhzDIk0!ReiKzGms^aQ;?5=aKUK_74j zG29960(XPofF|%;a1Xc_+z0Ll4}b^3R`3vb7(4 zIj|k<055`<@bf#c3%tzrE8tbI8@vWy=l<_OGwwfdeuMKLIll?s!u>Wl(E6?p2Obas zB0&_01~DKObOCW79&`l>AQ5x}-9Zn~6Z8T}AQ|)qeE_vupWeDxSAZIDHJ}#g8^Ddg z2R7mFHgG$*8&D?tQO-|uCg1u6K%Vp;dG~GbKKKks+FM)SH5x=iZPIH zw|ZF@U9Qu^})M7c-IH-`rut3yz7H^eekXi-u1z|K6uv$@A}|f zAH3^>cYW}#58m~uACj7z!5!dEa2L26{020E--3Iabn`)_}EO1Gt*|Kjr*1_#^JO!TVqz z*Pl_Ev1%r?^cio5O%B zj~w?S$Nk80KXTlU9Cu3i=bUc=zW}#_UxH2GS70-_5}Kb5Xu~KOA0;C)xS7)NQ93^4 za5E+3qlA3OVn4FD8Cfi)7KJbrL zdN@{2pUTs7i4}QmWwW1m{jAHNE)eQwLKV6O9SJAHDBj3d9%t zTJhfq-w>y8vx>kaJlaf*&BWMDjLpQ@Y~K~$5^ig9-jy`)#`UdF9P$m1<;M2uLUP#{ zx)9%?Vu^%S@HDAD)Ke|#WUN4B>>*mBgGx#3m9$!O&^!F-9jtr;+rV>RJJ_37!jE3zN3ZasSNPE@{OA>a^a?+E zg&)1buX}+ckPLc*J^<;7&frI9@asF^TiPvj20!|OAAP}(zTihc@S`92(GUFS27Yt{ zKe~Y*{%b@(@S`92(GUFS2Y&Pezxfn=20jP>1YdxE0VF2+fFFIpk3Qf>AMm3O_|XUa z=mUQA0YCbHAAP`&KHv`{-{=E=^Z|bu`9>e`qYwDing10fJAzU>4rGCBkOOi-9>@nH z!6;Aw3PBMV4aR`u!3kh27zaYB)R96vc@8&OO2I+;b?|!-N;OKd9p&HRkN2>WI%EYyIF^unjy1wu2quMes6s1-uG&gV#Vacmuoz z&<~L}K1H2W)Jf!y54qz*?)Z>9KID!Mx#L6b_>en39KID!Mx#L6b_%!lDr-1=rAQ%J&gLEM6?@u`gw6RV2{}tD_alReg z4W#XSl(XozKWcyvx#dG{`3y3J8sI~A`H)>cxZh{nPSOaM`;c8e zWS7qzi@#G_K17E3kYPS#m=77|Lx%Z~VLoJ-4;kh|hWU_TK4h2=8RkQV`H*2gWS9>b z=0k@0kYPS#m=77|Lx%Z~VLoJ-4;kiT)qg*@WXAVdYt&Te=ml%wydM(h#hfnzYr#hJ zzw5yb;6~sBH-Ve+cO<<@=o8e30$O%?h?ZR*qGfMJA1b%{Q0KJla#!yOXxUcpv9uas z>z3#)`mQ%jvly5oZTTc0wQ@-W@ z6)o4{>SZx>ECJ)e1W*df0OiGqmtWU|rCcxPyqfbRoEtd{{jbD*s8-C+vu!++`YZaz zF0OZTei!@|e9ZOVIipiB^5tjL%W2tKxZg@$6`cfK0e!f75p#)l?1X`g4TA>75p#)l?1X`g4TA>75p#)l?1X`g4S|N6QgYKXQ z=m~m(B#;bxgFav?@Pa$wzB|EP0Np_S1~h@+f_uQd;689acmO;Iwt|Pi!{8C{D0mD! z4xRu{f~UYUzz?1UP^p~;`#jfBOrd{tTAO_bzkdc$SG@=J0MS#zfd@nYG`;Us!$mS2 zwxt=uc|Qi>FB-cSjopjJ?nPtw zqOp6?*u7}%UKs;Hj+Udbm+OIG5Eu;7K}YTu?R^vP+y-t3cY{ah9X-nVF=XuHz>%F^ zTK;nF$WAY^(|ZWn=|y&WY3aSpPBbAqy>Pl0E#8Y3@1_6hMT7UE!F$o*z37C__|+Q5 zu&%`atDJWqdOQm*Z$txVM9XhP%Wp)>Z$!&)M9XhP%Wp)>Z$!&)M9XhP%Wp)>Z$!&) zM9XhP%Wp)>Z$!&)3=0Py5CI}V6o_VotL{6ObBE%V|4A8lWH}aW6_2(R^tPOVygK85 ztR>W@7X9iZB-Qsevf<8vNZ+h8Ga%A8``w@^_L}{v*;V*oT%myueJAGmq!YR5^2bjY!krOqGn%w;uru&P>U?UT|iL z-ZA5I4ow2(Z|s`8KCJfY%bxrsHIkMii!Y0wh>4by_?^HW@OnOHAm%DgQ5Vs>o~!P_ zM%Nnkyn2B(058(s+`|6g{d_CuKm49o2UH6d2Euh;^%8alGT1FX41M}jEC9?_pRs5E zbnF?N#V<;i^NVJ$eifDt&fyo&p8PuO8q~8JKS3{N_kDME-mlU~k;D+xU%Phx-fIEBGC|*^AlB{;D3&K6Yk;>`wMlyOVt)yV&2w zPQf1bu}@(S`(LqD@G-mBr?Gqeb8Hm+i+$^}*|+{BHVRryn4T;9)%98ISC7}_Cc*U3 z3)!3ASJ$vBJx%|B{pjg>IcpcE>+@voqP~zlY}9MnIlfq5%6{<`dL6sPSLw^lMP`k@Ty}%&_3Q<|T3^Y2@9XtX*zfJr z8`$xEv%bnaZl2Irn^(|M?4R=KHW;+7ndJ5y<4uDzFnl>K7_-@kDX!rxAM?F$c2o~j$vHuUFs#~ zHow^)Z+GTzOlLfW`e{Y#wifX7QT8vjd(!M&(R#N1S*nz`KHPSrGme=7Pe}E)KO0iW zb=w0RJoATMe-rni!U%@iSuPeHJY4KjV!=NNG3Zxf7s>~pAK4Y;@gTPzA%w$H`}?g; z!Mp_0C-T9$D^eo({F}I1-xXdDgx5X<=UMxE-{7i^BRltQXSsz`i;VP1{bhIC(__+J$%E5p=lC1Pucu7XgjU7Y zAMS=m5L$;?8kwMUx1H;dH$rN*rFgmc z2=IN-pYvX4j*_cDn&ka}>`F8F|VYR2W_&!qUejR1W+Y$O6PUr!t=uq|0F&?TmTgrTG&n7f1aq~u} zWu(phA^9;-ilJeJx&zO@**VC02fyF?($_r=`nQt7Eg9jkkSDI2S)h56(|)M>5&G8Gx(zlM!?7->*gu%Z?$D9^vaks`1{1>L z_>Jr^M)d>6sFv}YgF(<$j8vVko>Hf=lk^2FB+3}o?RJdnWjjW-Tge#JYm8Clt7gW1 zW;6aI<5B~xCCPzyTxu}mQVSSEl5wd_J1#Zcj!TWO<5Jny0%We(f5htLCD?u(B{m-! zN%}G4Qe*76)HpjXRcgnj%Ivt*ME!HdrKV!Pu}ROsBI7;!492A%B32oZn#YKgpE$Q+ zOYvN5OK}CZ6kliji#6x^JpB&8A2Ry%KK3SMZ5pWWv13d3+Oehk?AX%%c5LYZJGS&7b_Unzt&AaU&=1)$ zq(|)-(qncE>2W)T^n@KfdeVFv7OkIVZ|8PPr*!Dl8_T18_zlMD;4$_?Z>d-zOv5^9 zH23n{@8=G-R6N#FaVS*uVuf^?nodYF76Q|m+}qoG_3pGgl)o``9-RqGj5rJ6~NoE4|s=q66>l@ z@f!etZ07@~JNOM{W-HH4THcAt*s`(dk^CA3{3P1geJXtX?W-qZDYYkdQfH_>dZs=}b%k?hvl|-TRq1fi znW~?Rtg2&#gE`LAm1;1ft5qr%zFNRjxEVL2tSSR;u2;!=sa}fD290@SID0wwSLhY2 zj>f_%{^4)dd0wI~!RK1NmZz8MOG!_oZsaNBvE2DFR!(~}CcB;xuE54=KN*|lzF0Yp z)mO8pEnWWLJGg`~>2JNGKZqhfAub=B*5HcgTstYw_Gj7Ij@xMiH z!ToD&ooeix-phGRyE<1dc~3PUQ+d-eh@dKzPKOJ zkMQoJ`ceF2?Np^w-=0*17zKWcJ5R&QLm3TzhC6=kr?eRp=Kgc~IdZgJZ--Jl^bVD% zpT`PnPezJg;OS1Rpbllk_;;jvm)^x&FYA}N!{{+Quv_oOO&#XQNHS^ogZ=~VH}o64 z`$u;8rDGxWO~QXmzXcWEX1`y$)N>Utm@YM+`ycC%@&Aeb zgfjoT{yTT}>3vY`Q~fFK&)653&Up0aQ2$^0U)5`ro)2oyL7YA0Xrw-9nnN zud0S&VO6W1SXnhH2}`SCDg$e);VOy|Y>(=KG>KG08OM&oo@k7T!GA3Kg~GAG+68x< ziBtWNGF??1qui`b!X9fP_q&;HgxTG6SA($4+JieiO%h=yn?Cr#J}Y ztT~qZ$SLkK297mQ#=to;2F{T&aE^?Db3{&IRrE@8CGq~m{DjnQFdI~Nky$EPWR@B% zGD{sJGE1e1%)&o13k$~v2_O~+B9UBukOh7D@gZ`og(e^+QgEm8OF&K)aTKe64%r z>P6hIVMpu$D}xfO3`(#v$YW(ts+B6N{$x5O`D~XbsY`XpNE)6+_yWGj7=tn}$+rBAYzKK=BwSYJ-EGAPkXpDtGV#9HZNtn^6~E6h;j zC1g;Nl|ji?2K5tL%-j(flwoC1B37Ayk58;Jb6@1n04r+-SSgcWrA(5QF9WQ6NwD(8 zW93VPl`jcazNA|D!U{Iz%K$4`60Bs2u#zRgN|p#KSrV;e>8D$Dt4hRrGau%(@+HyA zmkcXk60CgbYUN9Ehw)rrRGZ9 zB5{VB1!e(mkvqe&+`I_4NS_|qU%niB#9~z>(n_KzD~S@UB#N<;sK1p#9xH<)tPJX5 zWl%TtS`A{%tS)>>Da78$IBRcYCz6RjEPEt!>Vg(E5Lt9QR>9B2Wc@N^%oSq87(2($ zs#lRhjy;kBYma1}`(79tQVRM@mKw*L?Lua8S7EXFr&w>kQ$2|NWj-NA_}$RBx+2Xo znC~q?4?C3)Db%28U5?cHIo8@A!RGSwuFoi>)d2LLJnX4YRcBzcqz=pGm#S--0lph+ z&QGY{wb?wGV{M+Su{KX`w>D39Tbm~>V)I02h|Lo$tvER}y29p|gmjp%^)BYl~lvbm2$W9!Gf=V)v>PeHDi^HG2mXpuidd%R8ELrd|p z>r+!!eaYWQdL~|a7*%Mf7hxrO1CqT7o6*wOaKem5GK+2fLTtxRr?sfyqadrX#C{EZ zku6wj--g6@e8w=!-k&+we0nc4n2Dc9n{u97r>@3E^{=sw{TwZU<1?JrAr1XH8|(Cw z(UH$)K7I}MsjpM4ict5`lI&EkRaDe8c$7Ux*<*q|Cfj3*J!aTrmOU2O<2ZYqWRElL zaqfHxr`#SF*dyj!xr1R;jw|hPwLPx2$II<;gFRkrk3M_6Rcugsw%Fs{_IRH?K5UOq z+T%8R+-Z-m*kiLjzHN_t?D3<@+PcM_efIc;Jsyx_gt5mcdyKco9`@MB9#iabusvql zW6lDMkwp~P;|caS!5*jB<4k*;V~=Op<2-v@WRJD>*kF(6i50MjHTJm99@pFB)%Lj2 z9&fhCP4;-ZJvQ0n1NQi+Jw7e=btAUh<4g9q+aBMr$9L@U1AE+SkDuD({@P`W>myp^ z7#VJlG4_~XkG<@%uRW&OV}?DBu*W=mEV9ROb@i3Ck!AKc-5%%I<5~8&z#ePuak)LN zw#Rk$c%?mFYmYZCA-Mmqy{nInqKM+RbJzA-pwwD=?Lkf`cLzO6sU?)w)TUI_3QCY5 z2_Mn6RDvxKlVVbZkYcb2N(kW(LX07XkbYu-Rkc)3vnCqUE(g{9^wbY{lr7W!^ES+R$>P*-+7AoHSt^Gcf?D?pNU<>o5UXC z9l=CJbOL85CKJ<$ZsKI3pO{0;Cl(S*i1UdHh>PpqsH#g`MqEX#BCaKFAZ{eSMQk88 z5_b@H6Zh8P0LH|9!~?`;;wQvo#5Upy;#b5o#B;<8#LF8YKZ(B(uM)e7y~KNhNe*HX zF@=~;oJ7nbPRC3MMT7I|NX0S-NDh%>3h6|SNu(1w((??~4^q2GQ1lgzT1#Xo`j4C+ z)`vI=E%cB1yEzR`LqnQKQ9+u@Ubx;wB?LY{bWmxLxn#_ET7gpvT#}9qIZ%jyyeu zqs)jG81WKZcfxBc-sQ#}#c_r4%?b6+uEgVG0%Ll|)g%{=Z%(Oyq$~A!S|F`Ay~b7O zTH$JR9dey>^<-pabZ2@pOEcGH?#yh>yy$ki1MX!L-4icO+V4qwtnsmPD8}c|AVG2SP!c+t=f)4@msHP!IN61E-ASKev z*q#i_xp)zi7Lu7pc-Epha3v3x$e{10fw^wtIPRS=47W_20(HCrDiQ&CfHdIlIJQ)$ zv=Xisz|u|+VgFr1KqKQ}+ZXr5qrG%~WQ)WO@LOb9_!Yb!{=5JEQu-uV926)etLM-* z%i(it0b{fVY{d&h-{tJqspvtXNoiPBOa9U(=KK^|q-EGNE74*aYNE-QfIPmz^9qN0 z9^W;rr%|i>J)|07t4l4DOt~o8^FB;li_fk8{mV5>dyCI5@u$_-HyV&{DtI#=J);_Z zLQ1*=;UKx-K$%iuy`ND zZc-KecdU8`*05Thcq`+rgQwfp3KxW~mW|$Ai_>p8g0uDAutf;xr6n}j!xY*=f9g6G zI*=WuO2zLqeBx+(iKks71s01u*o^Y=nFtQf!CiAP>Udy9DM5--)YFGi;2Bt8%3-aT z0c+7h*jQeG^-A2~u7DdgM&lZdiFJj)=4*Sb{_^g7JY7f%x#YiE3yAHr2 zCC~2G!@j&5{`S7d6O4~6Ro3X>xCZH}fGu>e+EiMqO{^sA(ZO+%pDNhT2dmBMnEZ^; zSQ#B07x}4HHG|5}rkMPUviw+!<03zs)!UFC1&yWytJ!si<|+TgG@p^s(nPPU=;Jt^ z=IOe=wKy)4^9r5?ht(z~KO?T?3&*RXLVhZ-e;}+jG5Hx4`KgWy`B|-Aqx_g^6O*4& zk)O>`AwQecR?3gmM&@9#yk#Jmtv^9)pLx9?w!4AS$eh?`4G5=J35{wvYUVUTt#54@ zPEA&Z!%;J*5o+Np1#>+_Zw=D3lIAy9yO`@Eb=S4r{?=8|xPo;y>oFd*uivDV^`+^r z^9)TbI7bgf%{&7RO)WUa4Moj79u7?{*nfwjX6_w2wRRIvtg|+dmR*D%ZuL6A3!CNZ zu#|O>XA@X!hAiz?8gE3JUc$Ix9r+iju{y_VEy-~iU4wIM|CvVW6P#6|p?%g{vVE*P z25qny#|P4{PexfUkos6}UT|ZSnv7tqXz&bL=C}qyyb&dDg}HGZyGHn)SU%o02&L6> zB^CD@Xj-{^*YDG0qgpa)-oNX)lgck zUwQ9JI=!ZPYVvbnnzA3lpvhY4sRo~cno#!e8EEj-2M0*qfgFQ-C9EX(!Y8S{^?It6 zIW7_uj*axZX)~+ zc~gA**2dEY;=qA;^(in8{}zFgoRz>G&Z<*gS2xs6+#^>n+kUiNvHgS-3b?~rb*n$r zE%m4BQGcmk^|!jM{!w?-U3E|0ha#!r_zAn+VUM%N+Y{_goY^4x%9#l^zRT}2EVH(M E0X?M`Q2+n{ literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.woff b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbdee05ca267f71d1b30b11f7a01cf1835ee4676 GIT binary patch literal 91428 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 OKh}Y#EYpOBPyGi64^^rF literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4a801f0d3ae41719910313b2beefd14c22f9283b GIT binary patch literal 52980 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%0Ab-n4{yRsC7)kE4@wd{=sB)%0j^6>yxrkJ~@u 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

    jG)*ZI2n#p{rIqIlWPSghg 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

    E8!!f8o!xtz3Lt^A=sHhq3-RdV$l5xCzCMHwpKZ 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 literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraLight.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-ExtraLight.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f841205bf765303d2e14c8dedc3d68d46589c6cd GIT binary patch literal 53460 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

    gr@Mqk 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 literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-GX.ttf b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-GX.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0a75bb2e63beb32a3cf04843ece3731e4e916fb0 GIT binary patch literal 190452 zcmd3P30zgx7Wdx!oO>@SA;_o_GJ}f93@Rc5Dxf0h0Ra&Z5obk2#0k;N9MGIIvm&!H zGt<(t$;{?5Ghe-i=QA^3uh;XHuV+06?(th|pL6cOy}-rqeZSwQoO|wY&f5RI_F8MN zz4qSg5K0K?0WTu)&zO)k3O-T7{(cqCPNOnLj654Y{2ZYr=iqa}sN8WA>gK*WozThQ zgv@+;)P(%Bquu|}m(cg&caNsbg5l#2di35(=wC_*F{F;0FfbGCFjhWjB{Xv4?OQz3RQdR#z!zDuQ z%_Owvi__uv3Dvo`;rAniii2lNn^Nij@nctjegs^fFay4DeX>hEe6EDg!87L8*6;W# z;SM3pi4f%^0@2~9slNY4P^3|vZv$9?OUR@OcFcR~%w7jog)j>nbr$;)!J%(`4~%7@Q- z!th)82lqKiM&LnL34X8ca)DD)e&eq~H~a=(E6F`%JltvhPXJ1ySWiAAIzn_F;t}|H zmvUxrkQj#OP5=A}djLKlR{qZ){*hCp>usiBaFSS|KcO74n51ili~NbG`;dHybn&2D z;Cz~d|Gzj4J%H{O(xj^=$#xGP_|1oSz|o{*#6v76O>G`WTK(4gvvzMJ(3%0|wLZe( z`&=js&U6Q9R*pMg&>eTah4-7)BN@(vmGADn4CkZ5JZLL8#1beU4&fqcR*(JaxkBFy zXh*bhtN|?l+oLPebNY}ZiyHtF9Qav$AKqIYd*C}ehi)8Prw3l|H63aAURMcp{zr$n zmUK1rBH^tMaVeDP0=#VRc!N}mmPazl75^U`hCM*{Mc_pOob4Si!uLx_t}YF(QQza| zP8~;VuV+s~yC6Nwqk&)71hfep7V?R5YLZcuS(HU!ZOGSPtcP_Q1N~J=)p&et-PUAj9v-W97(YkC7(zSPSQ+q6oj+I~w4+ zKZu9mM?CPX9e}<5e{~3NkZ|1>wuf*F%Dqm)+dIUrVAm{(<-33AC9wd9bON-7q8s8s=G>>oW_uFr(*bw6dD*GzeW0H}+e^$R!!2cw zW5(+dE9et1-;3-LHG8qJX#kx0%Eg+|Bpieshzh8mxHmle9LA~Kxa6-bx6L1~!aSPmgk;DMrdaW&V z$?*QVLW7mu`IfD@^9BBHI*BE>=~Wt z6^+oY+rfSufcL%N_*wZ*tROMEe$aM%KtBHoxL=0v!M`x1!5QQi`2zgo^$}iH&bkZa z8Xkxbahg5@7V!%C8yr6(F3^qhaEyfag>Y;W%HelC93{jD_v(0Yry#$==Hb2Bh=3~$T2*SKkO>0cUl8B zm60=e9nzrZfS+&(r$8PG$u(gcoeIZd(6R4?Gw}Hs90%Z-L#_kXpYb|Dgd+m#dxZW5 zN19U$X?8jcymv3eBWrX#;(bZlh1oBdj+oVjr-- z3X6mWVS~^lY!RLio)wM=9|>p0USg0qSWFko#I52B;_Ko+{OG^R)AMPV8Hf(eKE5Pe>T;Xif$<^7=})4_V32Sx8cE~mAUd38(_D_TnZCe$0O$Mc zYoQi!t^u5zg{{Jq!a?Dv@Uck5-eRygM9dIDR>jxEpZppDXEWe*_xJJldb%ob;06HobF)UAXf*jLxnB-d6u;AyvnF^8LhvkUM2}x)LJK zh9g_fg4fY_gE0?|nU=SH|2-j>OD`AWcbEHJUUxa;vUs`w_h;e%vF~Br{{1iC|A^Oo z{}=e?)$gBycU>H1*O57z5ux8v1;7+_?`voTMXJ1S?=A ztb)y9OTqHMKlU~ImR;cQF7nqa@ZB%`9lWv|T(Dw5z)FN|!VY1Vuv^#zpO79Ab482` zwE8FJC|_u2xGqz>L>#HT!!!6LaEPh=JAvh~m8_6$VXv@vStBcBI_5Hi5kZ(UIOD+kqg_i6n^(C8=aI8B4|yiR6<>q=wXzMPv!c{QYD%d6+y# z9w*PRsjQe)vcs&JeMO!lr^!3yBl0Qvj$9&tBR`SrP_p+MC`>{b(TV3z9dS zrqNNLBe`q}`vf?5h;3lw*=F_#dyqZG&VUSl$v&V(Y#DnVxcVXcj(yAyvQ#!4ID4GE z$MV@FHjEatL>|Y!m2)Z6av#2i}O}xmPU<;ln-sB{?m%K~-$p<6=tcV|Zj|7uXNC-JY z;>ce>`@SOaa(dLVh5_$lpl{`H^Ik|By`bZ<0lRBN^l$WDNP8 zC)24b*+dh-(uI*VbO5`+{>=W$zGoNNH|#R|f&Pa*K(Eu^=^yk4y~(`k zEqa^X%lud$=E-_7FV+(*p%3$=Q)wmLNXzJbbTz%7uB8vqM!JfwqqFHux`-~PlV}N@ zOiSq$T0y7LDmtCcptEQlT}+qIdb*S@1KYZiuApn^db)vbr#t9Qx{E$c_s~b_WAt&_ zO!v{l^aXm99-%MNm*~s%6?&Y$LEomQ=_7P6eTP0oU#G9pH|a_G7Ck{>(N9jniho+OgbOdoHuMto32H5*!q&s<;xRO_h8#zH-$Z=vI zhe;Q51gz{)(v7@GoX86#ntV-S$+skd{FU@0pOXmkCo+J1K_bbQq(3=NMv-e|1o;KL zsC!5i?M_Omft1rOWD4y{Drh%SMxDqE>PBW!cQTuLkU7+o%%nZY1{w>a-FO%kCz366 z5ZOuxlWlYed5|WN{d6pOl8zxy(H!zL9mnd~5?0IV*kZN_?9-?0ELf{Y*&eo)ZDS9! zUF;-#oxQ={WG}HN*t6^aThE%<6)MquT1fQt53nO$$sg=TZcnsWAOFziOGj46p9Qc$ z7Q}*C2n%IlES&ZI|Hl$RtWPQORP!G3+fJ_5`2C3^~N(|q;<*fQkwV_?f(2EM<@ zy0N3Qh++@*HuYf=*uv-8F}9sO2ff8IuyVO<16a78V7oxK*<3b{w@FL+JlEyBE_b>n zbzR!^!LDC-8`5oSw|_aOIOjVrbbiSBN#|FbKXd-c`Sv|7_XOQD`ku0Tn(jG$&wpG7 zx@5U5a#`c@h|4oBAGv(*V(jkTJ*Inp_m$nB?f$cCxa&OE6K-AHirk*-(Y?p&9%tO$ z+zZ{0dUW-eU>W0q&+9}e7;xLUMqY3 zwfFGe5B7ed_v^jC?tR6#i*K~=6yJTmf4;Zty@T$Zb?@`{{^FP5x5DrJK7oBU_Bq|> z-{70A^WWir(Ek(v>j41);{uih><%~*a4z6_pif|8U}50Kz%zlDgJ@7t(D0y*K^KCD z20slM>VR6F#gs&32Ck7@)CZ;78CsriRO1v*|cjBqUFOm#NLzBvq)+RM4 zok{vS>1xuALEeKR1}z=*%%Hyvb{{-`@Q%U%7!ow3a>%no{zy(selYphp_7L`IrN8= zkd&nYjmsFfZrrhPZ;bnO+<$ZRxqi7(x#hVta;tN9=DwcindhIEn^&DzpSLIPWZwIE zXY>A?_fy`ryc^@mc<=Ee$8Q|Jef-N+&v;42}FX#VUFtT8M!R~@11*Z$H72KFeCXSi7aN@@k zFBkSGj42#bIInPX;laYU3qLCSOW_ZN|12~X>57tyRu(-_bhPNBqVJ33Vz1(~;=1Bz zi+`OIF)41+ut_zOmQLC}>5)lKPWng5y(QC18cNocoSxiga=*zjlZz(5F!`0qEv3<= zgGw_>$COH?C8d?650^e!db5m{4Jk`68(lV`Y*N{xvK3|bmu)ILU-oU;<+6X3{a$7) z_bK-;4=;}@A5$)smy}nQ&nZ7p{`d0#Od(V5nbK=Y*p#>_!>1HaX_)d>g=>XR#iEMF ziqjR>rVgAsW~wx`aq5dxU#s+~^sh{;Tv~ao^4c_yX-U(TPFp?g%_^s=h^qXmDOH=Q zPF8(X_4)MR>2s%lGW}08+-3yLm^|Z=87F4^F*9rCq?sSj{9@*JGjGfyvz%tR&hnY% zKP!Az)U3g?(r1mCl|QR=*7RA`vzE+SJ!|8v9kb5Px-`4z>j$s{*d{l z^Hv|^~2RqR6kpNwEDH`cdLJ2 zKobPa9|Aq_DNQyLaDEN!^2VPnINhDRG-Xn4Kh zMYcAfOa{r_E%WG@aUVk9lQe9M3O+-XZzkYSW!8QK=wY_>l2MWG65%&OQL`-N9 zjpau`d;r^AY`k7fTau|<+)}_U8U1z5x5{-(Z>^mDmu-oK-; zys)Y@4ZTENmuLv3F2-wZmnyFj z_ZXZkN{x^86xuH}q<)B1nKreQ*EBX7n%gcD+tjM2LaciSWezDXERVrbfqC!;ytP|X z`8Qeapxk`$`~$(Gj|2`UBzSpyK?{bZu&_|Q!M)vj)3^FeEDG=!lB47LM(SLB@)>I_!;CZ62=^Z?MWKo3kwYm3e@Yp zgF+J$Vq*Y3%3)Y6RKiNQB`aj(Lb9SG5_Dsk}2alPlS?WPopys9MfgPH{P7r=$okIAn)`U^)W&c*hk;`1(GeF)o>LBlS zsI!oI`Li}abMZcBhqg(sHQFH8I$LfC13{RLSK34V+xb@HHTh@)>GkF|+eUirm6Xw1 zWM$Syr3@LZh4rmg5HuNe3WZ2h5brV28n!Kw_SpJMd!i_hR=}OMY0Wx&LU^$iK#fOe z%?!MMBNSRU01iuGWZ%}y{`LD?m!aQM5C5*2MG>fQY2iJl(ubgJv=D0$lJ2d^aN+PZ zQ-SEMqS+O$=|l%JU*r^oZICufivioy2l#2zn(h|m&~IBeqfO^$+kEmSGYGXb{S_!z ztx15VWxqvh=%sgCS4F=?l3Me_S9}`y;RUg=K)@W6kQk=d2L*=4$0fj97v>2aqh&8G zI`_-hz$TA$q+!{qmUw0w_IWSjU|F_%a&;QJ?=0?(?H`Yw$`{5LKXOjgdJ0dP5DP2?+qIF@DgfF3b?`C*V0OCWXbvMY5m(H;TV1pIC+5kA5)w`DN*$>5~!? zW=e6HYfe;8erV3%!Bg+gmUHPsc@sS{qP8F^Vd^GbbN`|ZWf}9NA#VCEiA77s%-mHP zA^B%5o;Y^lm{8+G;tk_Fq1p4ZvSz0HL$p5m&ShP=?j%G*hz^PaDHDPMBLPGTiv@7r ziIMPGuLqPpyu8@yhEMj)=w0Yjyyp4Y8_#VVITBuGKfk8fr?B^oJ)bl@@!P(AP3-dg>JXCZw7%=@*>87?i1X0gj90!?d!i0So z${hAM9dmF`eXe6zppUyb-cjzLHTV#$fiu_x5)c!d&?7#Mg$9G_y9f9aH?Rgl0nFnN z6%J3FcvvSs;hU9)67jDOJX{AzA%)X^%nxQDGp zXZLCIo!oXjW_y1I?-Q)bQ*DJsvBpBBuBO|0)l3+WV`e|z5(dpsBwxN_i3HuSn}N?fFlFY4oiZn!^xcLWoI)r zW2OokMx}JQ38tc#=!vyPYxdeLi3Sbmw1ikc|)uu*7nMIiZEwg{OwJ4x-ZXp6DiN`1rmJKa$#e)=V z@;@v}$MDc^7PT=^KtJA&7jH?8zG>6A&zecwI`B9CWv-@H4)@?WmjbLMU!s?cg=T8# zx?8e|^T}6q0zP?h&mAKj=(BrspB-WdiQam>C0b!#WL|W}!mN~(nZx3OdnJ0u_~*7< zHtkeUwXw1S!-7j_|lQLY*{cDyf(dM<7P7iy=2Ex zwrm{528(*Abr(w;+$1b*`4;_RM7u>Y))U|l`g%UPH$W1=zY2(T3!)~kG8TJacd*{r z<+buX#djsiC_i-VnZk)r{qj)RlWV5>-E{>R(X`;M#0qOVJ<|NL-%(X;<~_{o+-MIqVqvjZotF6a+9I3kG6 zxj{q_JuI8(6m=LS`@kw7MBnNRXzPH`%?q8VgsB$Tr*wt2DOz;Map?3N#eB0zJB3;C zx(;;`tIW6zIDmd2+EB;guBxY>bOxqkgF69G)x*7-F9hC@8^D9tCP|nfNiDl|&BkK( z^sRFCw6Pd;5j-hfGQS#ZT`XLyT`$1gM6-I&B^Z2I+$LO+B-CT*UBtcI>$CJ>%p~Yz zsynbjrK39Nhb)N!;$}j~b-*Af2%06FUjX{>JuT#ZngM)Q91{Y*8{o;DkTjwZ zlFe|3UcH03!?lQHbA1)R&U}@;hN1;T*|54w>kK)qWUQ^JRv3>5T6>}UlX$I^PLE$X z7)s6NUX2IPYaKy{y9T%J=29j5og0t?KJj|y%maEieXT>QWg&O?;D@1)^f!p=Y~`d~C8Au)x;#e*VXfJF&wgcbq6QZi_k@&m|F}t+G2IHf zr zNaMk_OH{>lOZx>YdIudUOff=V>kdIEj03s_T@svXTV!^+wgvQ)T{F6}YwQRN2%Dj? z!FOXK-s7xB`mOA(i3D>t*;DxoOLAs=DgI(XnCq@^3h3%o>j5?cxqj=IgdD=6PjOjC zq^br7cq%%~&X}|qt_E*)KV1E;?wD&J87C4~0oGqKAPZE$EyXerd#j!Tqy)tHx*7E$ zDBcW~$_f-lDi8_K5IE1`DVO~K&kE)uN5L)hbR~_fFuJJ7`G``tnU{%Hks^QHfX!}A zxh#f7NRrG-p$BWeohhEURUv+H`;aKz?x$McX1I@gL9wV{c#|Z|0o%I+s9)DPLz6h) zx(@Y1``OI7a}U%DxC57~cd)N|faJLerG83S0C<9N~Nu{BVsjVO& z29OKH>&!=aR#IUGGtbOlKb2f79-Dz759B?ZrVrwB?589egV%+yh6)?y4LOp%Y<7rgK?EV%rW2@A?yFFv!Y#qv6YL(eD{aGQoiJKI6T`|HgPViFbps8J9VZ3KlJtcWJ9O1vl$b`Nx5&m0yKVQhP|U)q%KLt4eOvuy?22`@QVNmFYnGsL}N z%@ZFhaX;GuaT<(nc)f;DJKG>t-SqK}849qYsD)s|1uj7xkpp&=&8rXAAZTYBD5!L_ z)G;6?D~i!D#iHXlpkuzU$3V^EGz{9=1`Aqr7)LnTR$BjpniULtT5R;n0fk}{S}RnR z22VTNz_c?~`OGl}s)+T)Cd5H}brDQXdwO{#Bqk(aK!H!9wB13AMz z>l^JO>olm^*#@${xJ%g3ST|Sd8gp+qAJ32lH$Qg_v1Yw00I>%|>0lH{TVoF4)1G&M zdz54Sd~59KI4SBFeAH*u9nSH#@MAE<0U@^GyYZv?WR2t6xns`XSm?OIImCU(RL~av z_m1hL9qxBRN3|NDjt0Qqs4QD8)wPx<2Xw$zZCO(1wZc}BU%g8;G4&fT0EAiD;jpL9 zj-IsV{@;xN%3InSD7>c0q;~FDHq-5mC>%7$T1#W!V1QX$>^X642!{i9Sa=+4ft&^} z0UBKGYzv!r6OJ1J&FbRXCZ*Sc7?K10rswIUYZ?meY>Ng%P!9LxUBO>n2|al?i0{B^ zYVX8EnwS`7Fi?ZRfw5WU8@+@k*Y{Fh@o1^>`jDN_Kxt?TO!K!B#r>53DGhJp9Jt(a$jfp8;E6D{c zHD$r$6&1}3hT?jJsNz+5d8>+}Eabcxj9fOLwtQss=arCQT#XB!dlO`~t5$!QKXJ+?7Mcj|a##T8?a7S+RLV=xbA zW-4&f%se4_nw+02PqXB%nTf_ZtkK`tY{_A;nY=6>A3*N{XTZ^7m>FtQBFjZH5!F$- z=tvrW)_B}r*%%MNT@DzXQDaf<6i;K+=+uuLA>d&v`9^yXu>KImQh1F!2O_SWI5N@cbaL(*(k z&8w?N9e7Os^SF5<{1Pjh@{4xYj_xYmQ?%jOtQpTQAF*>Mov~(h^4vXTllCr?JS2}P zTVMAZG;7!7`(BMI_K6)fHacb2xB;<~SB-Nmdt_d6(zFc|mh2xeCv0P7)?z6#V#4BV z*Ww4KC4e@96%tFi)Zh#pcRo9Xv=L;e?k>cfH}@_o*2e0-yQrv58)@N-PPI{$66j!zD0kCHh#f2m>a8>6M6k9Zos%*)(qvbH@1hcBOG7W+MI%5A9(4OFs0YMCb>J?? ztGlS;Lg77CcD5MwdQXVO$0a5N!@@3p6a^i zr}wzWsl;Od^?h^VldBUcqw>#{uPmDPsh^9h)V*8o!?Vh^7U**5Hv);w(MGteSd<_o2@}Q6@#~81PwZ?0(CQ&jLtG8(PK#bJ@ev6s1(i^d0C{vMqi3`5E_9f5ul~_2Lu*Y#HNz;4K*@uTb{Zixb1SlPve|a;*_`-5P}#= zl+s=eg?>CRXww+1dKoQgA!Ur-nntKX&4sMIw)9dQ?zaD;KpZd!r*eRTd$X3 z4PjqE5rkU`;V;Nj4f@%uvu=f?7Xrdu`}XimEe?wIHukjvp_d}l;<|{8j_lf{Hw5** zZW95Q7u|Z$JlxgG_bOOpP=a_4;YeviH?6Q_?Yu7<6kBPRHD7Q!;H@$)gQPZOxtbya>q`{5H+M6$Wts_~;wj1PXUpCY}%b@MLR-#(= zzzR6J;DM|tJ3!D}wW}Cv56M?Mp+)48DtqNXuA@uWY)jz5s5a|@)_gX%<~?x@D<9$6 zSU>O=?CjaI)6dgFi>-SJaiekTUYmWtyxzQnuivmlWd|Qo396eJAxD~X zvCNWXv6wl-;*YhEXrLUgg(X*d^ctP5(yH+97!`kty+Vntlkqcb8Owo6)ZNN@q8HEA0@fJL^VDinj^m3!DF zs<;V0B7UaW%F0dL*JR%jd#dQ0w63Aw{wtCV}tTb1%)IT^Aky>Dz_tBr$=p=^h7 z4zw-&6JhNYWCH`gU1<~?5(Jjh1N7-~Iha)n$;M!Iq2*oUUTjHzJ#R^n2JZc8cQJ2h z#fQyzDotnqerz{b^{V-n8VTA%X|oxYRFsCYrUUC$5x3e(xC%@29W_#{kuN8;Afz^n z6(Oh(_=Z@20i~Pw*ct`;N&PhQ?c5JsZgsN_H?W5_-Tec!m$6S0HYeB6LP*Mr)RS0~> z)p_w0hn_URvr^d9vQW4V$0kXfh6GQ;AMNI@)SiSK*^S#PCanr4!QMq?63-5{rd@WR< z-r$Yfw_$J(>+AXQSJ;vQ8!bW-buO^i*blb%CM0^sy2XXE@WX!%D)4)D)5M0nP^NcI zpSe-mxhrhqhN+NQP~KVoRDDKlMN{$CuZBvWi3N}Dbgi%JJMn?Cg5dIg6V^c5lZd~ zVKa<+Gq{Ad&Og%`yirzT;gOv{{)T1hlB&*BK~Q+CKLb4WgzT6qmu>RsbfzBpz<2A+ zHzORci|%CWoH(7W59~R6ms>`qJ~(c+iAESYQ6GA?-s^5#2F3`TdXsiFPYQx;X zz*}eQ8QZzmX`RQXv+aX+M*lCca)ErVzSZc;PM)96wACZ6I~?mgKocCVs{X0gNmr~h z1a+#~pk3US=~wd{LR0M7iuN-Ib%F`Z#Y$Y;%`mjjafXOiR>pqrp*5YcJ(_*L0Dayd z;D{2j^X^1VX_Df2HFcsESJ5%s)ft>h+kM1sWLLiT3`YW;M{BjG`hLeDqe)cqC3Olm z${e?a7vPvuz=1g03ytfk-y3pE?@$6BZs+_4+PJ%BU1R1j1 z_r~u+$k^%jLQC3GbVc_vVbr@WLCyUf2Z-ve>oh*>`%V5l=yhlOFeZXR$2pErM1TIb zPPMh#BXJ#0x7A?xPM9D1cx%<2>Ns?rjmpZ;bw(7lo^`n<2?3tE&R{QrEuL390XJNd zIwcAyslLKFkW??eF4b<_vom8oA;BUbs^&7gf%{D)O!?CecdB-pMC}FpKduAo-zlX&*pQU6pqJefh>HFd+puw6T)jWg4o^(-{6 zVdAD|{R)EqDqL-PGbt;ew03>Y!dLGbmC^Xh!bPt%q?NdQdc17cjKo2+ce8NcmIX{K z`1Wi0gKja;Jk>X+CbMYq*nT{m5bBhAUM;~8`#U;$xRle-C0l7W%7pxmydtzleaLz9mx)%m-;H^{lE*GnJ5FWQQ1Z7a(=qtv@;d!TpCo0eS8N z&r4}{#aTPBm}qZ_*}@J%wy~hB1JJEGXI}Nu4n(SEo!VvtYU%6NawGE5q7Cb6W>|}l zh63a9C_U(Tb>SJt5Z!NXx1m1eB0}d$Tj!?6%;&$ndbX5$M>()(uWxe6()K zi502C8%`{)+FcnF1ByC*cV%>J)kCPOx@P%hY4`btmFIVkmv()=qVZ3=CP<@Jy)<{; zOARANt$K0Rykm_p)r=S}iT(7xu)~*UZ`SEy*;oqmPVn-MWMPS3qPMb63^IXYCc;od zC@dv|e5CGS)SIO|d~p$Di~qWN$)AVzSozhit}jp_Gc5F;#oz5(eXOMHc*CmWrKQK8 zNTXh9e(b*g?A!m_YQ`!`p7{HH-Ntu)YJ2um-yYw0eNDl(I0fqoJvV8aKL5VYVl^y@or6jH4l|>6*Y0MaP z->VCA*4LH>WF@^xlUp8S!h;EE4KFXOd1-mtm2ZY`y6|vr&h{_vU-QNGaiLkWM~2s| z29vM!ePTau|CIdOJlbwHJZ+;`33l*d2a%vPyp`NB91|Y2hyyU+sX8O#?g(Qv%b4IG zDsCTdXLk%s(Y1cuPAjNXd*c`?C5E!cK~#$EaRins&HdB}RW$7O;&FU+814|ygbmP) zTFUO#4nj0XrW}C@ItR0s$UThgC@9SlDTh!pYD)d>C>zajCx;$p% zh}C8FaSnn;FXFaK$HooOpngIh)M+%dKGs1rsE+hS$Ix(I;q0%%8$S2t2yenc0S7yX zM~Mefnq3>@D>!Nq6ntMeHKRdUWp*Z;HNaDPmlcT5 zxTaKO1dZ{E8k2ClfF}n;xnN=_*dEN5G!#5wHL9RFzV5A}4^-O$mxvoxaGho>OW|>m znY&6#cg;*pnz^%d!I34Y!L(^vKWH}Qt9v|hi1(? zT%S68$@6pPJ-;|bxRJBvOvB1Eo5qZN@RJpdpFTL|_Kz#i@0!4eVYBCA1VL!Q{ulAW z_`wY#6ob^5SgX|^e9wc0^X^C;GOgxrGw-5C*7LNt_uX9uO*KRh9P>8e`WEx(S_yn9 z@fQcGMJ2`eU3)k6;bZXIHUD?@(D#Fta{iEk6KCe|DLt_eor5fe{ILO@tPNXh+NyOo z4W#=;OC@?M?(QmOmOf=){czMfCFaoCssz@T+(nykpCaMzz=OqTf&n-K-N9#^5vpkj zJQIU2Idg+7_OWil;e^uFV@9u;I@rS{u5fL6#lD5Zq?U^k%U$|(RYXM9(@SZedvh~m zhBm&l)_4Si73fdFKTcTy%CLvp4HxX$r%x}@v-V5Ck-M?Ey;3-Sp2tyn){3GRZ56a$ zk$w8M{o<7EhqqhWERbhKRP&v}x@Rq$XtN|qI{(JTTbJ-5ZxAtUhRR=u=gI>YFfVJf z#J}fv(?UM7$GdS{55FoI75R8vuUw~OMdf4LuE0uF*WprAR#bIF>VenaxuawU<-Y7m z$ZUB>DIY(Rp8$zKHd|yj<$Ll#LQzVABxXW|l!)L9>i3#zz^d# z`f0pukRXf*4CkXCSnF&r(`j_;0Zo=<$A8M_Ro60|>d;4mlC3kH>cF+R^)Jl46owHC6Q?-Z(SFFm(GH1pvO&w8puzri1^RcPB|A!JZTSx@bE_bMmvT$KZ9 zpspEe4!t)bcf-x){aL))tDcntQ;L#2qe9~|Bit2%6Wx-EQUWFSh|GAM9y)(c;}mZy1M6I%we$48&80%PE1Ed9)Sa0Lsm@o6a{UKZk z*kM0Ezo-3drSuDv;g@&|=>kZBmMQ*?rP=}y8v zh8uhz!&n*$(MJZl!65T5?iz;GzL=%OlzRXZ>-(S+^OCl_#xDiF!0gEt@TxG&0Y-&1TNsw2v#_-mUuz~?ZuhGjYvZ8(B7QDE^*nnDN z@zdf1v!azBuom2k0=EBMFQ8~MuQl`nXh(Q2!1oMkHMj0%*m?+iy=UJrqseJ0uxFO7 z%RvuG=?BzR+xCm1Im&zu-EF@(9)&bkwp$+foG{-9QlmWO%2IAjZP==U<^;WTpZ$W( z5+>%fUwR-f9oq}{G1{-D&QkB=W83P+g+NP7V82sGHeWCshs&tvynjc_7{~L@wPzdM z?E`Fo4E2hA9@({_?KGAW&yP^YGs=E14Gv5OW9C;awFmNxrI;p8Pc)>ZHk@cZaq4HD zGyS~LG-o>dsO6lgGSZLWa<61t!oI%MILfBv>7W4XJ18AB;pR^rL(mXtV}`ay46Q+! zCgeKAf$Irx{n0TJC8ijmM#OD1yed=H+TgM^9$~pfFnnDHpv*yVM}YBh)fzEEje^@| zc5NRSW9GE39pEwtz8%E{(JgC^Swy}&5F;VPBIv!O17w_IO0e4zXi8fSRAb%k=W%VH zdqSVqUZED|-rf;p`{8Xz;A4w(&MNWkPULTGzcTEcBcbgr9aOBHkhUY0Q|ks!m^t?x z_>ci`;PM5_(P(QWV=wc}2p!;47DC>7tz(r31Q@?Yn`_E8XFDdgLBZ;iJAlAL)}MYMPo zJYWT>Z8pmGp^71`6HngL0aWp7t1OeZhdF>$k@0BWubMKMVtz%N46^OxW!Tly($0g% zb*y&*9B_j^Acyg}eo6*e(96!_ruFntXHhG?&)uO$xv=6k^g{ui<~Ax8J>6N{imKf` zZmxNb=UZ)GVr-R>rFFJKw(9xT-PexCB(yB6?fKrFZ?1M{HfUsLt8Ld|zl(}%y*HOf zo9wFXH=oc46rN|KxVJ;YggWk+ldW3L2p+An$g0{t7McTDD>^{IBVCU5wEm!@CFBWQIsoVr)OP^C>#@OW zdl^gNE+5ZsJv%nxTF;E*#wc~CZaXoxjvSYd+jG2L@1PEL1=EqPU6Dk?0hQ}Hm=&-i zJ_ne_neDA3>uB&P_&YeU*zqXUky+Cw*Lqo#T&k4iB;>RMeE*Cf#$9V};* z{q;UKe}WDHmNPbfZg)B3(b;@CBSsSefo`AX$NkR`7*^kCa122%Ai&vB&65m*XVi4S z16b23$v!6Ov%dfvxp4bn#~Q<`^s1kwG z*%Du?2H*Vb(C3l2f7+$LRA!tD&Ps&ODpE^rOId0P+|u9d6l9LH>F(Gmj<0&ZA{+y* z!?Q{>-3CJy7HKCDEIeP`%gfsj(lNmPgixLd)(iF2qwlbY@cI!^OJ`+8=hqC+Tv9x! zOF`Gn1=}YU?wmU`ciGmol$rjav3>42xM%x`phEB5n(e;*^J+8uj!KU4=n?Mb+$SbG zDIz<;FJRcDL9Qbgjvvr}%=Dq-s?z)Ra0|G{HKc!3?|JoeYuvNvj0%D%ZZ162>=QcZr?HrhdNb3YcnuF)LWgtgSOu`vAu)K|>V@3%|>HD2w!O+;v5u zCFDRZJ3gck>Y=Q(w)@O?9F=#XVi)W#=)cQq+F#~>`mU>O(|*=#6gp8&e`T6>+g(;n zoy@xX2E>}cEEa0NGZ~|_pm|oP^YVDcWQ(%zvPx!iMK9lV17Rl9EAX7(lbChiCbO)v z9Uus{P?>VeLf#onaIH5eTL#$3_@eLuc}cVO70*1mV%bw88jGfE@71kKiC_Q2_b)s+ zd0s_&^MdIg`#QTyu3g7JGP`{1ctPs^;Oe4P8AbWQ`O&w35yKaao;f%FnfkitdJ2=C zTeSN0EZ{ZF8?)DRPe2cg^PZ5|hw@!sumJ#fYYkx@_`Fm0^lm=w8JJR>=(!J8Dz*4} z49H3lH{G7*nOK|>2zM)VD&d_0`!=3=7FQi$k{noL!imD-B$b?e2xm=q@8fq%^f%Zu z1&1*zA!~pKOteBNVkyq0bE^7O*FXyUN$|;r^kZEUmL>-R>Ppz5_m2&Xj$i^CBMnX*9+fALV^3S7k^_CSJ(5EEgn4(T z^z2^m+@S-j!d2|2NK^99!gh1Gqw&dxm0RyU@ULt?5Eg50Cw?E`-B{*H) zf0^bAdE41iXXu~EuJ+5oZs_(e9hQUZ#rpEuGn*_fZIv2pwIWQO)JFMM**T069U?K$ zS}GP(u+LJOteC|w+9;MU&T46Cvp5*FC>&NI#C`a)2Gj^~8%45%7#RM=et}9nxaCxv z1q!4dcEO{hXtTc<^J=4V|E-rN+b;*>S3+fbrJy`o$PL7(+9-tuK_p7fvtN!9Z)%5u zP#-Lb$CbkQ?!Z>-{M#tiHg+Wc!#)Jt2vN(>HY*NX1w7*85LN6BD>X6Kvlklgu=rS5 zyqm(p+JGZ&clM4BDo*w6(bqLBK+v~rvJXbQn!O;TcbBdsDHFTIrA4;G87^7k{2wbeSWnq#I4)Uc%@yTwnl})EeDWs8TW^IeOOW4I;Wt{A@11u*|9<*N;hBVvhEYO-kCW>3oTX=y#1u^`nj6#XBeA>cPdL-2p;bArSMo{3!j2OYHhUQ*+Ca$SOqn0xO=N0n zd)5%40y_nRJBAkY0tICzSLvW=teBe2KmCJ+J&+?TL`Q<|DPyGt1AN4PkUoH`z zX(@u6bA=;#00Ev;S9gf_#F#k~BvY`YBJ>7P+-ipsilOoOHmIR@>k;hCH60m?f{48(ARplEdlO#-EKB=@r=*TT=EH zPQ%@hEtR@^Lo>o-<|&Ol&*ab&dLWf9FE)NG`?I(MV$ z$w#ejN8~p`ElHSYV4I-?sQ#>p4E0c4*z8t>u&HjwS(1Ww;%Jn1ax=G+U?RqrVk4DU zky4uH#tlnS8Y{U3jJoz7$lUQ?vPoI^KU2yD41 zY=a|E5@11ZOSJ?8a&9$VvyujL23wQ{<8$Wwu)??Wws)&?pvHpDDR6Hq0Xlh_nS`?Q z+ryRyN`OrcU3$FUc-!J;OwaJO>0aOf_$}fWe6{a)$N};lgXOx)_xcFOK&G!u6f}p+8C@U@x8r7;~XuN+W!3 zBIa+fOapw6_sr~)`5sdDjKq<{1pPe)se=X&AN`DYbneVvQ5pR+DgwqCgsTa0d852z z28lGcFPjmbSqZ}ZPBEW&Ul-lq2q;Yk_QtNVZ z@pasIDL-%ggnZ_kxmuD|jmlg#A%9h7{@jwuv*(nQ&W3tJuO#l#;T{DM>Z`0L&Ea;r zhw{ulc(f4k*!282(?nB%Ta%F4azdheYY#6PGGx)=T7AWXWs#9(4_3&tbj|P#B3-j_ zcgnnnii#eZmm)<^Trz6Zl8MpAYHVj*wOYVSh1vj@;j_>JrNUBhC<}^g5~^FSa4JxD z{wvQTjdm10Eq)D~hVuUbUa6&*$0r|gYLItuKki%rYKR`_MM*8NhMtP@0seHPT)9P8 z4kfxFKSSUO4+i@zy;FpEcpn0@OZ>(l@np-AuDv3Ir}PTzeGmJtrL2>2SxC0nfnd=mZLAKvmBKWEg>#hdI7!TtgQUb{}U`=p$0On%H9tOG@OxywK<70&@ zf>Uja%ud&~fczViYT4-)xt3isy0UBR2xc@f=CUKkT%#*+jz7;1^bGe;nf4R_wmWDQPNJ19J0wY%Bk8Rlv~)q|eCs-Fs=5y6 zaua=gS`b=A?2F74S3_S!Ycx7q#(#_ZRn#S1KE@JN9>fw=#*rdQxv3@DG8{eVEE^If z{`O{bBf>2t{LV#jv#uHAw~1aUB1&=)O16s_79Nuw=ikF1tdNZTUHqd*l?+L7c2BQ= z>EC-;1wLWaIDXs3eKQ9+JFBv*13Dn9AYdxiz5FxmLxs=$nXF)?8JPsw6@6O=<*NFI zWi|;dQp+KpF=x!JV=4`>D{xPZiAFf5;mbcmFTkH4#_;)Jz+bdW2|$zYKSFtShZixS z+?ZbUCpo>G{))6&mN2m;53b=?^VU}8Q*C02I+X$&Y~9)?%>=C*e2oS5Wat|}=OCIL zj4_pf*my7#IAs(cWFm*_+O9+<1Odwz%8kz33&RFMVPD{1=v{3+8vodC+xyMg(y2F%##T02w@=CBRKf zwgz&oM)wj8@Lo*n7cgtd%A}PaZp@P6=N?!%xUqglfWO3k85}vhZ;zpkA8erOq~;+SsC%@XKu z_hy!S*zTDHz}GVw-{c7>-D4u2$Mn|^inO*Ex=F(h1@uA zx*d%Pl%(I!DJWDx2IUt1oH-~JY^Z9!1Ke1-93cs?4j=+=Q%f$FTT~4OiBz7@>kdMz zSvKhKOx@ijiOSQTsY^{={7jWxV1BwOO5e~0%@q}oFGy**&Q560G9|*DtI$RVfUW@b zfgP9bi2*!+pO$zws|yd<%mQ z86Q1M{dVefJLGTts?TlqS^07qV`Wpy&aISQqrLVrR`u3>E{|SX^s4;Al`rK(?*Yzc zXf^0p0B0)VRQ8Y>oZvI89)RD;oh$4N|9v!E$>1R3Egfon07|;n1B0PgSC<(Q;k^M} z;~doc#>Ccoe~T>z_VpM%FjY~0xt>;bhLMbpX!=}jN5`J84cy3u z+7AY9q?1MB`=-8L9kO8hod>jL)df;6TuhrsSJ@nXTemcw(S*22wD zR}aE{OvutRjn@_QSuEjo2k%AsU4%=aU3L@D^HlJ{u(dF|G33TzV z^|GebJh+U?0IMb8FU&=NN2|aej-+h%C4?W}n?^-u#)mlT^a34Pf25|MX=*}z)%Ma!o2SGkR_*Z1y#KAbx>M`3dnM#0RqdRU z-77S}!>echy`CPy5xzNdx0Z*D%^uNb`{h03q@fEQpE7;lf+5KZ_El9j&mW>%FX06k zue%dJoZkrm=NuBDs!lIV%tI6MeI01fOopCyl~>bMZ@(8XIA=ga!HE7}etBqr|Lmzr z@*}jb{3V^9P&_=S&!}24Y0I_*DJ9g&hxQ#cHF^6^Y0CVe6JovOiNY3nuFt^CsHEID zA5e8Z3Q7SK<}ng`(YQ}cf)Oq77Ft9|;c)`1F%ta@J;%xXN**0hu2-q)JU}vVj1-Uk zKocvKkl+RR9FRomxf3kbK#Art5;T=MM53`^VqlOF5G4F)?B(1uq-U{bppOenX*nnf zo290fw`N9*26;s7iKepNE?!gCJv*81YZ)v5=fVXVrN{&OultH9BV3ntW!kLh0EQ@C(_cKOb#c$7j4V%Trc{ARxp z>46H@j9J;CD?!xayvK7XD;gFUnqHFVTCyy=&j6_|D?u6>>g3IZGONA-++IayUWB@% zgn=bdMo_|wk`ZDHjBjlg4z?6PFuFiEi1LFn`69Go8)Gn?i3aOu?UiS1B(3J~*WCWl z9(|mN!4VUT!7L~a!ZBEYMh8S+{_U8(`_HLuN!(4Ntv2@6!-Y^1*6Ez8XEx(B`VZ8$ zRhA-vF}aoiZ3{ipz;W82g){IL;;ArBgG@czIE{sc4;nkron4TOXZ%OZ8J*&hxb{=X z?FqoI$m5UvzIlLV3B+}9zccrwKgUG-bF-dlzzuo?j{wBMq8VY;Iz~+mfkxJ_yfV-_mdA^dd z3D>j=S6Y1G9(AQM+yhY+wFiLwxuDhWa2hedJ+LrH11u$25HOji08fwfO zXk@}YTGY2qDKf`^nf3Fca!g?)SSI(E=ql;H;(-H;@0*x0Eh8`xUgXsv z_SplZ#aUU4r2$e{~TwK*w zIbc&@b%d!LUPK$^h+`$=sWwVMJ#4EGtj(P-^v^>nZjeJ|fUV^TX`@7Ii=+!_qwrxK zLpPmYO@HO4D(S%=A4={Gk%x9_tp5nGbc0MYbvgDC;AkU;YvLWf;HX3e7|wIpkwP^wS~k2}43<>_czuxR5bE z`jz_E&Nv%CW(nOsc>{B12Q(g?@$g@27G3na|Gwav^RJ$h&i(>9)+f{tZ<6mke^|b= z5wJ9aZeQnK^iS|k(DDaCTNzOHwV1Fw2sBN@Sa6P{xGGBa9T+XDxoW_^Ugxy|GMMcN zKL3am`4f;gLp@CUw7^h+0-A=};91!7wduKQkgJ)VGwq$QpM!yoRJse}wT|~sfQ1D> z_nW0W7N(`$dB>+Zbf)zA0d7-%F8$?q`lTeV)YLV-3e~kLoi;F?@it02ec3{3C&tGW zrUcP%(Q_m+WaZE`L+x>$1jInv$$8Z(HwSGq1(tPoj`kB`S!C!qi@m+Po6q|@L5pe+ z<)kq4UrbAAX`x&%@1`@rbfyU>Z+{5WgLm$r2#RrF{kzd4BJ|^@a3qQTv9gof9aokr zBS~c-u8E?OOB^y|E2+fy3X+`j=*5MLzT5NI#hQiR?Y;ka@!9v+9xp06&X?F;+d_qB z4^q16!8_#HL$bVCT5@6gWy+R*vvtRXdR2P(I^{lKFCg;EBP8$$4>y?b;tJs9>1EIx zFeN1ng7j2fcFWf;d#cOrLxY0cJiPrF%dCBAfrpb*_wGF>Z<`=t+)E@ zP@GZ;^5l7j@GW}$24!|dj114L7!oTD@y}fGbZOD!jU}GBK_4H=TR%0ifA0Jd@4Pdv zu{e6r%pJv(Hq9E-E7zy6@z9((FRdIElDcqG>OCH5g);}2ZL5eGFs-@9_4$|JmW+&f zIsK*nxeG>&TUi(tlCwl|E!#3RX6XFKkQ0233imG{*bdUAtXV-HtCMSS`GXVtjtGap zoS`%268lSitbH#B*5aBo72(W^8qIFCwwa~llz(&^C326y?Imi!1I3d^TlojKozUB( zo`TFkbV5v0V;FeVPn=Uv^Q*A0hKxgSm#lrpd{Xe)$UpCb>o@T0kBn3}8;p5DLB@E* zE+7$nwfHt_BsAwVNi9#?uaP95yU_N!ZKX|h;DbRXQlq|vTMb+>6^!qpbX=(h!Hibr zd%NhAMgDxXxCxedCPB9vAQ?wuf~)vSi_}+Z%VH(ATDqNU`o%B=Q(xit9O=tT9>Vlj z4=w4HySk1P@=jYexS7G+udmK0D~H#0t`DenJ~|eD>7rAw^lwYv%IvFV@8j04`9Z8?(lqM z@L6%m4-J|JL6S@GH1=ZIUk)sWG==ymiO^f$Vwosm5U~dd3gu;10*ylc`58^Z#J&78 z*kGV+jwxE~bxu%%i0GZ@p-b=K<%RJx2&!quhMtG*&RQH+J8%5FX#`~>H+;5Hjm#>c z#rf}3kEfoZ9`Dbe|Gs?nsi)+t@6VSij{d%F+wVs!v@;-Y20V)Yl4?R)!jX=(;vPl? z{dCQ$MxBJ#JjJh)V$}MJ&HQsd&{I|*9MK^UxfjHHI^-lAO=9rv3u16fs!*cFXeC69 zRIKJC;qxKj;{PGg2m4yh1GNI7W`0;xaV<*FC24G|R~+4FVr5k(+gB#iSE}(9>dorv@s*yqal;YT10$LE!a%vCWg7 zYIKFx^Uq8z_gFG{6K~42Al^j8Yod5CPKkT`>tqFvL+YyNyY<8aS3EDG@Y@hn{q7n4 zc5#Xi=96GG7M8*|yJFcQ_kaV#(-?dpFENMQ=EUR! zIQEUb__&4D>z-IQsvwN_QKrO|M_cck%H)rm1Ey}WMwiF2$6CG%D;Tx@30YZYo?iMY$x!!DfOsBH8$ApXey=hw?+k$HOg-4Zmmi7Up;IB=g&{`yLj9W9KLDsL<K z=Zw3UZR%dz8Z@!KRvdtZvMLr@MXFa-^CNw4O@B?#n^&0rz`T;z?reM}Hj5o2?QZ!} zo4O~oJY7u5SXH}QxVNuy#(~Aq?IxzSJjOjqsmsz?oY&bDy_S`v;8Dp@wQAJw6X3hx z+2`0p>=@=d4zTH}VmD)tNOkR;u+a-zZEc09dt%2qs&5gf0P2D}OcC*L#{oQ0n;ZVV zNmZLyJUzpvHaokF=wG|3B4B*vfLJfKL#gr#caI)5`=Q-B$Nnq6+qV73Wp=%8{bAeo zA8xf&p1R}RuPa}_ZT0IF@&coio%e`}DPbAWj&{0qz20$TXw<}!W*F8`0%OtF+()|V zHu)=6S4DlzY;}^4LQV`u`HTXw;5Z$ghl(ox3)>kiK^UJDrv^oYLw*?LoF1V|ZtZjD zUseoVwy>v<+qidfTc*h-<%jqZ|AysZ(+;kk8=q_qalA0EZ~zO~v~~RY6Sq40x=;An ziYEK~=(2#thgOd%sSmezNW7(pT43eYw*3vSwYwpM#Jb*ghS%D_usM<~6opXDuXDP+ zkVlr-<@OC6`Ec7B+VEsFE^xGn#f`FG z^IPiTM&y=gt%a7w*$$LD2{7Y7tHP1wBO`o4kC zCO^BjzKETne`lTFujf_iOByd18ZR`igw}pK50tq$X*4uNgQy=ka7~-h(%wBsWzozA zQAnn@Z1jy14Vh>}d2+*FZyh^mZ2oZ3l}XC02pW@8nK?vsVVIlpwdlkQuiRdkxo}oW z-+lv~n89N2HZp^8q<#-u>3m6;np2{h3+ICI=fWeyJtN$z|z-ErDreDH#hb zLpYavx;i_DCS*mV&FbsvqA8tntI!*L_fn?}mfzVkF>ttBu2{y37O>lgs57`Fh?;3r6fr6bMX|Q(xt0FV6kR>)ADLsB^GLmi zEA&L)70=gLyyYqDXT%qU@^~d^ZPuL4Q<=_i^$MH1c}~_^_F>D5p+)i2)=!s}nIzF# zKhy6-DTL)rEf0O7J%m!I&Yp}`^;LByrD*%LLLxMR2pEArT)uzGk&{E8dNAp>0&DqT zW(lmwFI<(7y0KyC>xZZAU%F_Ii^*k=Y4JZcontXY6K5(vy|n0f#f*(bcFbEjSF|a& z>iB|NPHh`Gu~<3zkInyBbjz}3w+Pv^T}W&icf;&Pv1hwWXSsa^BX8ezEG;w{KBu$% zR<%0BvmND*R;Sx^v@UDiRdXx*xnqRdDDluvQNjlMzDk*s4~OJ|Zu?JV10;}GpN*19 z6pK+Cnzbx6eU)?V<&!6X@|KS}mr_Ce)r;3Eslrwx;#E^{6Jl2V{ag_a^IGrCn| z1WSJX@&?O|I*%ZLsBE)=i}~Y!tWon)hh4x( zOVqe}OYnfSg)^O^XC?*sjG7)3I(C?6mWMfeWaZL;w7JPndAC{oQ3jy>h<(Iis}Mb3 zveD??h4v%PsKJb$Yg-{Y?d!b%wl{B2O}+ii+ip9xIwfWGsoP2)tskAx@JLC?qYViO z4Uc-4zQo-3?qhB*m6pDwe7$e4^6!^QEtWl3c0F=scUJbEU-#_3vL_pilNv#Q0rkKj zT6le+Kbq_(l?y>^xJ4hobKGChBjZv5=*4dHkm``3(X69Mw%s&hWMV1F5xyp3VpPAx z`dxVidzV`rC)tlFUvJ5{H8;{La#B>w{qkMSmCpQ*h`IC1%-MGo#KcwHKgTI!`OJtR z6X%T%nUi0PFmzI|s3#*qm$0~jE5Dsb51TktL}(OHm3I?V&{pm1W!bIbMWn6f+sL(M9_F8%8#?$*!&G^nWf158Oz$WEZm~=y80#W-}1Rdc?->s zQ~;_c{XW%Tl16o4gzT%EbWN(2I~h*&1>I-)$(EQ13&vc3hiXephE|FmLoSJPgF4R( zBLkMZN3^Q^v>UcM6{%ef$5)OWxALzIlh)Ty^C5-pYMVdE@=36lHgYC9?3Y znKSPyh>9u@*TP7loqa8xwp+PKz2@oE9{0#gWR&BP+%Qr4^5inl{oWq481KdC0`dq?D?RprDMZ zl%z@w2?S-_JZ8d@oUpK*B@@QnoDn3W8D2MS#JrrOJ_d(Tv+5FNZ>t(Ls%qQpgt}Ry z91MMua^{Vgwyr2f)PAH6`Q+rl1N2e)?KH`S~a3jT~uB_V-V=a$UlL0~Hkq79`lN84(2=a;2Hn8}6- zglad+pbFlH*?qod-#%>U#JQtJmsz6hvyFpBP6`bkA2lFuw6dIMv^>FwvfBqHCngLS zK6A7W$c=LfPK)gCIV3(Xsw`f?q6#6wGPxc92vmvwvTsMZD^xDbvV!qP$X$1v*ySIE zWYwl5R!kn=ds6@UvItAuz}lO$vhRDSWiO9td6T_aq`Wv(4j5fJKFBmGcXTi7tO3#E zhtAF&yPRFlP&Om`A#ah&ukcOCTNc?--n#Koia#^wD5u!6tZCDD|HBh`Q%e&|Q2sjc zFv(j``!(Jaqe5t#+FOav)T*t7khlEnkgS@Nq)y~k{r&IbYcqmceqbLcL%g#3XUPGh z=7QYObK1$x@J-I=u^AbPIHhF`de6c7C-F_p0BJ8R1|w`rqE|_RwwLJCN7KSa_@M{L z&ZRG$5)z!eIjH#bI%qw`5|G+4J*C7+ibiMip$NLW&73}F5JZg}C zd~n~4S(Ap0iRjlaV$6_9v)GTm3A0D|B}NT)&>IHDjtv}DI5r?)Y~iTDv9W^;dWXSL ziGCwyCy3nvJLiCANWsXtIOb9Gp|D+*D6QDw&`7+8ANrr{qig5D^rkL3pntM^IiOTQ z+9=2Y8S)utjw{cm=~BnW=?jL7xwn#JSW3BLubq&o)^ZsE+3!_l<|D+w6cLs3Yd5O3 zO>RbVtw;>*JJ(FT z*z?fvPx^wY!NCGfU$KqYM|ZBFZStgx0ANpw?>Bcx$mo9QN?yzH>x!MLA9f;`N!w8~ zJke4iCnL}o+}_yOC}ebNDn?WeiFyAX?l?`!Y>tHVBXiD@o4gF@;0}y7E#duw{0$EJ zLl=gO@U%mF_bKACz`E(f)9GyZbSX|gj#B$+YpU=^Y*?$>H9lv=d#)|c#?F!IszDB7 z29@%8sZqp?KBX^DXC=5|(>4B%grX=$e^@ec-KeHRMi&{gkSsVI7xpP}zM6CaQ)Ms< z61oO-D|Lh(sYYuH&GlF(eOm~6bsDv3akND;WUdCSx=9I(57h((ojfTfRLs0{?)VN9 zDq4QPH|3V1t)-EcM|Nebv_`efok(ij)nd=aDbFaInwmtK3NYhik{EI4*}A7`#9g$F z0nC%XLhCIwYZ`WM>}eGB8^Gi;xFmhSosi zK>G7_8Hm|hE(6(<3zT$scDR7BdRi@8E#Q#5l3ql(XvzYmanT00x&Z5n-mSqJQp)^PP3*QMSDzT^$^PB zH=-=TVtq)IB`Ho;N~M7w4LaAAGb%o%<9c<@d2`)1ABS0BIch3UJhlt)&wv8?3qVOGM%t~8%goLhD) zk14M-Aze9$#Z!&NC902@qJVimG+mGzyBP`5lFVN=d`^8xQIed^fq?;L90@EYU`3Hp zz~JWWYBYMd;{u@+;l`)O=Ek~b8I4))G1l0!GILtM=+OZ_!+pw>~*-PSc9v(*V zakN>!Zm;||KdPm*0AEGjXIL4CNs4aFlcit2tR&lQw_LUpJ%mF_GM5aWBUkffPlQetU-} z`a#!>1L=}lN9zZ*-h)zJ(YmVn5_}r@ZhRlM7O!_(vn1Xx!>K^3cS_k z(k<`Q$e26biLW;5!lesTTjz^5;W!&jJX3v1j&}J zp{z=YQlfGyhJ6lB`G}OEBtUkF7{I|8Nwfga0K~`@wy20up>;9PbXZRS%i2KAjKk(aXE=tx3MGiWI&a^?B-^eQV^7RY}>ml`erBT0q$n@27k}E7Du(d_>^!e$f_s$+_F^y}O zI-w>#pyfW@<(8KM(kjP|D@`(qT+eJhA*0@i*}(o{x+#wa%@}khwsCA0EP53lm?Plk z%iZsKy+oEvU%Sh)>Yb3x;O7>+d`jjs4=rzeCM;{z%gZebdTjW0=bm5J^*DUkVNDGN z36-n=*!XcnWvO4|tv%3RH9%Hw$1E)g+;X8YY1&=Vzl(;W4~+JZ@yGDzuZ!No2 z1N}Q#)-j;1nbSS=LNRNfh#T#OSGXxC$dXolborP^wkaQGRHS%E7p$2)eN*jtdyC`r z)raPm>|2zwaU&~Pu{^GP%bXco7g}5`uGYJrOR@y%x1aoVLG0XnXWeo%G{-Yy)P%73 zxf#I`vzBEz&AGoKE~apG_WYf}Wr24TV6jQaP;{uBa@G|_d7nIq+MfwMb`|tkN9<(m zgZWS>svYII-9bOKF555`R2k{rlBbZ>{?3U;q5uqJ2}R?Ok;Em6?yT zpA44fP4Y(NHul-+%2T)B_D03O{_BJ9Ei-plR6RWX*#7EW)1!DEFS{BJRa^HB*{{V+ zx+KscYDX9(iuM5+c}>I7sHT)X=rY;lMszqv!9^i=QD>tYjl#lYFv7I$+&Ih{oA>yD z1)lfq9v4?VUJmj~nlPy3rG5(n{`s){vGAF7sS3S%ByvutR(oJ(r89XSB+YxIudtz?$hC$32xLvZ=+)EiHRt2(c(IK+)DbImk>wv2MS{ zNq-?>#ID+6*_*!@Q15CELq`R&Pu)Zc48@4EY7UNyj?-0NT`T_NbHj$DEZSEx_t5HT zy(|uCwVS6+UQ-b5<`>$(C7}PnG0TruS3I{q&&A?0dEwR>v+pmDiwu-UTa;CnUxO<~ zXRj{QMlF`jiU`h_8y^@S7T8;PEg(N}*1dCMqYBqgcS>u>9vXthP-EwyxmRaZ*&*%X z%nQ-mMuBq|lmD@Y4#!*sAM7RO<}Z%h4Y3T_Hgf5*fSl+pcW1n>yvpD#u9<9T^3B-cj(_!AB$K~L9gV3_Fy?uLul#kg{SFBl~z(uh8*(cmiz zx!Qvp==L5f4jnY9dc=t8NrOU_6D)3MXz`ZpNt@?}4sE%t>(g9hIi>5vM_cTi^4Dc$ zt;=_^v)DP;9jcgjsG*M?x3gHT9ud6^Ia%beI^*;^&>{Bg@I@-c`Y}NTatL!r+;G;G z)(rR#l*L5Rp;%{Gw5MV8==wdy3g5oH)7BK1pp=caZA;O7$s+f(?MtD&kI(673=P)v z_Ea-1mBIof(%g{)&e7=jXf=@c8X8)(#j;_=fXpzQB)&X&NM_B55jB}Zf|Vs>`KjeC z74l;(XZRrfc01>WLuGe;8scDYvFn|`J}YZ|es4QewJ6MKeFgPyrCPEZG1^iCN@(;> zBwBDAQbl9GGgNUOF-s1)4te9@j!EK;>_s9XNB!;w-5w>rg9oe7KHjpK7t>e8Rv=e$ zi6CCwvYGt!FabbbBlj1eb_`b6cl$^63B2C19;oLi14b|h{ZK5z8=BQGI>y1x$v(F5 z_Kc~U8zwqf?5ExFbW!PnC8@pLJ?w%8_U$t&YN0N;dE&xe^6=(Y#w0MiXP@^U5uYA4 zVSd&SEC9@Qnz5y7R8;Ba{J7kSBfVCY?Or_H8_Sr}s6@DewpHMakb$B{ZY$=tHLDJ4 z`Bv_3xuC0Uxxj|D73=0Kb!M_AIgAF1#YvN+qL)kmF)2LG@cNb0O2HIX&8nsmCPqHO4G^Gmn$cUnUEJ4%J(lgl1qyK@yk zY~f^4E?F#>c!3<(;>SO2KGCw3bV(41zBjb8>4+9OB-81fbX#fNnMft_Tu3k`Wu2S>i?iuqs_%`WMy)^F5KxBzMaRn#snt>C!9VWoB&<0 zk?oL=%L+8uhoHda2rbKpuP}W^3|CamtR`TOsR}@P(da57vm{(t{&sbl(WVo9~t9iYpd~ z&dg*pXDVm#n}RARY%d3OF-V8dLPgKFjqeO^^AIJC9k#H;N?Oa$@^N;Axm%dK@^6ds zZ{@ODgTG+w|Lr>ENtc993uw4&^ZJ*T^ts0%WIyd9ytU=~M zS=E`=RVgW}teMs7ZCduCu&_nh<7W>ZJe%J_m+|EFWx<0p=4_jlw4|_bNz%**tkwr- ztL~hdb?a)2G|%38P=|GcHYmn^N!;>+XsB1>9m%e}K(?hQ>t44$a%YYpoq zJ7@(mW|7h+5pNy;nT0>e<1HWeZk2`i=T+W$yd~i>%Ua8Aso9=MPvfp)g+OChE z-f?Ngl!`a*xZ{m77=li%zVr2Yr~?=cH{3&-sVE&0qQ4Z;jS})lCFnw&z9de0KW~>c zfA<`qbyr^6((&V$rV%zP*LgsLKZ|mA=c)hmcIR4b?}#_~k?TGZy?Lai$ETgrk}c)` z&!p#nDZPfX|Kp5k-hO=^{nn<_+2$kKU6k`Rs7LY}mp)m|^dgW9(3j)*K@)ixN-tz$~V|rGFljtCl@_Lr=}9>}`8T z7j<>NtXR(4-U_lnWdZe!!;ZD>52?S>nR?rMsOQHpWub+Gj3V=l(*mJTZ(tpjI4T9 z`F7`i<=-!sj7c67mpJ3`Umn52T%Su3Yz`Q-*>ub2^9RUT^@IjCpwJ? z$Bqwi5pxaZZZ%DGPs^)M&bhmExJyt{*iW-ISHyGqwp+&Cu|Y4VuY9h$?#afHIU%`s zkK!LhW{*n^Oeh%}Xi4)6OONayX}v8wWYWaU;Fj=VQ|6~NJz`1@eS6)kP4k9FmpwFB z?9)5_mdWUHa*Qi{DSwC(7`|KS|vNZhh~r}X^b=(*#PGQ#}yfg|Tm znYBE+my`F>sphf6&_0c7C@5GvmXD2|H?}Rr%v+N(*XB4)Ee|!%8etwY%*|C#;Z}!u zQ-7}YXZ=>a*r9rql!1EPWuH4}pHM!rQY@MhDOy3JXa^_%+&P}q1dA_#JoNyDtBmbic?l^^MJT1qbmY@ z2l$x$$`i7Zy@xqlJQ96_3r6i=E)PAVe7j?(^7TUxF*o}T5n=h_iKDF7sDzRCOrCuA z@PtvGUj4Jf`umJ@8)Oa*UXV0q>Cmu>BxVP?A+$wpJY*3Xo~XC2cA7u*EivvPW(*vH6<+LX-ICet zDNyt|Q81D+1ko{IGhVsAn5RFtm2nv!! zWbovT#;qu|$oXrOT6LW$I&bXoH4ck0c*3*I-;xll9wGy({*AL2`Wtny--}ow?I7C> z9$HtN#GBd?=WB6Z_K@hl{k(O?u|4}G2M3Ic7#i8v&%39%Gg$h0xx4in53 zLop(nPI)K0)QJh1JM)nKRm^EuXp}o$u-Y9yw=Hv6k~rr9BbX( z+xgSw{GaW=J?Q6}2l^lac2T#1Kc?1TQ8IWMN(Bls%8kqtVehG;)exQbJn|6XE;qKE zZrqN*>UxzpdIMV1MZ1}X{m92YV(hC2cj?m77){vo#|d>>yXtgeG<3;jCHLY*w*B%Y zw)NrRW9EeQZ!KH&!ip4K_SLB}%YNXTckv6%;`&odmY%vZeZsmo7B{`QF8%748_(R4I87H>ck~vyS(MZcoMNCx z)e3DpR*)iS4iKVO86y0;^~k5vdt;DuVwAWcaP6`^v6vP zH}8ePQyoq6Aqg^CE90GHh_SoWz1m6EBz2e8&O+(=?h`yH~ZHh&sHxWVRp6Yb?3}T1Bm;HW1@b zqMZ~oh`UuHw=`yUmo(AhDrdS&6f{Yy!+J5|CRW3YyH?qhZ>(OA?Nma?-dHW~ymQml z9XDL*Z7C9G5P3mDLIcxEt;-E1gIUzFyYdFHar%K8e2inl5_4AMbqf-&rqO2}OlX?dE#Xk=-Onrz4!pPG2K`Dc=IUU}=0s66faz~CQ{8^rh*<^o$@0%L` z6z8ujZ)$=S@><--E_#2G`(hvMVSkGI%0)%_ll-Uh^DQiLVjk3RX(IR^6@`HlScNc% z5*T1Gy8NlK#Ey17)9;oWPMTqtzpvYnpyHfhjh zrl>jrmdXCHEF(qW=|3UE?9sFK5&K|~RYTRdyF;CP8w6KNW%o%GB1TmKEv*&AZ0<@+1t<;BxC!c3dwOoZGKyDkl* zS)^U$&W+G4brm*B=nW*`N>?%Sw;M@JC+Q;gAs8WS^1mxxZlKuk-xVoJX7`h6xTY{U zeP{ippjg5cIAhEfKar#u{KUF>cB}@WIejUN$mOk876T3k>)KwklP*rQ79Q*|SM)z#}WGcmWYIyJR6F|jr- zt~w^BJ~Xs?=+Nq*pn5;QYLltf%S)nvAv^>&e)Zo@h;;aPmPmdKaUutdxEC@epZac||*=g<`(sax|Qp4Lz=h)4f+d&$@vo&{5xT`g{ zqqLsirMY`aUh+WIjR*|#2+hqTdpSXKb4f3c*W73=OKVH&@Pv&|J4P5DMiEXaEVG)jtrazGQ3ji`to5Y@ zrbKI*wXC$TzCFa4X{MCM+VtA2!s5CzYxR`E>YCEZ3R74}XlU4o5h9$3Xw0-=gsQft z3(7}?hlYoZNKKCp5A7OHwbevHIz@BMNG6odE3uZAnXsDSy2mS@A^K z;};8;1wMtiPLQlp1;U81;y#nybK%aXHxi^eTubo0TB^bGK@?LhLf61jHw?dG#4keB zNqMkq7=BrJ zS`S(Z;7){Fyi5vGSs<@ zg&^mXJH%^3$*9DaN~I$F<>Sk>xC*X|FWzXbmV#araqoJunhBwtaS^A&k`L(`l zqek$+3W|iR$^!~I8*ne^P)mO*)*nwIcP-T;8>dv6U4yiU+Fpe>YQS9~=gM#uQoa~m z&LCO!XWqG1DG`!Qm9rxE+GXQZ&~1~G*LvO_va@WSfcJ#FsDtFlhPxc@M9^LaU)!}k zKAR7x-iFlrG$imf{>j)W1asFov{paqH6~;Eqn;VCCc#d6mGxlum=D&IIZAn~m$Z-d zW=_l*Jlrp>NB=kgXF*}VA=Zb9m9<|nSLTLxvXHq;C$XTxll5g@te^Bc>(6eI-eBHr z05h?H=v48T8ut4c;Hi!+z?A##|&heE(SgBfX0yh*2z>#jseZm<^ZSVB#ESaUSR4Iy$kv^BMVrQdqI432Vjc4g>0-GqsNbj=@=>w^RWlA5iNi2(H zGYgx{rm(4O8k^2?*bFuk^=~+v#b&cPEEla?ob)xbO3$%8md^@Up)`^eNnf&J$of+3 znN*4e2=iDOE0^Z63RcOg*v+h3Dq}U$Tvp5KSUqZZxwIYSBvn$FBvrBo)(E@MzuA1o zU{k4L3#4kckS$`1*%G!?s$orRnRGK-&Te5V*sW|Oq+OcyE4z)YVz*1<*=lwNO4>&# z-}O=hTf^>@>eyPg4!fP)B~4%(q>1cqDTCd^HnMxAe?p&_#O}kAmCbAm^nonM^M&kw zwv|1=wy_7LMQppYfIY-^u!pg4*Dki3?ZI-}N2Q0P#nKZff!{%!nvA1(A7^`|DQutg zh185~WDZETOH*+a>=W!s_7rNs5_U*xl9u7LtEKEPdj`upkFsakbL@Hc7j}&Ol^tg< zNYkYp_9AA3U)ds})y+Q!~t z?_#U0_t^XF1NI^Nh@D~o#Xe@Auus|F*je^>_8I#JJIDUXK4)LBFWJA?dG;0iH~X4> z!@gzTvG3Uh_5-`feq@)}PwZ#*3%ksIWmni$*34R%!df|&&R}0gnPVepjw9=_k7W;T z&mDMA?#O%b-rR{h^FG{#yK*<~&ONv%?~65d{jlTXP28Ig;3hth`*2_G$NhN#59EXR zU>?MW@S!}Ihwx!Ml!x(f9>L8#l1K4q9>Zh#a6W>^@sT{9kK&_w0#D>gJejBPR6d4} z<>Po7ACKLbCh&yx^E>z&ekWhc*Kyby_y&GA=3%o7=N7a<@@-4>3N*; z`4dj7bH>c&n=o4XIBbm%V{CEteEnMNPvLrK^%d)JK^|C=W%64)O*YP8lfq+x3o~n8ZT2q9WzSmDvGVub>(HS zNEkEJ?p~Lj{hbq@n&4%gpNW0ZooEl@uq3G;$+6sul+95#+sp<=f z(b_dkyGCf&NcEavyC!S*TKI%m?LJYvYVRjR7_C|&ty=BLZ>QNlznz)_;<}-*jrn0I zi5gK!+DDSKNRu?8k|OO3+agfEo2b!|m}o52zFXL-+7R8L;gPWp#qD&6cTs&J?2Fr? z)0K$oQ_>!$M`=h|Wqz3@YrOiUBrT;$vBpyEOQl*xDpf1e-1e8%4@5*8%GAPH)|N_C zq$ERy>RZvl*Bm7mwpAo8-N{a~M_rP;(e116Ngo zn8Q?Fm_xN|tSuag5`-hBgqlM&|4`feRE6=Jh{2VF46ej3gjY+nIgEr2?n&6-Ik68{ z+r2Fu$xrxG_J^9oweN*%-wW614Y$#&g%8*04Akw ziDR;~`=~DW30>|JZTD(C5gNZDG=4>B-@^tQ6n~^Ge{IjT^h9Xsi`3qav_03-7onvu zLQ7wS#-B)y4-r~AA~k+SXz7oz-P^)x{D{!_Vb;E9*1l)f=r!Bu)xw)KI?WoLW{n=R zMxR-u%WR{|7Qgm=vqqm;qbt%D&PKN_{kHFD^hRp&M{3`T)V>p`#bdV7r+qKdmcQCP zB)yuyv1)!sgxm5JkfUt@<(6@^ULNHX_z+ zOsT@KNM(gC2an_wJjP&QtyMP;s;_>$wW`Vr1+hG@z{)4o@riYOS}ByVQlT>Q%u+e4 zq*9+S^#z4xwN_)Hmed7!Ad80>a6(c` zMN;QcQp+f*D$$8ayrPabmKrP7^vcyGmFknEa6JYOk?2|^x=u@U6%w3}Kiujo1)V)a zylNtZ%SN1Y#~byr76sk()^2RUUAx??Z)haZjXix$byC9BAX;MS#tz9OhjBq+b!A9x zkpX=jaj9((cXqWU)rI2TSX5b8P1n+TdR|l7D4y4#CsrXGG&UvzRFqN#f*;|bF(ig? zB{766RbyO94B<**0ap?exRO}FmBa$BBo=Tbu@W8{t;H9uy%(*$7p=V)t-Tkmy%!y8 zpI?bG9FlLXDePU?n2&5MsBBR0oo}uytPw-DZ9Xnlh1I2%1)^UEjk|!}>Q#jy$%?YV zqFOZ)x}_0x^>H2)ro#5ebld*eN!-sXtZfV6ta-Etp^_7tK!Oot@?j1o^Q%h0R6(*s zA;#KkN;G$Qn_J~>SZbf*y3(?;!t%=Y54f~>wSR(w)u5Mwuv$7O7Ow1cLK;sGYei)(l3c2Zis+PnZ9JNjKc@qO+VrE)1TEvDLi^QJfnjsX3TtZS zQ0baO9&Nf*cxYm(uAs7_SeH^)P1OoMT6U|gI_|aNl&CRH)&Ijo6R6d}m0Ay6)nXGK z7HL;lUR684rm$A!c4A~tTZ#mmdkAWX$wq5+b!9_cl|5aFH9g2F%82R`EbIk!x4P6? zj8altS6$J&Jv7DAi|*TaO}P~o7G<=mWvEx%06&FxB3^W0I?))RmhsSt=tw=)P)A$E zSL-Y4S4wDTL=Vvn!YUF%EP+dHc*9~+4aFffHKE~#G2#;8FosldayxafA&^H;5eWn1hwnXwBUgS(tbi7MxUipxz`# zcf1MfctfAi-bsw4Cr;LORlY;e1of#FeR9Vq9ivZ(?f4{-ZhEx|uXCb%Is$PkC=7>=8>=A-mRZv(If~|is{(;etj{o}5 z949BNpO#?Hl&~s-37^sUiCsm6d)3z62TzOCkfv!GGT{1MMuomy+f z+&1CHsPA#+B+1FC=@!W~e||N_pv$ba6|n8=@Ko%OAwuC>(3VY-Cv*gpWYYXW6+IVm zif|lbRmOyz6q6K{lw~nV@#7P6Fupky0v6Z~BDm zdGXVisMp^|^Lg`W^T*ftoyU{k`Pp4+f2ZeT_#MITjQTSlyMf<%M_sRvL4)>lt&end zeJj#c{G8tE*6&lNwjbUs==?M9?EcT?taEtB(4gf-m$QHL^SaP?y=#T-*Y}9{xu#zG z=Vo#53|<=d}pF-Mc>n27u-x9=DwF*>k)!z0gCv6HX3j* z%H1(RQDlL5Tg2V>viTUe7lL%=3XUVroqcx-9^#q!4*02ZRD|{F7_khK#$%K`24i^H*u`oFM!!d6#IP2lb@TC?E-l1p zM-IkaPGUUbb?FU^W4wv^sk<>Ia~ZBH_`M@FOA5wcb*w+eOugA4>034gqqdhZ>T1Dw zP#{ zj1u30(Mvy!UfzRo;d}8578~qgM0g9vD2HKWatB6(_uyw{kFo<84SpJ9jBzx^7>_Z= zV;BX-_##Gq#n@shb~bqfW4>==>~JDR4&P&$7&SbDao&$HVwi=|!gCns72}1|Fjn{# zMti@-DB%o@5?;bs?=Ki1%)|KLRaVFpF0&#rF38F-F4&7zU^LK`)nN>l`1;+davsD-Ht;Z-`A-fCXbj54~ zM(O6UyD?5z&hEkJTm##PvAOwd6JN@k*k+8qt!MXR_LpKZDrdrzP61$ z#E;X=Yigo_E6 z5H_{0LVA}I-a@#7@K$=dlJGXdRfM+_t|q*La1G&|glh@c5w0h^i*N(s-GuiLZX~>y z@IJy#&;%rDGvOA(`w6!aK0x>&(YBrNA;KMm4-@Vr+(o#X@b9f}p(!0K;%7mGLkNcw z1`{T<9?WZIiG)dn$%H9{sf1%&w<3mdglUB13DXHD5Kbh_AhghTClgL3oFQfA_rmN4 zft0_jjNFuKtePmP5j3-UaxWqGE#zJ$($4N6pEZQUXUtKM^3Jlo^u>LICy3g22tT3t z&k~-ac)lR_SLFVd;`xs7d-AzR_#=h+h1{3v>96FzN^V8O%w^%j?a1vQQpe}D9t766 zVvi->(3%UJPq?%-2JR+8Dixec1*h`Bw~9FVHp2HP%=?7@67fshBwgz_xatWFghoO; z!XAY7gbsu~2^|T05%wl@B6KF~L+C>2O6W%DPUu1CN!XXri|}!xXfNSD!u^B?2oDlI zLHH!$Q-p^IpC&v^_zd9@!lQ)G5uth!2;U|D(}eF4zEAi8;fECFBf>M}^IzotnB1R``%}WdkDf)K&w}E4LOMY{h?M`U^#t&|K&<_tHVV&k>A5OD1kNW}vXoGj2NNL= z5DVmiKm(zX(2lSNp*^7kVNXIw!d`^E37rU?3HuPb5V{h&5xNt45PA~!CG;X(M$~U3 ze4KDE;XcCsga-%@5Z*(7JVc8GC?Y*hWY#7JHrCB+c1ba(_YiE#Y?*!v%`rNAkH$K34^D z;;mZ0A&*W>FM~W1_`CUxwjQZNTQ9grGGgiq#3Ak+RT%(Dv72}yI06}h6QTWt-or_w zf`q_R$PN+9d2)Y8_&wnT!XE^}a>AM<%oW9HLQ}D7kI+D9B(x*!L1<6tK-iPek+2tG zZ$c+RXTm;&E`+XxZiMcH9)zBReF?n?RULbop#2(}cK6Dac=y59T;O)XhX{8NK1{fi za2Mfjfh>XYE|D;aFqtrgFqKd(dzs{(M3_aGO*li)53N-o^-Z9)3b(4MlI&&;6jIe! zsRl8sFU(dZg-*MM=vhZ0*As3ae4zE`slC`X!pB?BO=*TUduD1TgN_9}K>jBv;g3zYTid0{q@IR9OW%}+_LPhv<18J%xTR60hDa|O)pn>~|@F>qB%ml(* z3YkY(Kv+arLRe3Afzpn)O4N&`^cHcTO|u0({5|r2Um#|W-$Z4evBuW-#2FG&&n5&> zB>*&MQ6HFkCmGo0)~7AQQQ8Gf-w}RKNGaq$P>e>lPNf943Q;q@vCKqRf!`BeApAj~ z#6an}?C;PjQ?8>u7If2B@kD%u(tvRFqV7WlKt0U9#16MUD7mUN9=<(5u|4XnsHeZ% zx`Pf8|M!H{Qh;WWLY?|H&KVLd#yomXS^?&Ds%1)icQ*1QGkYzbA4I6@^({yufP=(W zH7=}Fd5OMrg79U+R|sDvJW2Q(;hTi-5}qb}kMMoM4+zf?eoXi`!n1_U0-^N^)Ds#A zjf8fDJqYay9SD08IuiCG>`mxI=uFs$(1p;I(2dZY(1XyEurHw(A+;=Q54j&Be7yBw zb{r#p1p2F>llTD5Rk$gQOie|r@PURZkf?=jD%?aNY6{|khAMoB9%!h--Jek9{Y7&B zNO+0xC&Hfze<7rHg#SwJD}-vBLNq`V6>%zrL=QAk_&^gC$O&aa;yE-?;ZHo5iRaKn zg%9yuGNMd~GEMycgIYA}|I-o^BKXCI5rz_m5rz{+5Sj@i38M(331bLj35OGoAdDj% zNf=K!if}aHZ_DWQO6MsGPxVtPsZ<-;hvfee;cv?>m5ghYV5(hO38s3bm1C+`oaz;) zdc~<;ajI9G>eX+{ItpVw$*u;Hy7L91n39zMEsW^vsXD2yO~#6n*iptBw9@(e(p|hS z-n6wdLK50!^gyzR;iNQ@j}r(hTF*?(!gw#Won#oOVibQP+T54!DXsHE~{eY4EfRX)xk^O*?{eY4EfRX)xk^O*? z{eY4EfRX)xk^O*?{eY4EfRX)xk^O*?{eY4EfRX)xk^O*?{eV&H$xvcJi7%lap+8{& zVIZNZpWjXHj{Uful!{&CzlYq95$-2EK(*_6a=%Dnh{KFDAFcQI20eX`o)SNy2?)-# z3WO#gklI{GQ{g5)KpzlpO1st*q*Oyj3jh9uHxUjHG4tuldEiCzQSAhm$o&)H&xF4a zUMBpN@CxBoLZS+~frwurBnqJ$zz4d4Ku#zVQZ7R`5dM_Q&<%u}av8b-+^7}PTXS(0 zn&_%=LXXvIoaBW*CVcQuZj!Ld^*=_EO5+7TCDeCd6H&j6(z2Y~w-Bx%+(iB0&4gPB z?qgN-# z-%&iBEfvC_dVE^>^i^dlPNvz3ei@#^3IW9WGn~hqs=z`Z5a*c#jf8fDJqYay9SD08 zIuiCG>`mxI=uFs$(1p;I(2dZY(1XyEurHyPKsJNWN?1nt3E^47F9?4W2x)#I^&)yk zaneb&09(gkV;(SA!iY2J;uyIU<-?nhYM^8yH{OFk>1-0|Y!c~g(hTySNjQseHsKt? zTtX{h9$`LV0bwCw5n(Z531KPWT*7&TWrXE~6@-<9RfIPa))J~E`&wl>7xZtYoZCWp zKOyC)^Z>d4|Lpa3rxi&M{9%cNNrcISDTJwnl#h(^g;k5ZfR#tQRZniUCf`EtRphVM z;kD%R`&#`83jYd)R9hgm|M?F2zfb<>2)`oymi)gbH}xtR^&T1Z8@2wbLSb4(7_HYT zliN=CUqk=@{l4oudUpe%DkJ_yZu&a^k=*|YecF9!kDO2s^n?aNBcUB(4?=rF2g06& zj)c7kdlNblIurIGbRl#lbR%>p^dR&k>`UlHIG!+_@IOhn6msr_$T8_(GyWm)8tN{*SN}Q7h3c{d2JB+p-|SA%sH-g9&Gd+(*wwU>PBLHoY%uqej=03eOQAo+o^f zu%m3C-05VY`h;RWOZWxhkAx~$JIa6_BDNc@{eB`gPLd3EA`!!Pgd~CZ1#Z zHvdP-gBa8y^jCr1Z;AhBYvJETE=ivWjZgXq;W@&85`Iqj|88Bhh}5ykgi{HxS^pf) zvF_Bo&UFqP`yZ%t4uYyqmgC=Vch#Dgu57|v69^|#e=&n_2BEE9f2O6W%DPUu1CN!XXri_q56=c0c53f-9b5&9Db z{2%h(1t7}e>jR$W*$W8E9T5-_K@<^C0TB^#S*{`?A_Af!AmR=2f)^w&EaIiIGBY*v zmYJEE`LDcWYNl3ZW@c)pW~Sy}P0hTZqO#v_=6M!&VG-P=?|t9z+kx3<=b6iynKNf* z&YU@i`R$o+kd~MyRL|wKM(?vcH!*(;^S_|u4`)mC?H<|!++OBu=XDx>h~=-H*J%jr zHSj-e5#P|fPUC23o><#cpK)t3uhVDNO5j7$XVx;{-_U%I(`&5%seh08_nBY8{0GcuQj$2+qH!vj&txTeU;;v(GQW!Xs1evo zg!!l!o_Xd=m=Bym2yg~Ia0Whb20m~GK5zy&HvWHXW_|V;`oBA;KL1Qf=U}#LsQ3KT zxK(Ik)ezuIU*>D)JUW~HUs;RRKI@{e3ujdlPT(6t8YyUjc*4VRi!}#>CS&tXzc-4Z zR34C~6L#O%*z=t>-uj(&|jWA_o1CgcUVp+w{~mPr&(W2bdj zX&kgC_5Wu6ZRY<&eI|!QX_+=xlmXaI>&PL|bV7drWpw1(`N7z8DYD=TDU~D5kT1&- z&!K=2VZ1<@o=Jh|T`=VGzfnqVC2C@gPSbsXErV&ZG^gT4N1u%4$kPP-*_oG+TA4^1QqDpaFkfFLlD-AK>HMmJ^Jjh8 zM;fzkuePP_fHT*c{?wIgWcO494&p?Cz?U;0H%9Sn&V1Y!#WOhe@Nv@=zJmEy%*Tl> zLTs21>VRk1GKX)^d~$+G}Q*`gI7-dS>K^n)vyE<|8>ZFgCwd2y?|J(7$5Ple{M`Ocu`^ium+7I=8ni>{b zPBpIR^lf#Ri1*Jbw^2BulXrb}(}q8@EZm{0{i%jkr;O?_F+RZCOg zrQRSzb*J~d8u~n|jSuT4j}b+kTOoM++1!dn(D;x>aH>k9f|d8`zk*>BzUpzrDW zgXXCdUJXOGkdDp?noz$qniu^5FLT*Aqv^DCgGzGN`P9q_bWG~OEymS`Y1bm!{OV+d zfX2)p_2GH#aMtH^&83AyY`f~;l#bL6)5RNYI&C{wXj2N`+O*Z*6d!8kr=Q~4zqDb?I;Mc)z-MqEWni~daP%_@q|L6D^g8w;^v#5q}gVj^SK^nbzGzJ6>bn>e2{pd@W4c@v99t z^sU<#hThY##*A@o+WN}Wo&OtCW=($Dr~miAYr|Ow7XT9NOBSxP?$FZe`XH{Iuc3H` z$}$x1Sz)!;LYkv~qw0h`2mRB+t^KBD>pnjV7DMlvg#Ku0y-q!}?XSf}?RYZ?LnG#Z z=c%K%OhaWE3abw`hF9A4vrgS$r9$tc9qW354gAoSX=tybiyt&^TKDSskUeH$;<`lJ zE>t2~8>e>BTKdH5qa7=VulvzW%gUo=8i=C@3utFUb=NHLE391(J=I_*3iL%STCN*c z`&=Ct0a|?3g;yJ|_P4gaEZnj7+ot=i#dX~r4Tb5x|KI-HP`~QJuf;*#u-ea!iBmhx zvwrL5X9ySc@Kk5~JS)%Vd8aM2p?+q29y;c9)|iIoa&3OKVW=|(SzWOI(plT-rqS%L z`Nj58I_1{9G5iF&xtzXXv;^fm??(@3o^u`iyk#{uK5PF4e$~4;h8LJ`jQ!Nk&rm*~ zdDZ0^dT%hS5p>XCI-Nl6{#hsJfBaE*F4F>IFszaIW+<&T-`d~0G@|yq#{Sk_Gi%e- z4trKPwc~2@_&2|G%haWV+A^O7uQtxJ_OT76ua7p-yr1>1y6i?g=)zzqPu+U!J{!tf zk8T-?U?5CeW<&I!Ce?-2Kvv)(388v(gfSQ~CsGn*Iv>($W?a%Z`2QWR-U6=;xAZjBQx}fL4K5jRrM>>q@kq&2iq?JsMbPUrY9n17c z$8l?*N4gJe+-~Li!D{U%+z{xI{v4%J4br*LAbk+JtG|K0*|E&t>@?V$Jq3N$r=c~v zgu4KzhUVx$VUw3?jh@G}M$czjqhDrPqhDoKWnYKZXc@FR!;&ntH(T&l+$va+Z4Hgh zZTYs`C(sBziu)8cS4+7)OvCeDrs4T3rr~)%)9`$NX?Q-!bUS~|-;p%qzJ*@zFIay_ z&>t@74_7!DEU>nO%#|B%gWJMxsyA$lwnJ~pSZ~Q#Z?$B-#i6$nVUf8nNrF}8e$WZt zmi1g)^xOpGJrPdE`ma6uuNYRIseW)L^x`b|v*GMXDV!xy!+Am(G7LgTbKES;`` z9M@_%PqGF#xh-H3brbBlen|EKf4+h<10EcLwAgoW9Q2GIMsDB3IRi6(!`t8Ce8>e@ zYIcEb;s2s$SD}Tx88GGnw81=tYsT=#8F=#qR%o9Bd+cCy+7()o+&DK_mu>~i(;T#u zw;_(4C)b`dhZb=kVoxnhlQv9Wxija-`QteNIL86!l<*^AA=-+IgN{v7~qjKbOmc4zdxj0PO~B$;VshI>$3~okJdY60APk zaz$JbVov5J6AR$$RD@6CrV&qywTKU_C4Ru#Ifz-#mE-MPZZ6%^&;6ukcVA#R! zz%#5lK>(93=dF@NHILJ0J;qc=}*C-98%1|PcGQP!{AuXsKSeR&etdOn9d zf8%~btDfi1BLt(7w4$2a(I%I;ONe=yyNs6kllv2IF+LG~le>xdx42tq!@s$|5ptWm zjb6CJ-NEx+?k-~9iYPGhZAcqvjkiTAd)^*7z(G$( zbG`-AI`ggwZ^Z+9p-tW$Z(H-N5dy98#2uEMvq@{JJ08!ud@i1$K_1U}d>)>mM;_1l zd_JC`O&-sq_)&NUWg*U>EU%*U*Z9`}=OTU)aiUZPwvwSop2#SbA(oWNz$P*@$Rj?e z4Co7wF$J^z7>OQuZUe`IvV_5>HqpHqeUUQy(hk%=6S{lo zY{2VL5K23280~1!Xorms?QmeUqrFHwJ_Nmxk^OK|Pz`}z96^~sz;Uo0e++czCs=Oh z$SGJqw}gG<(|GEYbO23h1)8D+CQ)jlV06Te(UI2F zqC7A%olA#Lsfj)2n;{r!Ib05&DFv}*6oltSa-$Gl0R5EqI&=h@DnUnV7#*?Ip(D1i z5HHY?QshACh&!Vrwv3KQ869zeh4`0{C#54cA|26EkVQyEDTpnjATrp9e-kyObi|p_ z5obn6EU9&P(vr~;DWfA+pd;(i8t-xMp*1#urbwwx282+`B4w1NEu$vGDcsl7=2N2U&D61 z6tnauTAqeqT{;z$|Av0@ZQK`qH6gi;(wk>Z@>enCvwlt(zF zHTI0Y*y~UhDWfU&IyA+m4o$Jup(*x_pe71V!@+%>H4@mZ z*U}naMr$0Yoq5s$mgbW{vtY9VKBYb`jQY4T>f^$wk1L}-E{yuPGV0^PsE;e7J}!*< zxH9VF1?%xI5kJ_EUr0JJO5{<861g)PWTQiayci9VW5sD%O4qa?V;GCn$Nd53+cMvp z`BLUPFyEf}cFdPC--7vO%(r2_74ta)?Vo&#*&#hUO-g2`=?EweKCp-c$#tw&oUuj< zBRxq98A?WDZKQ@hcGz}@{r9iQ&((IELYW<>Trr&ls}m1Umd>Dx8Du2vtxSg{`!`_K zelyttyYxS>c=kjNYUqMBPdBWx`@#-O9x1@8>m{tE){u{}(%XYI5{1Mb>#G)6)p=u8 z7Y!Oa1h$^Wlc}JdOUYWY1y=6ABtKT$ib`X)qDq;qs7=gP)Cp!Qs*2i*;(VyBC@w{W z6tfuCj(#MNM1o!qC*!czTL`=J>#%Oyjn&!-vHWIO|Fy=dlCJ!dVOwStbQ8}64Sx-` zVm>0f$X;?>j44B#xMFn~gnfKGR+w32ESUlO_OFw-u^!w8x=v+mX`Re)2cQ+C#CyQT zeFA2TY*K_(XE}KjE6MlCCzykN5@T|R?S}e=kXWo=)5!>|R%eq1WD(|!t>kmIzYy}Y z#0{u6SmAajaaiM~ksLAxYu6Xa66`-VlK+rzFqa51EpT(vopd5yv192+29jLNRwb~1 zvzV+PACT?jTg)*+Oey9vPppNzkQmY%>*ZmvoKs3(#;SKE*14Zzjygh4=HwJimJ!qa z;WQufrtphK$Y4m%R6nn9{5YAT>3%*eHOgE~_o>lCnMV`&usbgEqt?gu{B}Aay3b$pTIH$4|;Dl!cn^PXH(~rRjbV#k$xg@JAQs%MxMu(o`RY4P`0RyrIc{pe%!$ zQZ(5Ql4T(uQ~fEqMY6o2Ch#W|$;K4HMy+Z7WQso%O!qNUVhMwJn*QUi7kql!z|nhR z@NrKJKAlfFtm>&x=U5K=d74fEnoWOMGaq-v@QfR0@Nqi~K5mM^ryN`kGbZ)TnQwzR zu`}0>JCF5KKEF_+kSO>nz6#&2k~GN@$#%(6$vJ6)^rGcOMYtkWF%>C=)I4U{?%W_Q z6LUj3Hwd=OGP(AgKld8lS7S|l2D{fo*tH(UIudJ0tRSfkF{~OHKj{WL+&frpW54E_Gh2X_jJCBnvl8^OFuu$Y>W3D!ARh4L z#G3Do{uso2@>KWkAld^&%J->$hVEVT3>{-MOLus)iKzfh%a9ysut=bMl=iT^ozXnzuy*eM?80{y1yV zK>yNFqB};U3{nbhDe7;J_KL;`$-~&7@Gr#w`)C<(0sxsk_5|+O(@VftcnBULPk!gp z;9tcKp9dcSDYy*qjwmkEHh&Q@4`8fbMmuldvstKup9_x6SbiRS@Z^yHarzria+)vK z0i$~?|32%BaNyixjNM&WIbS3d;F7y@fv|3v$rXYJy%am`y`WBaz=vvwF_{TEu!vvB zALLK*4(oNDs(#tY)nWs!8%aWDL zmdm!wj>)des^o5RjAc3k!Q13zr)1#B;TPo!(XbSR?ME$j!zLkYiwt{wop@OYTLDg~ zZrCh@&6Ca33mb#5N!$dzu!RWAl4a?I6(cMGTn}x2yevc(0(jO^sKj!4nJ2iZ9C)U> zVb(J2kh#seVbV%&5yF=1g#0{ z*)$D*wRRf*lz}uk;9t@-xh&0Rb<(UekY+ePnx)BOX-ey)DKwDg1zye4%wTEm;aN-J z04vH*V&UiNgr~6ZgLT4FS@>pzqaAqqO-BmNiBbs;99IszeBoOdL*Q`>vDvpa_E;91 zjux7acGS>(#<4dE;v4#{O;d=e;M(8TG_!hSSAa zoDI>G9a!$rTZ~^J_^rUV*c#yP($=79X?;C(-cTCOf#n1ryc!w{?S(ay@J-WeQ_?w& z=0L-Ql}iUP|JC9f`Yo0SN>9_3i*M++_Rah3%@~CE;h%mBrSRak(3&|Tci~B!VlPV( zDyE>{+7#}jt(Zc1(x%vrP-^*{$4C{ls-)eY-cckpW>5JQO>(i?3O3tmq=_#z#_m+AvDWc4!+6=I3;*WGr(P% zg%xIh@N8ZLr{`t3A>fBCMcn0BYvzE9v>v=KdSW;ZJo3e4BDk=R!G{t0onopAGp{R3 z_XIZjqJ%*7XBZ&i_-pvTj{m>#e*^zF@qZQnpt=0t_`i++e^6_BUO{C*=n10?IZ}+G zIm`L~;2kHv)rRxf!N~Zl{4M@({x(a`v6M8Gkdg-kI5FYx^7r`rdUcr zXGVl7;lvct2t~-jb62k3c=&{u+d8_qwsdoE=hMO0FC?^kSdZ|Y5lU5bYLxyGz%g)UkHG0h0g2D-tCQqGKJiTPbtl8)@miyBYq!c@WIlxf58=!o^*T7?2 zjB)uU`f52w=1S}h)}qJWMSpEX|7-!D?lX+%9pH!V0>^LIR0IcwO6cEx@ulndi}aVjp68->%3 z894FWOq?Wi56M2TGhN#$Scu@)yi;JbzXvYrW*xU1Ex((yL_KufeDRm|o4%Wi8i@{& zQRm6E;XL3xtDop^OHRRc<~pM#wxFCXsEa)(t8w5DHr|zSW}F$~?-d*@XV*Aqjt37_ zaPNSd*`VW^a}L$69oMCnL+en77HYgJM;$lnxUFO<*9$a#ZM}|EzuAI#%%MzHKh~DC zJ!?A~&W3Y@qv4612ie5=YFmVTZvz+EuzM5X^uNZtfWf_S3K-6X(=i0hGy@I_*tT2vhLnnvh#|ln zt{E`KntTdK%z#0!1B0Z%wsyc%igTU_mt)Nz2R{3MI46wC)vRR{XxVLOkKJ4sjJr?C zm&g@)p*J_;?BF%HS1~eK&miBIVT+wQv@0zMBXk>Qhql>B*0X9fM|~XdzBTf;1AY2{ z3k9uy1?{v6?N58c2Jw^_>0jXt^nIkZz`L!S7bj!meLu!-OXRv2eT7q7t|RuxA9BIu zZO#gqx&nQ^0-PEJ%J$$oam~qc)StsIj+2Atybj#7#Cscrv_ejSTm*V69<}yB?Y81w zOVo8K%H2o4z}}md1vs#R*~U2V8&M)g4)WcBJl;o)5Xkq?5HrMhAN710P;CJGltz7k zfBO4<_=Y}+58JnNx;;d&eXn}z+lpn)&=h{NX#D;Uhe-z;IK;FC2l0G<11RJUP{%zC_jI4@K!BX0nF|9QjE3w=2TH#{4?VQcNb&|Dh!@8a&jEgIM7ucQ zd}A5Tr*@*gPer3@mCz`KTB8RDR5I68~d8Iy7i-C$^Hj>`phd`l{UU#q!&+%=pQhw;Vye*RCa zRuqyRk_^eKlCLCBq#ocBtdag9YbTo_+b1V-Z+SoYEcrb7+wz_AGxEn~ZOwX{O)~q~ z?4g;)yoGru^91wh=C7OYH-FsBs#$8YkD5KTNVQmF@rlLv7JpgXw=}bKv+QIUVcFMm zn5EkCHOnt7uPZzhS&B)D<%;(dyA%f%7ZeYz9Ibq;qO5YP=2~sGx@_%kon`%w^*&^5t=F}_;i2+a>+!fvMw=fz2Y9aayz3R?^%jKurnLRa+rm4=d$aewcKzCY(%!lK z;`TrLSo-w#dCBK&2e%Fx9hP)B)!`4{Hon7r-}SxTu}jC<9S{3C`<3`z^SkZe)qlGG z?f{#Blz_dRT6b#SsZXahoy|Jub^f7?PnWbV3%cy<@?)1@yZnXaxp|;%pjTjUU|L{a z;F7@of!Bf@gW3o62^ttQGH7DZD?#rBJq&IaoEiLj@Q+;`y5@CV-SvD(n~*UfpM*T_ zmf7v=&}N~%L+6M7(%rLrQTGF3_F+X~fAsL~F}%l)aEI`+@B=-~dPeme-}9ZGCnM}4 z@*}?L<o{95vwMCfa?IS0h0#2JK)BEr>U~k(9}0mSEa5`{c>RQ zfo=mc2F@G!>cFJ~R}EZ0aPz>=2L3tlR$5eALfWfoZ>FtEdoS&ywEby^(~hT|Nq0&2 zOz)T;oF1MYojxc%JAHKer1V$Qm!_{y-;ll~{aS{1MnFcl3}r^|jFgNa86z@^GnQwZ z800gk^Pq);mJIqe(=4-RW>)6N%-1saWPUxk!{E+?qX)k@_#gz5yodB1vUJF*A!moS z8=5q~?lsc1HHT?C-LVWna$z zEBj9Nqa2dcEXOvdMNX@nwmE(|K{;VLkvZ`>$vNpcSvezemgKC@`7!5lu5E75+=;of zbB_;~4|g0sZ1{`Aj}JdT{9&FXuWeqZyq!xLr^=PBJce-1Kqpj{9WXPvia^ccU<{aBAVn!gGa}3LlQQ8t*vXcYNgd zLF04AmyAC{oX!^~P;1YGo(HC02FzbbzGlFJJoALQftC{^~zBjXS*5Fx( zX3J;Gm86u;pY1U@C?Siz?~#)1L|^L~3SeW~e3Gx98=}Vex}m z{N-G`f=KM?>PsiNcri0mFR@TsH%!(J;1P-+aUqRg@&xnSlT&+nsIa|USSwpDLkU>S z?*tR$~-t%jqD4HprG)z4D8<9kL~5rjB3 zr+WwOr=}!Qr6fxmF2y3h!cbLM>qhI=M8XQG$=^cuWtVBRof4GKXeU&HR)H)vSP51N zTdzEF8L7gqrRGrNFDyYPE;W6D~hRxy#e_Z=tqalLt49@WjeeULJ?kDmQ!@t*ethS)qDzlHX#)oi=o=do1@xu-iY45~W|7z>UgG=qj;X&} z72)AY!$wV*FrgqTIr)XY*m7ND?ij@Kwj(3zz5pxiFj;LrEWBQrdeR;X2#Ca%c7x>B zt^EA@OElZ);jxka*TtkDq2E=s-|HO@657>u(^7d1(AZK+^UGN~r6PpC>ySgU!=Bh; zxSPzz%GIx9Cegjj}DsKK|<`)v%KRG!mK2jMCPRFDO>=4|ogN&C?%S`>NJa>m%)%*@P@Q>P|aUe&9b(2kv8>B?G|#e_;pc%G!Fz^_dq z$E7KbmTW=54Qiz%pK!_)V8$ly@MNVXt(?qt{&R4W5?0Qy~t#Bx&7n&w{Ks+ z`gfJNxm9y#dkYIQ2^jxiL6K$VQ(`+fUH^LX=FJGuq-oO3Q&UrWw)pe=|ICZjjMStF z>ymK*LlGPp8a;5xx(&Pka173fMKgSYiHN#w2husp6iD6$B(k)eqFJ*r zJWJhY_>aCdhPj2@7sj5P`}=gLZHOTSLNVx1hFoLV@!xOoStva+($q?M+? zO7WI|^X5b)`OYS&Q%9p9)6VLqz%dnY*q%E#d9qOuNG=o?Uof(GVf;p-e2c_{{+YSC zxtaYF64gqw(>(0*>eZ`1I&K|?AEjg}hKQ`08F}>J@f;N$fSNSPI?{P!6jo<+gl-Z> zU?1dEYLl5s65{)1WM^k*^oviZ!jgEqdB}woD^`4P)FK2wN(r_T`}ZrAx_PoeM)RB$ zg`*}m28BH7EF{?&p^A;frJnNAI)H{=T)A@PhsPA5BA_)`Tm!J7%!Rsxdqz;-#p-h5 zw=*GTa)BoDr6fWHIu!xNc0@!eC>}TYFleA!h}jmG6fEeDL%RzYb~8vx-qTAYrOPyo zO#PG{!JM?xrMvXFSzDAeVxF5vTQIBn-19nxmYRu!Q{3<@~r)qL`0AXy%lF!BtwA7 zlMf$`q@6Fe9cFY}8*OuFr%B0)f@)|a5dw%3fEdB&SJZ%1S`8(G4ZAsS;MYZrYS+oOudd?s7@- zyz{xV;oEw+87zl?_Cm8x!2+JVh>~4;M+CI-^z!x#>=N|z;X{|3Id}#5`*-wqZ#6R# z%;^P^g89E=fBFUQ-KLenq9fEstuyO@#M%O!W2{&r#8qA^n0CQwnD~(#%C7D%AOK%{ zp{A46EOo8;I^D}f@Oqsp#BWn;oXCzZtcunxLrQlFwM!WY82RfK87iDZ;VjxB)8UC+ zYUkzY1MY4W$#FZ+U(C?+>VH8F@PxfjameRT>tQGpM98j5U zEiByHzI{tYnSC?Imd@OTLp!#P^72~y_R^2<1gFq#^vBp7Q@4#QlBaj>;8b<#q_A&) zT~d-r3e{?hv^1W7T=9@pRaKQ)-2L^F6&4hQJO-@;=_OQbA&ef0MNL2S^V+ccYXUt`g=J`A3d5mb40kw@EPDvm<}>)cQGCD)-m1MI34p)3ZfXMLM{E8ZQd9UC4 zfhPfLidr}*yqGdXc*6iMFY%hF0_)^G^1h{XA-t?AA`*wfGWZ9*Sxh z`G{GNSHn3znITf0B;;>4b8LFQe*K1)Btgt$4>&sqaDYnPf50GlY*q*;nUeN=x zz8OF)ldfx>XHU*c&lof~chtzy%}AANuik_5h7ZpfoH`&1=j*%Cany>Ww%)rNv(FcE z&qeNB>g+fOFuV>?6ned533ZB7r%wHH_Tu%s=I-61heTl=uoAqk?WI!l=IweBx)3(6 zs4tdWF8 zr&LDaY@ND~xCzSo(p%|KF_sxC6WAhUjCqWSy9)!tGT&kyVc ze2!xFa)%B@W05OFr3K6rn?uPZ&QVrIj&mgy^`zA9?f{~Yn3dQI zX-g$m{(X}%&KFR}jq6-yxa?Z(sFzPP@*#&*6k0ORI_%EA_3O8NwfFn0m6es}w`dV- zAJm%AN~mqEe^{_!!D4gzk={D?^{+mt%^aGcfOGlC%y~%v$l$Iap}k_FW3T*n_JLcw zkVvI6BD70q6^+rxPNZ0;OJhLMK`etEw zJ`H8^!p_&2qD9V^@#W8?DdX+= zQC9bK$w-idR{DsxQp|{GOt)8Y=68*3YgU+^Gpu0N%vpuGO3eiBP@epO)}6w-ckkB4w}T3c6v%B$ir@GP^U$}p zUHm&30lZNR2O}#b^hGJ{3uml67m-DFr%xv*8v%9o;h0H~P>w9-UYrdZMbzj4n@QzQ zM)`KXye{c&L<_LBu}P&bL+QL>*#INpG0c}S5z}IEK?_sr@k_mJ z?K~hpw4;>`K^NTXK;Q5owkh?SP5Wu4 zWqkjpDrJ7 z`Xt2HI5^IoR%&LMl`b}WSdp4E!IXXhp9%}qKd}#)%i3o?em9DaJL~LXu3X8_7ydVH zBv*{w(Uh|Nx#aNS$&=Xu*E|N#0Kmhxeq3x`EI6bKtDTw~9!ocG7SRE+D<@8zxFQRP z#!u{U7phB}ZQQtV(`VnDxODgFoG6j2J=*-`&rkf_s#i)%im-c1duHC+4X5D(6e#i3 zg*(Kibq7B`zcNKxS=pOA{v<7XkHy)$xC5oTGrNabj$4etHLfa83E8E1Q~Gug%CFl% z+`8f@GGFs0paHu4q(AY!BLSal*V= zfbt|;qT>^zAm#NEksDW}mW$EYQcF;(+`46t!CBVUf^gST{)Gr@Bb!#A1JYO+)&T}y z)xRJLcZ0A%CyV$g@h`;T($Q|HYNIMRPvctEO8Mx-fQLVB->D=oIn6B0%Set6XyxeW z=-D}fKX~xqFO{8B$3!8`9w_cSCv&uQY||Cpw_dHbws7ef95)~{s(U-Do4@RSC0a9D zl)D-0v}oU%ClVQt!=p!kpFR5dnw2Xy-)$Q+jk39z>;ZUK3uRLaQk0$wk(acUVa4lQ z>k&%w%fAM+z`ST$$hT4a`Ya(SB@+A5MH0oo)!|;kn`0@dsJMT>Z3|0# zcNfcYhAYr4BA$IgZ8be$eVdfwe4U=Li&8`mI%jC|)5+V2PmvFowN4v}4&`dNhB6RTMcI^5ZXrN zI|})>X={1$@ZqE+RRBaZDl2Er%J11A)P`gL8Y)o0LMEvqNDkRUa;U+Qs>gLh*|WZ< zk|&(GIpg9w96F>_Hkf}62dtq21o-Lsrm*L4L`Sd?M7|DxuCYsR5MqI2)wo>8 zBUk>mZ5EX<29MJ<+l5zHwCLc|!NsbO`hcPG@(tV0f9a@@K5lbs;>vmaF zsO;9phFh&vuBm$b%ozVtR#kqf2h8xn*9%u+}u4gMcxO;L0@A zuxtdS({`OE>jQZc2mdd)q6QJDhTGDp{QDq(2dOkVy1|SY7o|~oQapS{leNT*_w~uY z?|ysa!e5VUY-}vetbW}8-m+!O)_nTxiLfP|2+6f;4>VEzh7B7Q?ca*Ob+LVDSi2UM z71zX>8uB4tp1LaaK@;Cq zmqk)R1A$xOhdA7g8%ih%Nxr2dpK-}IBk9VEy8*`AXINORrP2jX5EyX6+5Z`FzeZ(v zsxN6aken?B4CFy&0Ju*q=rx-w(&WVWX9J;~h4nIGcp6Fb2@Z~=C*ZPs_X-N0ol*64 zTQ{drWg zsC8=kr5RGr;HUCiyp0Xo^E_9GMdx{HHv_THBlZ=_u2PdLLd*cfjDjdrf3l2gW;ltA z39wfu6QBx0I_{VcT8NX%3diIdEUa20tvWG-t^=5R3Mvi8@ED$i-Z-MxfL^K%!Fibn zq{u{=xhq21{{0~@0e&T zH4b5W@Ev(mk<=}+S7O%CtR$7eN{fWvrWT>EZUP}+x<*x!xh+b@KqptusKRmMZRApq zn0~{?jD~{q%t2Auu23yn8x6y1STMv&_p(>*nz*oC1{K_aJRr9ky}ksNPaqBkjwiMw z*gR+@n7YuGn#{*TnokW$plBvF#-aj+mZ*gb4dNv%HEx11@qgB{-H}rAVPs72NZk3I zPb7wtS6^ZhbWvyG!wTy?oBH z{d~vq(Za?Ll7XdWO6!vcuKafCpE4`1s^aGHHA|O*5gSfYuw~(;$5usY@|i1cw&pjB zb?Y{7z1jmpg^b;6H>8u({qsM5x8J`@=hn807EU(uGVYh{YVP>oA_aSiw%dfNXk5TB z860uDV=_$d0;c93X6L{8CLtlh*P}UCQBhKo+uhXGGPqST0a%7TpVIal{!cgTyqmkr z&K*1$A0O`H?x4AMuedn7o2ejI-|GKYV5c%9!VcmQr~`mU%5=YJM~KF-8(KatUJAvw+`aE3rr?NO{h7+q{d+Q zx`_7r!pozSWS`u(ou{dNs$Bq@1ek!2RF)zN)(1Z%|8T?kSFenLY^~hSr>&_V>WKoH zGDWfWTLCBqD%FIos3#g|3W!2WQt6p!+(?{AE^!?+)487pD#=Ik77jM1Hzn40qKJ7D z^!OpbNyha9gZV6U71}^+;%~S(J{xj(^RZx}_YgMV_e-Ksyc|ODrdB{)SsGSx(F8U6 z4Ha?=>(tub-qER*muK69UwnSDQtH^+-QCT}#=3CY^r1>kF?TE#H#p=@_SU9W$2j3a zQxJ@ef!9z=OR03mjDrWm!%eM2_0G?v=4WtGSzTdlnoP5qb`R4bqEZ-U*Vj7@F}0OM z=B}yh!%cvPzhj@R!m-;DveY`arPNyC($TkLOOt7X3O9FlkdLiq4Dh`F(7I1A|4u#P zlLna7gaS32N86C+RVq{4P+(Y@(1Zd!be-yI?-{Oibny?39WrD{Mrw+?&7I4aFW(@h zf>@tM6_c8gjg8%ax^;W|zt5gM`?r1j9x%jIl+~lX&c{^HBT}il`0Fosojn74hKGj*`}@&tCN%6wUof>UhIs>e zieOBt4C|5WsEfia9GhqP#lQY}#LH!6X8&CJ?aG0Z*0@VmirJ4Hw%U&G$nRe^r~Gxg zAAk42LyuH?({ZKriQMVwmef+`atB#l1$!(lkC~RAI?&81yyC2Wrcj`1m z+^IL4*yHNf&Fj`#{I(`aQ!MQ0rK^rfd2lYFT1l24=Im$*6)sdaMCHTBW%7G}9zSxV z=Z{gEJmyNI>&}w)Bd84e28rs(5tYb|1^3zm7I1aguOb^(0u~k+vg|{(zwNTj8`v*3 zD{DaC0eK^5CZJpCq4F{`%V=y?sA{W?WR5&h`oZ!|lB_vW7(?W_IdZ8P&WNgT34Q{< z`nTaK+{S`r3k*xGqzAA92IZsGEqo(}jvJS|dWXWde=KxUeFBakbsv#3s|4T59qV#O zj~=25XxE}ynN()enq;WeQmb~ovnEG_D=Ns!ydfRwLyo-`L)GRmSD=|CS^xRDyJhkR zckUB~O*4_BL3!VN(m7ACeRPWL8;diqEe#ecurO+uy;M5Rzfoluqio5dcD?~ha!^rl zwWijMEM9vKUZ?hrhJeZzc*XV~URYQ-p&(6RZ|~q>V{2_~?HL@E)H&q20eXgTiV=;( zMj>q@ae--t1?DqBdTanQsy9Fl0x-57454SS)|W5OnDNZA4Pm8l|GL3~>!K#Bc_GTR z%g$cEzViP0Z?|pR_T3*3DiwB?Wl{?pi;%&w7(Abe2)d2Dt{5C*e|G!&_3O8vwI|u? zxex)-@NzTh9IEAo+V~XI*^HO2Jj?s!N8?ag7$>hwhqvQ@TOA4gPiZ0zcmd_Mb!%l+ zMXD^_-2R-meAVKW-&{Gi=g@Vx(9qD%ZQZWE3n9!6H{24V0RxpB*-jSA`+6Rerjbx} zsT~MqRmFoRRZn_NZg*zSu8{DeNSw;OF3WU~f_zX0=1OUif7Q|XDowT~SCcJ$=>+LC z70NgzD{t_h2r?ZC+Ur%0M9Eo$pRc_+O65G8o14eS8`&z7)2XSajcXd#BSk2m^Xo^I zL2MP99s)DgX~EZ*z4UTq-}C{h;7+Zq$`t0!z5Tkz_D@ZDdHvlEkNE4tDcg-e2vlwj?1qGq+ zK%dVbzWiJ^#D1in?ykmzrOO*J7BpdAeFd<|Pn{|(6mF54)>^v!5M#k&BZ{>cY}~(w zWkwvo?C&Ba`Ci(!i@zx?R>J}@7Br#7cA>?%tXVPS2!Nvs>W`B7{DhL?XfhWIou&An zFL~j`KOlR%N7~-2wecW7lj&hv9ZsMQ&i$f;+xv9r7#P~E`>)52Ubk`S5F8ZLrDIz! z6_#qyIwYC&%Acc^?lK|%S(Iy?=94o|}3SB$Va>3rK`*I$|wK*0n7iR*EN+=b9tGSR4&QRPLJ>E*W&KklMoeHPhPT! z^J{kMGvttswZEWD_6_N%4*aigMQg@sH^9-IITikSDZheo13Nz^>?whj>Ilvu~kX`CWYR>S!z>Ph+!l> z7Zw*B)>v>fX&tnC&ZY)j=!x$Dxe|I{iUtIAW&+dFhYue*BqOM)@rbFIk(Z1bb>YIO z=`kQgR05vv8=DTfSYJ?%Eu=P>>S&Ye(5z-GP*EPX2XE?*U{DVL)MmSPpM2CdByMtV zkmp@+i@~m%1IkHhXQ|nY5?BJ*O*PcxT`8{nagu|vnpv75;+Pz&nav%PC^gggcTV0b zlbE&WqlapUnA5g=2K0X@{X0lTvU92JY5U@Y=tdGwCsr#c7Y5CpBP7@+$x+gVPzgh`QQz ziek$ov78pdDs)@bgPTTRw5k`NxqemmDCcRRU3Bkuvqytu+C&YN~ zA)c9B-X>~TPR`6^+()Gp?-Ug2e}#r$fdk98Asn(3xcD{x;dm@F80nMS+IH+adhFPK z;GAuQ$mc=CeiNn42LtgPtac7SPw^4zV7?OS^*|;+iN(#>WRXlJYet)WB1!PL|L3)P zb9l>k%DHtT$PmHi+F!zJ*0TR5ea=El@I(LV0=e+#odTGwabsy_9?Fp{4+soFt2CQ@ z`*|s}s7$-DrA@J!h%bdin$#TQ=oyK2K9RU}l{%BDSO7 zks}oszyA_u7m6D-zs@y(_UK;@IGnQw#)O83g-7*{Pq_Za?~grv!(yVNRpDKOsYLNA zFm&fU52$qFH%ub+q?sGrQeyz2RdBcX!DGgZ$%Ov9E*{p*z(X+31Quh;5zfkXK#Y56 zu+^zgu`BrWgo2Dwm&rJ~(C5m`s-8XpNyV7}Tg<&G9oDAm_w~`5B5}A)l&(Ho<&j0n z!6tE+G8JWt^3ui>EnH?Wp?tbK7f*p~aSCKa?X`;mQ(A$_uS9VjA-AsKCh{xq6)VXx z+pv&8Bf!yR>>39WqjB>95vV&fc$wBZx(r?8z!7F3);`_8UMiU%$bxFBVeu;OEUoudY;H# zyB10JYetbZ%Az%)e0rW}SFzP|lo9o3I}Q`dUW&4HxU$YVTv;QaF}#;C4m<(#>3NlV zLB;)l?mm1Xv9+_au=fv79&ZF_r8XMPBMmRJuvL72{F`l`ef+a=U@^?4s{?T!Yy#jy z)Q;@pS*+?cpkb`j6aF*~a7Lf#iFucy%42aNW23MV1tkU$-1ZsjDuie)?zJBhPueU*$+txilocQh5qbHS-njlT0{OzCO zRM*JW=iZSC;*F-9FHT481a1(QKQ;zD>bJnLp>A1=*`xCZ_8SOmW@-J?ePusxh9R>L zf0X+s#bPnPiLzedHj%k}5)&_jh-lTLM^EN3c}|E&2wTb5rFq^}r&mO43dODDc5=_>EMNGj+m z?xd4YF5R%rlMKYMK_3Ih1`Du@U(U?h(nABv3XRqD)uf17>K_@vY=+32qbCMR+;I0E ztHLdv=gXgM&!1fg8ymw=hGc7OLQ*ujj8jT;aPbyM(nEVs?E{tw#g8R8xSor?nu9Bg zFX7jUYR=;dwN~D%5#`Xnk-K&1J-WcnEehwG)V;_hxe@XBR8b^>0ZCi>Hmw%^ncUo&E}EvoC1I zGB;iJ=AKgzpJ?XTJ-&7N+h2Y=d2sjcgNJ^+^vKo~hP7~koh*@0PgjPxTT}_sfSUm+ z-~V@S^!UF5urr+^n-FNBed%5t_p5kodna)D6{*MmjkaznGCi9ddb+Z*fvFgf$lR>> zDydWkyJBUwj_tZCJ$?R-n)ugi4z$VZ_6fzOIcJ9{$quVFtz7<%+O(`TebZz^LBOgn z0DFrocO8O4u3W(+JizJ7zX5(5J+5{Wb^xQSOX$cTr7flu&zLbjKcj2q>C>kx{F9Ob zu3o+R&@%x_K&hqhox+V1dLVZDpWwvwL@+MaGIy3UhdK8n;Mh|45}Av6<5gRz^pb2mTv@#g3rvSS}aY5Bd<1zY!geMl{Na(ws2GR3u@Pm}i6_bxtih586_ z&I$!|rOjdDGc!DSWYN^AQ+MI>?L`akwwZvs3|jdzAkz{po`NkWFPj%-X*7v_ySp_L zXQwFSfVlwjL~6&(%&Ak0Mka@6X14XVxcDv2Ybwh|vN<(%vnU~EoR0?wB$32b|>~HNR_2;{LH}Yj?R*lU&85h~yafe9! zKzLSE=R}|I$m1G-yyxRfBjW-cqOtg!E!50@cB)Rro>Y;Ny(Jd+6iFGy#TiM8r{OWx z71OJhntya{pD06+No%$C;S41?!AFFJG^)w8QVfl)-B6Uld3w^N$O=)Kp00fAZ$Q>D z&9uhs8!m>?1A2Ce(M#=gFKtZ6Gi^YP%)3AGmQek2jcOkm-7hyX=gGAFYqS>X>Xd6# zSt5JHMxQ;>aN#vHAQJ28wN|snrMb)HGReaV;?SmjBZ{7(E|s0$wQJjs?P_z4=IN8i zRhq_@O0^fVQf>81ZPefbZs-)P5R0a3uZD|fc)~c?RaH#!3r^ox<3KUhO)8ae75A#_ zT6;ID>g?=?Ja_e3`LxGb?d|ky-$?YDp>AGvYUj>Rw|!Ps_4MiE%12M0HV)l{9%tNG z!}w-2B8WKXsE>os-#h|@RLanK%&>kcRdj6M0V%2X{<(r`Pt%%@CqAr_3Esmox{O_cZb!+R13Jzu!^f@@6N5FS#3T;M4x6|j&y zjj&f?3h~MuCHWiK{4K8YsCG2yeB&Gjsc;G$_srC6_SDUS!PyHra2r8X%E>uNtSX`b z5VXhob@GX%`S|)qQZXp$_3OF04P;b(o>(WRuEMU(YE`LeUrKD1VF(=%8LQlXZUP|IUtEwS4oWD*paPF2qpdPInm zg}b?~Vw^Bs%XLIU;G-pLl+xj+v?PLL#Va{!GhCIpTImgy0i(o=5}GTVv=o~k`mdHQ zU%vllRhde-Cc(Y5UDVAA8C^ljv5b=nZJ7&jIw|D5wCc$duQv9wzb{|9c=5t-=kA)j z`1<;~k~=pmVP+Gb#}DuPdF`65t*sq#RQt=RPW;E3d;k6AmtSs5u3o+VmzkHBR}0Ik zd;i?FP*|DEux8R|H1}?5G>g+O@}4?p?Zc zaVM@&JitN0v8GId#GKmF*VjRFoek5Y3fVY7Tu7`GaEGJIFy4Hj(9$ zB=-~hsl>9-Lo!+>nXE2nSYTCc$CpIVEFx$YV*7d^CO_bh_K>nxa}n(I-ck}FNLZIK zZTliF+Ez;>mvW_IKE$ymC(LuieCky2EB?B9^Li}ypet~~vk07TIO)!vH*Va(xF8$l zJ9mPCK&GOe8_PJa!SpueI@Do3c|(#HD0>i1`P_(zYX;CJtHwVwS0wg`P_qcJX8OO{ zLS)`Tz(UrT!~@h-av_66sA#QWgeM|G>Opm_0%~sZVYHXn3Y02FL!XB=EGtjO1RV^~ z6c~EpT>B!W=89%ksghjA{~f{B@?2(dSsV?!ke1rGT|{0qn>IAQf25DSV-&Op|A;H% zueyxr*HwP;$dMyg?0V;qAKyR9`S0V$k6)GrCBr<-N~l}CM(&t-c>8yYPtSiL5qh;= zV{QeQ$A`$Ta7Q8EvxY1}+3VGk){f?UnUuHbl2Smgps&TTjc|$oExV~bo8SNL!&R$R z_3qtU+3x=LpUkJ4FH)HsqA7OTa^}gy2bCBCk8Ym%{`k2+umAP<>7yr>Vyn^-4O71; zWuDlw{)E`tRPW)b6=?j)eXkx%4Q`F7%vvGq2vL!#pyGg-YC!cRW@y?gQ_9E9}Xbjraumx;JL(kM$ z!Hz|mQZuU-Eo{v(#v*B(azFhPCAQXL$@rMo5|r_pIu@P&4on3fB4@}62vg0R!%*I= zo8rRH=kHoNi0vc7v|0<3_EEe+_?vS)9J$HMyoN=Kw9CnZjEG2D{7Q`sag$@$G<8-Ce0n)-PIoM?vB`M zYbyS_c(J^E@yF*i9?69>@F`68(47Bxae29Z+kc~Nktl#>v2*8V|JnQFA6Ndm_oPhA zblYGxGof>vr|0%=rxXU&DYaa;`u*)+ee=yXKb-val-km{Yx-#Lher&I3JVr+jm?j= z-Pp|&012er%Y*eQ8lM7=Y+?i!q)2F)7Ie;MElnpci~#!244C1GUKrUV+!FB?Xpt}p z@|e5mJq#gsO$tWXkh5M&tjn>gU<8ckE`coV1qPL&J%K}j2GIpbQqT_I{7Jzi%9$Ml zmao>8a=FpM=3%#`%1?5c5*!IsFTqrmy1bdh%H6L=Vp>K<268jsvSrIxm+buFrl`P& z11%BTJeT&rBQ;R&NPUT;W9GD22<)$|c1yY9OcezG;Vd&$E|nnrl`g6b6tak+I?%n5 zWm(d)cZzGLv3SIf1cu2xQ?M@}Aft zl7<>J-%<`II<6yGvi83(yn7T0x`@>$SMfsDUe186q_(1Qb$_=5`8f zkG4Z?`^;|E*S4>X#bM+)&1B5BZ)m1!#!BWMvsO~u$e)p&YD=lThet@9s;6IT97C$5 z_ijD(96;5!!2A!~o8~3GuW#O*mS(wJu#c9mnJ(RZ18bo&$0&lPZuu3^~qmwN9` ziI6YRLYj>fy$R)pAB0NrUEpynMK|GAvtkD1_IK{wdHiueeEJLY$Y2+twu|-w<!Z>CPjPPo7e)R5kH2U3WLcK`5D^to5fBj&5fPU|AP@3DR8&M%LM0@y;(M}) zJ?Pz!=Crx8mCWUczztFsk5qusoNt={5dE(*w^-~^3qQcaVl71v<||~h&q!}BaJ##4 zWa-9+ zZs6gy0Lb^)j35Vy#}JVBi-JKEKdcx70pKR=e6aF&liL z&xu0x@-$i$`cF@k5<^q-LK|c4-6o}4+Qb@~SX(z2ja*oXE&?aR%MLMQt*M0UGa2zJ zA!~J7VW1*e~S8~@(k7|<2ZHz_8a-Tt9f~Z z5#mIHaEH#qP<^MoygWTUH&>7qSFp2(xN^X)kzmU=kvG|i-5nu&0J>#g9=vc*q7+vs zg%UKLc0pSdfoai8ii+mRg?Msmde>_i>xEk5ex^?!yo-HtY{f(J$r{;$>;igEwvHrl zBv+6`gcUN46K3myd{1Cb;%5sZMRhX*Z-@%^77R}X_HAHQzmLP-PBqXfMl&(HaeBihE4(?os@(B=ox;Ht! zI@0tqXuu?K=7bT-5JxBq&6HoQBQDO?3Vk$h>DZ5st(DIj?Ng1+v^-5_uU$j^Ih^vF z{rUO%1qI)I#aWy*^+`%gOG_G=u#kKs^jXk5iV{KzY{dMMqQH)E*{Z|KEUoY>P?S~( zLa2rHhc!s3Um<^~D5vw15Z0XVhv)3a1^acP9ASQL>t{bCr`&C6#TR@lTFEKTq33J| zmgQM9hYr1;PZ~RRY|`_+>#zTmyMF!p+@G%3^FQgxSZ<*T$yNshck9;8%?eauF~KGBn@-|b_tfCI1qIYKGlk5w5I=Dvs>)!(hrcy^CXN=l0FgWEW^ zSMtm#xC8Ngu*|QZK&w5;D+-}3e9@H6Za!G9mp0TIRpzX&v_=ZW<{BMZW5h_HQOofu1KEkm=KR?i>>AZf}RY zuI|CJ;-EDA9I^T*`0@k3FO|;Pxsyx>J@|a2%H&)%`= z8WU#<>#Mo_6i*|XCU}$Di5y$MqEnQEYLMZPo52BPQJMA?eTr? z)PX(xPo8YNapFf{xA|~K0BgW<6d&wil0Yo@l+3_WySatnpG2!94}Sq9 z(LAeEnwR_GFUa3XZ|CG6)O$Fj#Ni=9(n83H6+x4zGFS+s{*;{r=}-cIE1=V0Y--la zjEzPq$N>+HIyTU_Q^>8FDAgY``a=d1rTIM6ViVlc!;)==;?-DluexpjX!z_cBvg;` z2{}mqU~DnlH^E8petXQzh-}%dO!elS{^H=pabP4)Pu| z0f4!J<1A~N9Xx%*4L1(#ztEs}C_8?XRkgKhtS>ip(HIGQnc2e4E#7{TC3)W;5?I$I zs^|SQXL56My#r##ML=V)MVw=Pydt465LbZ=J>lT@E^rD0=eo_bm;8^JiGA8?ZtzA{ z=Efy#qh%^EIe^PMi7Ci`h;!YDXGq46PlKvy893KBtY%F?YW6Y1v;m#0*@o%}s0ntt zrgfI`fd_joHcNW;bT*#&0^|~m$9~X@Lpz@LYqMjY%oxC`AW?6_G%S&3 z3=gno^(;0De28|>6Z`u-0ukH&m0J-PJ~nHBW*lbUX#;yX4S;B`=U2n0gtJKulwHiv zFS}dU&`@t8+4VHzn`c-&-fcb>W;|OQ0pVzlcqCqX)O;;HW-p=zBD9RbvFu_tr7%y{a-EP9 zxT4}oJv#(@#Zkc6aj{JsP$!u!Y9tvarzl8{hk#w*ba?5-jA8x`4)q2rkD$=NPEIN% z{6i!0BUG1AZwf8kgt476DK)l>N);3m9ow(Fn+2n%idx_hY&}hRE2z9lGxBoNt)2zo z$s?;3Lz?$owruOHUdZ0RkiVGu%LOuA@Taq*@H3C0g|Qqfwwp$@#bA;D28+=z&;fxn z1CfrWpD0H_C(c4WRsd_%J-(a+y(p5-4+;ue5DOhm1=E8`Cj|$m~p3|0p)+w9JAl_pI(DcTE)Me^=%?7q2X~4!wP^Rn;}$*Q zOg!0^W@QZO6*C%Ys?o@I5$Itf&AuP@k8wN*iQ zcmXGeDVRtk61@U%gdRjfd6kPa%qbq^a!xdOEx}BdDb2Y|JW^<=Qm%*xckYvgAGZP@`u&v1b=7IGSm9gC0Q3>m`1oF#G&ebyNH-E1Hn(y z28CeP%5NxTv@>cw?_aoZp~idYP#p%j;F6lVYU*zg@JM>5U^&Dqs#6tsqP*PbKCPK11!bBZ$0cD+ zw9w3*6e|3>JL&B;U4ulHGC0`y)mv}9RT7*@h5i!0?32t0dv1;v_$sZZQmM2JO&gy& zJ3T!PeS8-tfK?z{0`Iv=HdZof9@tMCqw#*(r4##emR!1Y`9@`3GZr$`o|1W<2g~kNT-8gJY)v4T+CpajPOWJu$7E*@WX8cw!WX>G9&Bk#3GE^B zJp%MnL4X&5yIUlgH3Q7Hj+H5qY^Y~^Sp38x!7~SdX)S|dsgS0<=a?1n(qAJ_yQT?= z9hyD>J>S8XHF(Y-8*!ac4oGp}z}coQh%tN)yc+dCZ5?B%mu1hNhu8-}5ul?H5Ko## zDHYGARC+tE~qsa!*60#YVkeMP$u_^_j zXb-&6-hz;z4bL_3n4Sdyw{UE+c&1JzQCK)z*|@p7`c8}k=lMRs zLI@K2nhFYxF$u1lJdEljbvG}676m&CFWKv5_0`pPAyaBiegX!gV=ele+CLIw(nRGK z5JC9f9ykEd`yK+S5%SwVN1MF;5VzT~QVyanhr#`OdUfg2#gW{-*QjyFMn~$p24}k5 zKf)xRgJ%pa=fDMh0Ke6kn2hJ})7Nl`xyzSZ;NP~AC9;gsV_wLd8wDHB2fz%R>h9g^ zw<=w`XtiB1Sj#z`wM1s2agf$l*EKZWIbZPYyD`{zVZLcG)Yx>Yrr2`1zg&0dJ!sIN zPd@qN%aaCY-;_8=V=!;g6^61A%-;tVuO+xQHCfrH70s=wroc6sHK@FAfGGV-&w2UI z&!Qd0?n9e8Qpq^Ve|l8Mp*fjYAXy?mr5nl z=c4tNc7DNw(_c*8_;quaF_em*hZ+2La*E_ISy=-hwywpwJb>{k9c*E!92Q%dVc##x z#s)om^Lr!^%ZB1eSOEHCjWXC-sZy4f&wwj*#8r?VGf^uW8pz?J!-Et>ki(1QK`GG~e*qb8U?)Jt;1qHTQdx2nejgDOkH}XnEFem`I0}o{ z-sCVfeT+ggMw%9|M@TQKG&gg({ZX?{HhD6cnFtpZ4ns`+wpOT$@pr}G**|5~fR7jTYoz4>+04e29mleR?S|z@cnq-OexAB) z!RI2l*C|-nZb;hO%~hC(H}E`CGYG@=SS_}s<{?G(V##o*nHD})r42mtkp7xi8bU)Y zfrh#u0*1<|s;2sy>W0T?w5fjuG}=Oo1jsgPud~oRS7s1{|0|;oL%-svlH8qjo zt~L`+79wi|bN5^;=58-|a_ZN&nW@3BuI3ciZk+kO{zBny@TF;zy%!B|XvF9PcjH|$ zMqN>W^PFP$!4kvo#W$`k7I4SgsGIffY^|4+toK_GB|^gv$GP#|_s>Hq0y%TCpYo5- zR;*aDquLATPBS|(F)_BMcW7TPzqW3mL)e?HO;3L%G|K3IHhV2#R4i7w0GK<`!e7W? z#$bp60Dg)i;rw#Rr~u|mYL=d(Q(MXXdN^a%+`M@4CM%3j3|a+$A;xoB93;1Y#O%DQ zdnAZRWNG|SjEr!U)KbWT*l%I@%j>bc$WtNNFBgORW zJSBM3{3ioq-kkMMfGqT59PNkbbuXbl;!jqC((E+;WVKLkTgSxmi&dar4`bpF@VmU{ zLD{R%1UHt{f&Tvk*qKMiKa0cwR-cx==HcmCc)*YYbvj?LL}QNqL)tyYDYA-DuHJ3@+td3$21M?xAO4~iAzXGhzs%c@piL9@_ILK zpSS@aG+&5VVw+WVtdI4XZOfN0-*(0trcX{@Uwxmbtdx3%(n>|{SJ#7bP;J0^>6~8V z7g#=0L~X!C>C(d_crM+%$;`z;ZYR<)W5$y)5mc9t73B>5hN+9G8#%IsUu~0ch0VOI z31d<+Uw&oE^C8${#Z^tBu)ob2aD4CBB?Q@DrVe7ei!R@(uFlG;hGV_GXJPJp?`+uf zdy@oQ7L_WT*ofDAxHu9l5 ztFQ9~s7O0@?C9a?$(a>JiOicFMJ^WoS6Q^OaI7Q96ugd{kggj$X6zWIAcK=+kcbm;a)U|H!py_aLtiJj|^0jKWDk>4)etgK=sQk7$S zi>3y>T|<*adqd~9XJ_;H?s)|Lqgj!H;Z<|==b%{WlY4YM(wqzMb4Vx>%aX#Nk05 zZR@TE8kv!1FgD7ax&#bF9{d48t`>Jro;+!7ZEeHJ z@cg_()(?84vLMth3(*W3;8UEuY~aLGh!xT?R|7d|APKxG^lKQ#U zJlZ+ia79%`w=wq3h+E>3P;qsEUOHMF05-O1x15KbD%XM}00H>v&L zv*@QTho5LUsRyxYtZS4YHc7AQ=-=zk&Ye4dt(8gi_K=!xsa);Iuwh+|r@#2(i_^xg z;uzYa9;W#mC+*ueh4h8AiB^z20ovB#w=hS`s*7-?ICD$l*fkQn)+EP=xH|@=q@;`p z@8qbcID7c;;aW%M_FXVKet~`Z_U-NO3ulbZ9ojhBsib=A<_0Km@6|VBEM;nY(v9on z>Dk`4vFzfZy=dLuLy!+_+k2imRc+}S7&~m(u-HIX%j#2l8$(rD#h*2G4VVC#rM0ZN zS#Q(aEVH(hfz@rOtNF8{tjZv)ZGNOGYW}>5ZIDY!FP{4P7xH3+RHDkfdKuKkWFg+O$#*Q?Sa@hH4sm5?gQ2L`tz%}$2 zR?|W?s(g~=AwVZ$0pT-6p_qTQ0CbeOg;Ku7&%v{~6y-4E%OJT2f|=B$UME9USit&6 zAbuHo8bJ&sx3l;BCs}&&M2E5ydbMk$E}n4*BwxudTCbA4I}>yuo?@?!!6 zIZ0sP)vF>dg}lPYVh|T>=s^xqv606~K4_^zCLu~o+_Xi26}r)Vu{u_96K)o%9emr~;+D=Wjw!K@YB>KHj{ zKK1a~4`x7RateqJi%H6uO^qjrykW#o9rz=w%jb{gfAh^ZlO|2-daGzT-6w(9x!`@G z={4!f9moGP>Mf*9Rl}r74J0#D99f=&ZsiH?&PS;5;DqolfM=K^$2f*XgV(3-33ylK z{Z#JMcW7VdTR%}kg*euBJO{`FGvH4m8R$mbD8Egk)u^@gkj2_>+y+h_NUrY@@92)6 z$|v7ANBj-tG!$v3Hj|F?TM|tO$>e0KtM=yv`EfG8pq%|xNVhge7%wWJs`hUse#Kji ze!m`=0TmG|e)t*_aiqYyJ zr_isyLa))0S2+h4mo9^5C~He9rM=_F4GcP2<>=|@83_dnit>~FL5}tA(Os1^gXH^I zsMJJVKwN~`qf$^em(U4_QO!t6fA!V$6#6YW)TOpoT9%K$;(f*RlqG8}UlPk~A*_@h@jQY!T2(PL29 zN9!Z<2-7qy(Z822WY4|O(Ng_;CAmW?paR^;gz}|5lwceA2Svib z^s?y{i$zP{czeZ)ii)GF20)VPZVLL#`AFfsFe+4|qa}?xyu_L4gEMT*@T_PEJ#WCM zw3IAi!os2un?=jF?Cdal1E*ZFcuN&f;P7 zEIxYtaD5LSv8de)X~HjNIi&S3kHU#?%nUZyI08>`tonV&T8)wM3~N_aR=A_+M#aUU z;Z~5%GE6UO-raHVT9t)Q*yz{hPphIHC{jnSydS`8gmu(A+$_lRaw77(dDt<0<(BvH zzOz!UB|2e-KF6~yzW+WpmcH7zkAO$w=ZyGC(l}*Wa>@&tnVB!X90ekS@HV2edwE7y zR#tjSa$2vNqX>pMdfPRG4=N@Z)D&#l!@legXyfsw{;<|r8#Ee2rO{Yv{#<0&bpPJH zs_OeqEUU7$)2LJmvmYPA@nX6;mHz~9I9OCDMO8wz)X(|)kuR4-Ae1^$XfefYvf5@- zGiip~UG2=7*;%O@zcF~f5`|zD>V}ddALp&wvp#hmIw_qwvlf;TrPQX4ExCQQvXPV2 zmkD-~X#&k=x0B##YM|iDoAQ~-v96HTgt{V;I>?#WfZa3yNhA=V_~0W}5;}*3LxaeM z5tx$q$PEXAXP(&VKpj61%ThxR7-r7YSrvxOV;ALz84KBYVN=f`lLWI0fV)Dv#2A(@ z;DFue57RiBr-zcp$YB{#5cznc2sG1*Zj> z=@Ui|@M#Nei>H4$3kBYpM*oD&DDW`((05&wJJ>jM>?OLkGnCEV%q`KV+V}*;j!25` z(^*|{WxCFoJ;MYbhz$ z#I>tOy&QNl&bG4B!CqQ@{rdH4sl9`fo2P$>*0eyraQ#np4*jqr=o$*qC~M@e_H(HF z=@Xb+7sx~WJ>8rj#VR%j2X8)_oP6|wkCI$rZIk z))q{LLbP?VI`I9B+l(lT;tcv?omLZ?V!>B0>H;a0DIDg{cc3ru&FWWPc;SUn5#F8J zIjWogq)UeyJm0j4?v*nhQc~iK8G|&)j$-%xj4Z@urw+tazX$g4Qz+bM*#J8G9?qo-+F!hbItbs< z?L8pf1CNE$zAr9@AI0&a&!eG> z9nP1TlFy5d7w99%HKJGjPpOQF*|se_oWyW?`{tT!#ks3;HX(^Ro|=%*tFd^;0Awzu zT1vi?I%aDgC;iCU`lJ7Gm-q#KK?>bW^jzxvyB-5dT}kec zJBsIn1KV0dg%*Wrqvdn?%u&ye?b#F4d52r1Frt2j5$YUiu5+o4?v$1O z@yEqu`9EE*bqEWqb&$u!$-x*~&YCsIqoU$Y+1bK9FbTXUhK;`9_`m%Z3~~z@6kyd? zj~AXTtHed_sgdAnw!ni;@Ceu@*|KHmP+>f%SD?k+yM6l5*PcC`%*!h)3rQxlrby=I zC9Nq~x;)TZPxugcL8~tCOOyu#q(Qhta#=0jC$qvkJ$HanO%YsVkvsN>{{4T@YZ-4E zCC+#wAgxGv0_65beb5j-zl{XI9raNkG}z0fnwUe_JehirGB+OZ(>Srm%#YXrm6-D* z$oG=H!4<(3@&awGwm?OMJ09htdA)CUGMFPu5h8Jh*Pra$M_je0X*}mfCBQcoHzrTM zvDVdftuStoA&4ZX@Oappkx=6=gCqXzmJ1%VjvYrCKH(TXAcS=yPIULYGh~Ub72C(x z!s7Qu;ZT&I=2CHo|pk*h*nyntzOx{y0$VeGEa&$U>!}8WQ zyh`ya;x^>7CL|8l_BG$YEWos%;WY44Yul+a2y9T0n_I*T;pzHLb7xGMjNr7i^cgdT zv{!E2_{AQmE)N_yeqzs_-<57|Zgz0K)yo^3mCCYx8^y7wT2`7ob$Oe4FHTCGoSrpz z?);jYSFN;zCcHTF)tQ;oQpb;r0wVYmAy`LrG!abu<;&OQHgg{4=5=*#hlFe!Tg)cY=DL#pduX>bDCEb_Q)|8xkEo_NC;+ zxRhBlAZNS}8br%S9p=o)N{&lRo*o|@>F43=;TM@Q6I|!al&l18WMrf^0T(X;3ZaSm zm!OGXas6P^yI^qW3lueKP;~U5M0|<$l$N2r+cxCx-J82%TXeL)@hB1>6jvK9ybzP& zWnru?#_>_3f3yH?{zzl(L^XU2cs!^|c}*WrV;ROteeIgM_SpVowVi@G)mB_OckXhn z#>q*ebM*2eXKs4*i|@zY3<&UTXJ@D}*tz)#Ffs^z?O0M-_S5GZ*Q{Bevt`G@8&dZ! z9qe5Cj!I6OGASi#c!aB=^uj{TG8Y#Y!vX!WFAC3=)Ud3WhbvS4)?s<`r60fCx^l^q zWy^$CY92_yQOtajk0_=29EMz|k>-fwWH~v+^x}*N=s;_j8ThOrjgk!52079Q8QsFK z@x6e6Wy_X0IZ)>j>f2c_Jeyj87zY+{(9ro_%)5 zZD2H*T){W=U2G;1!s(n@WC*KAI^|~j{)yu=W{wZ&a__*t;J&Z`=a5CR00YA5Ss@VM zRe$5L#gVWSr~RDHour1Fpnx7*QSBtTiRbHamDb5O2;xt1T!P zM>ad*LSeLo8hkkco;+|Ld{_i$$R!k;(}?CXI^3$no!W6!ju&xwXIxA5nz)GKgfk?J zG8WPU2f`5JV8LHWaEn&3Zgl;d7BM$&Q1|w9hTQ^gj@`dyh0p^^$v9Mtz$_l_y>QId z5cphOBqzy5HqAW^*hfc`^~oxvZf;VjC{`1xDU(RWo_&iuEH7PxlhnKyM}&J>OY~|B z$Mzlk299VVPM$F!1Rsms|7x38M?`irUi`VJ@W=1-cK%rDH);Tc1Hona6#2qodMI<( z&ZCFFudlC{hg%!X{VV6l>l_HPxRM2WLJ5#wo*D1fRPu$6 z8kT8!$@IGN{hW;(bMwmj!hf50n6sVG!>Q(v6TcL6?-|(B+uhmC$x_eOTrL#)yn*)l z+aB35z|Yh_>odNrbjgbFV1M{3Yxc`2(E%M5_mPmQ{N|P4U8A$7S^sUTef_4tbs&xI^}DAu7+#B9^L_td6LM5PB+c7erwCgI|hTH?#@M| zP5SNJ#Yo;CY^{31@Q|9VYpolty*(V@JmTWp-6<<8G?fPPZ#CyUpZiHId+?QLNwn z>ge%5{=gpEbyAJSzJn)qWXzE6Y_tiUZ{9z94K?XnzB)f8-rwIpu!8}LQE6!CpsDjI zU%Ufs-ATUWwSRSZpp~Jz>b6l*-%#7A-17NdH@_hhDaB42m!1?88bNgAP45Nq-j;~G zJ6w4B%C&kcr~=x$sLKo9)9G{@&eSM8LqfyDv;iS;1LOO9ix7DLX2`y<9Z1adjUvld ze{fEH{2v^X=%0k0OXemp?U}($d-yn0_If?oi50-1Yw&For0sp6O5c+LbOeGuoAN?- zJo<)UDN+w)41*X7K^D>qh-rHOQOnruDarA;wgll;zv8YUu+f6^ulUIfM%oMF37KzQ z$GR_&2C{=^hYlS)sF~EeOM6*m@$nxH95`|5wzYduayrC*Wbj4NlZ7^!X-UI-dv$R2 z^n_ClUIMk~TY1u!%(3DC!Xv`9+Sr(w zcJ0TF^X!Cby*b4%Wa=Bb7 zGt@QJ*4Eb4)ItkpXhvX!Mp#ins9hBhkR9(nEnO;24i_v;Wo4W!G<4`t_!aB5WIZ$$ z!;$udh6#b}(wB(wphHz#wkB@OU#Jo@-Rtq#o!XFq)Bd96Y^7C)o4KI>1U^qUoik~5 z{2HN{kZfF}BX9|!Pw6De6;vTcVM4;n)T|o+F#zFWDzWhI#VTOpYpEnP^;*~g!IDV% zeE0%QCX+di>=vFT$2qn=1R}AIlxu{p91?@sQ$?TxQ;3Ig^86>O0s55 z!%f#Xb0%f+S@ar7@w6FP5sVVo`QjQw%N|bRHM~8rB{EjRCb{6MMeO9~{b?ZfTC%%U zmKLFJygW#SFS^W;2N6*GbxX|GEj@)NAZZsTg+oNk9gFxn=&I3ao2PJM zd$VzDt&JKsk(&FaPaYrDrs>uVD(vTw*Tlq%(V z2dP|=l9CYN17(W``zzfsJq6M3f*$34X?i#IJof5(v853op5?Q4AzqNf)S6i8SY=5C zHM+gJL8_4Hqo^VVWfha*yF{2dJ)IH%ZcfIlrz0V#e?+|v2Y2n-R;_nXx9jd7JTMuf zHZ8qVr<^sLf3XNfZ0nmatO||(8flP5VSr-zCX9q$b^=CbhWfq3cTsCoZ9P$1%Jr63 z?R=bL+OkF^`$k`Sd%Eu)Msdmb0^i6Uw#=fB%*sK7imMof(28; zp0RbdH8tv9@$sWGK+iHp$H(_l*F1ZJc}QD{_OkEaehEQR%AVc3J!3n~i0;`NC(P_d zv`#Ly?Kvz#Div8;<;y|RXKdxen*{w=ZG97MwK#V!GxHf+Cn=dTr{vii#n0~7Xp>b) z``SyFQd1KnL%O%oXn5(@YTmH_U==?GD*vm6&9{C%h0PD|zM>^ZG`)Iu{|{PhhR^@1 znF5r4gLZ1c`MfeB(4X?|Iw=B>?1$pie}gM|o>x9EJ-wtPeeM8QEojaPiUXe=f%4=0 zG1|}6BCQj2CI70$_K(BvG&cbc!~fMF^KEEIpZ*PYjk zfpGGFV8Q9%-?tC#5(f1t8p=nrFd9bl^eujg5MQ4sA5BE>{Oj?AK7KWMnn7jLYKbte zGyna#s$>UyzWT4*nt~yv14>ps&5-giP>hwrT6BYoDi_+6?Jjcz+IH^b9~luD&?TsC z)rAYm$-~2gx;d&;Jg%{yJ>)5KAPj}4a6A*k*hByGEm+WZpuZ}Gijbz({S~T)>!jT7 zuPoEkqXA(iZliZDFHKH}jeBm;@X@2jG~BCH_2~0l!iW*W21Q3jK|zuWJ)b|R;ppMj{h2!{DVxeruMeM}_=Y@UoG?4aprofoeX-Eu*u>#i>)TpkAHZJY}oI zy}C3H@74A6%@kG#JfJ!~$m#j_&|~A2_(Zdo0u|yDPnpP>QZ2$0v+bQ)VdM^)#;U3+ z(#|&}H4WJ_5@Pyx^@tzn4-Aba;Qwhvihs~dW)afem#8sNq8j%f*PU{}0IP-us{v!? z^KNw3W1egrWs$X(ev$KdMvPYi|JzaB`($|Ui3eWYYTz-#*nhLZ(jJ~JE-Hhe>s0E2 zg`#e~|K?NAfk+uop$F=#zwd`q@|&Y4VcaW?GW9{}XL?cfRdIbE1n+6t;+zP0(+9Sx zs=Zwj5b)uLPqn&kz;)Z$aIe~+m)|{o^r*v4cs;==ZAzEE{Tu0-ElA4SRI|ff94*Mv Xfdh{|eb;#G@c)yvjPZmffxi7e_p>x! literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.ttf b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5f817f3ab028602b46711222f69a72f7f638ca26 GIT binary patch literal 263488 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�(NtIto-e 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

    ?%^Ob8ZudIx+%3O4 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 P5fdE!l0O*r%sT%E5drM| literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.woff b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Light.woff new file mode 100644 index 0000000000000000000000000000000000000000..689201ce323bddad9c8b83b0b9a744e0462992d8 GIT binary patch literal 95028 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%0A+RP+Azo?UTivx#BLOCemWBv;gU=-#v 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.woff b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..a5e45abc727823af0d7ba102a5e6d527a9452af3 GIT binary patch literal 93836 zcma%>19&CTw&zcrbZm8O+v?c1ZQJgc9ox38j?GTev28n-8?tAyXnK|EDwg2n4 z_NudMpE`xF%2ifG1ONm80Dx>F0Z5-MD6!V(^51?$M3kgI``LXau|NH52Bg%esF3hy zz4-2DT=ePpI5c>YqH?l|03gL!003(f0Fa1Wt#a!SRa6!L07*mw08pR+fWFiV)^eMy zA{`?D0F3ZiC-v!i!dK1&hSvI@>xa|>06>^N2jg=9PzN@2al!`xU{*i-p#5pQ-#w3)HK z(PzzPEr9ip6QEj)ntj4gHvSnCd^$10G*qFPwUgWD_&(P000>8mRTn(b`Hj$wJ<54bpoF*Gs_c!`;XrPz|X?}eO4Eq`woByG5whXtTx2< z{72jOUivl&H4S<38AAeq|5gCpmJRic^fn=%+5`Ok$96VGeW^I;=mEm9Kum0aY$EW8 zKgFM00s;*%2EYR30HB`{FaQ^T@VS)$;5z^a0Qk>3^wkF+gZvZy{guBPgMfhaF+)x? zg!~LG4FrNBr>AcOp%7umgT#QNw|g_${>PUQeWwuc_qXR2iyjDY22z8@23SMF^tvrq zs``d1DWklvw?A|>)3&2EjWngHw=_KF8!<_KeG}A2t^8V<*iWCLG@XY}VB)B$&$60Q zC}comB^N@gw1h0zkM)I zWIifi37Ig4*m6t8&e|Qd zQVLphJ^7ugK?1M;mp3duZfa%4N3?ZyY5w$7{|jl@99mB3TgLSl6eLcOH|Rnf`3Hz| znjKo=3?1UN+^70u2l{*7V!E@ox##Ba>=&}`azy2r%MPB%9lKv{L~{9L*Pcih3@|Jf zwTee7`pp`VL8RduR;O%?Xbv`X$K!TcBkkev4;p!*ga<4H+pKz7Suw^aCKs*weXMYwBYruM4X$XRMC=MUNL!yoA7~fvoz-HSEtEWk+h>ifN<@iy zEki6S3~fKqWl}twM2&Hco18BO>3eB%CXA`j?#jw#>z%TVyeOx!Ff#i}UE;G)q#$^f zu$?eEwea0|GUK}5q|k8Gy}%cNiAJjPCwm2iZj9L)NE|O8Gnql%Aw@7PJm+u*X+#8~ zP(I(*6VRpxew2ZAqX{Z7#Wf=g1r(m#u2i(M8kAh3EfL{ds=F0$(w@0V$qvc3C2b?& zX@=!zIJRqizv&+~zaElz&Nf z=zc`IP8LU9sNW|+Q*hi%=o}w1-){}PKw0rPmtOzzP+p!=blq^awLG#*_FPJ}>d9#x zBG_&0HaciQJ;i~2y@5E2ku}9L;T}!4+%eGU*)k-bwV`j1ib~T2%$Bm~UJX&Y637|b zJnCJjBB_#JMEtY$0R*nu`2pxkb*i>s>e27jb}?JOt0mhP&UKWRRb-p)#9&ux>s?uY zyk-6R!(}Y6(PgT;FU5IQCL@V_6f}D1fX*HJ=!44e75wA{et9+45ovc3QLKc;g_khp zj#G_lZ?!(rK36THv2OCX)HNt$PKxGrs)eDcF-fsE<%sw|#4+1i%?$uG-c$Dy#B4ey-6?(FxML*&)I>tr5ZQjQ#oUFH2>t79Ei zcEKs}KyY6$j;qy&!cN?(Pf0hLOWfaCaHZD#$haVyn7{*4O9?KlkEaxy3%bvXA+E7Q zLuT0)2VR+Do4S`?d9EoDT|Isa-sVi)%ex}S3ls8M5MW95FIf!Yt5cr*rW3E;HL615 zIaQTm+F*EJ=aYR(dF&ouw&VvHsvgaFU4OU(34HucM9rO>@

    pp)Oq3! zlq$k}M4=B(oM72%7>Vld4`KK0yZ#%J_1uuQ@qL~nX+1hh?$}zM1?#qfd$pUOlMY#P zUkLb>joVItgg~I`voFs~E5-AMneV~19{~=LKKVVX&d=6H+}nowOh*^oj0>HWrwlp-eYG9(Mgg=@@h6UJg#yYtf;x&>B#tu_4$Tai zgOnT32G(U1o?^vY`pi;o9ue7TMW-&>g{c!|k4~F;2&WL<0{9b~wR}&*BL=o67MFfh z*UeK-+S%jHUtBmc%{Q72%V}wq6w;=LKR}8yB8numt)BEp^S`Ke&Fk}eHK&GcIe_G2 zOkmjTlG>P1tFQJ}MjCP>rwm(5889|GLM*L{!zm8$(VmmWc(x>$N*QuKjq8zup*Y~x zr%Zg^ci@AkkAZLx4RQbe#64>PDy})eyI>ci=&}}Nu+Wqf{`Ik zAVC1%=*25d6x#rzfR2F3+WS48gf3|3oDZk%_2BLLymkO7+7uSs{H_^F7rA}G6wv=vC z5lc$>^A(nD97mbv4E1eLqh1q2D)hIb{opdk|bk&9DSw{XZCvAb0!;HmAwShy(~tgi!~ki)Qp1 zR`GNoK?m~j|tn2u#G3=9-4OC}O6fGq-4-RHpv1yBn3)8fA418_mv z0k~i}pI5t|>$XnvRhqxU9NNg9O2(97RFEPyN@s`E*VZ?EbJ92 z?BA`UeKbtqWC^PpHBT{##Dj$zML~&5K=}gp3pC1;4vQ2mkw&HA{$; z`{Lluhi?k3fQpZG|3e5-o`yqv7T*CJSx_KsNkI;BhEy9z7)4AlKMW-xE!SIto@J3# ztglG2Z&88(aW+)RocMw$qEKEk%qw6@KO;n0V#^=YeX%;hhMh!sJYi5PY4931Rrpqt ztx%GU3<*R5MQvvoZxKH#WYNumEJ3olN1rgmpr->Cw-yN0*_9YEYBqCo4OKiA8(k`g ztm=CS87I`^MpTtJzXCVUMWHM3S6`6D5%XD;<6;F*JlwTKVrfUj&2{(<%w5v$K9H+f zDQ*vhS9QgLCB2EC`5boXlHIL#nIX~cc2WVVvv5ZQ>v%Sgx;;CH+-}T*Y4F)Yj~Pf* zG(GiTJhONs+CozUms(QY1G_xY8!^Q;x`X8b72iwS;5l zH#`0ASspv!I!}5uyZr$NBo?eca{*m+eeJR8ok(Qvp){uwh!@q{&Q~_(TrAanrQb~{ zIw&_UNiP!J+M%mmw}xn6OMCk$P2_`YSx)=8^t#7&JUzV~$aSj96W8v_>&zf#MX z$kmQ3&oc%J8u^_6fciqV3d$iEZyW#ui9SQ_NW(xaZNh#)pqeLcB1Any;iwHHFT*?> zDU}QbOYC7RGDAeILHhOdWCW83zt43l5-JfBo5B(Kfz5O{GH?jAMH(iql|`A9RC1ry z&X+}#)TMbG=U2b*@G401BW z)IM+egOy4A1dP^d`!PxvS9bu$KBXu5EZzaaeX+BTX)>* ztczrO#|!YqC_WqZmePqJL0S(7_bFt5Hg~(>2m&M{6~E>$yyeeEDi6cEJ4X?lox?9! zx0OF*oXvEnycY89iFB;{U!=LA-Ow0U1Rl}0N2o3z=&9iAf5T+coDQMg7ly7^_kLVl zQi$BJa(ltTR_E$-nN|mO$Jet>-++5aTsEL&DA2Fd>Ac0? zNUXcoQYqh-=Ur%SD)kknEo0pmf>&VOcEEl#U)|yuz;~Vc&*_+a?ja>$?P#YO_k~Go zRba(%9h~PUE!7}~cr7oR&3ILJyLdf)AiFsI^$(XV{v4gMXZo*vUV9_BzJNhQmlMde z=1gyZKkwK*G>$e#-LcuNZ!HCVv6oj;Rk=E4HrJqB-iWdSF9odR6J`S|<|(b;wEydGDjz1iH?RC#yY*;)@uIEJiv2bys`?xs%!!pBWJ zbon^oa%=BnbAKf1yglCFygc$e z@lD_GVb+x;v#8fi+AR5jFO@%j{Y}DEAjV3r?P6AY$`V!A7hoJRG#tJ8-lnmn+dmd8 zJRF@x;|aoUNNH>Elm4ZBa%U%A`QJhHw{gFW_?$$dfi zaDG(x;Kvb$8!utB6K`|@#^rxAa+!uj#x+6Y$@dfnRrl&s3m-f>d7O|5eJ;3qYRcr% z437BNgvz5iqlzNXQwhmC@Tek{ZGE|_a;azqVatWVHQgTX!v$gV!LLnmLs=Nyo!Nu} zYivdnD2e%=D6b2?$hfZ>T;woG+2awPCNWvId50z+c+sA3yisTa&%1E#j(4*@^yI^Q zF?8bL^lQhL=K*5+5_g?>bL{2xXRcTPZ^$fU4R+}h;3HaLBY|#Z+?#1ReQO=&T=dok zs2Hqk=yD6=VW@=CxfoX100Xuqmi^Z4}{LiB_9Fn-iL2#2gdhXx~JxRSlv4ueh++u!wi@XkCU8%s}A5p zW0-NI2NvtqM~QtO`;(#HIEXZNBfrEVv*MdN)ntTvaj<#pUUoMjC*qq5)MbQm8|Lk; zX1(g#EnzhNy=OV~hSF19OuTQGm5ppjp$@4D zp!=JlCJPIU1gZXSy9Q|BSf%&r2>iFwYn^dw>DlsVa`vt9RlC{3n z@#Mx+F~Lw=R^`h%*8$g9=fkRFq0kYm_^iaTV4TRT z-BP(QW4&s-kzqBa0;kSQ8&H(fr7Bpp#uYDkb#0DNhb%%hcn220u$yk^BJfpLOJK&} zoLB{a7^~BJLc!1SbMB9?M7%>`Q&8KEagSCA*^2$9^^X~pyu}eyDpyOSyryAOOWXC5 zUiYC>9NUgnj~R5l=%G`A{Rf0st-D_GwWZ_cGde__xk@@6BC|HN8mh*o)t7Dyy9d?e zd!)P!~FiqMZ7<9r=h=q0i*7s1_gvL zgGZ&+GN~7RzXNQ8!W~UUQxi1VRrdz+h2iHRM34Tf~Q+v)uY`-#!iV z_Rne#-iw$nf`#eCx)uKpV)h`2>Ql~rgZOHggVd1EaH#j{{+{Ob-e8miuP0U7d$Spi z*e!o)(Q7-twISD{F?q8HbA^sVpb;FKXHY$&zGZ~+i++|1vsGFq3aT5wJvn6g%Sfl8 zfOX(-(*PYc!NBcMQ?J|#`@Q4SP4o9jI^Rf?DA-K0-BQ!A;>=a#woC=jlAWb#>T4yl zB<^6hX%cSPxjl)!8k<@rQJcu!gecx7ng9kkkDoK>#TJJ_SUv<@hGL{l80PqRCBV$U z%wP?WPS|Ethk!%KLz3x}oPKq|hFLDR8wRl~XNj`HVaObuQMZs92vj{5@5IZcpT8-= zE<1HMuWk9SsaJW>Y#G0~=TOQqnPHhhnb92TObh0?OpoO_<_N9U2$U3%0hEV4>DE0# z%;Z9B3IZIy?d6clQJE2#!J0vv@g3415+72B@=VHJ?Gqt*e+@rNi_SAR!;h*altiX3 zjUSV6^jhaHsA!O>0*ux(n|r)6l8HB^)bBD^8ZeWMctmK@rn}mEpb(2(eTG0tkYc zqm{|Bj4S|UbwZE4gZB$z2C^OHXvvY75t~t(F_geIz&ar~p?tsSGhIp{=P|2HAgV=y zqy$5f^v_hluSF4~{v-SUt5gy;pomoqw*dq#(E}Rlp~kT@ld!%&Pzn?qyulDaeG>yl zhy#2l2K-NwQUJ*>7WBP=bCn!50fZ8Q#b1LTn&0x9=C>FA5PmX#Q~ta}tA;pf&D^$F zXzgKTX9D!L*s)h@)Dlc)*apxBG$*=40y(Zj<7o~#Lfb;5N~N+&rMyIm28A#c${7g~ zjZz`1M6*BqpCJV$DQ&O~67>innj;bcZ=8t4v7I%7eS4f8O~mahw(iu%$54mq{v@9l zkI$qx>Fo-uwa?1H%c!ZU(l{+$wz4{hWIe<7!wsPi!H53jmiz06d&q%PQG>bTiogw( zX=2F7{%pcLtkyZFjX-?i<>7?v(Kup{}6b-$+2WRXrkF)6>vcaJOz9we*t4 znBPLP!Sm)_Sg4!y_2|HVM_iQ~_;q6Zl|c9ZB2|9sz|^2C)+k!~NL>3{2=yEGc$z{4 z79(Fe0cXkd%t5(v0?CqX9)WUa`u#Ih{>#&fPwB;E7Oe4>r?{qc-{>RPiHE&nPsb># zF$!{78Pwvw1d93hz!Fjjvg<7z&E2lYeTfsAtz(vudh0%KJ8P_59J#*M^iHG|Tni`L z_ue~jpDL`*=5@Q5YhK!559Rh|WPP7W%Sq?Z)oX#?oA zztM3{Q1g7|MY!P(i12`UDZh!wn1h7(IinfYyy%8WCN0yD*l-?GV4C)RLuS9m?kxGU z(A!ILVbMuu_+hdZd3Lfc$oU)?d}#Pd4W%AnmQ*$o`r&+U;|a@$I(c#vzT?Lf5~g-s zbSQWL{&+b@IYs3KAUr>0pDf^kH3iYp)+xzi^)o;L`NF zmw`Ne5wD`fuYaKas2rRT*{(tWq_=Ld^j)UuyG_t{m|*BI!Bk@gFT(U$2LBgaZ}B&e zhCeuC4{(K7w}V$N^BfNN7XwDG+r<43o8F*q387|&Wy*rC&jcD3uGiok-?VoCcVZHp zpMbfigI5Bx0G9@#0jdOBgZ6;@1?Pe31SjOo6bR?R`PefsffI<0HVO;97aZi!C(x>& zyILb>qejj~o$$|C`EQ;Hx={G5UnqN!C@=+D{kQ>;78Y?i?Kj@~yE6!p7@y6vN=;t@ zUEezA=ShyAn;DsN#TOaa)T!-EC&7zi%e98YXN}l4ZZx;)hC>3~?q|WKL#N)ZFVWc- zI7}WF?OaVCUK<$E-Hiy(xRAPJ^Fk7uFf#e#>G>M|55Q?oz)3Rs3kR@RBi$kI+=eeS9wlaPQaPujUc=sGuD$ge$Uz6NMrT7e(l+U!_aISp)JgLLtDnm0|ipK(2ZK zRxtnly!45sFds;2*sdq5``N&{+4K7>lxXVh1bDZ%o zEIn^5iL0a5ZE-}cTe7J>d4P7PjQw~T=R^A#i;ECrQygOxvl*16Gwq;*(PDy`qYiGC zrSqs7^f9@<4*!Y-z6hMnqjE zqUL80&D;wdRr485L;jI1YB`8#X5YcE^naK^y215tYr*_dJDp{zxrt{4&bJ{@7c$50 zJWJF>?{@nLXo#l>EZ*SlYPELQJk0GhGBnNHmouAa?D8jV`K7HRM(1U9>K<-niV1~u92$Vu zEYFn36yfDYY7}1|eX%Mob(RKCw=_INVCi}Ipi~8ozld`fujxTnC#$jyW~r1qtIwT1 zIfn(V(4~T=_Tefvf5yzu!z^R9=utRup8v2C3mjkl|7WpUnEd-o{@qk)D zbi!~#gTk-I*VfK?l8XnzP6#spuf}bO>cP+>eTsITYU#noA-f~;^Sw4uQ$)hI+sAQ zU^W_<2uk5%#na&N{Lsqr^3BlN@~;LjEuZ(6J!$FY=&|B^cm>bor_^mRs0apw+mZmd zBgjD^ej7oZWKGU;<_8xa!Kd3LQ@TO<_Ojd?rcswi^lWCeHW`)Y$iVU2fYf|4)$xx0 zEf(}^-l$Oj?wvTgtx!s!JP9SCM1VZWqX`s(GVovdP3fPdhukNnze<@|rjO3o@0p=@ za>lS@hGEA7{|XBd9SkJe=l2(Hn*9S8ZT}IGJ0-Xnxj3@myx)`9Km;c!gVWSu1ZNb% z@;?4$a%&d1SyE-!z{wREf0K=(yhjhP-Ch2^3$;B)-1tS*RVwPG81q?3X+LHiQ-?LgR2kA z;fd92Y=eq?g-+AMNS1RrbksP`H_kdAzte-^I?b)RTz}C_$a3?UjRw~mvNgbY$h=4l z%!V8!Po}EbO4y{-HCT)=QGvtjT#d(-6)IxINx>o?Bux6cnF}9i*a}+O&);$u*V}j~ z+gk=cEVZl5Puh--n5XHsA6Jbf7rxMa;O&VntHNBxDX)}xzp?~a;@Gjuk|%;ECnyLV zJS!F$Oi=!wgo_Mh-H;jes01_% zQ;sZiGA%`#WLkKqr(ld>fy)zPD~|VT7vtnKxiMAjfMtPyOfnii=@QUJA}rU(0k0}T z#%(~nChH2|nYuwrb&eAumV$r27}Spl=s5x4E#b#Y@+})FM;2y?d?Luel9wqNzT_eMy55}b5- zTpgAwW(c?0s8G!cfh(1A62CMk_^VJ(OZ+Dku>Qkqw#rf}jrQkP zSj3^2l?rBb-5n0~npXRI;q%j{N31MpcEdRpYaS3>mzq!h8kt*z zouj%g@?`EwK=*jD>?iVIZ_k}E{aMv8z1V0cN%sC|6+TyKZ?Q^j7EU%=-Q8Gr^CNMC z(D&7BEC|}j>(KoyS5k3L*J)pF^Q_0)b*sy%C?_;+L+8G#+U%hrAykzLq&kwW*tx`> zGWUeu%bhhyI1L0@dzNfGUg0;aA@J?JkQXJALHi+~6p0%$n>7Pk4C+)khq0y|@p)*Ts-j?+E$h4aIZ8pX7J~cN?*8_P6=U;y) za?$e9drHluSkpBJ$;6SM)~7qX873vc=`uAI7|lut3VJq%d@()m@Oi9Dnl1P}OK~zt z%|YKR_e9P7OJhkxk*SvXY`eB$^dvoGqGA%V@cLPxlLMjZTs2@mi z+wUJt;wwD~Tnf@B7G(J=*ho~G^rjNlzwD~#-l~vyqDt5X&1(J|shqg}rLg%vD?jeY z!a8|fuzoI%*t?OKbF555rQSCLDaVj#88$` z{=eZ^W!Dc6vE1M=ryAfE%2KC&nc^1jpH{E_yG|GQQ{IV(F%v2F)J|LF*}g(?VZ68Q zhf{dw@Dm;sw~Odm@Nav&r!EG>rNmJfHwd@5LXBo`Y8-mYc~P79;bnZ-vu zJIh=#WgcvBhONMiMAun_c2T^1gS3xFV0;%sU3Tfrwh=LAW_Ib5%1k(Asa0hroG;1H zWuQ@@(qJ^;js8vkZ~@T)m)<2Nobk;`V46}a+H%t9HU|L~Z8>SQB}LF>NB<&~|Mt-} zrG}ZN2d_5pp@h3Q^Wt2BQ*IPgK9f`CQkwtwvZ|~Mr_93CQGmJUD)WFU6>JMtLLw0Jipc;bvb3QJoEUwi}R;OGAT;yF^|me1}}{N<2=PWEC~d**$pXQfe|wZzD|u3Bu=m zI3+YhXj174)#cDs?tVQ38ji5owfqZ>Uslf|QZ~+xRgK(-vaBc3*k6UGmfj4L;in#0 zK^c)No?JFoMWlyFrha8QJDOg(TT{-lU256SUh^L4cu3!dvX@I15pqaVZyXVaNq_4P zbrr(t3X2rw)PTkkkEJ!lTtnDO`#97h@IBa>RNr(zV15!ixSW)FYR`1micaIpi_s|U z*jN{wn-NTs8Oz0BPCO@;0@?~%BC%VREIvhM56CTsZXCj`_3a|J)ED6ey!qYmvkyv|woCof@6 z2w%>sLXg)ZfG=lHHr!?LzmZh|d^nr3rklmA6d{3p5Svr-KeGcj4gjwl0AIMCY>>L7g=wuyV;@OqTI}9SOA{NW*hQ9QSfZbf0eh3u!Z)Hg%r?o6pZr3{3zmO z=1c*2Ao7qRf(G`GZhgPj04!L5j zQfp)U(m5*A0@GO2XwyE^`qSdm>MRrY#cnrErq@Qdf6INU1G>kg~^F( zZ%D#KnU6U(gpt(tbuYWutNQA$`?sB)ht5Qn^B&K3 z<}q5H*LdCcYqGSUWZc!eb$|O?^_`wMyt=zheO=bU(=QZ1l{t|hksJt&UeVlxzrL#s zhi=-%UZY|A8iRy;^E012+|GM4PtVvL^9v(4;gW^?hO&7a|_R{wyLk&9TiTxEWo#+JrH9zE8Q{i zg|@S(e>d~s97ceWloVLX%R_OKQTnPyDzKnYN3CBV9JV+3pFQZTqe2s30Rh zo0d+=2I`MKO4rJ?YZA3QsI*~OHoh8lwv5OxnY#?;V|x!Q-KvM6$^@xMd!@JXzeq+s z!lNfKgX8IETP&plEu|E-4Y8nA9QhM-e&m$q4CJs*vrhAKeg$m3*hQI-ClA0GF-}pK z$EH~1rPD(M&DlQsjZ(*rfLk;JY#aSVct}do^4lv8($Zxv%881G3mY{ElRvJ}hst!8 zxS!TJ3LBew?LkWMv70Malib-K@;hJ7bsFn@mio*3g@n!DHg_fyrzX2|^|p`q!%j#O ziT78#&7bd{;C%{jVvnB96^nvZ$4erc`}lYOJ*kDO=Q}4l!>DPvG*92O=x3lwotwzi z$L|Y5U0+inY>QG7C}*(QdLV2d z0_8`Y+1`z|*GQ0Q&yho&yj2a&UpKI^) z2=Y}Ln|BU^&`FI)nAb?9VMPWwP5P z9A{W5-vJhSs4STAVeGCU5Kxd75>AxgJt z%`xxzK^^&_+xbA-mWMr8@3m~dZYkpDOX}PMO=%Vzk=>=ezHH)x&r#ZMy^`+haf@WU zToJ8Ib(Sz!uk?eSqcodMXKA=gJx;m~`9OFuX@iH*Mnk;?R`+t;CUlb7$ypw?!K}8T z1_fhHABUaGq9`(3|GFTZj0PVA9bOdc>u0FeC#A)%lsR6{kpd7~o0gkO5ai^^xTxIz zpOO#K>9w}@^P40uMU$(|1roy^+)h!XC9m`f3nG;4hTqMI7J00geRYgjB{MdV9%=ml z>q6Y=W)^4~aauBGkw4&1iUAyBe(%+lz;B~u?1_QebP0%>-46_+W)pz+wI={X%?a4ER`B)y*SSw^| z(>t+nFzt=!I_EOza$O%UgXm)1`q_NGd>ik*qY3Zb;W@j1B)l6RD9hvRSBaUovN7X> z{ky$=ieWBscI#H2TR~MPLk2}Pw%^CaBAVu435_t7flvLnSt^H561=L425*X534hI; zHmFE*?S3Hyp0`n8H|vm?RW5vtxeH$A?P1`Hg4bP;VYH4$)zZW*59l`_5Do*AD&7q84*felH;}m2rOsm>iVyZxrBi;XnxnfI^Ia zBf0e${1nEEX~823VV$1>ObFo6lnJ$fJPgq_M>o3*SqKhUqaCUq_o$I6A%s5u^?9?v z)mZN1o|h%QQpO%_*~qySa9)y=f3xX!3Aft~+h{b4jfZt#L8qnZZ&^1yEl&GBBj2T3 zX|}EwbEBIgm(gbw(m!RIoCnr_0_yfq~-DNFr z9Y>EK7ujZIB(u5S+)f@KjA&iML7ONycQ)k4A0cR0XXbck?fJNj;UA(#->XLkQu$_^ z=kZ4b(_Y|mxkx>o{wj^AZ6JrhhR}Z39u{9#!;33?@)nU%Jq~1@1ze$a;(CXndWWHV z6Br-AMofC&tC`JjF647OsrEraF7y#x z%nuLKeM^LXyj7t5akS!0kgYR(fUW?pHl~n*TJWN@Elik|eo-o|=fWo|CGtB3Z*zg~ zh_Y~jO^=H;Rz2`5@D|2#cy`98CfD81R|psDe-(Yp6p{OKuv zK{lmEU!co(_DnqdB^OTN|UVqE)!--{z51gr-A0I_UcZO1vu3$*3S^p8Y|ArR&bM{Xtsk z0tqf_+n82{NBSp}U5g(wx0sTlNF1GBYPYSIC`l}1pt=6|%w_n@2;ad2rp26+7saNP zrVZL25dZV_89@ZB{XTkHy(^%x-Y96(Ez;>$SO)Dv&Qgmw(rm{4B2o4dH_49u5|Q)$ zjL;PH*KaqhS)ENU9<8DNd7dOZ5aqaf^B@%-e#-DQ$3QAPJ!KGTcYuF}%6~Zsm2)5O zBoUt5uA=*{;SyDAj>Poep~zvIVISfjl0$Al#CUzJaAv-V^vq+&$Yh^CoPLY3r|0}1 z4as@n;M=dmUo)r?H_Su9eeGp|7l{txQ(oj_Y)hzihvvFf;Cxw_w z`?~Fww8XasY}HdnXr6Gp3l2VoCnv(DYg%G^jS;-W$8haWrgHMmr)Q=j*s>KRMW*l> zJcfq_1tF`%IH9p7swsM-E}a{wig?A%rD*VaDIEP?DTdiTNxrUbko|_rdT-h-iKmD| zNC{KDdL&dk=Ek6EsB&PMhnmfBH3K0lz*bx*j@9OO#`>|sFpI*;V{!e1Eo6h4^kE}G zqK?>U)9m1C;UsGuv(>F+wP+#JUH6JAF;v?Zq3}Gi%haeWrtXS;)G_pTqD3egRvs98 z<1_*dvk)}wjDTRnf0yNd`xqlLkF>~osh*}08>n`b#;5NQ>nFwcM}y_bSj_H@GA7~3 zY{YwEHL|XAtFU}=geR~d=}zlvMU_8Uo7=lW-+&aYymq)GLw|mUxFmZ{^T9JX^OXJw zl3R(WQTIpAWi7l`XgB$SXIcMZ{t@tUr#9C;d)b)0G%uP;5ThU&x-QZ8TFv@OE7Fl) zo@;|NZuEiNOnQ_bpNlU0`Xn3kel$fUK$rDPjm|rgw>wwA;6AysQs=WT{bZ;&pumlyh(h;H_x?#{DUl~8Gt#&?w^<=!U$=$#BHKA}urLvz2~goSvAj&h=L zkwa<`M@I3!n%^11)x!_b8tS%Y(lRzIzpB4B>Kn_r%hRhR{K&3l{H4%skl@u$<85t` zYFs%_S>310tGR!&%A@}~6fp{!%T@h`(XFZ%>Q(Kr`ILs;p1PwshvgR`n~SFjl8*_I zuZgRWHj9RL?}W=m?GaI%>q;ou{oZDfij_VKWRwYn_<-SDh^X0o8`6|0UOl(z9{ByE zxOio7FlxR4%^9Y<%F{wv6p;u_IzHV)A`f(t)8`wdiyET}i$yD(7nqHCSv$vq*JTdz zMF1iV@mnUQRatNLHTrn{-{K*)tI;#H`GS!+^9o*9tG6OkFK`Y$o@!( zp*x6|(izz?8*==CL%phO2#99M)>vnl$jo2xkutoQEU5T}E>-A^&ys#a#+JMgY0uFq zA?0bXKWhHIuwU0EPb(Tt+r&fRi0VGSKX&hNeQi+DH2ZCmX6}+<=wepPPtxtReA_=*r!Kk9(|F$h z%25xTjwkM(I{yYn)>Y&!Oi9|td(tYBbP|pHvJ&3EYxPApw`isWXQo6uO5`k5B(i&pBXwc1wjY&Zy4g#T#u z8lWRx{AXzCm%&6nlgXoh@&;SLgsLM0TEfCLGLujUuIjOi+h?eJgccH#^G8>+PWj!$ z90OPni9zB=eQe!rE=!VJro|m`^hT4*`mj_*pw3spYONLZirLk4KYTquFDF-0gk5Dv zZSWdAcDIXdDlxroh#WKel2{MegV(1MG*xxd=Cj&PlBLfGo3)n{wF4;+;GIF z{7#tE(sv+D#gRc}zaf#-rSq@1f^~V-kzDkm9qA}Y3X$RQZ%|UZE=8u$DssF{-IYw8OZVNk3#j4n5B^BGYZL?zAso1t{ z+o;&KZSza@x#xb}r%&H8-m&&GpSgbSwehYw=UUOVQ(LKcS)np=Cua?QC+^Ub>Tg_` zrg}u|cpHK_ySZ$CI%6I+@5HA|q)}v>G_EkO1f3sRDiRLMQO8NepKCys-+#wEeb{hj)7q z@l0^?U}jGxdl}judHVJ=@xTR?mi`4B`CWOVoj^7YvOt;a*Ld1xwf^*bc4H>n%U{Jv8yRq6ceyWs*lwKz_by7DZO_c zI?pmR-j9E2z`QY;=->J7+vEhPjPAt*Y#A7)nQ(zap_~%TVEgm9^NY_<@M%b%$={B^ zo)DoW`pcS#za^2FeVpxQ{TX3u`Qx-aL`}ZlexCYes*qzNif1CqYQA8*IMn&HZ)@Eq z^|z*f!q$;ZShby>jg+qjpqQE8%fG<04a#fD0%;zXBtf$imp%if=h(STk`^diXFCV9 z6mLvqiw%4oaoQ;kPlyc^ZB$U6z|`=tOTEevE}+h&7*R7Eo!uMUr{St*+cN0+395)p zKO$Zjj-$Ku9ADi3L^!MoDlYA%NnhM$%!I5oRhh3kfUFoV3HN5dc%FI+Q|{71i=5Bc zycAM+RFJTQc_xssHd08ny2jx8fMvX6kl9*|*Ewu1HRY0`G?vC~Q8h+ua(QY9J~$jC zYR2cw#pR*L`qCn0JciEDr+u{N@WUR80rc5Ea3RG~RtuF4B2|ObUZpF&LCC^R7MmF+ z%TyJGRK${f%4Of*vK!(xNXeYKvk0@~jbtDa))Y$>u^2&5~IJN;+%yHW2zc& zK5Y3U^?Y_bTb*2x(($AiwpuYirGv?*p8Z1>HvIN|x8XtO=+_|PUt9F0uHv2LhQ$mc zSMmY+$;ARf0ox-KEjFD~T!c=#UPVTwMH+`mUY+?lT%QIX=Qwj-lsPChbV3r1*aZM_Wt?4 z5Y>q(;XOL>cRty}P&BXc!y5NmZb3>jGSN^5?)f&*P7K^{wd%OC8sa0K zW(ocoB=o3(TzK~~x{qfBwlQssh|gk&TM3u!T+BjD6!93?nl@)jAFOn^8PBG<`^n=^{{#(fhTiUb5MPcUo8`W&J6V2KJaOYLWJxJNn1ECv%5LPt@dcr{~ zn#wQCz(AEOd?i7CDn`uPHbjg{0GMhXeyU0MQ1Eb23_YLUS(NZWAed?n*lK7KRxig} zP;5?k2llG(PnwK{%F!^2yyjW!?4CB$obv}vaH?FiJR&8HEcCZ1tV_+x>%vCyQsnn> zZgK^Yk{i~Uc89M6Y0>=P#{Qlg0|)j7?XSvV<~8|lAeC}+Y%|Gm+R16!qT62zC8B%z z+BFK)zAoo+-E6dhcBnt;Oe=m(nNO-dMDY8lHxXMI3XG@6h+$4f9eao*t6ux=HeSiE zzgO+GTEj2Ta#}FuvJ@UFoI*M=gr#s`ir)EHyJFc2-x)nd8l%~=buF*FRJzLqx_1iB z#Le?SG1XjkmTi>g))DOKoJ%6u_ml+)V>qSEoL%1GJ~a*9V|%5qaJ+$*3%Fs76Ec z-7t8_R7bd~`c^$b=KQ+)&eS)WyOjDzTqj#@oBb0K5-Ep`xhbot`=iRC{#aI0+)8J= z?Ox*oram>pk(9QHUI(K9%7~XY$vA8#GkylW53oJY_&VTsH?-K!CW`cNF=amvKuzA0ty0u@UR?}JQD{Nh5(mr$uFRD4q#}8lN2qE{8a@Um+7-CK$ z=Rc0678^UM+KxKJPx`gk+_j48_|}tU-!eN2Kg9P?Xpm886ziRfEmFm)Q`^J>`o;gg z@=1VDXyRYEQ^^8#PtHHUiqHa&Kj@l1M!GcV0hXY7n1G|k01W;c%HXF04jE~5e^iSB z)D>A#Bu~{in(QpwJhIxaHAR2+r(w;xr(2kJm{0df5(=#|+DsQjiyufPu^6BGi`pf9 z;|Y5W$DyqWL>J>T7IVoT3{mm@Xg@t5=^MbMBBDpYIq9|1CV=_{^DX;?FITPS!nypo zJ0{Of+|6H!iRZ#=@<7eG(yq_7{7sNrw&06!8B8T0MjtzuxMU=ksLm0Df1%bCHpBeS zWWbgU2}bphq})){j&7bcZ1Y*N^{b63msaTNi*C`0I>adIP^v5|d~NM)6RUP-bGNn1 za~Y#RGm-QA$qCUpZ23Z|sRoJWTVS8pak$8eXjDfo3HNNL1uU2w@eBCZ;aDzo9?zvk zH67H>N8l$Dm(W)LZQbFESax8C_8M1G~2(TDk{ZO2PatT`H{7ERwf+WjI<6`&7-^7+jdK*`(= zzY_IZn|dp=Q-=>V%Qnf%>L`4zEAJ{Ia|Qzy67=~aMnnD+3NlhahK2Nioz@-ORQWmL zNkZ0CJodA{v$wnv4WStN$2~*ax{~>82!J{s8DvIJRLFc&jLVEJVQ&1p3FyI zV*sZe_nl-jB-KlE{#EXtqfqm_Rkwa-b=wLZKE1ZwXZ>adQ|ULNSL6)B%>PoBg4`^c zqx{SZq^?^K48RL>R1!!Tx$@da^_M7_b}xs|#mz7zOD2M0skJu7i&S1GwCKXL^!q+0s!*iqKfH8>Bttb=qdGqPO?N;V&1I&cq=PMqw zz`e9WR#>>Ny$yb(*3ixyJ+0Q1oySw2PK}biYl} zAmFi$w<}f_4){M|u}mcJ><-%O+*0N4`JmjQ&ay>`X>E2c)9o7AjFF#dZFk+$r~Cec zDTxVFA{C}!jARO{%WnHtR9zq#E%m!y#Em;Sw`$r=DrOd(mA>)TRB@`o6}7jM4FTK8 zQM=SQDd$LU=`I4$T+{WS^7F{d3>{-jgUXD*>&GL7mukyQnRzI^B;JEP@HSiIN{Vjd ziQK4`@qUwQBqhCm6nX!)gX$nmb5%Y#7c#yV7r3;OUY#&O*1~0$IBQEJ83>;tiH+aT z7*Ws4kcGE|Gc-x?kII5C%6VspB}{k$2;Fa-5bUM|(*ek`?~z@X&b-k>A2Y#7*$qgf z3{H;xp3lKZq|_YKJ5#+A?||W=rk0#XC|fOuvCRY-?F$J>7Owc}<;m$32|YC+a6}zt zCrH(W7hVFVOYxJYdi|HC6(D0w+wyM8!4ibKRrQvt9&a^luaV4t7#Lv4u;>IE8!&|h z&-r&-9}6(#yIu~uhRn3pDf=y%)yvu>N8>cwFXHKDiZ_9C0wYA-0-DbBRI<{RyHoj} zKZIDyCj$;nO6X2U@ho%D(Z#YR^4z7%S=^82W3xkF$pwydubbVQV}IH~^1~_xxqW%k z%rvIFW7BI)(JG2)x_m&3xdvDs3DVMnZf`rD90|=%MCGTU3H&2Qb9JG;z1BP2>;K(%vg|M&Krj=6M(nhygNWA8v&kCcs76z)d4)9vaJ3sy_bLc&6oWkupYsi_x&w8 zHK@$YA>lL!3k{v<;~wLdeY^VMAhkXI^6PA+Cz(?BB1NuQ3S6^zxW8(}Kk|Aa3m!aL zv?AxNtIl*=7$mqCOgc0h4_kygFI0S%+D$KedktE-&q3QtUYUJd>%zL%pc7?3BG6Gk zhsw3MB~wL+o#Qm$Qn-FqJtu)h2z5nF(poGOXj!9|-6bOl(TpwImlBw>TnefxxjCy? zUNe)KQ|x`Y*dT2rUo4j<#a(>mIp{n0cz&I)z;U<=9&jd~4xc)>&z)t%Bhc9nCSC)}D^Yq=m@!s7^5*+9KB^*)fMhf!#k{rU3`g=*+OPUSLeUC2XNNsJA#^hh{0kpy=F42UmZq`_j_Wk=Wo)|4eNME1jjn)~1+9|(Ye8J{% zUP67fkWC^%Sn0#J`gKh8w83GJvvwus>2P;%g+n$Kw0(AE8nJrwhJEWlqHAt>YCdXr zv>{k;u{P8Z$X@t)!;7no>QyhI=5o8&-O_sw-Kc?7^4e+RV$Qq{iIw@gwO~N(qwZ%r zku83YZ81UuRHqXlFtvcne_yu?0bfS?NgI!Np&V_#0)5MYAE}>&MPF7#U&iNWH!ul; zK8wo6rmN!*bR7Ea|B#7?+2scU*A?mU9XXz)N&pHd7mpq6xRDX=rwWCi6~sjlvyf_E z)PR?Pmf_f-*&x_P?u%(}pS-y~Ptj44d@HUi4@%Fpo-1iRBlF z6rE43#3s?-P%+H_h%|XiObM8g4Oj{YFarzmOJNvongKBB5`|QaPpriz5hlwou)m{v zPAvWbkD1mFGjKs+-#7}h!D}aX6;5wLO4^Sl+#-tuq+El?Ims`X-_A%i;Kl9QG>ol9 z(Kyf<4E%33nFjkRZ=Ao&Lq@$kuO?4%62#?7!ThWN zlx4#Ev!wX#!|^E$@x)hW$cSaB_{i64_GaK4e+Ha)Hm|<%#5cl8jiD0FFfx-#epc$#a6H*cZbkLrTeT~(_&*iMZ60LZuXIU8DDbTx+Hp*o z^Wt9{_z&5mYh8H&gc428_A!tr6g#CHgB^A}GQhtn17ZNC0I7krz|*;yd5 zJtUIrx$0y=vdYYhSj-@KpuJZVHDyc&&wj-LR?e$Fg-#|O*JGJ5M?Z8hRqHt4CsfV5 zT@S?nYWd(GvFv`Z-pzRXwss-0n5D|}I7tx5=|bcZ=Q|a>mQ4S+Rs3@BYKZE$(X`oP+Ex*!f1^3wD~qN!6UXsr!*9>xl;6C*mW7PpHGe{pUUr4hRV8jT zAQSo*F@MM}cuzY2Oz16A{>Q&z86-D)kMus0r@bbVAl1nYk5JiLD109xEHBj-JW)0w zmdt&{ZpKf5nmTnxCmbpvnxpp*RB30Pxm40dJnxdD0VGD1kYVI_(i@eUgH(?SlY(ie z;stn$d~2?JZ)x&PdC12&pnt+5cQL?BIhITl0Et4!GlZv0lmwNL-k4i!l^7gY@fdaj z;E?q)wPG;%HGCr9fJ40LFP>LuUDO_h6ITJ>mlkjklUNQU9%~@d=zZ)+tj9sdle<`d z*UBD9Y^MEN=Gp%C&Ppj;kWw6e-)tT1(%Mz>(DT@a&#AVht{}|@Y_W(9foEz#Of54N zrQMp_&y5!-%H$MS!lR^7Nqz!>Z#hsg*^nJyjF=ytZdtX4T;7=W;p9IOjvM8e(rTYP zEJ={-?PT@TyaoWN`vVCVD2B+%qCC=u9uHDA#e;f|0&yGp;MR6Us%{QaUFv^kpk9+c zHNjK~$ALhzUZ_tdi;<4J^LAOI2`K|MDYGzp4*6}dtBCxeysZY-v_RfjBDc%{9tuQ^ zRcN6!tbOLo@lIR;l`DSf!?R-3xL=~_R@dCz6|7FRM~C*ph)=xWjnC_?#kMoPN{~X{ zczQp->s86^Hh#Oa2o273XwctLE5{V)U{UFP=JX;IjoxI7Tz;^N3N6#2Mcma<~XEKkE_)sS$n!&c+Vb99bT>%P%hB&2nEky*k~B9Dn7yF2pZJHChZUnhuSc{XbS| zV4jwLo>l>7-5fzQN8J1e650@k%J8yhdQa9(fRyFg126PPU-ySTR+2Bq8{_7toqrh8 zixb8mjValZ7m_(3qv>o8Qqy=aQcdli)EitjSQu~(O} zq>e#GAz{Zl%4*s77(7?T2w2MZP-x3ECX?F3RElM*<$%j(y~7#1#9*p^BLL-}@zCJYBCRhhj#f`YmoWfS zj&+IASN#K)>E)xVnC@4*#(w=O7;`hX*F}<*15sq6=dg3s`5)!MQ9Oc3GE;prQ$$i! z5=?9fNFRjkbFklkzKeS6jKjyec?r}Y+ zIM)}vG$?@|?v z?}{UXVjX~Xxd2*g0i>Y<{1Z})LwVl-Mci;i>l8C4*knzLAXr%b0{KRf5H}_j`)OAxJzX>-tb_b3`@2b z*cB*rG@LfQrF~=V>l{UK@@xLYaen(WQqEpwiAxOiYkqk3+`v7|cLflikgSjpJQ)NK z3SS;U_@XaB$h=tuUw-?4$wQe>Nv9yAzT71{1)#tHfDFSU2rTmtn3aHJg=K$9+KkHClNRL|%UC93O2UnMvAzTY|e}9^NZO zv&dQ|uF^sio-^$qEv~QX0PPK?!2sY52Jks!9Rq*|7{CPJb2xeyAi)1hh2P$fg-z&3 zqksb2O)!=tw=z1n!a!w77%s(5(D36`nrG4fU^d;qakB7%-|+QyNKIC?<(WegXusR2 z*9FWo@%Z|~hzC$)$y5(6fnFR*VS;7&N>C7v`;;u%giuz2BoS%FcZ+)!%Vt-$mIdZ0 zdIK8$^?fF`af0%~hp4=7Lg0B}lBP9%>!BRoZq6@y(Ny%IVxz7ZHIC2H)nNKALxgAQ zZ5tn){ou#wFY$;wp7f~E#!%$z4&)pw`wdC_XQiLNG2l@BZ&>0% zDX;Aat(H(<5D9$NLq6YONj{G}5>Zic;xL-- zwcS#Eo76gudw!Iz@n*dm=25vZzjN5C`huc7o{F&e9-o(BEmt3y89K1fisig-Nt&x! zT-Oqq2wxKj$1U4bhb*G*^M4!^mm%}Um_gOR;Dhz%$|q)~hI~FZQ@`IHljcn=<%VjX z+$7a~Y`BOjpFDG!j<-JfjLlSzi*o_bFf)VFETx4)iM@{;#+T(-l*u*{w+L1vI?&Sm z`W|KXbOfA~KV9Fm!0dLX$CmqaOto)^?os=AZP>ko3QhM!mS)B6v&HO+)AlaDw}OiV z+bfJINpdmd~@b^8$q>^!M(OO!m*KY zb<5pr49$3Sy7_~137t4*R>P%JWdT9iUO{7+4Ovy0Yl~y;rwRpe0MsJv>|+A^)%DG5 zeav~h1^k{4CiF4Z8c%{>zRR0X^#@a-9}ZEe{?qm?c$FyUkJzBH4h=py4_mR+6`k(nQD{U?P0sB)5l&l zzt@rmxBc2`U{^shGwWTeLw>4JMG?m5&RcpV$KAr1v=n!X?cNl*d}NuLhXDmAQcAj{ z$N@U$(6$J)qO8Ay;AWG*7Flr9q@tRtMo}T^@eBLePxZ@P5woLf-J@$o@kBWEz2516 zT)CA`RrXI7LgjIKewAt{y3YM0(yskn*Lu~%L(JMU=U;2vt?Yd#C>^_DZb7uGO&Whn z($BzZ%@ml(-}VmePQ0Xyr=p$Z)o>YKuqkUiq0w(q9?-eD=DXXxao_ZR;GW?h-uTnk zB%k9p4U-#F-Op;h71ereZ{oUa@NAH-p#%8umu~X-%PzlTxsq0O>EX6$>qvJ>x4q*w zY3pR&e;GP>B0u!`3DWMfj5=9g^~;ICUi#z&3WJv56xR{i`Daq6_T`ryzk#pu(K}Qt;{|PCKO1zUP23RN}gd&oKbP8nqB?!OI zd>LifhQRRoEfA7SL5%(v`|KEj=)>KGyF_ROwL^yZN0lNB`d1E}%l})`^ihPry>N|G z1T>AzzIc8Z1Ys{!9CW5bmvMT?1Y1=l>|khf8&503eP8r%x_8goJ*=Gc`=S4oFqoICK>j2oX6n^GM@l__f@;eT@ z@^j$ALmy<`o7q5E1*hkgjh6-bN+q4(O$uHAW(*wPfF*grBBL7&#2&;rt|19fb?C-DUK`*kH=}u zPhEEiafiL=*)A6uE*PGruax<;iSiWd$jF5-(~lIh{0=?rDvw*Wq5_=ZGgOXMlQ2}$ zgY0V&P3m^;UjsuUU^OQPHX7Hg^Sae2D#toqKtT1GuH-F@oIDe}>}m$KZU)wtA3sZF zhEqa7e~e&eCQ16RHmzzEBp;3BHnlkncgiGHB&|Lr(?pH|R@1}uw_OH#WXMv+#JFL{ zR|KbsM~_3%%E$FhV|l1;L6Zf8is|{psALhL{3j~L^#KuALlcv%k|yU8saqUnRfoKB zM0U%oi~*YkoyJ7lXcMkqnW!NIF%lQYE97K4lNA!o!u*JEJjI8zX5Xo>f86?z)0$?L zs)v_`(>l+e$uJroc_!8e9=_TsIKEaOHjj&6pDG<3F{kdhs&X<(iuaAw^L&ft z`j!)`Wi6!fbG2?^=Wr~ewy^Ed0qDRS=rIMLgT%WMV)Gx+cX$EhlF{di5&1!K%iSSV z6Y6%d?(`;Y!j&m!1cfyoMF}P4dcG&3c}F=+)4_~EnI(?iXX2d88Z@c~VuP|*fzWwG zAMLU4^G*hvzgnEbiGzfZ#RRk;7i4E}Ke40FPrI3~2s?`^hWG;?0xb^Su(I7B0+-wf zuhJkNNdJkldtL;OnM04#endS77kUC_p#g@+IueAI654ao3cJlLv^le~B_iMFf6`GG z@F<@pQGOA4C;3KtBc@=Zk%MeR{broW61DZ!eN@2@|v$P40f%^-S%hARc*p& z${9|sYNyRA>zUEoolLq#gxnqI{Lh)S=zgEY`OWw{7fnaL8C)(fPj|IN3L9tI)JI30 zR(ISV5j%9=lVQ}y9B77ToeSRDGj^dgz4@+qS@G%8ME9E{A)HOob6Ul(F>KD9T*I5U z0B>>xn2b|M_Q+S`^NMHj`>bGNdNXQOZax|=Cq?WjPOadroPL_Esmw#gYZT!|j2pC& zoxLBArBD|SWx%D!-6ziP-U=IUX-!&Fs+Bra%QuCgRl$U$k-c1SRTJ{MnL(YufM2fx zUO2jb3*gh6KjCEbr;Y5+0CU>Iy5IBmU`-{h{QLhqHj%CltSXv=rCMH_G6f2lF2Vw? zn9JluvutD+BzEU{1K0^onC%Ha8E-r_h?+C-@~nU?#;k8yZ&|%rv01fL7m4IN@R0BZ zkUZ+8?6{Hz3o$(#lal+fFNvkDbcj%P&*>K5#Mh(vpX%@7!C0j9j_kmlDk;|2YA$m3 zu^sc#GXgUsp>Q$R;!VHHhzkL`zr&qXAadFHkAuf4$0=L46Io&)=7kuvI;)abCdoRk z!N(dVPfA`3=R3;&$XJsz!8uB~ONBz^ix^%q+3h1ejofj%zD(kGF5_8cbQdk~ zAL6gLN(^khyT^o_(JTVE3+BBF5QPct2+U&%Fa!h842Z`J@IMm3_ERGN_G5r?{ebj% z;F3bcz^L^aHLth(;7ro;=5(6XEH(O1*|>KVAgJv)*EI+8F!4RChEhx!cY^WJ?;&&; zMbE$*LQ>R(r0TJkJ`_BJJn}rDJdHjLzOddA-daHI!AC6;Q`rfS8&^c3|H+OW?v+s;UejbP`@6%%ln9a00hinuT zOVT>W!VZHf`U?3L_@ekN^Q`cI^9u7ma_#m?2TtD1kx}5PK~e_g)5@GM{cXIc1z^Z8 zQt<0vTh}%b+A{aGsf;S*DH#Vuin!uRvp@tDDP_q|uKqEdlv z?RY-r7+^E&A5v!Tx98lQFElGAhq~jOJ=uIcKh7_px-HhyeZv@Vmy_l8kW;qF@zU84 zXbf<|=A|Rc@t)_w4jWxCl2lf%`(ZpTahw?e!)~X$&iG961N=r&@at>W~S9?VT^|=H;Sa=hx)6Eilax#d?}xGxbjRTP16wdYm1fi zfZ2s;jIGa6G6Wg-)Py|VV~Q9w=546ys6B1CDC*NKM<^k7@0Ps-OWHUVR{Fw!PUV_{ zn6tAm3#9QQb-0{4j_rvzJ)|gsRUUQM3$UTd5Xf-bl!xQM+c=PDrMX`9n`j+p|I+(H zdzM{c2bXcicI};k3$1Ri@>14K9F9eW&Je?^TGHlovin~B+ z({Bw2(_VGo^w*T%Thcvv1^h|TolPNI#BvbmdtR}PlhVz@vDNgI>jxrMma-WgO@2o~ z^NWAQ+a=iYEz@73z$&FEEab444k~Q@*o4RQ(`)?wTlLD%G9*m-V_xFo=Sj|pP9!5R zBL6Cd{?8WhgvK%ZF;GprYI20+^t~aa;$dGDmO9IuVg}X0qVTFD`ztBWi__{KE3Rd$ z0a~ZkwuKxu#{D6jsHkYgIXQ^y-;@{^<4$B#8LPlFan zKUc3^-DZT^y{x8{4tt@+eoXtsaC7%340vP6uE}XCh@Hw@!JkG1Nl(~!AOi-48;@%& zE`ow1Ltz6!UEI0BRkwh=M0O@76etG}$ ze11cHxnnKQ{`Cjf%4qti0SJ4C75B%(g6pkO%55Su!M;bQfcEQ^`odojYxH?0ce)UlX7$C zKT`(0i)DAp9aet*Cyf6i0c@_1)TxeiKJVYkxMeBX^bZ)@_B+vcF7%=mz8!1-mE?$w zRa96vCZdN3TkyzY@uQF*g?FBZiT|DtmhbWaQ619tE_=TcKy`xXE!K-Bpv+WcdAzibAoJ!~m6qsP)<0hJ-ILEK~zV8aQT+CsVbX$xcsR5AKJ_m)_Ko=8sm62SLWX^Mk4s6M<>klPv5p)kMls68 zmJ=p3+)gH18!<23aZj6#5#6eB+|HLk+Ib(=-Chra_n7AC9yko9emRG*?mdrn2M@hj z>w|Zkr$JezF(3Husy$ZjtH7&w9F~rm>kT?-VL`bQ+8Mnhma%g*&_(O!CRi{;n4w{N zEKaqN9l~Ze6v>wGsR)$&NHHDJ8jgzp%q~Yd+cg(tcTpwdQ8&KTEz2Pn!|nE(sC4Ea zP?DrEpmf2oh6$`z^)&RQPGJ5~4S1q?#SES${;+K6g45-yR>zGas|He^zIo(ZUaokZ5 zl6E+YmS8viQ?10Ovmu(W5@EP@H7C+fAir}W+;kb zo-BK`5nCRKW*C|oC-2VQ#zO`QwhqxU2Vd-`bM%O1`EHbR{-T!$PY*%=hAxdg(bZ9( z!HAYskk{n12VLwZGFg}BP0Z#Gzxb`vqRIJSIhi#G@YE(m1$@E$-(1bgYk2g#lal91>9IZCRR!;)%0^N!vVSgH`><} zQKl&B=RIK+erOtFgP-`kAkzIMJD>XknMJ@{C*Bimo3)?21pfu4wtpvfbonz)q|ir+ zb_5;#eET!Gbb7!)pF{_N`+Wx5gmk*dwW*^gw|{Q&3nh6a&@q9)57pf>x0S zgd}g9H6`H>=vQqwD+%#DTuU620S*YZs8?^sK=VDFKf;_Q`X_EB-4EhRy?v-q}WK z7?}8a_)p2nwIU3LyhT*ix~Y4Qs#TrcgHs&Rd>)>Gk>7km-gyMQvU0d(rf`c6;S_HF zrHTJYHm?;`I(UGJN88zdfU1Gp?N8-adJv~>avNosctRxD@sRQPzxN*N5HuE7D1cS@ zhdH%u_bRXX*d$Lo&* z8xk2}7~&gph+4sS!vn{g;O(H9;9BqQAKX68^=Z!P5{(eav4lT;Y;$4a=ZBq)0%q9V z#J2Me#LB`4HyHxNu>C6r|4szGB|`!)(5xNIrj=EYbI`E!qSdN;0B#B-kJo`utQb6g zWGHD?ZGL{4EpKE*ZcW-@5jT^Z^`pK>QbR4nkDx4$yBgXbR%i{-81LiWwhI61a=uibQ$ZCqmNpE{v+bi`YVQ^T7q4tG=DQi z@Hav6K_=aSK1gMe#2SfD%Y&0499BId1#Xfw1q@O1&OvGOf|8j9`dSYl_>D*QuSg*K zJMl%^e;;oKiERK|uf_Vtma4wx!58(UVBWHwhf@D&hwQF|f#A`h^l_!T z=!zLZKUfYAVVHEdan`Y4*B~G-YZsc=G(u;R!$UKIt`88Ezq%rt;Tk0+|J>9c4Kj7lSq-fkLwdH(N!=e2{si9H7&HFU{Cf*BkL)E|L z$6Bd>8Ry_&zvFi`7-mpcAny!3pA3L3Qh-AUfZx&I(76HxfYV3Ncjn3|y&J=_ltpLr zV9Gtr0G}MYmLobm3ia|ulk`Y(dXco7mVxdnA0+8fgcDcF_B-NH2G&YNA6_SpP&1{! zj&!~Y`2Nb+kFvzAsUqVb-FAT9MSg!9B+dPwi_}-Zgpxd>Ncfs5UQuN4sZz9wM>}_! z$$@(6l4%tA>5%tYb+!B$o@ej{z2qH^)$eXqk3jaP0$c%1Tcr;TKURcfgS=kOj=A3) zXRMY*1K+_Z&NN-VIu-PwKB}rw?BrSa$#Nhu-VjiY(VQj`e|3qbr?I$Yb_P{}hSL6? z(+(QSW5qw$GMW(e3djTrct1GiYwn$~vO5E`%Ok}PU`-B&RZwx}{Bnl34D@9;8R{So zZ*=w-nC~Dsxzo3G%`+?P(px35pZzR7IeJ6)$V<&tlW|`LBrCr}^vOGgu@hb;sa!R= zaU?`LQxRUN2yIt~_35Jr57Hq<8WQ1*i2P5&_762NKM1lqM%fBC;GY}2alwIJfrfqA zz88x@aZFENt2m;jzP!7CEgFuT)(@$D#C=*9rYE4-K5ANlCmT=SKev+VF%>m4F(X## z4T~nMW`M2okqO&T1531JYJij7Z(|3SF>%#yB3b+Lf#6_$#!i&-)L6*`R9a>2 zEm7GDqZV0j-aavwZPC5kVc^G*rOl;v3$Ta-Krt-d9AF-sw*q+7F@PL4PsyJo(eK#r zhi2YEUn(DWr9oPrkBQ1Wk1OE7M3UmAbMI)!PRbfJgm*qJd%3LcpvEU!#3m zVM=BW2zwr}*}F@UrQZ=Fry=^6vs8XEEazcYCU&4P9Z`358Gf+YC_qL79+n0ye@u{9sIR8cR414}k6>Fkz2Tbj(DW&ZCtw%E@V+i{AP zL^i69DD-1`w#x!n{Z^wOV|Hf#Dz8Z6^n0GGi8jZ_>k(ox(YLeHt0)P$WBs%4yrh1; zpGt<;pEs}FZ^PFKwP*VIcT^wR-t`J4T6#`N!$Li4gqG}H1avHd1%Od?4mLf)R@i{r z?uVP|NH&L3EPABQZt@b5qgkjHOBwJ5Ql&|&2M{SsCu+r}( zG(pV|SG>tR zl-Mn?8kNvd^5NcBaoF4Ctp&zAU=zo^5b=WSA@xP9jIz)INxT-gE*-4M$-GM6zrw+o zV6RpGDCJ;a=X~8fR65&LHQb?Y5x&KpiRj%Qm|4y!QccjcEWo14Sk zHt2ZK*jhoYD4+ene;*$)b{-Q>{YW~hoGeAhNOD?l-}n~xB|z$%FrKVRK?Mn#OAwaD z`IU%Z+v(!@aX}1ITgQim3=*2JC8SI|`0L;h!_7#OO^NNB3wI%j*}I|ES1UIJ=Z?wz zNurqi?Y=-+YCV$bpTy6PH>oY09)os1!h=N^nXjv?hPWBKc1nISOCZY_7Ks9`fui!51sSTThvOT&LNp zle!b8X(w?+np}n7F4L}usViKa2OhiVnVQNLzec)t?ksek<8eE`3Ei1~*fHa@|MH4v zBT3?a08C{M9@dvVkW!JM3Cj>;nLd3g_pJ|#HA;3lB^S+0B0`TcK&2YDM;Qox#O{nC z-{2U~Gu936!pfidiZT)xlDvE;SorK>T*%F;gL=Mzl9pWhjm6FDyAkOl7 zA7-C@D-UpW#;2StLe12BoO61&ZM*v;EC=Y5??jR2V=%A@lo$lzuUVI@qjb*wVv`lL zNCgkP6`SZ`yLVJEyF?#r#sT=069;#iBdY0ZSWg{(|O6_WA9>GJeYm!_QY}>0ghn9R5mu ze8&DM;UK&RF;-s^FPr1-W8Az{0V`5D*j5O33RkRC8U%e~Jae&DqhwMMWVSkh8-;Hc zrI=mwwNxN@7aP_@c6w_)4I5~zz9SD_##2>%k&et`qUg8oi2CZ-krj|e!_xP}7gN>h zqp=Ba+YlnLDFE1_gJDg?PHgKlA+R{&4{ASgV}XCW))`S7aB5-IcB ze$oRjfeU05k%dVRn54Vbh)IdF>bB1O+&5X7S6nQ-*9mTkuv!h!q%?vYD^;7&%dE?s zfI%H~&t`pxd$?_FOoaz>Qz}y65HhrWWyq$|BN?GH06S*Ye~Cc*LR~ zp=)iWINA3&JMH=B?IBL%h&1UPD9Od3GaoJT2jQX3dcob^H<~lo9(4&RFh?)eXaDNa5Z4O1V=(57wVwY@^Ud3@sX`Q3oL^dL~$@D1k&p^w7Hg)wb20Tvex zC!pq{1_Aop;1hJ_`H!H~44a*|jV{UCaW+z*B-TnM+k*|Uhy$m=DKwnDC1;jnQ^O>6 z#D)o2rmd(K^A6|FH--}1jR5&e4FM1hr14@_(+J?Xt#>QdCN=m!Vf62WbAd^PXOK+eSgS`;dXJ6}X74FC-o4Ui0&4Y+r|?3O)B%CBU3h)xv2 z&3n6^^umO@iY>=Cc-4c6^S4%*zA39GGHsKr;sm;1E$zES|x{rH*!BE;i-1(5#zW`EF8CGaWGKFjkSymdj=PDAH@ICi>&t4 z0Z@Zc15txngKLXs3r+Axp1K}aM{&zvAyChZpOPpv{$A9CtfUlI1jE;*``F&}^GPOp zhnL!xCt5;lul?_>o=bG6s3hDpK6f7;uPNkQ;qYV3hGWjU+8onGWhzyd82q4jYj9;M zP1XS|K?(iG#r1YflEKoUjfMT%ZJ!g)_~GO+?2dG}VD^NcIm~8>PrWJ7T%zix>-ZZ; zjFvy}JYonAV-NLoiR5b1a^Q%#e=+!zP*Dj=%Otv*3gOh=PAULiO|Pcp09B@dyqwQR z+Lx@)O;lJ}dc{$(9c4-;tj)|jMs~!u0vUU4f6T7V*Oho&HF_!Ue#Addx2H01jO?%; z-&l-I$Z18$_+h2FtKRyRT{hY6DnT8!?Wc|-Q11U!97kv=%^HI*OCnSn{VkB~`a)Rs z`mw6@B2;LF%ba09UHsXAy!DE`XF?PjS*a)@LWKZ|EpoL%_dGH4+M6gCtMkJ^>xBgQ zF9wT-Gir9ti&y5<*(eXDEe(x#eYK$G@PU?M8rIj4`ou}YaQZNkL`sTZAM%ILUZIKTSE3ca*D{)nq{_e&MFXAA?vwW0edEk}$HaL5s zgKbUTE~=rxT}$eUY2HU)Y_GH}5xjMs1Q$IlMTZV6*_AE2Jt>e5vpJb3b3zA6hh6j2 z(bV^UH?#PWdUXljq2Umx^&_=7#&IX!qa+0auAxiaIm9RP?Sj2JQ5nv-esL#qc3Sud z-OKQS+&W@@T=)YneIT)37x=Ahxj#FboT@F$Vzd@mxMT|NwFVCx#gZqHrrC>uLzZ$D z_D#t&uwZPzeupk!;xTU!FlU-ffvGbB{vG`dDH%%K`QWFGL%~dwp!9(H*&l<+N+Wa< z=FlIt92>VLSkQOf4gt@1UAk|pI!M#Rb6V)JqoFB!@3CG__)!QikW)}`jQ9jcsLdxl z#P~6J0tSX^7psYS9XYD7X{seBino2voORf779+qLcK(VS%Ae;)HH?1O9;X? zz)zh*;hez+9bh3GYN3INzbvV(qqPiv?L~NcWKvoicD|@ZdwzZs zAno*oMW-^hmIhswCtj7$zE|ktME)ZJeE2IWW*>8R(={}G4wJUz2Rk_xPYi;d+DUwP z*yE1%in(B-(`zw~vN)<4DD0?cs&W#GLZ#otHA-SsgUe&;fkAJ(zH7gc&!lm#{qY)J z`gr;cmr6E#1d zO`Nc9>;iw*%(#ugpvZDIAG@^yc*JQ}G&V~Ou(0Fi5G>Y`58=Ng;_rCeIu5nh!yB(r z1aTLIqc~=Z41z^0hD8i0BE~zHX!CdUZxqcow0q!P#-D{?<@F#!2*B>Mjw^>oWZ71p zpbQ{2O=0^;&WU9RO2-^Gi^w(GEW%(Z0gEW{`6mqiomlqHC4kNCu+LSMaLJIki_Y4` zN5?@5H;7{PE*MzgI(ch*IiI7n44$AG8A)DYc&ZQt2Gex-I7NS`#6t2~l$)Y!tuAn| zzL>^G3N=rdhwHSEsRUH6hj8^A=@7Q1NoDttbJf*y^yMTaZl4%>B2-tBC@xEDGmC4q z6~J|Jwc*#|mGn&D{FNHB-nh5j0&!BHXoETamD9Gx+5`z&cjfpC!>}j42&59*&<6cF80&+XQWIUD-EwwGXtefoMg&IR@I+ z?9GgN`8)o9jJ;)0T-&-Xyb^+2fZ*=#?j*QdaCdii2<{SGgFB5oG!DU`ad&t3{>b{y zsk`^u=bpM%Z;$y%S6BC+31f~|x-#J1oj&}R_~i&IQ$HHgLsJhT|J;EVF+fv#y;L2= zYEm0FGIoCIPJp`11rK$E*!yPRrXA-K_iG6}yMAp;S1=Bf0WdX(DU;8jPyIvi_im3n z?CRPM@?I>Pu%u5>P_&56} z?BV_X!AJ$qh@MS3V4DWASt`CckA6kTzx>O_ANHZ@A24{2C+in(*J6EHvhp`}R+$C` zziTr2U;saQMvW`rqPhX`kHYP_e&7j^!yK=A}SRwpOHzp8X(gFloFaA{w z|HDlmtTuJ94_0gKIa>qAd)}{2bSw1mZX^EzJ^mPxtI^Zv^NwuuAIBO{#~Os3=+{~> z%&Q>NtpfHmfBhRY`VP-Ff2DLHRufA|Z#kS{flMqHj0NpHDCrEMK&^j2nwi8O^nF4d zG91zz!Wi<2bA>_F&hl4)UI}R9966#xKHHDKzuxdASeXcX_OKUx=iRS-%{kEjCFW1I z1JNp0AqMTpnY0d#obpke^5e5|Zi1uy>%U&he7M7OHyjWi8Ee78QKUOf>W_ z8|a(4`&3SbA7Ax*=9wue`l_A7a1Zj^hN0VhvE3Qw9xxPgxM@IWby3{pGOwyrOzt>UhH&*w`ezL zEa@3-`K)Df)@Y`z)FnA`C-HC(SI}dv)8W1o6+Gx;^z$ORbdb1X$6k-4G22NZH1fJ( zWv2oroL#5cj7}^0MgDOhp6SkSh?C>>{CNOX5Ay_fonGNi#m8vMau-?81>|>@IW0ah zLy@+O_b8PgI(Jc_-05+~=KZNSyZmj&Epz#iw%a&4^b{~xf|qWL1PE_ z`O@CqjiXZ|;*~9pN$GgFW0Aj~D5DlO_HmqA%v@oHGy!i*UHm3Y+N8sn(7{7F^AIAe zyo&~-cmEqkZ!$N$-)%V(%Qrz5)1!cMjNnQKfU&JkUKO_l%}o>16R+0bnUipA zdT}Y~i>5qYVUGac6~Xz2?80GyJPH4Mf@3jpK)bziM9Qvu92)^)EJ$a`lwZem)=ICw zDW`#Xbkjqom#&G|{398FvM!ylI5mIb_c&3$TOrdNvPANix{|egvjvAAlmi%4KS(oM z`rJ(mBQz81Jpu0aG?3J7zYX6ujN?0-lsl>dUz$5~&Ow{&dAfr+iu{ot@%bm=!!bnT z@f9du@gt#);h{zBYV}Ht-9pa!VUE|%Ar`JM6;LO9h*0DapYBBzqY7$4+^TCff1&sF z2L$iheRg=0>Ixg3yoZnyw9(+`48jwXxZ-lXS;uQfJfOyDFh2mvs4Z{YJ8KMnQ+q9` z8j@IWetN|5*0p{6D@Tt+z;5n-ng`|X`tij2HLc`*f?MASwGD6Da;Wjb|3g?1CKwPV z1d1S)_H@VL<5SIkq;=&o8PX{Xo;j?|!%2Rkk~i*rEWVdJ;=5Z_(>>3uKQ^PY@Yu@M zv*V;cZ3U0LANYdme;u!#0@qmM$GHUr+GEGW6|q-)aJYh0tRb)azKv|kh*d!<-iV10 zi+K%z=;6rW`Xm;alsKXi5lKyY{|)Z^%^HsiH_zksr?kqr789YH)3I1Jq2h+eDMi}| z7hA%T7iL(O_&sGQN+ZB2Y>$2mSFl&@C$$`!m`aWl{5tDdH8lVp(2n5Q z@}$4Asmz>euFQjQzG~eM<7o9EU}dB_lrqcwB4u--7dB?taZtt@FtCd7r?@qTkv?7c z{5@C+D@OnaMITi!5zwsUF~Y@=$43TJTy5i{p5syz42xZohjj*wW!jp@^Bqs8!LsqF z{pQAFnP&Vso{xv6dFD5<_0*G2ygkP7$uZy%#eq)G-{1^lblSR*B9U5@Y<;m6&3UPn z(5|jK%4p`dv-kvbgBqPyI=-SOeAxmWa}aD4c|2-x@^5<)oc1)f!?A)*O3=nwL3eU- zcZOu(sazoEPbfPI#5I{ewmYi@9Q!CG7dnzle%%FuhJpdc$^l*Tl!kqN-G-Q1cl7uV z+$=~=9(Y^l|1zfkme7sesNIhGh-!^FR)z1rMwqex>^=*rc)- z-ULn$MO4KYxTy@sX;yx@UIa;(#+F=7gL#q!0f{xB*@H69Tef0SbFg(^`0H30(Sc{> zAU4B3CjkAo;u}swvW)Y`u&+jSa(``VxI3Y|TNC6Y(;2Qkea2Z0Lft zT?6CPzV0l(szlg=w5craWm-5sO&Vr2DW%t1!o}&i^(0p(aN~@+(u$vld$7f{Xc0=; zf2<-%w{L~8sF}<`&*Yv$TKB-td>0fwmnLyOLcMfpiv-dA%4JV#h#W@CC| z_#FWW-XP6$H0z{-yIS=x1?jy^Rhrbj%5eqdM0#xNwL9hFfvM~5RrS>zLS=Ks2Btm+ zN>bkG#k>!C(-Tn#DjOMUnQG%O?N4J>giBlFWHRDbH`2Kg1C$c}w^4 z%<(Sh(?g9tTU&GB;$A}*>qQu-hSVP{6Adl>U}a|FC3QX;8E$6aB7K#|F1EzV$q-kp z*cQpz=4FWDCAQ{=3k+e_U`Z4hl_-kCYL-G*`_QP5OP-boj{AtK2tY|3xj#+;3Z+Yc z;0v(9(~N$Keky*mLqKoW{KkOcw3emeI=9+;x(`I)@vZsQHP(t@@`_>pij#hI3(Urh z$^HG=| z)HIrRKtmI=5a&MqBD&mllUhN?)~Saz>+nVQ^rE;4M9=GXo*?>z`IRb--eq7sZkl>ILmLxccc@J#0f} zcO?$wY>>YFMay%;%orzWyixZi{2`>pU`M#J>R1xA1InR_q7I2sqqv5~8;(}Y|N0Rn z{*`Vz`YV590KGp1<@LPVU5(25mBk{}mP2lR_ zrDOY`KzIKP=7hcnyCwa5#pKWC|jfxS%VeY z((;6B{m7%SXY`|T_;4JI-#iYpb5TV1Qvy)%As`z00kbUh)kx<4d9Z9kscHL$5xFb} zkMCfDujJFZ7uWN%(fD;o;4s|lGgOhp95mMhQAh04JZ?w;iV{x9*BFT78q`PbiW+yM z+UpW|py$9sfbk&nK@2LP6qtomWpfKIK#L@io)4464E}!S&MGq~3 z=2G>J*HcdCqwH(!x>lZT=Tn-CaK^lgcCYtu6s+aQQO0eLwa5)=F#?THm{MwH1jOq= zPvrTZ(4JQk{2sq3k+UZt{=VMq1Z49~{?Ucx2@ZY-n%xV@^BIf~D?OrVXwu>z=50ZJ z&07^gNga?=kPJzhJJPJ60E}4m#KjUcjB(Cc(r13>G4k<@f1^v&+iX2rJjPAdKFLH~ zpPcquA}~Yr_)e&?_MBL}&@gW-<+|E>3(6vU457s2<%eynu#l`%I|MG2=6Kw@gsg`UveHI8NwMd9nu~83gb&?q&Rp- z&-NON$ur3+DOHs-%F0)=H~fox>9QChoi^|twy>C2{Rb@g+cCtasP`jq-(HsJ~~AEqXvQo{Nl$J)k@R_gvM+;|F+>#%F!=?ayI{781{7eZlCdujVIxPAvw!fDmH zJU$`s99@Onb~bT)e5B!X9ssGh#GL*&KqJwvX&j{I5g4!ZiS{=d+7=ofd*^6@@p4)S zOz;lPe%Yje3DzoR!@v=k6Ki*H998*}t`D7dMH8Yq+D!emwYonq+cF@RfS;d~rP|yx zj03G}m_D5;?Mh_`$9a8bYZy=E7DnIZc--jHf>~cB4u|t>#&lSRcw`(6?SzcE1-W-- zQJmzn=4TvucA!lQ78e)AXVD1>QULu{!So!zJ<4wmoV$n13UZDHG*RMksR%}nxd1{{ zhgC@NRl}s$^r#QNx`PnCY90%?0XcU5s{$7D6Shb}K1GFJ$kY-CQAYZMJ$x`Q_RNDG zD%m=*aqfuAsH>{%TpekmFZJc#2%KuaJqBU{bvv(Pu7hsJVe;A8&wiNeMUiwa#|z^Q z_E0#RkF+9IBK)W(X6XH#^84?#1|rZmZYoZiD3aKUSc~Y-1D^GO%+F)y7EHh`GJaVE zq#EWj3z+gD<~iR`<|^|8803;0wCxI?;enQvmh#K)p{c|T1rVMLm^pbwuNZ-}Ek7F) zx8s+m2^MaCw-ji81JUFv#B!z;qpKA|;#kvvpSr7pMj!U(pL;{~`HvjKvK5io$KgE_ zF6kl@z$1NsHmC-N*?@d+(_<<9V<{|G8 zZvRqk(lxKzm9B+ZaSCWje)>x|oNG?y{W~HHN?>EQR)r+d;5x9YV-J33O<;kA*Vf>! zI!NQ@-)i`%ruyQK-dy{B-57?`)(D`bwKsvRs_05m+4{qcbOF!pEO2hPat z8d}^xtT>dckZ3F9nYb08`xJVQ5K1-gdN+7WcldD%z)+rGkGa(uTAzgt3lX&H$zhsN zlm__lp>Rhf|72kdy*z-~sVNEkgrV}V`m!W1lXCbUwE{S*IV?6WVM&Qe5 z45CTxKpVkzq3%e6&T~b9l}=-=4RbE8kJFH2>0p$+845@1tNdUIS7)A?IhZba+1|w! zk1xL5d29Illuvp*)%CY(jcp&{xX=K(^iM6kjm!lDiTZ+4$D?#sHyjtQvrHBw-|kP9 zvj%EnR>&67fY0sEZOIrQZ4AL-BT^9moMo77_^;zOz6BcLc9e4zoC)Hai$!)?!E}@V#*jwDTQ; z#Z?rjiDIG8efUgX@)>z!sUR6P0}kiPIjJ+YCT;ti^|nCfb>5%XMvpKOw3>nllK zKKs8tmOhL;Xc=7`nk{)1sfi**>S#Eu;maNJcw9fk}dZfpM zG+zgRXTHz4bb^$krvCmQuS+p7Rr%N6i5EJVv^RkLf!~GZS(jX~%?EI@a!yA&#<=a( zFpS)Pj}dl$+slu(aE?f_+<&hcem=Y9g*M8_4L9VtYqs^?H151`D$`TChBRk|DaY6B zrRC$}%MxXCjuhbH*3!Ep*+=I_e4sQ2uv&2*+mmutnbG_}&qcNSRIfjL$Hs#f<^w&(`A&hO zomKiCigb~{#^DJ#!q~DHC)&yNP8uiR!nl9ltJ$JFe$eOe*-N$+ zrgi*@|rOXb0^jfglkn^$V^1#C)(e8 zji!*g6#eVlsrO*Rhw|SE?l1m6tCU@#ci3J~mfNNxrx->ELTRFfxy}RI>STpllx18~ zB=Pq=SFK@jHcPuY5r^FjqHUSBcrQ&~ZEfs|Cn)!zvjNHcV32#KAZVXFtHT5wo#n2p zIWA$=y75Z?D>@xAbWwF&Yp(t6g65S#Qfr`e7=uuIbqCBgq$0NP%-H{m`mHTE*u()# z{#vE`=eS%PdreWPv&6^I28TQy7rqghjr9QPT=9}MPh5Nmz#$ZPeU?>6w_y@Y3wrjA zd|LJf6D}i{6j~kzxa!7+nq~Ak&mQFJ)#1V2-4fls227s9TU%$RG<;uzeP>szqf7zS zscn62+(G%)d@zkJjO4IZv9^(MUSeFz38E$IBuFvniv9)F9#T$3j}5$&5`ma2JDG;o ze*G%#Ad+@e_P{$zwG|I`v!UT(-#7NDbwytXS*N!^oCxt>v3msHZ|-y^{I(sE7AxBze6_M5r)C5d5TDow3NuZxIS-Lqd)Q5A6L5e zdb{@O1Vns@Nr@`sAme7^WaC!jUgLV>j4H%GuvR}ZRX>h)&CShYC_*f^HO7jKm7{mc zKqP9b=@n1EB1MnIAyA-=1W4C#Pv~G3i+-GXCTP-i#K^9!` z3KI3k;!Wwjbi3VfV%9fd3SKNPZ&%!-UUm6AEkZZ>xa%>GATwt@qeqE^46)XRiYfIt zzwTOyPP-XtbO_4~t2{Wc;9{!P!AJPqm68a)Cw>$uPXk#W90L+bQ*R#WmP>>wu$kM| z`NfY)0nFkN$1mkT3}6zfy()gO=V+YkZd4@3v4r97TNXeA2HQgG{D zUat<{v7xZMGJ~Ab24kCp;a|5yptX{?z|SuN6!dN~TZO{kKr8>Z zJZt;}H~ULwCkdF{vdvN5q!6Ey;8{`SN{UEV9}0(lUFnX&=2UQckmbAQh4$2@;Lg!1HSF?M~P`ylPA z!{Rib=L>;xo-SZDzvUajx6bhzVUQP(5UuHAJ9+P^^I-K;c;Wt`UdOoi&Y0vl13`ggywU;4Y z%GvfZ+Si|@alCUUq7aRIex{e7WbY~u0J1dGI9*qxR?^f)ZSk2+%`7dPW@kLq07F?V z7Mf`nq8ZimfyXi;vFa|2AP*^X`K4++j(pC&4aliWnM*iC;E=Hf8Z5yh5>Y6}T1ULh zqsB&+KMsPdCo-+A17{4q3y#jb(lbnnUbrMa| zFVVNVrv?Mt9V7YY@V0WyU%<{tqdCaYRx(qau8PRZ7ta6Ktas5-YS&y~3o&QFkM4b} zYw5CPVEVs6+P~l92(NOq-NHYEOvCP+qyicJBg?}J0c5McgecP%V8O|B3RSe)RgatM z3h}RE^55Jv{Chl{D}kzn)vFT3jJv=9v=;)uJZ>mIPd4x5e16xwvPyLP7akN$jPVY< zx=#4-`->lp2w6K-JYy=tdh@kC&QjnpS=CxoThzB4Hx2iC`bUE!)7~Xa22%#@QSIi` z7JFu=cY~(h@Zpm%{Fuy8(#(v2gEjWgZv;HOk&8a%!R6_a&-3%_7nwro!Cj3%Dslo( ze8cg@_`!^0nDxy{nG5FDvJ;(q@r%cLIy??92e_0~zIGF%IzGHZ&!DELjL!2i6Hdg| zT9cdMiYVj3nOV*42VzW}Rd^;!!3Rpuyg?~$Je*m7v4$Wq_FsyK=HDUyu>XLx^>25dw7z>_g{Itn zL9b)t-k1Jh0xtVbGf#BNprE41?FuOwsMv^>SfYdOi`D3 zjPK2UiaYdBzQWZm1_j%ouxLP(OqgvV_wH9*IqiG zKSrF^9gXQ?n$mYF(IhFw(pZGT61EgXDaG6`=>NK)<8bnSeGVN%Dk4yE(IOp|pCTZ0 zEzE3s`aB4cX%qz@(Czee|G+hjz5%(>{@#h~z1!G(N3wDF_s(QojPGs9{)lQH|M0~l zMFM^QPZC_SashmXTi{8M4UUDrG;HbV&#yLNvuv3+dOot#cWP>C>-IMNLjyhJvv0++ zDUG*_joz2(0?Mv>el{av()&~st}Q2bcUC8W}aGOcEFs-fS?s?;=}-RjZ$@ineK zc8qcJ%y#1+lsa`I`WnVDMw-c?m_Bl7Xxan z;$Eb+Jr2+KO_&|8#KP8@Jn-NjYZtLR_t0$p;P(<9BYf_nAVE5GHrRQ{4-igbPZ--M z<*(PS@qg*D=G>o=#Zg*jX=&V@?(SgE5aSRm2g`sDi7T18c^&$OdO}eX%qny2CZxE$ zR@fSjGghFK{Qw$PL33;2_AJJyEq>U5pb8>WB)Tu8~F>^S~V6n9Bf%7e=w525V z-lIgb{s;8Oo>rUbr^`$sBzu66p2gBe48?Zy!G{{og}Y-x4)Dx66Rqy1okAorkR|d{ zvB=yJx_uKC$AAwm+)>(j7ia%T&wE316QMecn?fgbo!ZR>{QPUEu@gZr2bV*eBJQWL zd7D<7S)j{nV;16dlP=#$I=2zO?Cx3U)~X44Q|W6mzqiMBPibI+6v6wgQ&hw2c~*^~ z?JRs&tx21s1e3TZ2*GU8$W5D%vNx$~FlGO)$r?UJPnn-ZybHxHlkM@j^YuBY9?%+w;hRW5kvlcDLZ=gadAef4ct;R~$% zRCj}cq}88A&JGen;5+pqW?x`V+>B5!QJ!^<(h_+(WAxi!6Zxi-PKp;m1z0$mwW~7s zt^SqyoIuCbTYxQ&s9UR6&atp&+o|&{-%s#B&S^GXQ)@ZK(|)ORV8&`z%4mCvt!o;% z)FZbEm4%6hHEjwkv*)eg9K_1hgY6i^sy=9}X*dsq4Vi|d@ks+>5n&OY8>ai*D2Nr| zGF-@*cZwFWKfev)fpCPM!H?ofX6L0E?mQ4If8wnQmV`!E}k8vJ6ACCNwSv zA8R@+FYo6Bda=bXGNHQD8rNp6yST7vP#Q2TNRGV5$UA@Sa1Y&E%wgvII86OR2j>O2xxfSDhj=otYew3^3@9SyqM8$KJm5|1SMANCQSb5GV3T+fBlh3vI7 z{Kt&#DJ7He7G&grV35|HU{j~_@^hBbE6o{nt%r`~0O zl`QPyQ>)bKqbl(i-lcv1hOKnU{V~6zGOL_)>3t(Ysy+GxcG0xYvzV}w7fzoh3QA{H z@vp)Xvg9eRD~4?!E7t^ye4b3xCd%yQaPA+0^iJw_8=2&67{g3=?lUK=L`FhEtRVHm zZZx@ZBg_ImM^6wdbz6n1X(1&aev$)L4NfO}=+j!Q_2R&jFy`w?%f7EG%3~eR9Jss8 zj$Z4oQpGX`yqE>-xL;e3zyb&?yi{{QtqBKTotCuKS0`~uWKbeGjK-W5o6lb5$>J5K ziM}6SNY4gpWFzt_@AfTs?HBm8_XoZZ_;<8QtZ*~+mvpj zzWS?~EBu|5^Ajr$9(uFR>i7+}JNRxd#>WyWKnWX_W55El(_9QK&WzCbSH?Z~aa2Ce zz%eBKB85kTg3LgsW3q4h@e)Cz5dkVOJCfY~ygR|dy4qwRGs8SRx0xYv{pUZ)|2z86 zNR`oR)j{8QI?H5KU`%OllEUGfQ)hR}br&;_!|dF+%vRanw9q)la*-FDXAhL7x2 z%+XvK?#Ad88SjB^qO2pz?k!eSW6D@;YV;R^>T{YM=JTTIok5j@Kz8t_V~6OgloGEd zCY%cqdAi2u}2>W1QsoF(c&9 z{$9hPnDpg#>denecdt&Jb(c%jvK}q6%8pGh9uu*@{iV-ab}*3{e7(mjyj1<}TiDz7 zM}53Erw2KZn$4xt3nbAYesF*C8k4Vca({p3RN||s{-m!SIuj?GS3NWH zp$X2BYoFR+iA~N^Xx}@5&s{#k5l_C)9hCV(CfTleOhXkEl<6J+7>aagg@mu92Y0eF zCQr!Yd{AM!GMUlbfq9;l|H4lrEt4vVFoFRu9goh+8&s-_2C*4K-o&_03aT{aq0QPB zQvO87%}AifZmbcQRhik12ZicDuBi757V&8{7d~Q6v<|0LAhx<U+$mY^GTGU)zWsn?WW6lv~mlW&*n`FTFwSJ9Hpn}5Wg%aCL7tm zmM)imZONvIQ8o&1_qEjR6&QDPDR=aby21Wx#DBB@8P-CmqssKkbyFzshF;tr&WIHnmP?A5x<=d~X>=Yj zO^n?E&)1cC&W1P7I=L6ma`WLUit<@Bmg}R*t(pLq)14Q7=d!Q&&stks1dY0vIKTM{ zFftpaZfwBJMTGkFwtw9Sw|M|@T^d6I7^TV>+36Ehh$)3Ia=wbQ=`0Y$a?#0uxz<)X z^AwSWYP`sdk`2pm4M8s{!n$6)G|9!Av&lLVZ2W@opqV%e2*^dr_U2IWSu6pK7ZuE~?j5{r|V=41@vA+p(_k55s82syIkpD*x zV;@g9-fvF?+qAWfdx@|};v>7Tq=Udw!>k3OnO>WlJ@pC~0bHeA~D zdf!#gJXF&u8?B>gl9s>@OZtlbfJ8NIAt{_qAMLh8niXG6@-wbD+_<%k#f9fh>~iuW z;)2d;XBwYmTBpJq+>IRy7uxPe-^5R4pF&Ra+*7S#l{6NJNivzoH<0F+Cu)L|;?LN? zl11POcYT^GT4GE1c2J5|Dyzsjh1X8!=V(^^)Z)GlVl+Xo+eF#JqPVQH?t7ssuO$6w*LE?AG z7BW_^RKV9fD7&YtMP=f_WIae{#6xG)S|4>-QQw*vPhZ%}QuLoe>x}FC12Vg1wUC(b zr?p3KW`}b$qUzkJ0bX{%8`DX%PQ z5^U=0AMKUwC>(SkUr;5!vT@bR=UZlB;>BsJQs-_*5d&XLp{HUhhS7h${2NJg=`eFr_0W92Jz6MhjXc+A(zG!{;RpPh~HX_h>R)!IV7p^?t9SAkDh##vVlq$)PT1L7M_UEi{>j zt6_|0DGaqyE4Vp%brDw|ylRtt4=8I8?O5}n0r(_#R_&G6H@}Kw$z zLuZxkmr-U0eg8M8GXBRfVWp2j3IFU{A%tARg7B84Q(=(c+C*IKWVokhTOw7vD!d?2 z3IaAc^SR31a=VSlPNlVkRH71+UVF8lake9Mcx6?pgXEara)b9fim>^y1GT<=>JEU3 z`Ax2ehIsY`MX&xjgXOr|CTBrS&w7AuS$0|LAiXBlkJ4s{$U<+|m*{>)C;*>jXDQTd({Oh(mzFTQK{TWJI;&D^eUV#n*|42rwkSaQ ze!RtbVmg3A`?SS*TvuDPN-`w&`tx-trk{)70-n7G!WlrenKNa{O4B9Xv?D}Fp{gVl6o|!N8^ZEqL|xMi}Hp7*GGS{94DG; z1S?W;Op3c20=X`=JI>;?Q8({SSwT3zzi}H}+ZFCSB@)YCXQkMrNMEy~~Bf zJ5ettrr`VYI0x!ZD0RBT`H=Q+=6VZKmCA?X;EPlT>mIngz{>?v>xr*}1LIp8L7~gk zK#d~e&8&1S6g1iX)PiAV$@kSzMv0lC6zk{rC`pGUOIQNYG{sy~ZkJYgxWCC^D1&`G&V8DHY zEtf6|An+Xm8~;|$#?96(Nw0c6+vxP6dy_l@!IrNtSkI~A>Fx{6JWJ;B-x(=AReJ*8 zip+lF^3r0Sv`BQg4-YlAoZi2g(x*LLDBTO6>v@TQ@9eg>e18dE^PJOLzH*d5mXl0r zD0F7BkQ|6kYouXw1;nVBd=SK@-PzU)yJSp!UxBLc;JZ20IMvX<=aFse4LNE12oU_b z#a>}|oBXz8z_IgtF)s9fjpE7ec(l)DTYQ^~wOoxgdLNg4rxaYNj>jA2lzuV+Um3mL zpFm^->nG$V{S2QRu&!fT#(*aCg4ykCL(NWyKfw#T>$UWmoLSkJ-M-p`cgj9vWt;6` za~a^YUF{|&Ue?PMyZR3mrU1!D(ID;WA=Vfr6Z${8VA z_DLzkdZl;vKf{Zj78+#-#r2TxqL6M=&1;)}!6^7}?20X0jlrW|NfQ->wo~;F4=YQ| zF6@!XfF=9mp*~3Y^OlyH5wC+0~0Gf`(TEE{ZRwj-WXQhW1$tm%Vi{$($aK|&0%`1 z&hj0wSZs~4T2?#u?q#gaZ>*>KeQO4bkL zIFi|`F(e|Hk47>|hD z70ddCOd=2Tw!W&)%VqEIy@7v)SJGZm`q^<&n^f-j9K!&LwTk9#n$X^CR712nt#bk# zI=qHb2S@i;8nwQ$IrUcJ>+_7m z-LCbptTRyEVdGpUdW&w>$iLxho+a-b6C+8%6B*+g3kNFO_|)JdZGU24-j0XO#M9ltV2! ze|eL?gZKCg2{!flp8>b(n(aS{3qpGlK&UYhQ1rcI(0z-oefbe1f>H2g8kq&>-}2Xs z$TRhKF>eAMeWJZjN3E-$c*do1%^eG*Xnz)z?QtUm(hl57cGqw@Y%lMCLrs3*(Z_iJ z0h^b3%lkp5#r!I}!J3aWj#$GDf%Yze{g_d9two0EURAT_+6;~Q&nzRc`f=C!sIt+l z8e41K-I<2%V!Hc<@^s3_0o&9m@hfhcR6>s3>=KU)gI!SrQ1=kBaGC&m$PJf+D3^Rd zMP4MQf}KT_Q936TdBAS(!11BT7iDFh7r)a31!eR1sd>x6CS}JyKhKB7`mfMfME;szq*pyQzJ&4Z$)Iv{tdqMMxV7LH zu^J2DR51$`vnn3JL_RF?6+WP{=l9GVe3-nRVB!x!uM4gz`ZOU(?UzRWOZwM2ciR`6MdEw%Qu|Ot(>sXdZr@LS zR$mKcmq6VnOz1r#+quNM4OQjt&HVWBX(@NT1gr|q5RQN138;~PiM9%Szs7S zwGhhZ5jl|7U3}j)v6r)HXPPhgk!5Z@va$506=r4ca5Ayh8!`qYg?&gY5b7Nns*OQ< zoo~C<6Yh06iXA6VTfZh$fqsJT^Fpt~8O~sc3Kx)4Bwt-!I% zp|huU@+h%wbS;U-$MwEpu7n|_y zXU(m}CO~Hf6Rr*$8XYIc@evgUPanMIa`$xrIGWiw2kM_sgoFs@&)H6cPq-xb#h%sMOOq?^({?Y;wz{eFPr)KbKrwcpOu13fyZ9+H)=Vj5&)p_L36_` z{!UH%3t_t~&dqwXE(-~;n)C7G#6bW+uVF32n^zTUaK~|UbhGR5ju$OFiN@Gj)S2GPLZHhy_QWAztGH3QW^nc@<=PcL(st&@vxv|iE2yNbPL=ORy>|! zFC2(lOYXk}^qM||y5sW6!&s zxR{#o;j$M0naBHX|FDzc$TBSc60{GisQL{D)L23d4W2$%*vyJNTiTz*9SYxRp}#vXEuJW-<@|MI3_dhJF4oT1p!n>^-f zQBr1}9B`#EnJDikB{~K+Zk-G?ZelxZvr6B7O@#?e=64c~BwIB{-e3MTgC21R*@$tc z^ghzmE;XKwz}z(QlPN9)NABUndpZd7_sgkZ@@|FHX(N@nR4d6J4)`Rz3nRmNYi!gKNk@v6y0PK*tc9He z(gBihvu!lM+4oK)vj7`xUegiU@;RU*h)8-~QQGF1#?h#!)5ZfRLpch`ZflHL@9^**L(VUfPx9~z@}}e#<^p$$SsexTSl@=%Ew6>gWd(n|vf#57 zhyrbmTwLWhk1xLp_%hp_<`O8R_CH@G&>PYFn8QBKkIqa)woh2jEa#tloEfc3t5)A< z+K0@;zKvh8owQ;eyPD24AxQJwP9wLY{1!QA)#*0rPZ3A#us_}kDdvg9#rRt zOslEaCckkchv--@Bqx$JpO{3iktqZG2f5WI=AgYo#|bqRD_=YM}Zqo~f#+a}Fas&5L>F;QMwR?YA{Zg$~lc@ZaE5-!Xu~G2@ zp(s?dyKAF1HQ!-kU$81o_~lW|k&i2rjm+ZWSX8?tZP(d1Z`cWmu}(Pt_^9)Rjn&n~ zWv4sZ&2DBtsPB1w+r=eUJnqUngx_r|C9@|a7&)*I8|7%JGH+A9`Zl(tye_Pj2dA+* z*x9ujl81Le#0(m@&X{dAVr{_m;69G(=m^1#70p~HOD%io;vP{j*6>ovl_0558!u^H zqN0Cp!vZb0cq_NxDc$|a*?Ud-5)Y+x=IB=(i1hUh$!8Sa7!~`W0<3TVJAFw0e~QB{ zQb{Ad#H(_6CsMc7%5zvn!nAkLUUBiu8if6#`a`OiZ3MkujM7+7>iEJ1S3SQr=m#*h zFVQ0aBE(rkHcPFQ1&?odM{UR?3CBE_F14c^Oy!aNmT`Upbtb^BO3<>i59+|8W1P;j z(3`wGGxN-AJY{|T87lF~T2$ZUUJtx4s=iY4s-o9eSM{BH8eEkE&E-$JwJ?EivY?r| z!P|}xNJ^)UFFw2;U!TicPSG9D@VZOP(dxy#?`WsYI2Y^~)39fn82$B{@8`Q1Gl{(y z@j4Us^<#GRZAQDLvICR&plLmjRIl(VcDU7lJ5|4X=u3#gb{3st_~1 z<^7vY+iC+x;I`-u6iP_Z$+=F_8A>qiCxv=KjtF#DS2+iJ2wU)Z=&2AscnF7glyi61 zpEL3^CQzRP<%`-M^4?DG*XMz+c@_(|*S3pa8|^Zi#)0;O^zZ+cv{`S*5XD}bXwnX( zWp}otup<%jjJE_hxL!H98fIoWW@cfTQ4TDI|IPjb0{8m3cp>=4YYdh3FA2UL4?*x* zi1v$avWzC>o zB7O1C5QU4Q7*{*QF){+hj}LvsWgaVLKOVdp(Ib*AIE0*z@;gicmH^9uG*&HRHfEfb zxFzpR?kf4bicdN$-gvdl+BzmuC^>`iLBaIx1JQh^{buOYvR5=;wJ+~$dL>K#uBN=@ zb>9ZUWf8Y~ z3TLm&^zHo_4l}He{r|_wbs4^=Q(d+j;LSSK_s9D8&ax4(?2&l+m=AHv~vRx%VeJjsj$ zRyE%Wlk4^)kjx)JNUh0&O2Vc1v}N;Dl4cc5!SlMwk z$w>%xW%@YltTC5w|9lkn0`nq6qcGU+2bOhgW!`C|9U$LX>u~_L;(|+R>?9@yTNTa+PGAVY0;l-P}h3w?&Ejd(rn3 zg;S`&MMzP;fp3W(zYgqnDEQcLIB77`-(24y`Spt66*3;brfn$55JkWiSK+I$8fg{{hauNN;ip?>Ly`O5h7Z~nPR7VrJudz@!sg8Mmcar-HOs;Z6w zyc={pzRH5e(8RHzlFf5kn=o?-3u@P%Ks+zOlLoQEH|}ogp>_Gb&6)eDt=9f1smbXb z-(44YQN=0$bv@oly?$G*-guye)HRWIq~2=e8EGkWn^Y%`0}c|BFeVbn_sbTLKD0VT zEe)i)nK=lp`hg%e!Oxu2$dt{EvkbF`f~Vtl zhXCkOrF?MR6WUBDGMbRzzQc4V@0$u*b0?U&32Vd>%u~AZ(+rIt<_)|5o5>{LBNy;y zKClIQ9sAMoAth(MwR|cQpldsXjV233W`?28Bu734jPN_cjt^<;OUpDCuPe*xhsih` z42LIVTQb_No=Xi|I-ru@(1#y~Qqwc2$3flJ^Jgz03E(Clcp+DTo+^-z#b-~}j|8w1 zVrN!LPtmC-So&QO1fu(s;3fEh=TpH;*w-ki2$x_@!(j%L2Ezz^%tH`}61wob_>pkw zb0x@ThsWXr4!a=$;xY;J->{I!3_?NQ%3<5VOkkfB^j8dYE&}K^8 zlgO*hTF!pF0JDV)v3nG0U#jf4*P7>h{t|AsAhscv=EIw|+mo8}4wfitkI37*ko%wW%{3PjnsOxIv|QLPAI^*!@8mjD)asx)r`d$ z7v)D61um^?MSP3>Okl57C)9SayU9arGQn^h%+-1sc#g%!vMz=$VjToh2SGm?mC~tE zVxJLrH6k=|aUf&BJEF7lxa`pH`(8DSgV5G*Zz<{gWZ1Ffj6u3r?ehAvG}GCBb&ka_ zNV@3+buNqk=oU#Y+V>sTu!L7}I z+JtIM1j^}=9`)T%B|KCmJT55k%QGMcPOzfvL6KVRH~J};=_&s^7FQRemRjtttA}G`?o>LqG9PEk+o_c&gMr*A;jS%j*vpl+>1)zKP)*4zv%yXaPN(f=bBq3Epw(d)azgYQ0EYFT0L zoLf`bLEuN!yXjN^-$Ge)3R-h D-1RQyI!!u1Gz%aNU9EfTN@tL*GQv$pX&gO&LY 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 X2Tco_r2Knq%$kHAn#VE>7@B_r)pB`X literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c3ed20fe17a3337ded24e0a8359b6583cdb7a28c GIT binary patch literal 54316 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%0DxBN0KOtmRcM<>i_){%5uiVgi@pM^+% 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"WjV~p4%&R*)(@HY4%c$l_X8*c;iEOrpBcFLL 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 E2U?W*9RL6T literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.ttf b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d92dca2ea96a0f0aade0f5bc3d4fd98569d6c11f GIT binary patch literal 264264 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 z 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 G?_U7(%T|p5 literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d1270cb42f87dc1b47ec312dd2f560b7a5f2c4af GIT binary patch literal 55116 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%0DmoCJ;nH_+`XV(Asd8qHCAX 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�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 literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.ttf b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..675622e735b6432144e9363ca346e567e0c69591 GIT binary patch literal 261968 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%0A1^1H;ozS(7I)iXk{1fDFn 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 Rt}77}9Q~3%81c+H{|7|;DV6{L literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.woff b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.woff new file mode 100644 index 0000000000000000000000000000000000000000..0e2aa483a82aa8220722fa0f196c209f69888aaf GIT binary patch literal 94860 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 SNh|~AIHCJFEyn%N7*DF}O{#mL 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

    Z5}w2hfqGb}BK{yVC>r%bLH&8;bG4vfBn4>Nuz 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 literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSans-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..282434f5816192186d98667df6d6da6c3bbae10e GIT binary patch literal 55172 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 tHKNb literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSansGX-ExtraLight.woff b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSansGX-ExtraLight.woff new file mode 100644 index 0000000000000000000000000000000000000000..13225efebfaaf9e8385f99ecb3219a74d44fc46b GIT binary patch literal 45872 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 Bw>1C& literal 0 HcmV?d00001 diff --git a/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSansGX-ExtraLight.woff2 b/packages/ui/uikit/flippo/components/src/styles/fonts/vela-sans/VelaSansGX-ExtraLight.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7f23a8d3ef616401f73b8d901f38215b8ccf54b0 GIT binary patch literal 32240 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 main { + overflow-x: hidden; + } +} + +body, +:where(blockquote, figure):where([class]) { + margin: 0; +} + +:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl) { + margin: 0; +} + +a { + text-decoration: none; +} + +:where(dd[class]) { + margin-left: 0; +} + +:where(fieldset[class]) { + margin-left: 0; + padding: 0; + border: none; +} + +img { + display: block; + max-width: 100%; +} + +input, +textarea, +select, +button { + font: inherit; + + border: none; +} + +svg { + vertical-align: bottom; +} + +svg *[stroke] { + stroke: currentColor; +} + +svg * { + transition-property: fill, stroke; +} diff --git a/packages/ui/uikit/flippo/components/src/styles/mixins/_corners.scss b/packages/ui/uikit/flippo/components/src/styles/mixins/_corners.scss new file mode 100644 index 00000000..61f7179d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/mixins/_corners.scss @@ -0,0 +1,59 @@ +@use 'sass:list'; +@use 'sass:selector'; + +@function get-corners-selector($mod, $selector, $append: true) { + @if $append { + @return selector.append($mod, $selector); + } @else { + @return list.join($mod, $selector, $separator: space); + } +} + +@mixin corners($selectors, $radius, $append: true) { + @each $selector in $selectors { + &#{get-corners-selector('.corners-round-round', $selector, $append)} { + border-radius: $radius; + } + + &#{get-corners-selector('.corners-clear-clear', $selector, $append)} { + border-radius: 0; + border-inline: 0; + } + + &#{get-corners-selector('.corners-circle-circle', $selector, $append)} { + border-radius: var(--f-spacing-max); + } + + &#{get-corners-selector('.corners-round-clear', $selector, $append)} { + border-start-start-radius: $radius; + border-start-end-radius: 0; + border-end-start-radius: $radius; + border-end-end-radius: 0; + border-inline-end: 0; + } + + &#{get-corners-selector('.corners-clear-round', $selector, $append)} { + border-start-start-radius: 0; + border-start-end-radius: $radius; + border-end-start-radius: 0; + border-end-end-radius: $radius; + border-inline-start: 0; + } + + &#{get-corners-selector('.corners-circle-clear', $selector, $append)} { + border-start-start-radius: var(--f-spacing-max); + border-start-end-radius: 0; + border-end-start-radius: var(--f-spacing-max); + border-end-end-radius: 0; + border-inline-end: 0; + } + + &#{get-corners-selector('.corners-clear-circle', $selector, $append)} { + border-start-start-radius: 0; + border-start-end-radius: var(--f-spacing-max); + border-end-start-radius: 0; + border-end-end-radius: var(--f-spacing-max); + border-inline-start: 0; + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/styles/mixins/_effect.scss b/packages/ui/uikit/flippo/components/src/styles/mixins/_effect.scss new file mode 100644 index 00000000..36ff30f3 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/mixins/_effect.scss @@ -0,0 +1,7 @@ +@mixin elevation-1() { + box-shadow: 0 10px 40px 14px rgba($color: #000000, $alpha: 0.25); +} + +@mixin elevation-modal() { + box-shadow: 0 40px 104px 14px rgba($color: #000000, $alpha: 0.35); +} diff --git a/packages/ui/uikit/flippo/components/src/styles/mixins/_flex.scss b/packages/ui/uikit/flippo/components/src/styles/mixins/_flex.scss new file mode 100644 index 00000000..34af3b21 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/mixins/_flex.scss @@ -0,0 +1,19 @@ +@mixin display($flex: flex, $direction: null, $mainAxis: null, $sideAxis: null, $gap: null) { + display: $flex; + + @if $direction { + flex-direction: $direction; + } + + @if $mainAxis { + justify-content: $mainAxis; + } + + @if $sideAxis { + align-items: $sideAxis; + } + + @if $gap { + gap: $gap; + } +} diff --git a/packages/ui/uikit/flippo/components/src/styles/mixins/_font.scss b/packages/ui/uikit/flippo/components/src/styles/mixins/_font.scss new file mode 100644 index 00000000..7a581f5b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/mixins/_font.scss @@ -0,0 +1,145 @@ +$default: 'default'; +$stronger: 'stronger'; +$weaker: 'weaker'; + +@mixin display-1($variant) { + line-height: 150%; + font-size: 105px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 800; + } @else if $variant == $weaker { + font-weight: 300; + } +} + +@mixin display-2($variant) { + line-height: 150%; + font-size: 66px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 700; + } +} + +@mixin title-1($variant) { + line-height: 150%; + font-size: 46px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 700; + } +} + +@mixin title-2($variant) { + line-height: 150%; + font-size: 36px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 800; + } +} + +@mixin title-3($variant) { + line-height: 150%; + font-size: 29px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 800; + } +} + +@mixin heading-1($variant) { + line-height: 150%; + font-size: 26px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 700; + } +} + +@mixin heading-2($variant) { + line-height: 150%; + font-size: 23px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $weaker { + font-weight: 400; + letter-spacing: 1%; + } +} + +@mixin heading-3($variant) { + line-height: 150%; + font-size: 20px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 700; + } +} + +@mixin bodyPlus($variant) { + line-height: 150%; + font-size: 18px; + + @if $variant == $default { + font-weight: 400; + } @else if $variant == $stronger { + font-weight: 600; + } +} + +@mixin body($variant) { + line-height: 150%; + font-size: 16px; + + @if $variant == $default { + font-weight: 600; + letter-spacing: 1%; + } @else if $variant == $stronger { + font-weight: 700; + } @else if $variant == $weaker { + font-weight: 500; + } +} + +@mixin bodyMinus($variant) { + line-height: 150%; + font-size: 14px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 800; + } @else if $variant == $weaker { + font-weight: 500; + } +} + +@mixin label($variant) { + line-height: 150%; + font-size: 13px; + + @if $variant == $default { + font-weight: 600; + } @else if $variant == $stronger { + font-weight: 800; + } @else if $variant == $weaker { + font-weight: 500; + } +} diff --git a/packages/ui/uikit/flippo/components/src/styles/mixins/_text.scss b/packages/ui/uikit/flippo/components/src/styles/mixins/_text.scss new file mode 100644 index 00000000..41709beb --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/mixins/_text.scss @@ -0,0 +1,5 @@ +@mixin overflow-ellipsis($type: ellipsis) { + white-space: nowrap; + overflow: hidden; + text-overflow: $type; +} diff --git a/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss b/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss new file mode 100644 index 00000000..a3b2ba49 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss @@ -0,0 +1,106 @@ +@use 'functions/_hexToRgb.scss' as htr; + +.colors { + --f-color-misc-red-darker: #e52222; + --f-color-misc-red-default: #ff4141; + --f-color-misc-red-lighter: #ff5959; + --f-color-misc-red-lighter: #ff5959; + + --f-color-misc-warm-red-darker: #ba2a06; + --f-color-misc-warm-red-default: #d3401b; + --f-color-misc-warm-red-lighter: #ed5b37; + --f-color-misc-warm-red-desaturated: #4d2826; + + --f-color-misc-green-darker: #1ba62b; + --f-color-misc-green-default: #31be42; + --f-color-misc-green-lighter: #4ed95e; + + --f-color-misc-yellow-darker: #bd9600; + --f-color-misc-yellow-default: #d6ae12; + --f-color-misc-yellow-lighter: #f0c82b; + + --f-color-misc-golden-darker: #857938; + --f-color-misc-golden-default: #9e9352; + --f-color-misc-golden-lighter: #b8ab5f; + + --f-color-brand-10: #d8cbf2; + --f-color-brand-20: #b698f3; + --f-color-brand-30: #9265ed; + --f-color-brand-40: #662fd3; + --f-color-brand-50: #410cac; + --f-color-brand-60: #320787; + --f-color-brand-70: #2a0573; + --f-color-brand-80: #20025d; + --f-color-brand-90: #1b0050; + + --f-color-neutral-white: #ffffff; + --f-color-neutral-95: #f2f2f2; + --f-color-neutral-90: #e5e5e5; + --f-color-neutral-80: #cccccc; + --f-color-neutral-70: #aaacb3; + --f-color-neutral-60: #8a8c99; + --f-color-neutral-50: #737580; + --f-color-neutral-40: #575966; + --f-color-neutral-30: #3d404d; + --f-color-neutral-25: #333540; + --f-color-neutral-22: #2d2f38; + --f-color-neutral-20: #292a33; + --f-color-neutral-18: #25262e; + --f-color-neutral-16: #212229; + --f-color-neutral-14: #1d1e24; + --f-color-neutral-12: #181a1f; + --f-color-neutral-10: #14151a; + --f-color-neutral-5: #0a0b0d; + --f-color-neutral-black: #000000; + + --f-color-brand: var(--f-color-brand-50); + --f-color-brand-hover: var(--f-color-brand-40); + --f-color-brand-light: var(--f-color-brand-30); + --f-color-brand-light-hover: var(--f-color-brand-10); + + --f-color-bg-0: var(--f-color-neutral-10); + --f-color-bg-area-muted: var(--f-color-neutral-12); + --f-color-bg-area-subtle: var(--f-color-neutral-14); + --f-color-bg-area: var(--f-color-neutral-16); + + --f-color-bg-1: var(--f-color-neutral-16); + --f-color-bg-1-hover: var(--f-color-neutral-18); + + --f-color-bg-2: var(--f-color-neutral-18); + --f-color-bg-2-hover: var(--f-color-neutral-20); + + --f-color-bg-3: var(--f-color-neutral-25); + --f-color-bg-3-hover: var(--f-color-neutral-30); + --f-color-bg-3-alt: var(--f-color-neutral-22); + + --f-color-stroke: var(--f-color-neutral-30); + --f-color-stroke-transparent: rgb(from var(--f-color-neutral-30) r g b / 0.3); + --f-color-stroke-hover: var(--f-color-neutral-40); + --f-color-stroke-muted: var(--f-color-neutral-16); + --f-color-stroke-subtle: var(--f-color-neutral-20); + + --f-color-text-white: var(--f-color-neutral-white); + --f-color-text-primary: var(--f-color-neutral-90); + --f-color-text-2: var(--f-color-neutral-80); + --f-color-text-3: var(--f-color-neutral-70); + --f-color-text-4: var(--f-color-neutral-60); + --f-color-text-5: var(--f-color-neutral-50); + --f-color-text-6: var(--f-color-neutral-40); + --f-color-text-disabled: var(--f-color-neutral-30); + + --f-color-set: var(--f-color-brand-30); + --f-color-folder: var(--f-color-misc-golden-default); + --f-color-success: var(--f-color-misc-green-default); + --f-color-success-hover: var(--f-color-misc-green-lighter); + --f-color-error: var(--f-color-misc-warm-red-default); + --f-color-error-desaturated: var(--f-color-misc-warm-red-desaturated); + --f-color-error-hover: var(--f-color-misc-warm-red-lighter); + --f-color-warning: var(--f-color-misc-yellow-default); + --f-color-warning-hover: var(--f-color-misc-yellow-lighter); + --f-color-like: var(--f-color-misc-red-default); + --f-color-like-hover: var(--f-color-misc-red-lighter); + + --f-color-feedback-success: var(--f-color-misc-green-default); + --f-color-feedback-alert: var(--f-color-misc-yellow-default); + --f-color-feedback-notification: var(--f-color-misc-warm-red-default); +} diff --git a/packages/ui/uikit/flippo/components/src/styles/variables/_fonts.scss b/packages/ui/uikit/flippo/components/src/styles/variables/_fonts.scss new file mode 100644 index 00000000..c5da4caa --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/variables/_fonts.scss @@ -0,0 +1,73 @@ +.fonts { + --f-text-display-1-line-height: 100%; + --f-text-display-1-size: 6.562rem; + --f-text-display-1-weight-weaker: 300; + --f-text-display-1-weight-default: 600; + --f-text-display-1-weight-stronger: 800; + + --f-text-display-2-line-height: 110%; + --f-text-display-2-size: 4.125rem; + --f-text-display-2-weight-weaker: 500; + --f-text-display-2-weight-default: 600; + --f-text-display-2-weight-stronger: 700; + + --f-text-title-1-line-height: 110%; + --f-text-title-1-size: 2.875rem; + --f-text-title-1-weight-weaker: 500; + --f-text-title-1-weight-default: 600; + --f-text-title-1-weight-stronger: 700; + + --f-text-title-2-line-height: 125%; + --f-text-title-2-size: 2.25rem; + --f-text-title-2-weight-weaker: 500; + --f-text-title-2-weight-default: 600; + --f-text-title-2-weight-stronger: 800; + + --f-text-title-3-line-height: 135%; + --f-text-title-3-size: 1.812rem; + --f-text-title-3-weight-weaker: 500; + --f-text-title-3-weight-default: 600; + --f-text-title-3-weight-stronger: 800; + + --f-text-heading-1-line-height: 140%; + --f-text-heading-1-size: 1.625rem; + --f-text-heading-1-weight-weaker: 500; + --f-text-heading-1-weight-default: 600; + --f-text-heading-1-weight-stronger: 700; + + --f-text-heading-2-line-height: 140%; + --f-text-heading-2-size: 1.438rem; + --f-text-heading-2-weight-weaker: 400; + --f-text-heading-2-weight-default: 600; + --f-text-heading-2-weight-stronger: 700; + + --f-text-heading-3-line-height: 150%; + --f-text-heading-3-size: 1.25rem; + --f-text-heading-3-weight-weaker: 500; + --f-text-heading-3-weight-default: 600; + --f-text-heading-3-weight-stronger: 700; + + --f-text-body-1-line-height: 150%; + --f-text-body-1-size: 1.125rem; + --f-text-body-1-weight-weaker: 300; + --f-text-body-1-weight-default: 400; + --f-text-body-1-weight-stronger: 600; + + --f-text-body-2-line-height: 160%; + --f-text-body-2-size: 1rem; + --f-text-body-2-weight-weaker: 500; + --f-text-body-2-weight-default: 600; + --f-text-body-2-weight-stronger: 700; + + --f-text-body-3-line-height: 160%; + --f-text-body-3-size: 0.875rem; + --f-text-body-3-weight-weaker: 500; + --f-text-body-3-weight-default: 600; + --f-text-body-3-weight-stronger: 800; + + --f-text-label-line-height: 150%; + --f-text-label-size: 0.812rem; + --f-text-label-weight-weaker: 500; + --f-text-label-weight-default: 600; + --f-text-label-weight-stronger: 800; +} diff --git a/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss b/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss new file mode 100644 index 00000000..c51e4806 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss @@ -0,0 +1,29 @@ +.spacings { + --f-spacing-0: 2px; + --f-spacing-1: 4px; + --f-spacing-2: 8px; + --f-spacing-3: 12px; + --f-spacing-4: 16px; + --f-spacing-5: 20px; + --f-spacing-6: 24px; + --f-spacing-7: 28px; + --f-spacing-8: 32px; + --f-spacing-9: 36px; + --f-spacing-10: 40px; + --f-spacing-11: 44px; + --f-spacing-12: 48px; + --f-spacing-13: 52px; + --f-spacing-14: 56px; + --f-spacing-15: 60px; + --f-spacing-16: 64px; + --f-spacing-max: 1000px; + + --f-border-radius-button: var(--f-spacing-max); + --f-border-radius-input-field: var(--f-spacing-max); + --f-border-radius-card: var(--f-spacing-4); + --f-border-radius-menu: var(--f-spacing-4); + --f-border-radius-menu-item: var(--f-spacing-3); + --f-border-radius-popup: var(--f-spacing-6); + --f-border-radius-zone: var(--f-spacing-4); + --f-border-radius-full: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/types/polymorphic.ts b/packages/ui/uikit/flippo/components/src/types/polymorphic.ts new file mode 100644 index 00000000..6da0583b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/types/polymorphic.ts @@ -0,0 +1,12 @@ +import type { ComponentPropsWithRef, ElementType } from 'react'; + +// Для экспорта полиморфных типов в других компонентах +export type PolymorphicComponentProps< + T extends ElementType, + Props = Record +> = Props & ComponentPropsWithRef & { as?: T }; + +export type PolymorphicComponentPropsWithRef< + T extends ElementType, + Props = Record +> = PolymorphicComponentProps; diff --git a/packages/ui/uikit/flippo/components/src/vite-env.d.ts b/packages/ui/uikit/flippo/components/src/vite-env.d.ts new file mode 100644 index 00000000..f6191194 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/vite-env.d.ts @@ -0,0 +1,11 @@ +/// + +declare module '*.module.scss' { + const classes: { readonly [key: string]: string }; + export default classes; +} + +declare module '*.module.css' { + const classes: { readonly [key: string]: string }; + export default classes; +} diff --git a/packages/ui/uikit/flippo/components/tsconfig.json b/packages/ui/uikit/flippo/components/tsconfig.json new file mode 100644 index 00000000..39be7c1e --- /dev/null +++ b/packages/ui/uikit/flippo/components/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "@flippo/tsconfig", + "compilerOptions": { + "jsx": "react", + + "lib": ["dom", "ES2024"], + + "paths": { + "@lib/*": ["./src/lib/*"], + "@packages/*": ["./src/packages/*"] + }, + "types": ["react", "react-dom", "node"] + }, + "include": ["eslint.config.js", "src/**/*.tsx", "src/**/*.ts", "src/vite-env.d.ts", "src/types/scss.d.ts", "vite.config.ts", "vitest.config.ts", ".storybook/**/*.ts", ".storybook/**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/ui/uikit/flippo/components/vite.config.ts b/packages/ui/uikit/flippo/components/vite.config.ts new file mode 100644 index 00000000..cf652891 --- /dev/null +++ b/packages/ui/uikit/flippo/components/vite.config.ts @@ -0,0 +1,52 @@ +import path from 'node:path'; + +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + build: { + lib: { + entry: path.resolve(__dirname, 'src/index.ts'), + name: 'FlippoComponents', + formats: ['es', 'cjs'], + fileName: (format) => `index.${format === 'cjs' ? 'js' : 'mjs'}` + }, + rollupOptions: { + external: ['react', 'react-dom'], + output: { + globals: { + 'react': 'React', + 'react-dom': 'ReactDOM' + } + } + }, + outDir: 'dist' + }, + css: { + modules: { + localsConvention: 'camelCase' + }, + preprocessorOptions: { + scss: { + api: 'modern-compiler', + loadPaths: ['./src/styles/'], + style: 'compressed' + } + } + }, + envPrefix: 'FLIPPO_', + resolve: { + alias: { + '@lib': path.resolve(__dirname, './src/lib') + } + }, + server: { + host: '0.0.0.0', // '127.0.0.1', + port: 3030, + watch: { + usePolling: true + } + } +}); diff --git a/packages/ui/uikit/flippo/components/vitest.config.ts b/packages/ui/uikit/flippo/components/vitest.config.ts new file mode 100644 index 00000000..39380c0d --- /dev/null +++ b/packages/ui/uikit/flippo/components/vitest.config.ts @@ -0,0 +1,18 @@ +/// + +import { defineConfig, mergeConfig } from 'vitest/config'; + +import viteConfig from './vite.config'; + +// https://vitest.dev/config/ +export default mergeConfig(viteConfig, defineConfig({ + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['@flippo/internal-test-utils/setup'], + // you might want to disable it, if you don't have tests that rely on CSS + // since parsing CSS is slow + css: true, + include: ['src/**/*.test.{ts,tsx}'] + } +})); From 2e206da95f4942986577999fcc2bdb3430bdcf38 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 13 Sep 2025 00:15:36 +0300 Subject: [PATCH 07/37] update(icons): update icons --- .nvmrc | 2 +- backend/package.json | 48 +- frontend/.storybook/customTheme.ts | 12 +- package.json | 4 +- packages/test/package.json | 30 +- packages/ui/icons/lib/AddRowAboveIcon.tsx | 2 +- packages/ui/icons/lib/AddRowBelowIcon.tsx | 2 +- packages/ui/icons/lib/AddSquareIcon.tsx | 2 +- packages/ui/icons/lib/Arrow360Icon.tsx | 2 +- packages/ui/icons/lib/ArrowBackIcon.tsx | 2 +- .../ui/icons/lib/ArrowDownToSquareIcon.tsx | 2 +- .../ui/icons/lib/ArrowLeftArrowRightIcon.tsx | 2 +- packages/ui/icons/lib/ArrowOutwardIcon.tsx | 2 +- .../ui/icons/lib/ArrowRightFromSquareIcon.tsx | 2 +- .../ui/icons/lib/ArrowRightToSquareIcon.tsx | 2 +- .../lib/ArrowShapeTurnUpRightCheckIcon.tsx | 2 +- .../icons/lib/ArrowShapeTurnUpRightIcon.tsx | 2 +- .../ui/icons/lib/ArrowUpArrowDownIcon.tsx | 2 +- .../ui/icons/lib/ArrowUturnCcwLeftIcon.tsx | 2 +- .../ui/icons/lib/ArrowUturnCwRightIcon.tsx | 2 +- .../ui/icons/lib/ArrowsRotateRightAddIcon.tsx | 2 +- .../icons/lib/ArrowsRotateRightCheckIcon.tsx | 2 +- packages/ui/icons/lib/AttachFileIcon.tsx | 2 +- packages/ui/icons/lib/BookmarkFillIcon.tsx | 2 +- packages/ui/icons/lib/BookmarkIcon.tsx | 2 +- packages/ui/icons/lib/BookmarksIcon.tsx | 2 +- packages/ui/icons/lib/CheckIcon.tsx | 2 +- packages/ui/icons/lib/ChevronDownIcon.tsx | 2 +- .../ui/icons/lib/ChevronDownToLineIcon.tsx | 2 +- packages/ui/icons/lib/ChevronLeftIcon.tsx | 2 +- packages/ui/icons/lib/ChevronRightIcon.tsx | 2 +- packages/ui/icons/lib/ChevronUpIcon.tsx | 2 +- packages/ui/icons/lib/ChevronUpToLineIcon.tsx | 2 +- .../icons/lib/ChevronsCollapseUpRightIcon.tsx | 2 +- .../icons/lib/ChevronsExpandUpRightIcon.tsx | 2 +- packages/ui/icons/lib/CircleCheckFillIcon.tsx | 2 +- packages/ui/icons/lib/CircleCheckIcon.tsx | 2 +- packages/ui/icons/lib/CircleInfoFillIcon.tsx | 2 +- packages/ui/icons/lib/CircleInfoIcon.tsx | 2 +- packages/ui/icons/lib/CircleXmarkFillIcon.tsx | 2 +- packages/ui/icons/lib/CircleXmarkIcon.tsx | 2 +- packages/ui/icons/lib/ClipboardIcon.tsx | 2 +- packages/ui/icons/lib/Clock40Icon.tsx | 2 +- packages/ui/icons/lib/Clock60Icon.tsx | 2 +- .../icons/lib/ClockArrowRotateCcwLeftIcon.tsx | 2 +- packages/ui/icons/lib/CodeBlockIcon.tsx | 2 +- packages/ui/icons/lib/CopyIcon.tsx | 2 +- packages/ui/icons/lib/DeleteIcon.tsx | 2 +- packages/ui/icons/lib/DeleteXmarkIcon.tsx | 2 +- packages/ui/icons/lib/DotsHorizontalIcon.tsx | 2 +- packages/ui/icons/lib/DotsVerticalIcon.tsx | 2 +- packages/ui/icons/lib/EqualIcon.tsx | 2 +- packages/ui/icons/lib/ExploreFillIcon.tsx | 2 +- packages/ui/icons/lib/ExploreIcon.tsx | 2 +- packages/ui/icons/lib/FavoriteFillIcon.tsx | 2 +- packages/ui/icons/lib/FavoriteIcon.tsx | 2 +- packages/ui/icons/lib/FileAddIcon.tsx | 2 +- packages/ui/icons/lib/FileCheckFillIcon.tsx | 2 +- packages/ui/icons/lib/FileCheckIcon.tsx | 2 +- packages/ui/icons/lib/FileIcon.tsx | 2 +- packages/ui/icons/lib/FilterFillIcon.tsx | 2 +- packages/ui/icons/lib/FilterIcon.tsx | 2 +- packages/ui/icons/lib/FlagRuIcon.tsx | 2 +- packages/ui/icons/lib/FlagUkIcon.tsx | 2 +- packages/ui/icons/lib/FolderAddIcon.tsx | 2 +- packages/ui/icons/lib/FolderFillIcon.tsx | 2 +- packages/ui/icons/lib/FolderIcon.tsx | 2 +- packages/ui/icons/lib/FolderOpenFillIcon.tsx | 2 +- packages/ui/icons/lib/FolderOpenIcon.tsx | 2 +- packages/ui/icons/lib/FoldersIcon.tsx | 2 +- packages/ui/icons/lib/FormatBoldIcon.tsx | 2 +- packages/ui/icons/lib/FormatItalicIcon.tsx | 2 +- packages/ui/icons/lib/FormatListOlIcon.tsx | 2 +- packages/ui/icons/lib/FormatListUlIcon.tsx | 2 +- packages/ui/icons/lib/FormatUndelineIcon.tsx | 2 +- packages/ui/icons/lib/FullscreenIcon.tsx | 2 +- packages/ui/icons/lib/FunnelIcon.tsx | 2 +- packages/ui/icons/lib/GlobeAddIcon.tsx | 2 +- packages/ui/icons/lib/GlobeIcon.tsx | 2 +- packages/ui/icons/lib/GoogleIcon.tsx | 2 +- packages/ui/icons/lib/GripIcon.tsx | 2 +- packages/ui/icons/lib/HintAddIcon.tsx | 2 +- packages/ui/icons/lib/HintIcon.tsx | 2 +- packages/ui/icons/lib/HintSlashIcon.tsx | 2 +- packages/ui/icons/lib/HomeFillIcon.tsx | 2 +- packages/ui/icons/lib/HomeIcon.tsx | 2 +- packages/ui/icons/lib/InterestsFillIcon.tsx | 2 +- packages/ui/icons/lib/InterestsIcon.tsx | 2 +- packages/ui/icons/lib/LanguageIcon.tsx | 2 +- packages/ui/icons/lib/LearnIcon.tsx | 2 +- packages/ui/icons/lib/LinkAddIcon.tsx | 2 +- packages/ui/icons/lib/LinkIcon.tsx | 2 +- packages/ui/icons/lib/LinkSlashIcon.tsx | 2 +- packages/ui/icons/lib/ListAddIcon.tsx | 2 +- packages/ui/icons/lib/MagnifierIcon.tsx | 2 +- packages/ui/icons/lib/MailAolIcon.tsx | 2 +- packages/ui/icons/lib/MailGmailIcon.tsx | 2 +- packages/ui/icons/lib/MailIcloudIcon.tsx | 2 +- packages/ui/icons/lib/MailMailIcon.tsx | 2 +- packages/ui/icons/lib/MailOutlookIcon.tsx | 2 +- packages/ui/icons/lib/MailProtonIcon.tsx | 2 +- packages/ui/icons/lib/MailYahooIcon.tsx | 2 +- packages/ui/icons/lib/MailYandexIcon.tsx | 2 +- packages/ui/icons/lib/MinusIcon.tsx | 2 +- packages/ui/icons/lib/MoveToFolderIcon.tsx | 2 +- packages/ui/icons/lib/NotificationsIcon.tsx | 2 +- packages/ui/icons/lib/PencilIcon.tsx | 2 +- packages/ui/icons/lib/PersonAddIcon.tsx | 2 +- packages/ui/icons/lib/PersonCheckFillIcon.tsx | 2 +- packages/ui/icons/lib/PersonCheckIcon.tsx | 2 +- packages/ui/icons/lib/PersonEditFillIcon.tsx | 2 +- packages/ui/icons/lib/PersonEditIcon.tsx | 2 +- packages/ui/icons/lib/PersonGroupIcon.tsx | 2 +- packages/ui/icons/lib/PersonPinIcon.tsx | 2 +- packages/ui/icons/lib/PlusIcon.tsx | 2 +- packages/ui/icons/lib/PreviewIcon.tsx | 2 +- packages/ui/icons/lib/SetAddIcon.tsx | 2 +- packages/ui/icons/lib/SetIcon.tsx | 2 +- packages/ui/icons/lib/SettingsIcon.tsx | 2 +- packages/ui/icons/lib/ShuffleIcon.tsx | 2 +- packages/ui/icons/lib/SortByAlphaIcon.tsx | 2 +- packages/ui/icons/lib/SortIcon.tsx | 2 +- packages/ui/icons/lib/SpinnerIcon.tsx | 2 +- packages/ui/icons/lib/StarIcon.tsx | 2 +- packages/ui/icons/lib/TableConvertIcon.tsx | 2 +- packages/ui/icons/lib/TagIcon.tsx | 2 +- packages/ui/icons/lib/TextFormatIcon.tsx | 2 +- packages/ui/icons/lib/VkIcon.tsx | 2 +- packages/ui/icons/lib/XmarkIcon.tsx | 2 +- packages/ui/icons/lib/YandexIcon.tsx | 2 +- packages/ui/icons/package.json | 2 +- packages/ui/icons/scripts/download.js | 288 +- packages/ui/icons/scripts/generateIcons.js | 9 +- pnpm-lock.yaml | 8677 +++++++++-------- pnpm-workspace.yaml | 138 +- 135 files changed, 5245 insertions(+), 4215 deletions(-) diff --git a/.nvmrc b/.nvmrc index 805efa9f..adb55585 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.14.0 \ No newline at end of file +22.14.0 \ No newline at end of file diff --git a/backend/package.json b/backend/package.json index 8670b9a1..044ecc35 100644 --- a/backend/package.json +++ b/backend/package.json @@ -17,44 +17,44 @@ "author": "Egor Gorochkin", "license": "ISC", "devDependencies": { - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.12.0", - "@eslint/migrate-config": "^1.3.1", - "@types/body-parser": "^1.19.5", - "@types/cookie-parser": "^1.4.7", - "@types/cors": "^2.8.17", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.34.0", + "@eslint/migrate-config": "^1.5.3", + "@types/body-parser": "^1.19.6", + "@types/cookie-parser": "^1.4.9", + "@types/cors": "^2.8.19", "@types/eslint__eslintrc": "^2.1.2", "@types/eslint__js": "^8.42.3", - "@types/express": "^4.17.21", + "@types/express": "^4.17.23", "@types/express-useragent": "^1.0.5", "@types/lodash-es": "^4.17.12", - "@types/node": "^22.5.5", - "@types/nodemailer": "^6.4.16", + "@types/node": "^22.18.0", + "@types/nodemailer": "^6.4.19", "@types/pino-http": "^5.8.4", - "@types/qs": "^6.9.16", - "@typescript-eslint/eslint-plugin": "^8.6.0", - "@typescript-eslint/parser": "^8.6.0", - "pino-pretty": "^11.2.2", + "@types/qs": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^8.41.0", + "@typescript-eslint/parser": "^8.41.0", + "pino-pretty": "^11.3.0", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.6.2" + "typescript": "^5.9.2" }, "dependencies": { - "axios": "^1.7.7", - "cookie-parser": "^1.4.6", + "axios": "^1.11.0", + "cookie-parser": "^1.4.7", "cors": "^2.8.5", - "dotenv": "^16.4.5", - "express": "^4.21.0", + "dotenv": "^16.6.1", + "express": "^4.21.2", "express-useragent": "^1.0.15", - "jose": "^5.9.2", + "jose": "^5.10.0", "lodash-es": "^4.17.21", - "nodemailer": "^6.9.15", - "nodemon": "^3.1.5", - "pino": "^9.4.0", + "nodemailer": "^6.10.1", + "nodemon": "^3.1.10", + "pino": "^9.9.0", "pkce-challenge": "^4.1.0", - "qs": "^6.13.0", + "qs": "^6.14.0", "surrealdb": "1.0.0-beta.21", "uuid": "^10.0.0", - "zod": "^3.23.8" + "zod": "^3.25.76" } } diff --git a/frontend/.storybook/customTheme.ts b/frontend/.storybook/customTheme.ts index 6495c170..4f85f534 100644 --- a/frontend/.storybook/customTheme.ts +++ b/frontend/.storybook/customTheme.ts @@ -1,9 +1,11 @@ import { create } from '@storybook/theming'; export default create({ - appBg: '#14151a', - appBorderRadius: 24, - barBg: '#14151a', - base: 'dark', - brandTitle: 'Flippo' + appBg: '#14151a', + appBorderRadius: 24, + barBg: '#14151a', + appContentBg: '#14151a', + appPreviewBg: '#14151a', + base: 'dark', + brandTitle: 'Flippo' }); diff --git a/package.json b/package.json index 45e9e83a..a3e83d10 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "publish": "npm i && turbo run build && changeset publish" }, "devDependencies": { - "@changesets/cli": "^2.28.1", - "turbo": "^2.5.0" + "@changesets/cli": "^2.29.6", + "turbo": "^2.5.6" }, "packageManager": "pnpm@10.14.0", "engines": { diff --git a/packages/test/package.json b/packages/test/package.json index e750d6c9..19a2a83b 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -13,7 +13,7 @@ "default": "./dist/index.mjs" }, "require": { - "types": "./dist/index.d.ts", + "types": "./dist/index.d.ts", "default": "./dist/index.js" } } @@ -41,23 +41,23 @@ "private": true, "packageManager": "pnpm@10.14.0", "dependencies": { - "@testing-library/jest-dom": "^6.1.0", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.5.0", - "@vitest/ui": "^1.0.0", - "vitest": "^1.0.0", - "jsdom": "^22.0.0" + "@testing-library/jest-dom": "catalog:", + "@testing-library/react": "catalog:", + "@testing-library/user-event": "catalog:", + "@vitest/ui": "catalog:", + "jsdom": "catalog:", + "vitest": "catalog:" }, "devDependencies": { - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "@types/node": "^20.0.0", - "typescript": "^5.0.0", - "tsup": "^8.0.0" + "@types/node": "catalog:", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "tsup": "catalog:", + "typescript": "catalog:" }, "peerDependencies": { - "react": ">=18.0.0", - "react-dom": ">=18.0.0", - "vitest": ">=1.0.0" + "react": "catalog:", + "react-dom": "catalog:", + "vitest": "catalog:" } } diff --git a/packages/ui/icons/lib/AddRowAboveIcon.tsx b/packages/ui/icons/lib/AddRowAboveIcon.tsx index 8bf5e40e..43301e34 100644 --- a/packages/ui/icons/lib/AddRowAboveIcon.tsx +++ b/packages/ui/icons/lib/AddRowAboveIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const AddRowAbove = (props: SVGProps) => ; +const AddRowAbove = (props: SVGProps) => ; export default AddRowAbove; diff --git a/packages/ui/icons/lib/AddRowBelowIcon.tsx b/packages/ui/icons/lib/AddRowBelowIcon.tsx index 2160f54a..61f89b6f 100644 --- a/packages/ui/icons/lib/AddRowBelowIcon.tsx +++ b/packages/ui/icons/lib/AddRowBelowIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const AddRowBelow = (props: SVGProps) => ; +const AddRowBelow = (props: SVGProps) => ; export default AddRowBelow; diff --git a/packages/ui/icons/lib/AddSquareIcon.tsx b/packages/ui/icons/lib/AddSquareIcon.tsx index cc8810a0..5f8daa7a 100644 --- a/packages/ui/icons/lib/AddSquareIcon.tsx +++ b/packages/ui/icons/lib/AddSquareIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const AddSquare = (props: SVGProps) => ; +const AddSquare = (props: SVGProps) => ; export default AddSquare; diff --git a/packages/ui/icons/lib/Arrow360Icon.tsx b/packages/ui/icons/lib/Arrow360Icon.tsx index 78606955..5b3227f2 100644 --- a/packages/ui/icons/lib/Arrow360Icon.tsx +++ b/packages/ui/icons/lib/Arrow360Icon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Arrow360 = (props: SVGProps) => ; +const Arrow360 = (props: SVGProps) => ; export default Arrow360; diff --git a/packages/ui/icons/lib/ArrowBackIcon.tsx b/packages/ui/icons/lib/ArrowBackIcon.tsx index 2aa874dd..2a6daa75 100644 --- a/packages/ui/icons/lib/ArrowBackIcon.tsx +++ b/packages/ui/icons/lib/ArrowBackIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowBack = (props: SVGProps) => ; +const ArrowBack = (props: SVGProps) => ; export default ArrowBack; diff --git a/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx b/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx index c4a2c206..363271ff 100644 --- a/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx +++ b/packages/ui/icons/lib/ArrowDownToSquareIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowDownToSquare = (props: SVGProps) => ; +const ArrowDownToSquare = (props: SVGProps) => ; export default ArrowDownToSquare; diff --git a/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx b/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx index 8bca4277..473bce78 100644 --- a/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx +++ b/packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowLeftArrowRight = (props: SVGProps) => ; +const ArrowLeftArrowRight = (props: SVGProps) => ; export default ArrowLeftArrowRight; diff --git a/packages/ui/icons/lib/ArrowOutwardIcon.tsx b/packages/ui/icons/lib/ArrowOutwardIcon.tsx index b2dcb53d..6a9d788c 100644 --- a/packages/ui/icons/lib/ArrowOutwardIcon.tsx +++ b/packages/ui/icons/lib/ArrowOutwardIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowOutward = (props: SVGProps) => ; +const ArrowOutward = (props: SVGProps) => ; export default ArrowOutward; diff --git a/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx b/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx index cc961628..6be9dcd1 100644 --- a/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx +++ b/packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowRightFromSquare = (props: SVGProps) => ; +const ArrowRightFromSquare = (props: SVGProps) => ; export default ArrowRightFromSquare; diff --git a/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx b/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx index 5ac804bf..ba534e12 100644 --- a/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx +++ b/packages/ui/icons/lib/ArrowRightToSquareIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowRightToSquare = (props: SVGProps) => ; +const ArrowRightToSquare = (props: SVGProps) => ; export default ArrowRightToSquare; diff --git a/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx b/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx index 38ed18da..80d4e90f 100644 --- a/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx +++ b/packages/ui/icons/lib/ArrowShapeTurnUpRightCheckIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowShapeTurnUpRightCheck = (props: SVGProps) => ; +const ArrowShapeTurnUpRightCheck = (props: SVGProps) => ; export default ArrowShapeTurnUpRightCheck; diff --git a/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx b/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx index 7ff4c1e9..6a1390a5 100644 --- a/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx +++ b/packages/ui/icons/lib/ArrowShapeTurnUpRightIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowShapeTurnUpRight = (props: SVGProps) => ; +const ArrowShapeTurnUpRight = (props: SVGProps) => ; export default ArrowShapeTurnUpRight; diff --git a/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx b/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx index be2ae17d..f5202c1b 100644 --- a/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx +++ b/packages/ui/icons/lib/ArrowUpArrowDownIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowUpArrowDown = (props: SVGProps) => ; +const ArrowUpArrowDown = (props: SVGProps) => ; export default ArrowUpArrowDown; diff --git a/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx b/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx index f998e6c5..0a44356c 100644 --- a/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx +++ b/packages/ui/icons/lib/ArrowUturnCcwLeftIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowUturnCcwLeft = (props: SVGProps) => ; +const ArrowUturnCcwLeft = (props: SVGProps) => ; export default ArrowUturnCcwLeft; diff --git a/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx b/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx index 26bffee7..cab72a8e 100644 --- a/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx +++ b/packages/ui/icons/lib/ArrowUturnCwRightIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowUturnCwRight = (props: SVGProps) => ; +const ArrowUturnCwRight = (props: SVGProps) => ; export default ArrowUturnCwRight; diff --git a/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx b/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx index bc3436c2..6391cd35 100644 --- a/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx +++ b/packages/ui/icons/lib/ArrowsRotateRightAddIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function ArrowsRotateRightAdd(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx b/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx index 089ceb43..b2a097cc 100644 --- a/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx +++ b/packages/ui/icons/lib/ArrowsRotateRightCheckIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ArrowsRotateRightCheck = (props: SVGProps) => ; +const ArrowsRotateRightCheck = (props: SVGProps) => ; export default ArrowsRotateRightCheck; diff --git a/packages/ui/icons/lib/AttachFileIcon.tsx b/packages/ui/icons/lib/AttachFileIcon.tsx index 52e7b381..8057a636 100644 --- a/packages/ui/icons/lib/AttachFileIcon.tsx +++ b/packages/ui/icons/lib/AttachFileIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const AttachFile = (props: SVGProps) => ; +const AttachFile = (props: SVGProps) => ; export default AttachFile; diff --git a/packages/ui/icons/lib/BookmarkFillIcon.tsx b/packages/ui/icons/lib/BookmarkFillIcon.tsx index 8171afbd..2c99176b 100644 --- a/packages/ui/icons/lib/BookmarkFillIcon.tsx +++ b/packages/ui/icons/lib/BookmarkFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const BookmarkFill = (props: SVGProps) => ; +const BookmarkFill = (props: SVGProps) => ; export default BookmarkFill; diff --git a/packages/ui/icons/lib/BookmarkIcon.tsx b/packages/ui/icons/lib/BookmarkIcon.tsx index 1e85982b..d884673f 100644 --- a/packages/ui/icons/lib/BookmarkIcon.tsx +++ b/packages/ui/icons/lib/BookmarkIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Bookmark = (props: SVGProps) => ; +const Bookmark = (props: SVGProps) => ; export default Bookmark; diff --git a/packages/ui/icons/lib/BookmarksIcon.tsx b/packages/ui/icons/lib/BookmarksIcon.tsx index 358898be..79429978 100644 --- a/packages/ui/icons/lib/BookmarksIcon.tsx +++ b/packages/ui/icons/lib/BookmarksIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Bookmarks = (props: SVGProps) => ; +const Bookmarks = (props: SVGProps) => ; export default Bookmarks; diff --git a/packages/ui/icons/lib/CheckIcon.tsx b/packages/ui/icons/lib/CheckIcon.tsx index 9269d160..ad259067 100644 --- a/packages/ui/icons/lib/CheckIcon.tsx +++ b/packages/ui/icons/lib/CheckIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Check = (props: SVGProps) => ; +const Check = (props: SVGProps) => ; export default Check; diff --git a/packages/ui/icons/lib/ChevronDownIcon.tsx b/packages/ui/icons/lib/ChevronDownIcon.tsx index b3383476..06d1710b 100644 --- a/packages/ui/icons/lib/ChevronDownIcon.tsx +++ b/packages/ui/icons/lib/ChevronDownIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronDown = (props: SVGProps) => ; +const ChevronDown = (props: SVGProps) => ; export default ChevronDown; diff --git a/packages/ui/icons/lib/ChevronDownToLineIcon.tsx b/packages/ui/icons/lib/ChevronDownToLineIcon.tsx index 0ebc01a5..6329795f 100644 --- a/packages/ui/icons/lib/ChevronDownToLineIcon.tsx +++ b/packages/ui/icons/lib/ChevronDownToLineIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronDownToLine = (props: SVGProps) => ; +const ChevronDownToLine = (props: SVGProps) => ; export default ChevronDownToLine; diff --git a/packages/ui/icons/lib/ChevronLeftIcon.tsx b/packages/ui/icons/lib/ChevronLeftIcon.tsx index 70f1e6cf..2b10660e 100644 --- a/packages/ui/icons/lib/ChevronLeftIcon.tsx +++ b/packages/ui/icons/lib/ChevronLeftIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronLeft = (props: SVGProps) => ; +const ChevronLeft = (props: SVGProps) => ; export default ChevronLeft; diff --git a/packages/ui/icons/lib/ChevronRightIcon.tsx b/packages/ui/icons/lib/ChevronRightIcon.tsx index e21830fd..5753036b 100644 --- a/packages/ui/icons/lib/ChevronRightIcon.tsx +++ b/packages/ui/icons/lib/ChevronRightIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronRight = (props: SVGProps) => ; +const ChevronRight = (props: SVGProps) => ; export default ChevronRight; diff --git a/packages/ui/icons/lib/ChevronUpIcon.tsx b/packages/ui/icons/lib/ChevronUpIcon.tsx index d887477c..44e1babf 100644 --- a/packages/ui/icons/lib/ChevronUpIcon.tsx +++ b/packages/ui/icons/lib/ChevronUpIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronUp = (props: SVGProps) => ; +const ChevronUp = (props: SVGProps) => ; export default ChevronUp; diff --git a/packages/ui/icons/lib/ChevronUpToLineIcon.tsx b/packages/ui/icons/lib/ChevronUpToLineIcon.tsx index 33cd39e5..5a469dda 100644 --- a/packages/ui/icons/lib/ChevronUpToLineIcon.tsx +++ b/packages/ui/icons/lib/ChevronUpToLineIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronUpToLine = (props: SVGProps) => ; +const ChevronUpToLine = (props: SVGProps) => ; export default ChevronUpToLine; diff --git a/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx b/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx index 2acb2c38..5a1ffaa5 100644 --- a/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx +++ b/packages/ui/icons/lib/ChevronsCollapseUpRightIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronsCollapseUpRight = (props: SVGProps) => ; +const ChevronsCollapseUpRight = (props: SVGProps) => ; export default ChevronsCollapseUpRight; diff --git a/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx b/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx index ec0c8ae0..60238908 100644 --- a/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx +++ b/packages/ui/icons/lib/ChevronsExpandUpRightIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ChevronsExpandUpRight = (props: SVGProps) => ; +const ChevronsExpandUpRight = (props: SVGProps) => ; export default ChevronsExpandUpRight; diff --git a/packages/ui/icons/lib/CircleCheckFillIcon.tsx b/packages/ui/icons/lib/CircleCheckFillIcon.tsx index 363f588c..9496a17f 100644 --- a/packages/ui/icons/lib/CircleCheckFillIcon.tsx +++ b/packages/ui/icons/lib/CircleCheckFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CircleCheckFill = (props: SVGProps) => ; +const CircleCheckFill = (props: SVGProps) => ; export default CircleCheckFill; diff --git a/packages/ui/icons/lib/CircleCheckIcon.tsx b/packages/ui/icons/lib/CircleCheckIcon.tsx index 8650ed1b..218bfc84 100644 --- a/packages/ui/icons/lib/CircleCheckIcon.tsx +++ b/packages/ui/icons/lib/CircleCheckIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CircleCheck = (props: SVGProps) => ; +const CircleCheck = (props: SVGProps) => ; export default CircleCheck; diff --git a/packages/ui/icons/lib/CircleInfoFillIcon.tsx b/packages/ui/icons/lib/CircleInfoFillIcon.tsx index a05d5390..b338569d 100644 --- a/packages/ui/icons/lib/CircleInfoFillIcon.tsx +++ b/packages/ui/icons/lib/CircleInfoFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CircleInfoFill = (props: SVGProps) => ; +const CircleInfoFill = (props: SVGProps) => ; export default CircleInfoFill; diff --git a/packages/ui/icons/lib/CircleInfoIcon.tsx b/packages/ui/icons/lib/CircleInfoIcon.tsx index d03b2b06..25ab22ce 100644 --- a/packages/ui/icons/lib/CircleInfoIcon.tsx +++ b/packages/ui/icons/lib/CircleInfoIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CircleInfo = (props: SVGProps) => ; +const CircleInfo = (props: SVGProps) => ; export default CircleInfo; diff --git a/packages/ui/icons/lib/CircleXmarkFillIcon.tsx b/packages/ui/icons/lib/CircleXmarkFillIcon.tsx index bd6e44b6..41a6e27e 100644 --- a/packages/ui/icons/lib/CircleXmarkFillIcon.tsx +++ b/packages/ui/icons/lib/CircleXmarkFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CircleXmarkFill = (props: SVGProps) => ; +const CircleXmarkFill = (props: SVGProps) => ; export default CircleXmarkFill; diff --git a/packages/ui/icons/lib/CircleXmarkIcon.tsx b/packages/ui/icons/lib/CircleXmarkIcon.tsx index 031ec448..1ccfa646 100644 --- a/packages/ui/icons/lib/CircleXmarkIcon.tsx +++ b/packages/ui/icons/lib/CircleXmarkIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CircleXmark = (props: SVGProps) => ; +const CircleXmark = (props: SVGProps) => ; export default CircleXmark; diff --git a/packages/ui/icons/lib/ClipboardIcon.tsx b/packages/ui/icons/lib/ClipboardIcon.tsx index b5cd9acd..87f2f039 100644 --- a/packages/ui/icons/lib/ClipboardIcon.tsx +++ b/packages/ui/icons/lib/ClipboardIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Clipboard = (props: SVGProps) => ; +const Clipboard = (props: SVGProps) => ; export default Clipboard; diff --git a/packages/ui/icons/lib/Clock40Icon.tsx b/packages/ui/icons/lib/Clock40Icon.tsx index b99543ff..9653074f 100644 --- a/packages/ui/icons/lib/Clock40Icon.tsx +++ b/packages/ui/icons/lib/Clock40Icon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Clock40 = (props: SVGProps) => ; +const Clock40 = (props: SVGProps) => ; export default Clock40; diff --git a/packages/ui/icons/lib/Clock60Icon.tsx b/packages/ui/icons/lib/Clock60Icon.tsx index 1195373b..1e834495 100644 --- a/packages/ui/icons/lib/Clock60Icon.tsx +++ b/packages/ui/icons/lib/Clock60Icon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Clock60 = (props: SVGProps) => ; +const Clock60 = (props: SVGProps) => ; export default Clock60; diff --git a/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx b/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx index fec41c22..20401126 100644 --- a/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx +++ b/packages/ui/icons/lib/ClockArrowRotateCcwLeftIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ClockArrowRotateCcwLeft = (props: SVGProps) => ; +const ClockArrowRotateCcwLeft = (props: SVGProps) => ; export default ClockArrowRotateCcwLeft; diff --git a/packages/ui/icons/lib/CodeBlockIcon.tsx b/packages/ui/icons/lib/CodeBlockIcon.tsx index d4ff1da1..822922e9 100644 --- a/packages/ui/icons/lib/CodeBlockIcon.tsx +++ b/packages/ui/icons/lib/CodeBlockIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const CodeBlock = (props: SVGProps) => ; +const CodeBlock = (props: SVGProps) => ; export default CodeBlock; diff --git a/packages/ui/icons/lib/CopyIcon.tsx b/packages/ui/icons/lib/CopyIcon.tsx index 3dca649e..0afd33f9 100644 --- a/packages/ui/icons/lib/CopyIcon.tsx +++ b/packages/ui/icons/lib/CopyIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Copy = (props: SVGProps) => ; +const Copy = (props: SVGProps) => ; export default Copy; diff --git a/packages/ui/icons/lib/DeleteIcon.tsx b/packages/ui/icons/lib/DeleteIcon.tsx index 42d9a037..2f988d23 100644 --- a/packages/ui/icons/lib/DeleteIcon.tsx +++ b/packages/ui/icons/lib/DeleteIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Delete = (props: SVGProps) => ; +const Delete = (props: SVGProps) => ; export default Delete; diff --git a/packages/ui/icons/lib/DeleteXmarkIcon.tsx b/packages/ui/icons/lib/DeleteXmarkIcon.tsx index 41f2ef15..f90d553f 100644 --- a/packages/ui/icons/lib/DeleteXmarkIcon.tsx +++ b/packages/ui/icons/lib/DeleteXmarkIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const DeleteXmark = (props: SVGProps) => ; +const DeleteXmark = (props: SVGProps) => ; export default DeleteXmark; diff --git a/packages/ui/icons/lib/DotsHorizontalIcon.tsx b/packages/ui/icons/lib/DotsHorizontalIcon.tsx index bb6baee8..824542b1 100644 --- a/packages/ui/icons/lib/DotsHorizontalIcon.tsx +++ b/packages/ui/icons/lib/DotsHorizontalIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const DotsHorizontal = (props: SVGProps) => ; +const DotsHorizontal = (props: SVGProps) => ; export default DotsHorizontal; diff --git a/packages/ui/icons/lib/DotsVerticalIcon.tsx b/packages/ui/icons/lib/DotsVerticalIcon.tsx index ef1e08fa..920adeb6 100644 --- a/packages/ui/icons/lib/DotsVerticalIcon.tsx +++ b/packages/ui/icons/lib/DotsVerticalIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const DotsVertical = (props: SVGProps) => ; +const DotsVertical = (props: SVGProps) => ; export default DotsVertical; diff --git a/packages/ui/icons/lib/EqualIcon.tsx b/packages/ui/icons/lib/EqualIcon.tsx index b525d4a3..a90fa1be 100644 --- a/packages/ui/icons/lib/EqualIcon.tsx +++ b/packages/ui/icons/lib/EqualIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Equal = (props: SVGProps) => ; +const Equal = (props: SVGProps) => ; export default Equal; diff --git a/packages/ui/icons/lib/ExploreFillIcon.tsx b/packages/ui/icons/lib/ExploreFillIcon.tsx index 3c13ddba..04baa506 100644 --- a/packages/ui/icons/lib/ExploreFillIcon.tsx +++ b/packages/ui/icons/lib/ExploreFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ExploreFill = (props: SVGProps) => ; +const ExploreFill = (props: SVGProps) => ; export default ExploreFill; diff --git a/packages/ui/icons/lib/ExploreIcon.tsx b/packages/ui/icons/lib/ExploreIcon.tsx index 1ecae5d2..94950bbb 100644 --- a/packages/ui/icons/lib/ExploreIcon.tsx +++ b/packages/ui/icons/lib/ExploreIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Explore = (props: SVGProps) => ; +const Explore = (props: SVGProps) => ; export default Explore; diff --git a/packages/ui/icons/lib/FavoriteFillIcon.tsx b/packages/ui/icons/lib/FavoriteFillIcon.tsx index 282fddb1..44ee6615 100644 --- a/packages/ui/icons/lib/FavoriteFillIcon.tsx +++ b/packages/ui/icons/lib/FavoriteFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FavoriteFill = (props: SVGProps) => ; +const FavoriteFill = (props: SVGProps) => ; export default FavoriteFill; diff --git a/packages/ui/icons/lib/FavoriteIcon.tsx b/packages/ui/icons/lib/FavoriteIcon.tsx index 9043ae6b..a5f2f06d 100644 --- a/packages/ui/icons/lib/FavoriteIcon.tsx +++ b/packages/ui/icons/lib/FavoriteIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Favorite = (props: SVGProps) => ; +const Favorite = (props: SVGProps) => ; export default Favorite; diff --git a/packages/ui/icons/lib/FileAddIcon.tsx b/packages/ui/icons/lib/FileAddIcon.tsx index f2dfa88f..b944a299 100644 --- a/packages/ui/icons/lib/FileAddIcon.tsx +++ b/packages/ui/icons/lib/FileAddIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FileAdd = (props: SVGProps) => ; +const FileAdd = (props: SVGProps) => ; export default FileAdd; diff --git a/packages/ui/icons/lib/FileCheckFillIcon.tsx b/packages/ui/icons/lib/FileCheckFillIcon.tsx index 50271002..33c8739c 100644 --- a/packages/ui/icons/lib/FileCheckFillIcon.tsx +++ b/packages/ui/icons/lib/FileCheckFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FileCheckFill = (props: SVGProps) => ; +const FileCheckFill = (props: SVGProps) => ; export default FileCheckFill; diff --git a/packages/ui/icons/lib/FileCheckIcon.tsx b/packages/ui/icons/lib/FileCheckIcon.tsx index 916eac12..51da3eb9 100644 --- a/packages/ui/icons/lib/FileCheckIcon.tsx +++ b/packages/ui/icons/lib/FileCheckIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FileCheck = (props: SVGProps) => ; +const FileCheck = (props: SVGProps) => ; export default FileCheck; diff --git a/packages/ui/icons/lib/FileIcon.tsx b/packages/ui/icons/lib/FileIcon.tsx index 821d2daf..49aae219 100644 --- a/packages/ui/icons/lib/FileIcon.tsx +++ b/packages/ui/icons/lib/FileIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const File = (props: SVGProps) => ; +const File = (props: SVGProps) => ; export default File; diff --git a/packages/ui/icons/lib/FilterFillIcon.tsx b/packages/ui/icons/lib/FilterFillIcon.tsx index 0f9a5268..b8f220a2 100644 --- a/packages/ui/icons/lib/FilterFillIcon.tsx +++ b/packages/ui/icons/lib/FilterFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FilterFill = (props: SVGProps) => ; +const FilterFill = (props: SVGProps) => ; export default FilterFill; diff --git a/packages/ui/icons/lib/FilterIcon.tsx b/packages/ui/icons/lib/FilterIcon.tsx index 6851954d..54f5ce84 100644 --- a/packages/ui/icons/lib/FilterIcon.tsx +++ b/packages/ui/icons/lib/FilterIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Filter = (props: SVGProps) => ; +const Filter = (props: SVGProps) => ; export default Filter; diff --git a/packages/ui/icons/lib/FlagRuIcon.tsx b/packages/ui/icons/lib/FlagRuIcon.tsx index e04db2dc..e5d03701 100644 --- a/packages/ui/icons/lib/FlagRuIcon.tsx +++ b/packages/ui/icons/lib/FlagRuIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function FlagRu(props: SVGProps) { return ( - + ) { return ( - + ) => ; +const FolderAdd = (props: SVGProps) => ; export default FolderAdd; diff --git a/packages/ui/icons/lib/FolderFillIcon.tsx b/packages/ui/icons/lib/FolderFillIcon.tsx index 3482763e..038ab7ff 100644 --- a/packages/ui/icons/lib/FolderFillIcon.tsx +++ b/packages/ui/icons/lib/FolderFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FolderFill = (props: SVGProps) => ; +const FolderFill = (props: SVGProps) => ; export default FolderFill; diff --git a/packages/ui/icons/lib/FolderIcon.tsx b/packages/ui/icons/lib/FolderIcon.tsx index 85a53246..c0f250d9 100644 --- a/packages/ui/icons/lib/FolderIcon.tsx +++ b/packages/ui/icons/lib/FolderIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Folder = (props: SVGProps) => ; +const Folder = (props: SVGProps) => ; export default Folder; diff --git a/packages/ui/icons/lib/FolderOpenFillIcon.tsx b/packages/ui/icons/lib/FolderOpenFillIcon.tsx index c1ca1ce7..5bf70670 100644 --- a/packages/ui/icons/lib/FolderOpenFillIcon.tsx +++ b/packages/ui/icons/lib/FolderOpenFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FolderOpenFill = (props: SVGProps) => ; +const FolderOpenFill = (props: SVGProps) => ; export default FolderOpenFill; diff --git a/packages/ui/icons/lib/FolderOpenIcon.tsx b/packages/ui/icons/lib/FolderOpenIcon.tsx index d5300a7c..130663e6 100644 --- a/packages/ui/icons/lib/FolderOpenIcon.tsx +++ b/packages/ui/icons/lib/FolderOpenIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FolderOpen = (props: SVGProps) => ; +const FolderOpen = (props: SVGProps) => ; export default FolderOpen; diff --git a/packages/ui/icons/lib/FoldersIcon.tsx b/packages/ui/icons/lib/FoldersIcon.tsx index eb4adfa3..e35abb52 100644 --- a/packages/ui/icons/lib/FoldersIcon.tsx +++ b/packages/ui/icons/lib/FoldersIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Folders = (props: SVGProps) => ; +const Folders = (props: SVGProps) => ; export default Folders; diff --git a/packages/ui/icons/lib/FormatBoldIcon.tsx b/packages/ui/icons/lib/FormatBoldIcon.tsx index 58ecdebf..693cc97f 100644 --- a/packages/ui/icons/lib/FormatBoldIcon.tsx +++ b/packages/ui/icons/lib/FormatBoldIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FormatBold = (props: SVGProps) => ; +const FormatBold = (props: SVGProps) => ; export default FormatBold; diff --git a/packages/ui/icons/lib/FormatItalicIcon.tsx b/packages/ui/icons/lib/FormatItalicIcon.tsx index a6e0894d..a1715d8f 100644 --- a/packages/ui/icons/lib/FormatItalicIcon.tsx +++ b/packages/ui/icons/lib/FormatItalicIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FormatItalic = (props: SVGProps) => ; +const FormatItalic = (props: SVGProps) => ; export default FormatItalic; diff --git a/packages/ui/icons/lib/FormatListOlIcon.tsx b/packages/ui/icons/lib/FormatListOlIcon.tsx index e1463b24..9ca564db 100644 --- a/packages/ui/icons/lib/FormatListOlIcon.tsx +++ b/packages/ui/icons/lib/FormatListOlIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FormatListOl = (props: SVGProps) => ; +const FormatListOl = (props: SVGProps) => ; export default FormatListOl; diff --git a/packages/ui/icons/lib/FormatListUlIcon.tsx b/packages/ui/icons/lib/FormatListUlIcon.tsx index dd21c806..4c115920 100644 --- a/packages/ui/icons/lib/FormatListUlIcon.tsx +++ b/packages/ui/icons/lib/FormatListUlIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FormatListUl = (props: SVGProps) => ; +const FormatListUl = (props: SVGProps) => ; export default FormatListUl; diff --git a/packages/ui/icons/lib/FormatUndelineIcon.tsx b/packages/ui/icons/lib/FormatUndelineIcon.tsx index 32abd2ec..4dffe1ee 100644 --- a/packages/ui/icons/lib/FormatUndelineIcon.tsx +++ b/packages/ui/icons/lib/FormatUndelineIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const FormatUndeline = (props: SVGProps) => ; +const FormatUndeline = (props: SVGProps) => ; export default FormatUndeline; diff --git a/packages/ui/icons/lib/FullscreenIcon.tsx b/packages/ui/icons/lib/FullscreenIcon.tsx index cbb9a8ec..6b5577c5 100644 --- a/packages/ui/icons/lib/FullscreenIcon.tsx +++ b/packages/ui/icons/lib/FullscreenIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Fullscreen = (props: SVGProps) => ; +const Fullscreen = (props: SVGProps) => ; export default Fullscreen; diff --git a/packages/ui/icons/lib/FunnelIcon.tsx b/packages/ui/icons/lib/FunnelIcon.tsx index 84a2f7d8..caa62461 100644 --- a/packages/ui/icons/lib/FunnelIcon.tsx +++ b/packages/ui/icons/lib/FunnelIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Funnel = (props: SVGProps) => ; +const Funnel = (props: SVGProps) => ; export default Funnel; diff --git a/packages/ui/icons/lib/GlobeAddIcon.tsx b/packages/ui/icons/lib/GlobeAddIcon.tsx index b3aad92e..0f33edba 100644 --- a/packages/ui/icons/lib/GlobeAddIcon.tsx +++ b/packages/ui/icons/lib/GlobeAddIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const GlobeAdd = (props: SVGProps) => ; +const GlobeAdd = (props: SVGProps) => ; export default GlobeAdd; diff --git a/packages/ui/icons/lib/GlobeIcon.tsx b/packages/ui/icons/lib/GlobeIcon.tsx index cafb9eae..15b69de2 100644 --- a/packages/ui/icons/lib/GlobeIcon.tsx +++ b/packages/ui/icons/lib/GlobeIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Globe = (props: SVGProps) => ; +const Globe = (props: SVGProps) => ; export default Globe; diff --git a/packages/ui/icons/lib/GoogleIcon.tsx b/packages/ui/icons/lib/GoogleIcon.tsx index 68d9769f..b9ac4106 100644 --- a/packages/ui/icons/lib/GoogleIcon.tsx +++ b/packages/ui/icons/lib/GoogleIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function Google(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/GripIcon.tsx b/packages/ui/icons/lib/GripIcon.tsx index 82e2eebc..434448c5 100644 --- a/packages/ui/icons/lib/GripIcon.tsx +++ b/packages/ui/icons/lib/GripIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Grip = (props: SVGProps) => ; +const Grip = (props: SVGProps) => ; export default Grip; diff --git a/packages/ui/icons/lib/HintAddIcon.tsx b/packages/ui/icons/lib/HintAddIcon.tsx index abbc30ca..eacaaf7d 100644 --- a/packages/ui/icons/lib/HintAddIcon.tsx +++ b/packages/ui/icons/lib/HintAddIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function HintAdd(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/HintIcon.tsx b/packages/ui/icons/lib/HintIcon.tsx index ee6efdd7..5e6d8d30 100644 --- a/packages/ui/icons/lib/HintIcon.tsx +++ b/packages/ui/icons/lib/HintIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Hint = (props: SVGProps) => ; +const Hint = (props: SVGProps) => ; export default Hint; diff --git a/packages/ui/icons/lib/HintSlashIcon.tsx b/packages/ui/icons/lib/HintSlashIcon.tsx index cb14459c..646677a0 100644 --- a/packages/ui/icons/lib/HintSlashIcon.tsx +++ b/packages/ui/icons/lib/HintSlashIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const HintSlash = (props: SVGProps) => ; +const HintSlash = (props: SVGProps) => ; export default HintSlash; diff --git a/packages/ui/icons/lib/HomeFillIcon.tsx b/packages/ui/icons/lib/HomeFillIcon.tsx index 0621797e..5f338143 100644 --- a/packages/ui/icons/lib/HomeFillIcon.tsx +++ b/packages/ui/icons/lib/HomeFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const HomeFill = (props: SVGProps) => ; +const HomeFill = (props: SVGProps) => ; export default HomeFill; diff --git a/packages/ui/icons/lib/HomeIcon.tsx b/packages/ui/icons/lib/HomeIcon.tsx index 3c081912..48eddbb7 100644 --- a/packages/ui/icons/lib/HomeIcon.tsx +++ b/packages/ui/icons/lib/HomeIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Home = (props: SVGProps) => ; +const Home = (props: SVGProps) => ; export default Home; diff --git a/packages/ui/icons/lib/InterestsFillIcon.tsx b/packages/ui/icons/lib/InterestsFillIcon.tsx index 3c3360f3..e962a7aa 100644 --- a/packages/ui/icons/lib/InterestsFillIcon.tsx +++ b/packages/ui/icons/lib/InterestsFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const InterestsFill = (props: SVGProps) => ; +const InterestsFill = (props: SVGProps) => ; export default InterestsFill; diff --git a/packages/ui/icons/lib/InterestsIcon.tsx b/packages/ui/icons/lib/InterestsIcon.tsx index d8dedfbb..0dc5ab0e 100644 --- a/packages/ui/icons/lib/InterestsIcon.tsx +++ b/packages/ui/icons/lib/InterestsIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Interests = (props: SVGProps) => ; +const Interests = (props: SVGProps) => ; export default Interests; diff --git a/packages/ui/icons/lib/LanguageIcon.tsx b/packages/ui/icons/lib/LanguageIcon.tsx index 2d56763d..c595993e 100644 --- a/packages/ui/icons/lib/LanguageIcon.tsx +++ b/packages/ui/icons/lib/LanguageIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Language = (props: SVGProps) => ; +const Language = (props: SVGProps) => ; export default Language; diff --git a/packages/ui/icons/lib/LearnIcon.tsx b/packages/ui/icons/lib/LearnIcon.tsx index fec2a0ba..95ee8807 100644 --- a/packages/ui/icons/lib/LearnIcon.tsx +++ b/packages/ui/icons/lib/LearnIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Learn = (props: SVGProps) => ; +const Learn = (props: SVGProps) => ; export default Learn; diff --git a/packages/ui/icons/lib/LinkAddIcon.tsx b/packages/ui/icons/lib/LinkAddIcon.tsx index 1f233916..3fa51ff2 100644 --- a/packages/ui/icons/lib/LinkAddIcon.tsx +++ b/packages/ui/icons/lib/LinkAddIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const LinkAdd = (props: SVGProps) => ; +const LinkAdd = (props: SVGProps) => ; export default LinkAdd; diff --git a/packages/ui/icons/lib/LinkIcon.tsx b/packages/ui/icons/lib/LinkIcon.tsx index 1f4d13ac..081c3b20 100644 --- a/packages/ui/icons/lib/LinkIcon.tsx +++ b/packages/ui/icons/lib/LinkIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Link = (props: SVGProps) => ; +const Link = (props: SVGProps) => ; export default Link; diff --git a/packages/ui/icons/lib/LinkSlashIcon.tsx b/packages/ui/icons/lib/LinkSlashIcon.tsx index 949c9669..9855c703 100644 --- a/packages/ui/icons/lib/LinkSlashIcon.tsx +++ b/packages/ui/icons/lib/LinkSlashIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const LinkSlash = (props: SVGProps) => ; +const LinkSlash = (props: SVGProps) => ; export default LinkSlash; diff --git a/packages/ui/icons/lib/ListAddIcon.tsx b/packages/ui/icons/lib/ListAddIcon.tsx index c73f4843..42963298 100644 --- a/packages/ui/icons/lib/ListAddIcon.tsx +++ b/packages/ui/icons/lib/ListAddIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const ListAdd = (props: SVGProps) => ; +const ListAdd = (props: SVGProps) => ; export default ListAdd; diff --git a/packages/ui/icons/lib/MagnifierIcon.tsx b/packages/ui/icons/lib/MagnifierIcon.tsx index 0bd0ed4b..9a7c4190 100644 --- a/packages/ui/icons/lib/MagnifierIcon.tsx +++ b/packages/ui/icons/lib/MagnifierIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Magnifier = (props: SVGProps) => ; +const Magnifier = (props: SVGProps) => ; export default Magnifier; diff --git a/packages/ui/icons/lib/MailAolIcon.tsx b/packages/ui/icons/lib/MailAolIcon.tsx index 79e1c4d9..f5347167 100644 --- a/packages/ui/icons/lib/MailAolIcon.tsx +++ b/packages/ui/icons/lib/MailAolIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailAol(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailGmailIcon.tsx b/packages/ui/icons/lib/MailGmailIcon.tsx index 1bf5ac21..0277066b 100644 --- a/packages/ui/icons/lib/MailGmailIcon.tsx +++ b/packages/ui/icons/lib/MailGmailIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailGmail(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailIcloudIcon.tsx b/packages/ui/icons/lib/MailIcloudIcon.tsx index ab8d519d..f8cad77e 100644 --- a/packages/ui/icons/lib/MailIcloudIcon.tsx +++ b/packages/ui/icons/lib/MailIcloudIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailIcloud(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailMailIcon.tsx b/packages/ui/icons/lib/MailMailIcon.tsx index d6c74fba..42b785e0 100644 --- a/packages/ui/icons/lib/MailMailIcon.tsx +++ b/packages/ui/icons/lib/MailMailIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailMail(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailOutlookIcon.tsx b/packages/ui/icons/lib/MailOutlookIcon.tsx index 62db7a76..28fb17ce 100644 --- a/packages/ui/icons/lib/MailOutlookIcon.tsx +++ b/packages/ui/icons/lib/MailOutlookIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailOutlook(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailProtonIcon.tsx b/packages/ui/icons/lib/MailProtonIcon.tsx index 205876a4..17c28f21 100644 --- a/packages/ui/icons/lib/MailProtonIcon.tsx +++ b/packages/ui/icons/lib/MailProtonIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailProton(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailYahooIcon.tsx b/packages/ui/icons/lib/MailYahooIcon.tsx index 9e13493c..35013e5a 100644 --- a/packages/ui/icons/lib/MailYahooIcon.tsx +++ b/packages/ui/icons/lib/MailYahooIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailYahoo(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MailYandexIcon.tsx b/packages/ui/icons/lib/MailYandexIcon.tsx index 395ac18c..0012dbbd 100644 --- a/packages/ui/icons/lib/MailYandexIcon.tsx +++ b/packages/ui/icons/lib/MailYandexIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function MailYandex(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/MinusIcon.tsx b/packages/ui/icons/lib/MinusIcon.tsx index 7833e3d7..a5749f8c 100644 --- a/packages/ui/icons/lib/MinusIcon.tsx +++ b/packages/ui/icons/lib/MinusIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Minus = (props: SVGProps) => ; +const Minus = (props: SVGProps) => ; export default Minus; diff --git a/packages/ui/icons/lib/MoveToFolderIcon.tsx b/packages/ui/icons/lib/MoveToFolderIcon.tsx index 6186ae2a..5b7b8439 100644 --- a/packages/ui/icons/lib/MoveToFolderIcon.tsx +++ b/packages/ui/icons/lib/MoveToFolderIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const MoveToFolder = (props: SVGProps) => ; +const MoveToFolder = (props: SVGProps) => ; export default MoveToFolder; diff --git a/packages/ui/icons/lib/NotificationsIcon.tsx b/packages/ui/icons/lib/NotificationsIcon.tsx index 7aeebb34..644df8d8 100644 --- a/packages/ui/icons/lib/NotificationsIcon.tsx +++ b/packages/ui/icons/lib/NotificationsIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Notifications = (props: SVGProps) => ; +const Notifications = (props: SVGProps) => ; export default Notifications; diff --git a/packages/ui/icons/lib/PencilIcon.tsx b/packages/ui/icons/lib/PencilIcon.tsx index 6510160a..e867e0b3 100644 --- a/packages/ui/icons/lib/PencilIcon.tsx +++ b/packages/ui/icons/lib/PencilIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Pencil = (props: SVGProps) => ; +const Pencil = (props: SVGProps) => ; export default Pencil; diff --git a/packages/ui/icons/lib/PersonAddIcon.tsx b/packages/ui/icons/lib/PersonAddIcon.tsx index 75b1f452..973797cd 100644 --- a/packages/ui/icons/lib/PersonAddIcon.tsx +++ b/packages/ui/icons/lib/PersonAddIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonAdd = (props: SVGProps) => ; +const PersonAdd = (props: SVGProps) => ; export default PersonAdd; diff --git a/packages/ui/icons/lib/PersonCheckFillIcon.tsx b/packages/ui/icons/lib/PersonCheckFillIcon.tsx index 636e3076..0c563d99 100644 --- a/packages/ui/icons/lib/PersonCheckFillIcon.tsx +++ b/packages/ui/icons/lib/PersonCheckFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonCheckFill = (props: SVGProps) => ; +const PersonCheckFill = (props: SVGProps) => ; export default PersonCheckFill; diff --git a/packages/ui/icons/lib/PersonCheckIcon.tsx b/packages/ui/icons/lib/PersonCheckIcon.tsx index d4135a81..4bd7192c 100644 --- a/packages/ui/icons/lib/PersonCheckIcon.tsx +++ b/packages/ui/icons/lib/PersonCheckIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonCheck = (props: SVGProps) => ; +const PersonCheck = (props: SVGProps) => ; export default PersonCheck; diff --git a/packages/ui/icons/lib/PersonEditFillIcon.tsx b/packages/ui/icons/lib/PersonEditFillIcon.tsx index fb83a403..cfd29a91 100644 --- a/packages/ui/icons/lib/PersonEditFillIcon.tsx +++ b/packages/ui/icons/lib/PersonEditFillIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonEditFill = (props: SVGProps) => ; +const PersonEditFill = (props: SVGProps) => ; export default PersonEditFill; diff --git a/packages/ui/icons/lib/PersonEditIcon.tsx b/packages/ui/icons/lib/PersonEditIcon.tsx index d312d450..bbb49ab0 100644 --- a/packages/ui/icons/lib/PersonEditIcon.tsx +++ b/packages/ui/icons/lib/PersonEditIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonEdit = (props: SVGProps) => ; +const PersonEdit = (props: SVGProps) => ; export default PersonEdit; diff --git a/packages/ui/icons/lib/PersonGroupIcon.tsx b/packages/ui/icons/lib/PersonGroupIcon.tsx index 70ff3b42..b63a3fb9 100644 --- a/packages/ui/icons/lib/PersonGroupIcon.tsx +++ b/packages/ui/icons/lib/PersonGroupIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonGroup = (props: SVGProps) => ; +const PersonGroup = (props: SVGProps) => ; export default PersonGroup; diff --git a/packages/ui/icons/lib/PersonPinIcon.tsx b/packages/ui/icons/lib/PersonPinIcon.tsx index 8d19d5da..1fa57618 100644 --- a/packages/ui/icons/lib/PersonPinIcon.tsx +++ b/packages/ui/icons/lib/PersonPinIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const PersonPin = (props: SVGProps) => ; +const PersonPin = (props: SVGProps) => ; export default PersonPin; diff --git a/packages/ui/icons/lib/PlusIcon.tsx b/packages/ui/icons/lib/PlusIcon.tsx index cf385a2a..a6ef5891 100644 --- a/packages/ui/icons/lib/PlusIcon.tsx +++ b/packages/ui/icons/lib/PlusIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Plus = (props: SVGProps) => ; +const Plus = (props: SVGProps) => ; export default Plus; diff --git a/packages/ui/icons/lib/PreviewIcon.tsx b/packages/ui/icons/lib/PreviewIcon.tsx index b049bb69..e7d0be53 100644 --- a/packages/ui/icons/lib/PreviewIcon.tsx +++ b/packages/ui/icons/lib/PreviewIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Preview = (props: SVGProps) => ; +const Preview = (props: SVGProps) => ; export default Preview; diff --git a/packages/ui/icons/lib/SetAddIcon.tsx b/packages/ui/icons/lib/SetAddIcon.tsx index bd76f124..2f2577af 100644 --- a/packages/ui/icons/lib/SetAddIcon.tsx +++ b/packages/ui/icons/lib/SetAddIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const SetAdd = (props: SVGProps) => ; +const SetAdd = (props: SVGProps) => ; export default SetAdd; diff --git a/packages/ui/icons/lib/SetIcon.tsx b/packages/ui/icons/lib/SetIcon.tsx index c89ffefc..cfca467f 100644 --- a/packages/ui/icons/lib/SetIcon.tsx +++ b/packages/ui/icons/lib/SetIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Set = (props: SVGProps) => ; +const Set = (props: SVGProps) => ; export default Set; diff --git a/packages/ui/icons/lib/SettingsIcon.tsx b/packages/ui/icons/lib/SettingsIcon.tsx index 8e7afa4c..09de8e5e 100644 --- a/packages/ui/icons/lib/SettingsIcon.tsx +++ b/packages/ui/icons/lib/SettingsIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Settings = (props: SVGProps) => ; +const Settings = (props: SVGProps) => ; export default Settings; diff --git a/packages/ui/icons/lib/ShuffleIcon.tsx b/packages/ui/icons/lib/ShuffleIcon.tsx index f20663e9..a569f65f 100644 --- a/packages/ui/icons/lib/ShuffleIcon.tsx +++ b/packages/ui/icons/lib/ShuffleIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Shuffle = (props: SVGProps) => ; +const Shuffle = (props: SVGProps) => ; export default Shuffle; diff --git a/packages/ui/icons/lib/SortByAlphaIcon.tsx b/packages/ui/icons/lib/SortByAlphaIcon.tsx index 1108c2e5..ce1b82e8 100644 --- a/packages/ui/icons/lib/SortByAlphaIcon.tsx +++ b/packages/ui/icons/lib/SortByAlphaIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const SortByAlpha = (props: SVGProps) => ; +const SortByAlpha = (props: SVGProps) => ; export default SortByAlpha; diff --git a/packages/ui/icons/lib/SortIcon.tsx b/packages/ui/icons/lib/SortIcon.tsx index a2fef603..5f918b77 100644 --- a/packages/ui/icons/lib/SortIcon.tsx +++ b/packages/ui/icons/lib/SortIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Sort = (props: SVGProps) => ; +const Sort = (props: SVGProps) => ; export default Sort; diff --git a/packages/ui/icons/lib/SpinnerIcon.tsx b/packages/ui/icons/lib/SpinnerIcon.tsx index eed25933..0d75ed58 100644 --- a/packages/ui/icons/lib/SpinnerIcon.tsx +++ b/packages/ui/icons/lib/SpinnerIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function Spinner(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/StarIcon.tsx b/packages/ui/icons/lib/StarIcon.tsx index f025538f..e853787e 100644 --- a/packages/ui/icons/lib/StarIcon.tsx +++ b/packages/ui/icons/lib/StarIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Star = (props: SVGProps) => ; +const Star = (props: SVGProps) => ; export default Star; diff --git a/packages/ui/icons/lib/TableConvertIcon.tsx b/packages/ui/icons/lib/TableConvertIcon.tsx index bbe9d5bc..b3d3b479 100644 --- a/packages/ui/icons/lib/TableConvertIcon.tsx +++ b/packages/ui/icons/lib/TableConvertIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const TableConvert = (props: SVGProps) => ; +const TableConvert = (props: SVGProps) => ; export default TableConvert; diff --git a/packages/ui/icons/lib/TagIcon.tsx b/packages/ui/icons/lib/TagIcon.tsx index 61c059a4..66c2e231 100644 --- a/packages/ui/icons/lib/TagIcon.tsx +++ b/packages/ui/icons/lib/TagIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Tag = (props: SVGProps) => ; +const Tag = (props: SVGProps) => ; export default Tag; diff --git a/packages/ui/icons/lib/TextFormatIcon.tsx b/packages/ui/icons/lib/TextFormatIcon.tsx index fa504093..93d74c4f 100644 --- a/packages/ui/icons/lib/TextFormatIcon.tsx +++ b/packages/ui/icons/lib/TextFormatIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const TextFormat = (props: SVGProps) => ; +const TextFormat = (props: SVGProps) => ; export default TextFormat; diff --git a/packages/ui/icons/lib/VkIcon.tsx b/packages/ui/icons/lib/VkIcon.tsx index 3845d190..9aa3c32a 100644 --- a/packages/ui/icons/lib/VkIcon.tsx +++ b/packages/ui/icons/lib/VkIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function Vk(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/lib/XmarkIcon.tsx b/packages/ui/icons/lib/XmarkIcon.tsx index 392a74d1..7c6e6aa8 100644 --- a/packages/ui/icons/lib/XmarkIcon.tsx +++ b/packages/ui/icons/lib/XmarkIcon.tsx @@ -1,5 +1,5 @@ import type { SVGProps } from 'react'; import * as React from 'react'; -const Xmark = (props: SVGProps) => ; +const Xmark = (props: SVGProps) => ; export default Xmark; diff --git a/packages/ui/icons/lib/YandexIcon.tsx b/packages/ui/icons/lib/YandexIcon.tsx index fd01192a..463af314 100644 --- a/packages/ui/icons/lib/YandexIcon.tsx +++ b/packages/ui/icons/lib/YandexIcon.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; function Yandex(props: SVGProps) { return ( - + diff --git a/packages/ui/icons/package.json b/packages/ui/icons/package.json index 893b6888..6259fb6d 100644 --- a/packages/ui/icons/package.json +++ b/packages/ui/icons/package.json @@ -8,7 +8,6 @@ "svg", "react" ], - "exports": { ".": "./lib/index.tsx", "./svgs": "./svgs/*.svg", @@ -37,6 +36,7 @@ "@flippo/tsconfig": "workspace:*", "@svgr/core": "catalog:", "@svgr/plugin-jsx": "catalog:", + "@svgr/plugin-svgo": "^8.1.0", "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", diff --git a/packages/ui/icons/scripts/download.js b/packages/ui/icons/scripts/download.js index ba05c8ef..a25ce78b 100644 --- a/packages/ui/icons/scripts/download.js +++ b/packages/ui/icons/scripts/download.js @@ -14,195 +14,195 @@ const FIGMA_IDS = process.env.FIGMA_IDS.split(','); const FIGMA_PAGES = process.env.FIGMA_PAGES.split(','); function parseComponentPropsFromString(props) { - const params = props.split(/\s*,\s?/); + const params = props.split(/\s*,\s?/); - return params.reduce((acc, param) => { - const [key, value] = param.split(/\s*=\s*/); - acc[key] = value; + return params.reduce((acc, param) => { + const [key, value] = param.split(/\s*=\s*/); + acc[key] = value; - return acc; - }, {}); + return acc; + }, {}); } function parseComponentSetName(name) { - const params = name.split('/'); - - if (params.length < 3) - throw new Error(`Icon must have palette, group and name (Monochrome/Logo/yandex): ${name}`); - - return { - name: params.at(-1), - meta: { - palette: params.at(0).toLowerCase(), - group: params.at(1).toLowerCase() - } - }; + const params = name.split('/'); + + if (params.length < 3) + throw new Error(`Icon must have palette, group and name (Monochrome/Logo/yandex): ${name}`); + + return { + name: params.at(-1), + meta: { + palette: params.at(0).toLowerCase(), + group: params.at(1).toLowerCase() + } + }; } function svgTransformer(svg, palette) { - const isMonochrome = palette === 'monochrome'; - - return optimize(svg, { - multipass: true, - plugins: [{ - name: 'preset-default', - params: { - overrides: { - convertColors: { - currentColor: isMonochrome ? IGNORED_COLORS_FOR_SVGO_REGEX : false - }, - removeViewBox: false - } - } - }] - }).data; + const isMonochrome = palette === 'monochrome'; + + return optimize(svg, { + multipass: true, + plugins: [{ + name: 'preset-default', + params: { + overrides: { + convertColors: { + currentColor: isMonochrome ? IGNORED_COLORS_FOR_SVGO_REGEX : false + }, + removeViewBox: false + } + } + }] + }).data; } function createSvgBuilder(metadata) { - return async function svgBuilder([{ children, components: icons }]) { - const targetNodes = targetNodesBFS(FIGMA_IDS, children); - const iconSets = componentSetsDfs(targetNodes); - const iconsById = icons.reduce((acc, icon) => { acc[icon.id] = icon; return acc; }, {}); - const uniqueIcons = new Set(); + return async function svgBuilder([{ children, components: icons }]) { + const targetNodes = targetNodesBFS(FIGMA_IDS, children); + const iconSets = componentSetsDfs(targetNodes); + const iconsById = icons.reduce((acc, icon) => { acc[icon.id] = icon; return acc; }, {}); + const uniqueIcons = new Set(); + + function targetNodesBFS(targetIds, startQueue) { + const queue = Array.from(startQueue); + const resultNodes = []; - function targetNodesBFS(targetIds, startQueue) { - const queue = Array.from(startQueue); - const resultNodes = []; + targetIds = new Set(targetIds.map((id) => id.replace('-', ':'))); - targetIds = new Set(targetIds.map((id) => id.replace('-', ':'))); + while (queue.length > 0 && targetIds.size > 0) { + const node = queue.shift(); - while (queue.length > 0 && targetIds.size > 0) { - const node = queue.shift(); + if (targetIds.has(node.id)) { + resultNodes.push(node); + targetIds.delete(node.id); - if (targetIds.has(node.id)) { - resultNodes.push(node); - targetIds.delete(node.id); + continue; + } - continue; + if (node.children) + queue.push(...node.children); + } + + return resultNodes; } - if (node.children) - queue.push(...node.children); - } + function componentSetsDfs(startStack) { + const stack = Array.from(startStack); + const resultSets = new Set(); - return resultNodes; - } + while (stack.length > 0) { + const node = stack.pop(); - function componentSetsDfs(startStack) { - const stack = Array.from(startStack); - const resultSets = new Set(); + if (node.type === 'COMPONENT_SET') { + resultSets.add(node); - while (stack.length > 0) { - const node = stack.pop(); + continue; + } - if (node.type === 'COMPONENT_SET') { - resultSets.add(node); + if (node.children) { + stack.push(...node.children); + } + } - continue; + return Array.from(resultSets); } - if (node.children) { - stack.push(...node.children); - } - } + console.log(iconSets); - return Array.from(resultSets); - } + for (const iconSet of iconSets) { + const { name, meta } = parseComponentSetName(iconSet.name); - console.log(iconSets); + if (!ICONS_NAME_REGEX.test(name)) + throw new Error(`Invalid icon name: ${name}. Pattern: ${ICONS_NAME_REGEX.source}`); - for (const iconSet of iconSets) { - const { name, meta } = parseComponentSetName(iconSet.name); + if (uniqueIcons.has(name)) { + throw new Error(`Icon has been already added: ${name}`); + } + else { + uniqueIcons.add(name); + } - if (!ICONS_NAME_REGEX.test(name)) - throw new Error(`Invalid icon name: ${name}. Pattern: ${ICONS_NAME_REGEX.source}`); + if (!meta.palette) + throw new Error(`Icon must have palette: ${name}`); - if (uniqueIcons.has(name)) { - throw new Error(`Icon has been already added: ${name}`); - } - else { - uniqueIcons.add(name); - } + if (!meta.group) + throw new Error(`Icon must have group: ${name}`); - if (!meta.palette) - throw new Error(`Icon must have palette: ${name}`); + metadata.info.palettes.add(meta.palette); + metadata.info.groups.add(meta.group); - if (!meta.group) - throw new Error(`Icon must have group: ${name}`); + for (const icon of iconSet.children) { + const props = parseComponentPropsFromString(icon.name); + if (!props.preview) + throw new Error(`Icon has no preview: ${name}`); - metadata.info.palettes.add(meta.palette); - metadata.info.groups.add(meta.group); + if (props.preview === 'true') + continue; - for (const icon of iconSet.children) { - const props = parseComponentPropsFromString(icon.name); - if (!props.preview) - throw new Error(`Icon has no preview: ${name}`); + let svg = iconsById[icon.id].svg; + let svgName = name; - if (props.preview === 'true') - continue; + if (!props.style) + throw new Error(`Icon has no style: ${name}`); - let svg = iconsById[icon.id].svg; - let svgName = name; + if (props.style !== 'regular') + svgName += `_${props.style}`; - if (!props.style) - throw new Error(`Icon has no style: ${name}`); + if (props.animated === 'true') { + if (!isSvg(iconsById[icon.id].description)) + throw new Error(`If icon animated must have in description correct svg: ${name}`); - if (props.style !== 'regular') - svgName += `_${props.style}`; + svg = iconsById[icon.id].description; + } - if (props.animated === 'true') { - if (!isSvg(iconsById[icon.id].description)) - throw new Error(`If icon animated must have in description correct svg: ${name}`); + metadata.icons.push({ + name, + style: props.style, + svgName, + componentName: kebabCaseToCamelCase(svgName), + meta + }); - svg = iconsById[icon.id].description; + const optimizedSvg = svgTransformer(svg, meta.palette); + console.log(path.join(SVGS_DIR, `${svgName}.svg`)); + await fs.writeFile(path.join(SVGS_DIR, `${svgName}.svg`), optimizedSvg); + } } - - metadata.icons.push({ - name, - style: props.style, - svgName, - componentName: kebabCaseToCamelCase(svgName), - meta - }); - - const optimizedSvg = svgTransformer(svg, meta.palette); - console.log(path.join(SVGS_DIR, `${svgName}.svg`)); - await fs.writeFile(path.join(SVGS_DIR, `${svgName}.svg`), optimizedSvg); - } - } - }; + }; } async function download() { - await clearDir(SVGS_DIR); - - const metadata = { - info: { - palettes: new Set(), - groups: new Set() - }, - icons: [] - }; - - await loadComponents({ - token: FIGMA_TOKEN, - fileId: FIGMA_FILE, - ids: FIGMA_IDS, - onlyFromPages: FIGMA_PAGES, - outputters: [createSvgBuilder(metadata)], - filterComponent: (node) => { - if (node.name === 'Divider Horizontal') - console.log(node); - return node.type !== 'INSTANCE'; - } - }); - - metadata.info.palettes = Array.from(metadata.info.palettes); - metadata.info.groups = Array.from(metadata.info.groups); - await fs.writeFile(path.join(process.cwd(), 'metadata.json'), JSON.stringify(metadata, null, 2)); + await clearDir(SVGS_DIR); + + const metadata = { + info: { + palettes: new Set(), + groups: new Set() + }, + icons: [] + }; + + await loadComponents({ + token: FIGMA_TOKEN, + fileId: FIGMA_FILE, + ids: FIGMA_IDS, + onlyFromPages: FIGMA_PAGES, + outputters: [createSvgBuilder(metadata)], + filterComponent: (node) => { + if (node.name === 'Divider Horizontal') + console.log(node); + return node.type !== 'INSTANCE'; + } + }); + + metadata.info.palettes = Array.from(metadata.info.palettes); + metadata.info.groups = Array.from(metadata.info.groups); + await fs.writeFile(path.join(process.cwd(), 'metadata.json'), JSON.stringify(metadata, null, 2)); } download().catch((error) => { - console.error(`Failed to download icons: ${error}`); - process.exit(1); + console.error(`Failed to download icons: ${error}`); + process.exit(1); }); diff --git a/packages/ui/icons/scripts/generateIcons.js b/packages/ui/icons/scripts/generateIcons.js index ef414292..c074112b 100644 --- a/packages/ui/icons/scripts/generateIcons.js +++ b/packages/ui/icons/scripts/generateIcons.js @@ -24,7 +24,14 @@ async function generateIcons() { const iconFilePath = path.join(ICONS_DIR, `${componentName}Icon.tsx`); - const content = await transform(svg, { typescript: true, plugins: ['@svgr/plugin-jsx'] }, { componentName }); + const content = await transform(svg, { + typescript: true, + plugins: ['@svgr/plugin-svgo', '@svgr/plugin-jsx'], + svgoConfig: { + plugins: ['removeDimensions'], + floatPrecision: 2 + } + }, { componentName }); await fs.mkdir(path.parse(iconFilePath).dir, { recursive: true }); await fs.writeFile(iconFilePath, content); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd9772ee..73afda7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,91 +5,79 @@ settings: excludeLinksFromLockfile: false catalogs: - conflicts_@testing-library/jest-dom_h6_4_8: - '@testing-library/jest-dom': - specifier: ^6.4.8 - version: 6.5.0 - conflicts_@testing-library/react_h16_0_0: - '@testing-library/react': - specifier: ^16.0.0 - version: 16.3.0 - conflicts_@testing-library/user-event_h14_5_2: - '@testing-library/user-event': - specifier: ^14.5.2 - version: 14.5.2 - conflicts_@vitest/ui_h2_0_4: - '@vitest/ui': - specifier: ^2.0.4 - version: 2.1.9 - conflicts_jsdom_h24_1_1: - jsdom: - specifier: ^24.1.1 - version: 24.1.3 - conflicts_vitest_h2_0_4: - vitest: - specifier: ^2.0.4 - version: 2.1.9 default: '@antfu/eslint-config': - specifier: ^5.2.0 - version: 5.2.0 + specifier: ^5.2.1 + version: 5.2.1 '@biomejs/biome': - specifier: 2.0.0-beta.1 + specifier: ^2.0.0-beta.1 version: 2.0.0-beta.1 '@chromatic-com/storybook': - specifier: 3.2.6 + specifier: ^3.2.6 version: 3.2.6 '@eslint-react/eslint-plugin': - specifier: ^1.40.3 - version: 1.42.1 + specifier: ^1.52.8 + version: 1.52.8 '@farfetched/core': - specifier: ^0.13.1 - version: 0.13.1 + specifier: ^0.13.2 + version: 0.13.2 '@figma-export/core': - specifier: ^6.2.0 - version: 6.2.0 + specifier: ^6.2.2 + version: 6.2.2 '@floating-ui/react': - specifier: ^0.27.7 - version: 0.27.7 + specifier: ^0.27.16 + version: 0.27.16 '@floating-ui/react-dom': - specifier: ^2.1.5 - version: 2.1.5 + specifier: ^2.1.6 + version: 2.1.6 '@floating-ui/utils': - specifier: ^0.2.9 - version: 0.2.9 + specifier: ^0.2.10 + version: 0.2.10 '@storybook/addon-essentials': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 '@storybook/addon-interactions': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 + '@storybook/addon-links': + specifier: ^8.6.14 + version: 8.6.14 '@storybook/addon-onboarding': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 '@storybook/blocks': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 '@storybook/manager-api': - specifier: ^8.6.11 - version: 8.6.12 + specifier: 8.6.14 + version: 8.6.14 '@storybook/react': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 '@storybook/react-vite': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 '@storybook/test': - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 '@storybook/theming': - specifier: ^8.6.11 - version: 8.6.12 + specifier: 8.6.14 + version: 8.6.14 '@svgr/core': specifier: ^8.1.0 version: 8.1.0 '@svgr/plugin-jsx': specifier: ^8.1.0 version: 8.1.0 + '@testing-library/jest-dom': + specifier: ^6.8.0 + version: 6.8.0 + '@testing-library/react': + specifier: ^16.3.0 + version: 16.3.0 + '@testing-library/user-event': + specifier: ^14.6.1 + version: 14.6.1 '@testing-library/webdriverio': specifier: ^3.2.1 version: 3.2.1 @@ -97,11 +85,11 @@ catalogs: specifier: ^1.0.0 version: 1.0.0 '@testplane/storybook': - specifier: ^1.6.1 - version: 1.6.1 + specifier: ^1.7.3 + version: 1.7.3 '@testplane/test-filter': - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.0 + version: 1.1.0 '@testplane/url-decorator': specifier: ^1.0.0 version: 1.0.0 @@ -112,13 +100,13 @@ catalogs: specifier: ^3.0.6 version: 3.0.6 '@types/node': - specifier: ^22.14.0 - version: 22.14.0 + specifier: ^22.18.0 + version: 22.18.0 '@types/react': - specifier: 19.0.12 + specifier: ^19.0.12 version: 19.0.12 '@types/react-dom': - specifier: 19.0.4 + specifier: ^19.0.4 version: 19.0.4 '@types/use-sync-external-store': specifier: ^1.5.0 @@ -126,6 +114,9 @@ catalogs: '@vitejs/plugin-react': specifier: ^4.3.4 version: 4.3.4 + '@vitest/ui': + specifier: ^3.2.4 + version: 3.2.4 '@withease/i18next': specifier: ^24.0.0 version: 24.0.0 @@ -133,25 +124,28 @@ catalogs: specifier: ^1.3.0 version: 1.3.0 atomic-router: - specifier: ^0.11.0 - version: 0.11.0 + specifier: ^0.11.1 + version: 0.11.1 atomic-router-react: specifier: ^0.10.0 version: 0.10.0 axios: - specifier: ^1.8.4 - version: 1.8.4 + specifier: ^1.11.0 + version: 1.11.0 + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 clsx: specifier: ^2.1.1 version: 2.1.1 effector: - specifier: ^23.3.0 - version: 23.3.0 + specifier: ^23.4.2 + version: 23.4.2 effector-react: specifier: ^23.3.0 version: 23.3.0 eslint: - specifier: 9.33.0 + specifier: ^9.33.0 version: 9.33.0 eslint-plugin-effector: specifier: ^0.15.0 @@ -163,38 +157,41 @@ catalogs: specifier: ^5.2.0 version: 5.2.0 eslint-plugin-react-refresh: - specifier: ^0.4.19 - version: 0.4.19 + specifier: ^0.4.20 + version: 0.4.20 eslint-plugin-storybook: specifier: ^0.12.0 version: 0.12.0 eslint-plugin-turbo: - specifier: ^2.5.0 - version: 2.5.0 + specifier: ^2.5.6 + version: 2.5.6 fast-glob: specifier: ^3.3.3 version: 3.3.3 framer-motion: - specifier: ^12.6.2 - version: 12.6.3 + specifier: ^12.23.12 + version: 12.23.12 + glob: + specifier: ^11.0.3 + version: 11.0.3 globals: - specifier: ^16.0.0 - version: 16.0.0 + specifier: ^16.3.0 + version: 16.3.0 history: specifier: ^5.3.0 version: 5.3.0 html-reporter: - specifier: ^10.15.0 - version: 10.15.2 + specifier: ^10.19.0 + version: 10.19.0 i18next: specifier: ^24.2.3 version: 24.2.3 i18next-browser-languagedetector: - specifier: ^8.0.4 - version: 8.0.4 + specifier: ^8.2.0 + version: 8.2.0 i18next-hmr: - specifier: ^3.1.3 - version: 3.1.3 + specifier: ^3.1.4 + version: 3.1.4 i18next-http-backend: specifier: ^3.0.2 version: 3.0.2 @@ -202,32 +199,35 @@ catalogs: specifier: ^5.1.0 version: 5.1.0 jiti: - specifier: ^2.4.2 - version: 2.4.2 + specifier: ^2.5.1 + version: 2.5.1 js-cookie: specifier: ^3.0.5 version: 3.0.5 + jsdom: + specifier: ^24.1.3 + version: 24.1.3 patronum: specifier: ^2.3.0 version: 2.3.0 postcss: - specifier: ^8.5.3 - version: 8.5.3 + specifier: ^8.5.6 + version: 8.5.6 postcss-flexbugs-fixes: specifier: ^5.0.2 version: 5.0.2 postcss-preset-env: - specifier: ^10.1.5 - version: 10.1.5 + specifier: ^10.3.1 + version: 10.3.1 react: - specifier: ^19.1.0 - version: 19.1.0 + specifier: ^19.1.1 + version: 19.1.1 react-dom: - specifier: ^19.1.0 - version: 19.1.0 + specifier: ^19.1.1 + version: 19.1.1 react-i18next: - specifier: ^15.4.1 - version: 15.4.1 + specifier: ^15.7.3 + version: 15.7.3 react-use-measure: specifier: ^2.1.7 version: 2.1.7 @@ -237,21 +237,24 @@ catalogs: rimraf: specifier: ^6.0.1 version: 6.0.1 + sass: + specifier: ^1.91.0 + version: 1.91.0 sass-embedded: - specifier: ^1.86.1 - version: 1.86.3 + specifier: 1.91.0 + version: 1.91.0 storybook: - specifier: 8.6.11 - version: 8.6.11 + specifier: ^8.6.14 + version: 8.6.14 storybook-react-i18next: - specifier: ^3.2.1 - version: 3.2.1 + specifier: ^3.3.1 + version: 3.3.1 stylelint: - specifier: ^16.17.0 - version: 16.18.0 + specifier: ^16.23.1 + version: 16.23.1 surrealdb: - specifier: ^1.2.1 - version: 1.3.1 + specifier: ^1.3.2 + version: 1.3.2 svgo: specifier: ^3.3.2 version: 3.3.2 @@ -259,101 +262,110 @@ catalogs: specifier: ^6.2.0 version: 6.2.0 testplane: - specifier: ^8.26.0 - version: 8.27.2 + specifier: ^8.31.0 + version: 8.31.0 + tsup: + specifier: ^8.4.0 + version: 8.5.0 typescript: - specifier: ^5.8.2 - version: 5.7.3 + specifier: ^5.9.2 + version: 5.9.2 use-sync-external-store: specifier: ^1.5.0 version: 1.5.0 vite: - specifier: ^6.2.4 + specifier: 6.2.5 version: 6.2.5 + vite-plugin-dts: + specifier: ^4.5.4 + version: 4.5.4 + vitest: + specifier: ^3.2.4 + version: 3.2.4 zod: - specifier: ^3.24.2 - version: 3.24.2 + specifier: ^3.25.76 + version: 3.25.76 importers: .: devDependencies: '@changesets/cli': - specifier: ^2.28.1 - version: 2.28.1 + specifier: ^2.29.6 + version: 2.29.6(@types/node@22.18.0) turbo: - specifier: ^2.5.0 - version: 2.5.0 + specifier: ^2.5.6 + version: 2.5.6 backend: dependencies: axios: - specifier: ^1.7.7 - version: 1.8.4 + specifier: ^1.11.0 + version: 1.11.0 cookie-parser: - specifier: ^1.4.6 + specifier: ^1.4.7 version: 1.4.7 cors: specifier: ^2.8.5 version: 2.8.5 dotenv: - specifier: ^16.4.5 - version: 16.4.7 + specifier: ^16.6.1 + version: 16.6.1 express: - specifier: ^4.21.0 + specifier: ^4.21.2 version: 4.21.2 express-useragent: specifier: ^1.0.15 version: 1.0.15 jose: - specifier: ^5.9.2 + specifier: ^5.10.0 version: 5.10.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 nodemailer: - specifier: ^6.9.15 - version: 6.10.0 + specifier: ^6.10.1 + version: 6.10.1 nodemon: - specifier: ^3.1.5 - version: 3.1.9 + specifier: ^3.1.10 + version: 3.1.10 pino: - specifier: ^9.4.0 - version: 9.6.0 + specifier: ^9.9.0 + version: 9.9.0 pkce-challenge: specifier: ^4.1.0 version: 4.1.0 qs: - specifier: ^6.13.0 + specifier: ^6.14.0 version: 6.14.0 surrealdb: specifier: 1.0.0-beta.21 - version: 1.0.0-beta.21(tslib@2.8.1)(typescript@5.8.3)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 1.0.0-beta.21(tslib@2.8.1)(typescript@5.9.2)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) uuid: specifier: ^10.0.0 version: 10.0.0 zod: - specifier: ^3.23.8 - version: 3.24.2 + specifier: ^3.25.76 + version: 3.25.76 devDependencies: '@eslint/eslintrc': - specifier: ^3.1.0 + specifier: ^3.3.1 version: 3.3.1 '@eslint/js': - specifier: ^9.12.0 - version: 9.24.0 + specifier: ^9.34.0 + version: 9.34.0 '@eslint/migrate-config': - specifier: ^1.3.1 - version: 1.4.1(eslint@9.33.0(jiti@2.4.2)) + specifier: ^1.5.3 + version: 1.5.3(eslint@9.33.0(jiti@2.5.1)) '@types/body-parser': - specifier: ^1.19.5 - version: 1.19.5 + specifier: ^1.19.6 + version: 1.19.6 '@types/cookie-parser': - specifier: ^1.4.7 - version: 1.4.8(@types/express@4.17.21) + specifier: ^1.4.9 + version: 1.4.9(@types/express@4.17.23) '@types/cors': - specifier: ^2.8.17 - version: 2.8.17 + specifier: ^2.8.19 + version: 2.8.19 '@types/eslint__eslintrc': specifier: ^2.1.2 version: 2.1.2 @@ -361,8 +373,8 @@ importers: specifier: ^8.42.3 version: 8.42.3 '@types/express': - specifier: ^4.17.21 - version: 4.17.21 + specifier: ^4.17.23 + version: 4.17.23 '@types/express-useragent': specifier: ^1.0.5 version: 1.0.5 @@ -370,77 +382,77 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^22.5.5 - version: 22.14.0 + specifier: ^22.18.0 + version: 22.18.0 '@types/nodemailer': - specifier: ^6.4.16 - version: 6.4.17 + specifier: ^6.4.19 + version: 6.4.19 '@types/pino-http': specifier: ^5.8.4 version: 5.8.4 '@types/qs': - specifier: ^6.9.16 - version: 6.9.18 + specifier: ^6.14.0 + version: 6.14.0 '@typescript-eslint/eslint-plugin': - specifier: ^8.6.0 - version: 8.29.1(@typescript-eslint/parser@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.41.0 + version: 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': - specifier: ^8.6.0 - version: 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.41.0 + version: 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) pino-pretty: - specifier: ^11.2.2 + specifier: ^11.3.0 version: 11.3.0 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.14.0)(typescript@5.8.3) + version: 10.9.2(@types/node@22.18.0)(typescript@5.9.2) tsconfig-paths: specifier: ^4.2.0 version: 4.2.0 typescript: - specifier: ^5.6.2 - version: 5.8.3 + specifier: ^5.9.2 + version: 5.9.2 frontend: dependencies: '@farfetched/core': specifier: 'catalog:' - version: 0.13.1(effector@23.3.0) + version: 0.13.2(effector@23.4.2) '@withease/i18next': specifier: 'catalog:' - version: 24.0.0(effector@23.3.0)(i18next@24.2.3(typescript@5.7.3)) + version: 24.0.0(effector@23.4.2)(i18next@24.2.3(typescript@5.9.2)) '@withease/web-api': specifier: 'catalog:' - version: 1.3.0(effector@23.3.0) + version: 1.3.0(effector@23.4.2) atomic-router: specifier: 'catalog:' - version: 0.11.0(effector@23.3.0)(history@5.3.0) + version: 0.11.1(effector@23.4.2)(history@5.3.0) atomic-router-react: specifier: 'catalog:' - version: 0.10.0(atomic-router@0.11.0(effector@23.3.0)(history@5.3.0))(effector-react@23.3.0(effector@23.3.0)(react@19.1.0))(effector@23.3.0)(react@19.1.0) + version: 0.10.0(atomic-router@0.11.1(effector@23.4.2)(history@5.3.0))(effector-react@23.3.0(effector@23.4.2)(react@19.1.1))(effector@23.4.2)(react@19.1.1) axios: specifier: 'catalog:' - version: 1.8.4 + version: 1.11.0 clsx: specifier: 'catalog:' version: 2.1.1 effector: specifier: 'catalog:' - version: 23.3.0 + version: 23.4.2 effector-react: specifier: 'catalog:' - version: 23.3.0(effector@23.3.0)(react@19.1.0) + version: 23.3.0(effector@23.4.2)(react@19.1.1) framer-motion: specifier: 'catalog:' - version: 12.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) history: specifier: 'catalog:' version: 5.3.0 i18next: specifier: 'catalog:' - version: 24.2.3(typescript@5.7.3) + version: 24.2.3(typescript@5.9.2) i18next-browser-languagedetector: specifier: 'catalog:' - version: 8.0.4 + version: 8.2.0 i18next-http-backend: specifier: 'catalog:' version: 3.0.2 @@ -449,32 +461,32 @@ importers: version: 3.0.5 patronum: specifier: 'catalog:' - version: 2.3.0(effector@23.3.0) + version: 2.3.0(effector@23.4.2) react: specifier: 'catalog:' - version: 19.1.0 + version: 19.1.1 react-dom: specifier: 'catalog:' - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) react-i18next: specifier: 'catalog:' - version: 15.4.1(i18next@24.2.3(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.7.3(i18next@24.2.3(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) react-use-measure: specifier: 'catalog:' - version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.1.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) surrealdb: specifier: 'catalog:' - version: 1.3.1(tslib@2.8.1)(typescript@5.7.3)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 1.3.2(tslib@2.8.1)(typescript@5.9.2)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) zod: specifier: 'catalog:' - version: 3.24.2 + version: 3.25.76 devDependencies: '@chromatic-com/storybook': specifier: 'catalog:' - version: 3.2.6(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 3.2.6(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@eslint-react/eslint-plugin': specifier: 'catalog:' - version: 1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3) + version: 1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) '@flippo/eslint': specifier: workspace:* version: link:../packages/eslint @@ -483,31 +495,31 @@ importers: version: link:../packages/tsconfig '@storybook/addon-essentials': specifier: 'catalog:' - version: 8.6.11(@types/react@19.0.12)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(@types/react@19.0.12)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/addon-interactions': specifier: 'catalog:' - version: 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/addon-onboarding': specifier: 'catalog:' - version: 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/blocks': specifier: 'catalog:' - version: 8.6.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/manager-api': specifier: 'catalog:' - version: 8.6.12(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/react': specifier: 'catalog:' - version: 8.6.11(@storybook/test@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(typescript@5.7.3) + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2) '@storybook/react-vite': specifier: 'catalog:' - version: 8.6.11(@storybook/test@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.39.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(typescript@5.7.3)(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1)) + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(rollup@4.49.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) '@storybook/test': specifier: 'catalog:' - version: 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/theming': specifier: 'catalog:' - version: 8.6.12(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@testing-library/webdriverio': specifier: 'catalog:' version: 3.2.1(webdriverio@9.12.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -516,10 +528,10 @@ importers: version: 1.0.0 '@testplane/storybook': specifier: 'catalog:' - version: 1.6.1(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + version: 1.7.3(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@testplane/test-filter': specifier: 'catalog:' - version: 1.0.0 + version: 1.1.0 '@testplane/url-decorator': specifier: 'catalog:' version: 1.0.0 @@ -531,7 +543,7 @@ importers: version: 3.0.6 '@types/node': specifier: 'catalog:' - version: 22.14.0 + version: 22.18.0 '@types/react': specifier: 'catalog:' version: 19.0.12 @@ -540,61 +552,61 @@ importers: version: 19.0.4(@types/react@19.0.12) '@vitejs/plugin-react': specifier: 'catalog:' - version: 4.3.4(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1)) + version: 4.3.4(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) eslint: specifier: 'catalog:' - version: 9.33.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-plugin-effector: specifier: 'catalog:' - version: 0.15.0(effector@23.3.0)(eslint@9.33.0(jiti@2.4.2)) + version: 0.15.0(effector@23.4.2)(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-format: specifier: 'catalog:' - version: 1.0.1(eslint@9.33.0(jiti@2.4.2)) + version: 1.0.1(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 5.2.0(eslint@9.33.0(jiti@2.4.2)) + version: 5.2.0(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-refresh: specifier: 'catalog:' - version: 0.4.19(eslint@9.33.0(jiti@2.4.2)) + version: 0.4.20(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-storybook: specifier: 'catalog:' - version: 0.12.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + version: 0.12.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) html-reporter: specifier: 'catalog:' - version: 10.15.2(playwright@1.55.0)(testplane@8.27.2(@cspotcode/source-map-support@0.8.1)(@types/node@22.14.0)(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@6.0.5)) + version: 10.19.0(@types/node@22.18.0)(playwright@1.55.0)(testplane@8.31.0(@cspotcode/source-map-support@0.8.1)(@types/node@22.18.0)(bufferutil@4.0.9)(sass@1.91.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))(typescript@5.9.2)(utf-8-validate@6.0.5)) i18next-hmr: specifier: 'catalog:' - version: 3.1.3 + version: 3.1.4 postcss: specifier: 'catalog:' - version: 8.5.3 + version: 8.5.6 postcss-flexbugs-fixes: specifier: 'catalog:' - version: 5.0.2(postcss@8.5.3) + version: 5.0.2(postcss@8.5.6) postcss-preset-env: specifier: 'catalog:' - version: 10.1.5(postcss@8.5.3) + version: 10.3.1(postcss@8.5.6) sass-embedded: specifier: 'catalog:' - version: 1.86.3 + version: 1.91.0 storybook: specifier: 'catalog:' - version: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + version: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) storybook-react-i18next: specifier: 'catalog:' - version: 3.2.1(i18next-browser-languagedetector@8.0.4)(i18next-http-backend@3.0.2)(i18next@24.2.3(typescript@5.7.3))(react-i18next@15.4.1(i18next@24.2.3(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 3.3.1(i18next-browser-languagedetector@8.2.0)(i18next-http-backend@3.0.2)(i18next@24.2.3(typescript@5.9.2))(react-i18next@15.7.3(i18next@24.2.3(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)) stylelint: specifier: 'catalog:' - version: 16.18.0(typescript@5.7.3) + version: 16.23.1(typescript@5.9.2) testplane: specifier: 'catalog:' - version: 8.27.2(@cspotcode/source-map-support@0.8.1)(@types/node@22.14.0)(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@6.0.5) + version: 8.31.0(@cspotcode/source-map-support@0.8.1)(@types/node@22.18.0)(bufferutil@4.0.9)(sass@1.91.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))(typescript@5.9.2)(utf-8-validate@6.0.5) typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 vite: specifier: 'catalog:' - version: 6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1) + version: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) packages/biome: dependencies: @@ -606,87 +618,87 @@ importers: dependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 5.2.0(@eslint-react/eslint-plugin@1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.33.0(jiti@2.4.2)))(eslint-plugin-react-hooks@5.2.0(eslint@9.33.0(jiti@2.4.2)))(eslint-plugin-react-refresh@0.4.19(eslint@9.33.0(jiti@2.4.2)))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)(vitest@2.1.9) + version: 5.2.1(@eslint-react/eslint-plugin@1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.33.0(jiti@2.5.1)))(eslint-plugin-react-hooks@5.2.0(eslint@9.33.0(jiti@2.5.1)))(eslint-plugin-react-refresh@0.4.20(eslint@9.33.0(jiti@2.5.1)))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)(vitest@3.2.4) eslint-plugin-format: specifier: 'catalog:' - version: 1.0.1(eslint@9.33.0(jiti@2.4.2)) + version: 1.0.1(eslint@9.33.0(jiti@2.5.1)) globals: specifier: 'catalog:' - version: 16.0.0 + version: 16.3.0 devDependencies: '@flippo/tsconfig': specifier: workspace:* version: link:../tsconfig '@types/node': specifier: 'catalog:' - version: 22.14.0 + version: 22.18.0 eslint: specifier: 'catalog:' - version: 9.33.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-plugin-turbo: specifier: 'catalog:' - version: 2.5.0(eslint@9.33.0(jiti@2.4.2))(turbo@2.5.0) + version: 2.5.6(eslint@9.33.0(jiti@2.5.1))(turbo@2.5.6) jiti: specifier: 'catalog:' - version: 2.4.2 + version: 2.5.1 typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 packages/test: dependencies: '@testing-library/jest-dom': - specifier: ^6.1.0 - version: 6.5.0 + specifier: 'catalog:' + version: 6.8.0 '@testing-library/react': - specifier: ^14.0.0 - version: 14.3.1(@types/react@18.3.24)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 'catalog:' + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@testing-library/user-event': - specifier: ^14.5.0 + specifier: 'catalog:' version: 14.6.1(@testing-library/dom@10.4.1) '@vitest/ui': - specifier: ^1.0.0 - version: 1.6.1(vitest@1.6.1) + specifier: 'catalog:' + version: 3.2.4(vitest@3.2.4) jsdom: - specifier: ^22.0.0 - version: 22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 'catalog:' + version: 24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) react: - specifier: '>=18.0.0' - version: 19.1.0 + specifier: 'catalog:' + version: 19.1.1 react-dom: - specifier: '>=18.0.0' - version: 19.1.0(react@19.1.0) + specifier: 'catalog:' + version: 19.1.1(react@19.1.1) vitest: - specifier: ^1.0.0 - version: 1.6.1(@types/node@20.19.10)(@vitest/ui@1.6.1)(jsdom@22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + specifier: 'catalog:' + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) devDependencies: '@types/node': - specifier: ^20.0.0 - version: 20.19.10 + specifier: 'catalog:' + version: 22.18.0 '@types/react': - specifier: ^18.0.0 - version: 18.3.24 + specifier: 'catalog:' + version: 19.0.12 '@types/react-dom': - specifier: ^18.0.0 - version: 18.3.7(@types/react@18.3.24) + specifier: 'catalog:' + version: 19.0.4(@types/react@19.0.12) tsup: - specifier: ^8.0.0 - version: 8.5.0(jiti@2.4.2)(postcss@8.5.6)(typescript@5.8.3)(yaml@2.8.1) + specifier: 'catalog:' + version: 8.5.0(@microsoft/api-extractor@7.52.11(@types/node@22.18.0))(jiti@2.5.1)(postcss@8.5.6)(typescript@5.9.2)(yaml@2.8.1) typescript: - specifier: ^5.0.0 - version: 5.8.3 + specifier: 'catalog:' + version: 5.9.2 packages/tsconfig: devDependencies: typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 packages/ui/icons: devDependencies: '@figma-export/core': specifier: 'catalog:' - version: 6.2.0 + version: 6.2.2 '@flippo/eslint': specifier: workspace:* version: link:../../eslint @@ -695,13 +707,16 @@ importers: version: link:../../tsconfig '@svgr/core': specifier: 'catalog:' - version: 8.1.0(typescript@5.7.3) + version: 8.1.0(typescript@5.9.2) '@svgr/plugin-jsx': specifier: 'catalog:' - version: 8.1.0(@svgr/core@8.1.0(typescript@5.7.3)) + version: 8.1.0(@svgr/core@8.1.0(typescript@5.9.2)) + '@svgr/plugin-svgo': + specifier: ^8.1.0 + version: 8.1.0(@svgr/core@8.1.0(typescript@5.9.2))(typescript@5.9.2) '@types/node': specifier: 'catalog:' - version: 22.14.0 + version: 22.18.0 '@types/react': specifier: 'catalog:' version: 19.0.12 @@ -710,10 +725,10 @@ importers: version: 19.0.4(@types/react@19.0.12) eslint: specifier: 'catalog:' - version: 9.33.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-plugin-react-refresh: specifier: 'catalog:' - version: 0.4.19(eslint@9.33.0(jiti@2.4.2)) + version: 0.4.20(eslint@9.33.0(jiti@2.5.1)) fast-glob: specifier: 'catalog:' version: 3.3.3 @@ -722,10 +737,10 @@ importers: version: 5.1.0 react: specifier: 'catalog:' - version: 19.1.0 + version: 19.1.1 react-dom: specifier: 'catalog:' - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) rimraf: specifier: 'catalog:' version: 6.0.1 @@ -734,35 +749,153 @@ importers: version: 3.3.2 typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 + + packages/ui/uikit/flippo/components: + dependencies: + '@flippo-ui/headless-components': + specifier: workspace:* + version: link:../../headless/components + '@flippo-ui/icons': + specifier: workspace:* + version: link:../../../icons + class-variance-authority: + specifier: 'catalog:' + version: 0.7.1 + devDependencies: + '@eslint-react/eslint-plugin': + specifier: 'catalog:' + version: 1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + '@flippo/eslint': + specifier: workspace:* + version: link:../../../../eslint + '@flippo/internal-test-utils': + specifier: workspace:* + version: link:../../../../test + '@flippo/tsconfig': + specifier: workspace:* + version: link:../../../../tsconfig + '@storybook/addon-essentials': + specifier: 'catalog:' + version: 8.6.14(@types/react@19.0.12)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-interactions': + specifier: 'catalog:' + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-links': + specifier: 'catalog:' + version: 8.6.14(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-onboarding': + specifier: 'catalog:' + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/blocks': + specifier: 'catalog:' + version: 8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/manager-api': + specifier: 'catalog:' + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/react': + specifier: 'catalog:' + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2) + '@storybook/react-vite': + specifier: 'catalog:' + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(rollup@4.49.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) + '@storybook/test': + specifier: 'catalog:' + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/theming': + specifier: 'catalog:' + version: 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@testing-library/jest-dom': + specifier: 'catalog:' + version: 6.8.0 + '@testing-library/react': + specifier: 'catalog:' + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@testing-library/user-event': + specifier: 'catalog:' + version: 14.6.1(@testing-library/dom@10.4.1) + '@types/node': + specifier: 'catalog:' + version: 22.18.0 + '@types/react': + specifier: 'catalog:' + version: 19.0.12 + '@types/react-dom': + specifier: 'catalog:' + version: 19.0.4(@types/react@19.0.12) + '@vitejs/plugin-react': + specifier: 'catalog:' + version: 4.3.4(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) + '@vitest/ui': + specifier: 'catalog:' + version: 3.2.4(vitest@3.2.4) + eslint: + specifier: 'catalog:' + version: 9.33.0(jiti@2.5.1) + eslint-plugin-format: + specifier: 'catalog:' + version: 1.0.1(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-react-hooks: + specifier: 'catalog:' + version: 5.2.0(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-react-refresh: + specifier: 'catalog:' + version: 0.4.20(eslint@9.33.0(jiti@2.5.1)) + jsdom: + specifier: 'catalog:' + version: 24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + react: + specifier: 'catalog:' + version: 19.1.1 + react-dom: + specifier: 'catalog:' + version: 19.1.1(react@19.1.1) + sass: + specifier: 'catalog:' + version: 1.91.0 + sass-embedded: + specifier: 'catalog:' + version: 1.91.0 + storybook: + specifier: 'catalog:' + version: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) + typescript: + specifier: 'catalog:' + version: 5.9.2 + vite: + specifier: 'catalog:' + version: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) + vitest: + specifier: 'catalog:' + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) packages/ui/uikit/headless/components: dependencies: - '@flippo_ui/hooks': + '@flippo-ui/hooks': specifier: workspace:* version: link:../hooks '@floating-ui/react': specifier: 'catalog:' - version: 0.27.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@floating-ui/react-dom': specifier: 'catalog:' - version: 2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@floating-ui/utils': specifier: 'catalog:' - version: 0.2.9 + version: 0.2.10 '@vitejs/plugin-react': specifier: 'catalog:' - version: 4.3.4(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1)) + version: 4.3.4(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) tabbable: specifier: 'catalog:' version: 6.2.0 vite: specifier: 'catalog:' - version: 6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1) + version: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) devDependencies: '@eslint-react/eslint-plugin': specifier: 'catalog:' - version: 1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3) + version: 1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) '@flippo/eslint': specifier: workspace:* version: link:../../../../eslint @@ -770,17 +903,17 @@ importers: specifier: workspace:* version: link:../../../../tsconfig '@testing-library/jest-dom': - specifier: catalog:conflicts_@testing-library/jest-dom_h6_4_8 - version: 6.5.0 + specifier: 'catalog:' + version: 6.8.0 '@testing-library/react': - specifier: catalog:conflicts_@testing-library/react_h16_0_0 - version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 'catalog:' + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@testing-library/user-event': - specifier: catalog:conflicts_@testing-library/user-event_h14_5_2 - version: 14.5.2(@testing-library/dom@10.4.1) + specifier: 'catalog:' + version: 14.6.1(@testing-library/dom@10.4.1) '@types/node': specifier: 'catalog:' - version: 22.14.0 + version: 22.18.0 '@types/react': specifier: 'catalog:' version: 19.0.12 @@ -788,35 +921,41 @@ importers: specifier: 'catalog:' version: 19.0.4(@types/react@19.0.12) '@vitest/ui': - specifier: catalog:conflicts_@vitest/ui_h2_0_4 - version: 2.1.9(vitest@2.1.9) + specifier: 'catalog:' + version: 3.2.4(vitest@3.2.4) eslint: specifier: 'catalog:' - version: 9.33.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-plugin-format: specifier: 'catalog:' - version: 1.0.1(eslint@9.33.0(jiti@2.4.2)) + version: 1.0.1(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 5.2.0(eslint@9.33.0(jiti@2.4.2)) + version: 5.2.0(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-refresh: specifier: 'catalog:' - version: 0.4.19(eslint@9.33.0(jiti@2.4.2)) + version: 0.4.20(eslint@9.33.0(jiti@2.5.1)) + glob: + specifier: 'catalog:' + version: 11.0.3 jsdom: - specifier: catalog:conflicts_jsdom_h24_1_1 + specifier: 'catalog:' version: 24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) react: specifier: 'catalog:' - version: 19.1.0 + version: 19.1.1 react-dom: specifier: 'catalog:' - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 + vite-plugin-dts: + specifier: 'catalog:' + version: 4.5.4(@types/node@22.18.0)(rollup@4.49.0)(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) vitest: - specifier: catalog:conflicts_vitest_h2_0_4 - version: 2.1.9(@types/node@22.14.0)(@vitest/ui@2.1.9)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + specifier: 'catalog:' + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) packages/ui/uikit/headless/hooks: dependencies: @@ -828,7 +967,7 @@ importers: version: 5.1.1 use-sync-external-store: specifier: 'catalog:' - version: 1.5.0(react@19.1.0) + version: 1.5.0(react@19.1.1) devDependencies: '@flippo/eslint': specifier: workspace:* @@ -838,7 +977,7 @@ importers: version: link:../../../../tsconfig '@types/node': specifier: 'catalog:' - version: 22.14.0 + version: 22.18.0 '@types/react': specifier: 'catalog:' version: 19.0.12 @@ -847,31 +986,31 @@ importers: version: 19.0.4(@types/react@19.0.12) eslint: specifier: 'catalog:' - version: 9.33.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-plugin-format: specifier: 'catalog:' - version: 1.0.1(eslint@9.33.0(jiti@2.4.2)) + version: 1.0.1(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 5.2.0(eslint@9.33.0(jiti@2.4.2)) + version: 5.2.0(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-refresh: specifier: 'catalog:' - version: 0.4.19(eslint@9.33.0(jiti@2.4.2)) + version: 0.4.20(eslint@9.33.0(jiti@2.5.1)) react: specifier: 'catalog:' - version: 19.1.0 + version: 19.1.1 react-dom: specifier: 'catalog:' - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 packages/ui/uikit/headless/utils: dependencies: '@floating-ui/react': specifier: 'catalog:' - version: 0.27.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1) devDependencies: '@flippo/eslint': specifier: workspace:* @@ -881,7 +1020,7 @@ importers: version: link:../../../../tsconfig '@types/node': specifier: 'catalog:' - version: 22.14.0 + version: 22.18.0 '@types/react': specifier: 'catalog:' version: 19.0.12 @@ -890,37 +1029,37 @@ importers: version: 19.0.4(@types/react@19.0.12) eslint: specifier: 'catalog:' - version: 9.33.0(jiti@2.4.2) + version: 9.33.0(jiti@2.5.1) eslint-plugin-format: specifier: 'catalog:' - version: 1.0.1(eslint@9.33.0(jiti@2.4.2)) + version: 1.0.1(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 5.2.0(eslint@9.33.0(jiti@2.4.2)) + version: 5.2.0(eslint@9.33.0(jiti@2.5.1)) eslint-plugin-react-refresh: specifier: 'catalog:' - version: 0.4.19(eslint@9.33.0(jiti@2.4.2)) + version: 0.4.20(eslint@9.33.0(jiti@2.5.1)) react: specifier: 'catalog:' - version: 19.1.0 + version: 19.1.1 react-dom: specifier: 'catalog:' - version: 19.1.0(react@19.1.0) + version: 19.1.1(react@19.1.1) typescript: specifier: 'catalog:' - version: 5.7.3 + version: 5.9.2 packages: - '@adobe/css-tools@4.4.2': - resolution: {integrity: sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==} + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@5.2.0': - resolution: {integrity: sha512-qAf+Ja5COyF0414kUxY/BfyqyLaWrf1YTwUqMuUASPltugDc25t7OCQYNt1p/QilmVocCpsL1dUJWkehemidOA==} + '@antfu/eslint-config@5.2.1': + resolution: {integrity: sha512-EG/5kwDci1PFKSwAPMEMHDA/VYJFn0TAqwXLdnmE7zuFcaug3EGih7UOWmapMfL59Hqq6jbomaUHN31aVnL8NA==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.38.4 @@ -980,50 +1119,155 @@ packages: '@asamuzakjp/css-color@3.2.0': resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-ses@3.879.0': + resolution: {integrity: sha512-6yydcKf01tXAIsya5YBOcznvGN4DN8crLEuYC0jwG+67loCeq2HZMO1rL3ouaIllCSgmO0l7KHDK62BQr3Z3Zg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso@3.879.0': + resolution: {integrity: sha512-+Pc3OYFpRYpKLKRreovPM63FPPud1/SF9vemwIJfz6KwsBCJdvg7vYD1xLSIp5DVZLeetgf4reCyAA5ImBfZuw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.879.0': + resolution: {integrity: sha512-AhNmLCrx980LsK+SfPXGh7YqTyZxsK0Qmy18mWmkfY0TSq7WLaSDB5zdQbgbnQCACCHy8DUYXbi4KsjlIhv3PA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.879.0': + resolution: {integrity: sha512-JgG7A8SSbr5IiCYL8kk39Y9chdSB5GPwBorDW8V8mr19G9L+qd6ohED4fAocoNFaDnYJ5wGAHhCfSJjzcsPBVQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.879.0': + resolution: {integrity: sha512-2hM5ByLpyK+qORUexjtYyDZsgxVCCUiJQZRMGkNXFEGz6zTpbjfTIWoh3zRgWHEBiqyPIyfEy50eIF69WshcuA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.879.0': + resolution: {integrity: sha512-07M8zfb73KmMBqVO5/V3Ea9kqDspMX0fO0kaI1bsjWI6ngnMye8jCE0/sIhmkVAI0aU709VA0g+Bzlopnw9EoQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-node@3.879.0': + resolution: {integrity: sha512-FYaAqJbnSTrVL2iZkNDj2hj5087yMv2RN2GA8DJhe7iOJjzhzRojrtlfpWeJg6IhK0sBKDH+YXbdeexCzUJvtA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.879.0': + resolution: {integrity: sha512-7r360x1VyEt35Sm1JFOzww2WpnfJNBbvvnzoyLt7WRfK0S/AfsuWhu5ltJ80QvJ0R3AiSNbG+q/btG2IHhDYPQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.879.0': + resolution: {integrity: sha512-gd27B0NsgtKlaPNARj4IX7F7US5NuU691rGm0EUSkDsM7TctvJULighKoHzPxDQlrDbVI11PW4WtKS/Zg5zPlQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.879.0': + resolution: {integrity: sha512-Jy4uPFfGzHk1Mxy+/Wr43vuw9yXsE2yiF4e4598vc3aJfO0YtA2nSfbKD3PNKRORwXbeKqWPfph9SCKQpWoxEg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.873.0': + resolution: {integrity: sha512-KZ/W1uruWtMOs7D5j3KquOxzCnV79KQW9MjJFZM/M0l6KI8J6V3718MXxFHsTjUE4fpdV6SeCNLV1lwGygsjJA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.876.0': + resolution: {integrity: sha512-cpWJhOuMSyz9oV25Z/CMHCBTgafDCbv7fHR80nlRrPdPZ8ETNsahwRgltXP1QJJ8r3X/c1kwpOR7tc+RabVzNA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.873.0': + resolution: {integrity: sha512-OtgY8EXOzRdEWR//WfPkA/fXl0+WwE8hq0y9iw2caNyKPtca85dzrrZWnPqyBK/cpImosrpR1iKMYr41XshsCg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.879.0': + resolution: {integrity: sha512-DDSV8228lQxeMAFKnigkd0fHzzn5aauZMYC3CSj6e5/qE7+9OwpkUcjHfb7HZ9KWG6L2/70aKZXHqiJ4xKhOZw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/nested-clients@3.879.0': + resolution: {integrity: sha512-7+n9NpIz9QtKYnxmw1fHi9C8o0GrX8LbBR4D50c7bH6Iq5+XdSuL5AFOWWQ5cMD0JhqYYJhK/fJsVau3nUtC4g==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.873.0': + resolution: {integrity: sha512-q9sPoef+BBG6PJnc4x60vK/bfVwvRWsPgcoQyIra057S/QGjq5VkjvNk6H8xedf6vnKlXNBwq9BaANBXnldUJg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.879.0': + resolution: {integrity: sha512-47J7sCwXdnw9plRZNAGVkNEOlSiLb/kR2slnDIHRK9NB/ECKsoqgz5OZQJ9E2f0yqOs8zSNJjn3T01KxpgW8Qw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/types@3.862.0': + resolution: {integrity: sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.879.0': + resolution: {integrity: sha512-aVAJwGecYoEmbEFju3127TyJDF9qJsKDUUTRMDuS8tGn+QiWQFnfInmbt+el9GU1gEJupNTXV+E3e74y51fb7A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.873.0': + resolution: {integrity: sha512-xcVhZF6svjM5Rj89T1WzkjQmrTF6dpR2UvIHPMTnSZoNe6CixejPZ6f0JJ2kAhO8H+dUHwNBlsUgOTIKiK/Syg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.873.0': + resolution: {integrity: sha512-AcRdbK6o19yehEcywI43blIBhOCSo6UgyWcuOJX5CFF8k39xm1ILCjQlRRjchLAxWrm0lU0Q7XV90RiMMFMZtA==} + + '@aws-sdk/util-user-agent-node@3.879.0': + resolution: {integrity: sha512-A5KGc1S+CJRzYnuxJQQmH1BtGsz46AgyHkqReKfGiNQA8ET/9y9LQ5t2ABqnSBHHIh3+MiCcQSkUZ0S3rTodrQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/xml-builder@3.873.0': + resolution: {integrity: sha512-kLO7k7cGJ6KaHiExSJWojZurF7SnGMDHXRuQunFnEoD0n1yB6Lqy/S/zHiQ7oJnBhPr9q0TW9qFkrsZb1Uc54w==} + engines: {node: '>=18.0.0'} + '@babel/code-frame@7.24.2': resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.8': - resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + '@babel/compat-data@7.28.0': + resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.10': - resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} + '@babel/core@7.28.3': + resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} engines: {node: '>=6.9.0'} - '@babel/generator@7.27.0': - resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.0': - resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.27.1': @@ -1034,63 +1278,45 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.0': - resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} + '@babel/helpers@7.28.3': + resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} engines: {node: '>=6.9.0'} '@babel/highlight@7.25.9': resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.0': - resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.28.0': - resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.28.3': resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-transform-react-jsx-self@7.25.9': - resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.25.9': - resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.27.0': - resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.3': resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.0': - resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.27.0': - resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.27.0': - resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} + '@babel/traverse@7.28.3': + resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} engines: {node: '>=6.9.0'} '@babel/types@7.28.2': @@ -1150,20 +1376,20 @@ packages: cpu: [x64] os: [win32] - '@bufbuild/protobuf@2.2.5': - resolution: {integrity: sha512-/g5EzJifw5GF8aren8wZ/G5oMuPoGeS6MQD3ca8ddcvdXR5UELUfdTZITCGNhNXynY/AYl3Z4plmxdj/tRl/hQ==} + '@bufbuild/protobuf@2.7.0': + resolution: {integrity: sha512-qn6tAIZEw5i/wiESBF4nQxZkl86aY4KoO0IkUa2Lh+rya64oTOdJQFlZuMwI1Qz9VBJQrQC4QlSA2DNek5gCOA==} - '@changesets/apply-release-plan@7.0.10': - resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==} + '@changesets/apply-release-plan@7.0.12': + resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} - '@changesets/assemble-release-plan@6.0.6': - resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} + '@changesets/assemble-release-plan@6.0.9': + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.28.1': - resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==} + '@changesets/cli@2.29.6': + resolution: {integrity: sha512-6qCcVsIG1KQLhpQ5zE8N0PckIx4+9QlHK3z6/lwKnw7Tir71Bjw8BeOZaxA/4Jt00pcgCnCSWZnyuZf5Il05QQ==} hasBin: true '@changesets/config@3.1.1': @@ -1175,14 +1401,14 @@ packages: '@changesets/get-dependents-graph@2.1.3': resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-release-plan@4.0.8': - resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==} + '@changesets/get-release-plan@4.0.13': + resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.2': - resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} @@ -1193,8 +1419,8 @@ packages: '@changesets/pre@2.0.2': resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@changesets/read@0.6.3': - resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==} + '@changesets/read@0.6.5': + resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} '@changesets/should-skip-package@0.1.2': resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} @@ -1224,92 +1450,92 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@csstools/cascade-layer-name-parser@2.0.4': - resolution: {integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==} + '@csstools/cascade-layer-name-parser@2.0.5': + resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 - - '@csstools/color-helpers@5.0.2': - resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} - engines: {node: '>=18'} + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 '@csstools/color-helpers@5.1.0': resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} - '@csstools/css-calc@2.1.2': - resolution: {integrity: sha512-TklMyb3uBB28b5uQdxjReG4L80NxAqgrECqLZFQbyLekwwlcDDS8r3f07DKqeo8C4926Br0gf/ZDe17Zv4wIuw==} + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} engines: {node: '>=18'} peerDependencies: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-color-parser@3.0.8': - resolution: {integrity: sha512-pdwotQjCCnRPuNi06jFuP68cykU1f3ZWExLe/8MQ1LOs8Xq+fTkYgd+2V8mWUWMrOn9iS2HftPVaMZDaXzGbhQ==} + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} engines: {node: '>=18'} peerDependencies: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-parser-algorithms@3.0.4': - resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} + '@csstools/postcss-alpha-function@1.0.0': + resolution: {integrity: sha512-r2L8KNg5Wriq5n8IUQcjzy2Rh37J5YjzP9iOyHZL5fxdWYHB08vqykHQa4wAzN/tXwDuCHnhQDGCtxfS76xn7g==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.3 + postcss: ^8.4 - '@csstools/css-tokenizer@3.0.3': - resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} + '@csstools/postcss-cascade-layers@5.0.2': + resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 - '@csstools/media-query-list-parser@4.0.2': - resolution: {integrity: sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==} + '@csstools/postcss-color-function-display-p3-linear@1.0.0': + resolution: {integrity: sha512-7q+OuUqfowRrP84m/Jl0wv3pfCQyUTCW5MxDIux+/yty5IkUUHOTigCjrC0Fjy3OT0ncGLudHbfLWmP7E1arNA==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 + postcss: ^8.4 - '@csstools/postcss-cascade-layers@5.0.1': - resolution: {integrity: sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==} + '@csstools/postcss-color-function@4.0.11': + resolution: {integrity: sha512-AtH22zLHTLm64HLdpv5EedT/zmYTm1MtdQbQhRZXxEB6iYtS6SrS1jLX3TcmUWMFzpumK/OVylCm3HcLms4slw==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-color-function@4.0.8': - resolution: {integrity: sha512-9dUvP2qpZI6PlGQ/sob+95B3u5u7nkYt9yhZFCC7G9HBRHBxj+QxS/wUlwaMGYW0waf+NIierI8aoDTssEdRYw==} + '@csstools/postcss-color-mix-function@3.0.11': + resolution: {integrity: sha512-cQpXBelpTx0YhScZM5Ve0jDCA4RzwFc7oNafzZOGgCHt/GQVYiU8Vevz9QJcwy/W0Pyi/BneY+KMjz23lI9r+Q==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-color-mix-function@3.0.8': - resolution: {integrity: sha512-yuZpgWUzqZWQhEqfvtJufhl28DgO9sBwSbXbf/59gejNuvZcoUTRGQZhzhwF4ccqb53YAGB+u92z9+eSKoB4YA==} + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.1': + resolution: {integrity: sha512-c7hyBtbF+jlHIcUGVdWY06bHICgguV9ypfcELU3eU3W/9fiz2dxM8PqxQk2ndXYTzLnwPvNNqu1yCmQ++N6Dcg==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-content-alt-text@2.0.4': - resolution: {integrity: sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==} + '@csstools/postcss-content-alt-text@2.0.7': + resolution: {integrity: sha512-cq/zWaEkpcg3RttJ5+GdNwk26NwxY5KgqgtNL777Fdd28AVGHxuBvqmK4Jq4oKhW1NX4M2LbgYAVVN0NZ+/XYQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-exponential-functions@2.0.7': - resolution: {integrity: sha512-XTb6Mw0v2qXtQYRW9d9duAjDnoTbBpsngD7sRNLmYDjvwU2ebpIHplyxgOeo6jp/Kr52gkLi5VaK5RDCqzMzZQ==} + '@csstools/postcss-exponential-functions@2.0.9': + resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -1320,26 +1546,26 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/postcss-gamut-mapping@2.0.8': - resolution: {integrity: sha512-/K8u9ZyGMGPjmwCSIjgaOLKfic2RIGdFHHes84XW5LnmrvdhOTVxo255NppHi3ROEvoHPW7MplMJgjZK5Q+TxA==} + '@csstools/postcss-gamut-mapping@2.0.11': + resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-gradients-interpolation-method@5.0.8': - resolution: {integrity: sha512-CoHQ/0UXrvxLovu0ZeW6c3/20hjJ/QRg6lyXm3dZLY/JgvRU6bdbQZF/Du30A4TvowfcgvIHQmP1bNXUxgDrAw==} + '@csstools/postcss-gradients-interpolation-method@5.0.11': + resolution: {integrity: sha512-8M3mcNTL3cGIJXDnvrJ2oWEcKi3zyw7NeYheFKePUlBmLYm1gkw9Rr/BA7lFONrOPeQA3yeMPldrrws6lqHrug==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-hwb-function@4.0.8': - resolution: {integrity: sha512-LpFKjX6hblpeqyych1cKmk+3FJZ19QmaJtqincySoMkbkG/w2tfbnO5oE6mlnCTXcGUJ0rCEuRHvTqKK0nHYUQ==} + '@csstools/postcss-hwb-function@4.0.11': + resolution: {integrity: sha512-9meZbsVWTZkWsSBazQips3cHUOT29a/UAwFz0AMEXukvpIGGDR9+GMl3nIckWO5sPImsadu4F5Zy+zjt8QgCdA==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-ic-unit@4.0.0': - resolution: {integrity: sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==} + '@csstools/postcss-ic-unit@4.0.3': + resolution: {integrity: sha512-RtYYm2qUIu9vAaHB0cC8rQGlOCQAUgEc2tMr7ewlGXYipBQKjoWmyVArqsk7SEr8N3tErq6P6UOJT3amaVof5Q==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -1350,14 +1576,14 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/postcss-is-pseudo-class@5.0.1': - resolution: {integrity: sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==} + '@csstools/postcss-is-pseudo-class@5.0.3': + resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-light-dark-function@2.0.7': - resolution: {integrity: sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==} + '@csstools/postcss-light-dark-function@2.0.10': + resolution: {integrity: sha512-g7Lwb294lSoNnyrwcqoooh9fTAp47rRNo+ILg7SLRSMU3K9ePIwRt566sNx+pehiCelv4E1ICaU1EwLQuyF2qw==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -1386,20 +1612,20 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/postcss-logical-viewport-units@3.0.3': - resolution: {integrity: sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==} + '@csstools/postcss-logical-viewport-units@3.0.4': + resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-media-minmax@2.0.7': - resolution: {integrity: sha512-LB6tIP7iBZb5CYv8iRenfBZmbaG3DWNEziOnPjGoQX5P94FBPvvTBy68b/d9NnS5PELKwFmmOYsAEIgEhDPCHA==} + '@csstools/postcss-media-minmax@2.0.9': + resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4': - resolution: {integrity: sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==} + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': + resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -1416,26 +1642,26 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/postcss-oklab-function@4.0.8': - resolution: {integrity: sha512-+5aPsNWgxohXoYNS1f+Ys0x3Qnfehgygv3qrPyv+Y25G0yX54/WlVB+IXprqBLOXHM1gsVF+QQSjlArhygna0Q==} + '@csstools/postcss-oklab-function@4.0.11': + resolution: {integrity: sha512-9f03ZGxZ2VmSCrM4SDXlAYP+Xpu4VFzemfQUQFL9OYxAbpvDy0FjDipZ0i8So1pgs8VIbQI0bNjFWgfdpGw8ig==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-progressive-custom-properties@4.0.0': - resolution: {integrity: sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==} + '@csstools/postcss-progressive-custom-properties@4.2.0': + resolution: {integrity: sha512-fWCXRasX17N1NCPTCuwC3FJDV+Wc031f16cFuuMEfIsYJ1q5ABCa59W0C6VeMGqjNv6ldf37vvwXXAeaZjD9PA==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-random-function@1.0.3': - resolution: {integrity: sha512-dbNeEEPHxAwfQJ3duRL5IPpuD77QAHtRl4bAHRs0vOVhVbHrsL7mHnwe0irYjbs9kYwhAHZBQTLBgmvufPuRkA==} + '@csstools/postcss-random-function@2.0.1': + resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-relative-color-syntax@3.0.8': - resolution: {integrity: sha512-eGE31oLnJDoUysDdjS9MLxNZdtqqSxjDXMdISpLh80QMaYrKs7VINpid34tWQ+iU23Wg5x76qAzf1Q/SLLbZVg==} + '@csstools/postcss-relative-color-syntax@3.0.11': + resolution: {integrity: sha512-oQ5fZvkcBrWR+k6arHXk0F8FlkmD4IxM+rcGDLWrF2f31tWyEM3lSraeWAV0f7BGH6LIrqmyU3+Qo/1acfoJng==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -1446,26 +1672,26 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/postcss-sign-functions@1.1.2': - resolution: {integrity: sha512-4EcAvXTUPh7n6UoZZkCzgtCf/wPzMlTNuddcKg7HG8ozfQkUcHsJ2faQKeLmjyKdYPyOUn4YA7yDPf8K/jfIxw==} + '@csstools/postcss-sign-functions@1.1.4': + resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-stepped-value-functions@4.0.7': - resolution: {integrity: sha512-rdrRCKRnWtj5FyRin0u/gLla7CIvZRw/zMGI1fVJP0Sg/m1WGicjPVHRANL++3HQtsiXKAbPrcPr+VkyGck0IA==} + '@csstools/postcss-stepped-value-functions@4.0.9': + resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-text-decoration-shorthand@4.0.2': - resolution: {integrity: sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA==} + '@csstools/postcss-text-decoration-shorthand@4.0.3': + resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - '@csstools/postcss-trigonometric-functions@4.0.7': - resolution: {integrity: sha512-qTrZgLju3AV7Djhzuh2Bq/wjFqbcypnk0FhHjxW8DWJQcZLS1HecIus4X2/RLch1ukX7b+YYCdqbEnpIQO5ccg==} + '@csstools/postcss-trigonometric-functions@4.0.9': + resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -1476,8 +1702,8 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/selector-resolve-nested@3.0.0': - resolution: {integrity: sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==} + '@csstools/selector-resolve-nested@3.1.0': + resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} engines: {node: '>=18'} peerDependencies: postcss-selector-parser: ^7.0.0 @@ -1520,8 +1746,14 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.2': - resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} + '@esbuild/aix-ppc64@0.25.8': + resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -1532,8 +1764,14 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.2': - resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} + '@esbuild/android-arm64@0.25.8': + resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -1544,8 +1782,14 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.2': - resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} + '@esbuild/android-arm@0.25.8': + resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -1556,8 +1800,14 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.2': - resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} + '@esbuild/android-x64@0.25.8': + resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -1568,8 +1818,14 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.2': - resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} + '@esbuild/darwin-arm64@0.25.8': + resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -1580,8 +1836,14 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.2': - resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} + '@esbuild/darwin-x64@0.25.8': + resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -1592,20 +1854,32 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.2': - resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} + '@esbuild/freebsd-arm64@0.25.8': + resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.2': - resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} + '@esbuild/freebsd-x64@0.25.8': + resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -1616,8 +1890,14 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.2': - resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} + '@esbuild/linux-arm64@0.25.8': + resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -1628,8 +1908,14 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.2': - resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} + '@esbuild/linux-arm@0.25.8': + resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -1640,8 +1926,14 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.2': - resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} + '@esbuild/linux-ia32@0.25.8': + resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -1652,8 +1944,14 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.2': - resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} + '@esbuild/linux-loong64@0.25.8': + resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -1664,8 +1962,14 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.2': - resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} + '@esbuild/linux-mips64el@0.25.8': + resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -1676,8 +1980,14 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.2': - resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} + '@esbuild/linux-ppc64@0.25.8': + resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -1688,8 +1998,14 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.2': - resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} + '@esbuild/linux-riscv64@0.25.8': + resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -1700,8 +2016,14 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.2': - resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} + '@esbuild/linux-s390x@0.25.8': + resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -1712,14 +2034,26 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.2': - resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} + '@esbuild/linux-x64@0.25.8': + resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.2': - resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} + '@esbuild/netbsd-arm64@0.25.8': + resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -1730,14 +2064,26 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.2': - resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} + '@esbuild/netbsd-x64@0.25.8': + resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.2': - resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} + '@esbuild/openbsd-arm64@0.25.8': + resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1748,20 +2094,44 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.2': - resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} + '@esbuild/openbsd-x64@0.25.8': + resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.8': + resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.2': - resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} + '@esbuild/sunos-x64@0.25.8': + resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1772,8 +2142,14 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.2': - resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} + '@esbuild/win32-arm64@0.25.8': + resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1784,8 +2160,14 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.2': - resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} + '@esbuild/win32-ia32@0.25.8': + resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1796,8 +2178,14 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.2': - resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} + '@esbuild/win32-x64@0.25.8': + resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1808,12 +2196,6 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - '@eslint-community/eslint-utils@4.5.1': - resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1824,21 +2206,21 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@1.42.1': - resolution: {integrity: sha512-WEhUdQKFAOqO2eWNEsUqRnSSOVBWiHJPZm5ZhnCTHjR1/UT9SKm7OY/s1+hqwW2HA996iFJ9+vY2ZaDu+5j8/A==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + '@eslint-react/ast@1.52.8': + resolution: {integrity: sha512-R4C4N5hyghrlBSPhvCB+lx6ZFTQ1RMzwZsE1FDLMJliPbD7KFcWryT78o621wuHe7Quc4u5SPsL8xtoH3rlsQg==} + engines: {node: '>=18.18.0'} - '@eslint-react/core@1.42.1': - resolution: {integrity: sha512-e2IncFbnGA2dhnw6PoDu5k+0BkCXwpttzk8u6HcnCMqeW2LcULCdKbMiq22T2VpnfZr4p/56ggbdU0zHo9XLfg==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + '@eslint-react/core@1.52.8': + resolution: {integrity: sha512-wI27XSJjbK6PTO8faQYp8U0R+4FBqxnly21auFocWl4rbldPTt+LJyugyjjU9YqID7MfOkS30PUIYEqirrouUg==} + engines: {node: '>=18.18.0'} - '@eslint-react/eff@1.42.1': - resolution: {integrity: sha512-1ketgp6Q4wQCqchyJAr1US5Y8AMK8wss4y5/OZL8e0u4tr9m3gsX9KwznyDkvp0bP67g6CgkxH4XTG0R2MXotw==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + '@eslint-react/eff@1.52.8': + resolution: {integrity: sha512-zpYhjXsULK2ktWFQMfhgw9E3NSkszfJyaKC7lypU/Abp0uL22h9hFg+dEYS0yKGxqGeCwhJUgH9gUAXCLrzm5Q==} + engines: {node: '>=18.18.0'} - '@eslint-react/eslint-plugin@1.42.1': - resolution: {integrity: sha512-9Qx5ohu5LgXS4NEQdV8ZO39vbVQ5fUvlqBFV7cBYxqz/qD1lWw4pMQOHNjOp9mCQWFqdqcqWDyGXQ5vRU+ocEw==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + '@eslint-react/eslint-plugin@1.52.8': + resolution: {integrity: sha512-N8c8FwOoXLCTukJ1viAXaEt5F1gOQ54is9aGvyEURBmJKsCjY5EOeQOekpvHiGNZcS2iiesGM1cN90jOZ0ZROw==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^4.9.5 || ^5.3.3 @@ -1846,30 +2228,17 @@ packages: typescript: optional: true - '@eslint-react/jsx@1.42.1': - resolution: {integrity: sha512-7byEmQ+x9UgGEvBoXJIeWGbNTmlwkdWTZKHJlMHxjXesW6HitGfOL0VUvL9mZ9VmCrbZL4FLmfQimx9rIehJ+A==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - - '@eslint-react/kit@1.42.1': - resolution: {integrity: sha512-RtvSOQgw0R4s5H68Z97+9RuujH4xZzr4LgLBSblKC8hRU7ZSlyhd1oIi0SuumUmWA1Uupthil518V6/VMZthnQ==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - - '@eslint-react/shared@1.42.1': - resolution: {integrity: sha512-UqoE7Hrwxak7oCfK/3aA1WYrUlujaROel33aiZ3MoBwRtPfWalNwRFUM+tqif6vubUZfJw7N6XnLUeBY4PzE4w==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + '@eslint-react/kit@1.52.8': + resolution: {integrity: sha512-1s0kiI0MnqERtDWO1TZlx22qqYwY58xiHo2aQr0sQoUsd8XhS6Qg+56gnWlhFiWFrgao9pqXESvSgTKsMDHUMA==} + engines: {node: '>=18.18.0'} - '@eslint-react/var@1.42.1': - resolution: {integrity: sha512-w3h15w6uHjm+zAiVFKq9rXVB3fBkjg79INT8AdIAD4HUXBby6CCMaIicLCBKkqQsITPyiY4y02YxhvAxRwwJxQ==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + '@eslint-react/shared@1.52.8': + resolution: {integrity: sha512-V3ODl5RFsH13kkpV9bYgvAKFSpE/7ohOjsO267j+vjDTo4x/QvDCZLXX0WURVgxs0I9WbsXTTZjepiinHIxlyg==} + engines: {node: '>=18.18.0'} - '@eslint/compat@1.2.8': - resolution: {integrity: sha512-LqCYHdWL/QqKIJuZ/ucMAv8d4luKGs4oCPgpt8mWztQAtPrHfXKQ/XAUc8ljCHAfJCn6SvkpTcGt5Tsh8saowA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^9.10.0 - peerDependenciesMeta: - eslint: - optional: true + '@eslint-react/var@1.52.8': + resolution: {integrity: sha512-r4lf4vTwNMlxZBPgZaMFbGgyzbWCbcbN01h5onoaZL/MWpnUa+8X2o4/xPXX37gck6HFyMraIx0N3tSwdLx7lg==} + engines: {node: '>=18.18.0'} '@eslint/compat@1.3.2': resolution: {integrity: sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==} @@ -1896,20 +2265,20 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.24.0': - resolution: {integrity: sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.33.0': resolution: {integrity: sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/markdown@7.1.0': - resolution: {integrity: sha512-Y+X1B1j+/zupKDVJfkKc8uYMjQkGzfnd8lt7vK3y8x9Br6H5dBuhAfFrQ6ff7HAMm/1BwgecyEiRFkYCWPRxmA==} + '@eslint/js@9.34.0': + resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/markdown@7.2.0': + resolution: {integrity: sha512-cmDloByulvKzofM0tIkSGWwxMcrKOLsXZC+EM0FLkRIrxKzW+2RkZAt9TAh37EtQRmx1M4vjBEmlC6R0wiGkog==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/migrate-config@1.4.1': - resolution: {integrity: sha512-tlCalDCLn8++MXShNFbMWw+ddSXsj0nzRb7YX5GwY5iD9rvoKArlqKMkx39tEbCP9GivTteHAR9qc873/Tq3CQ==} + '@eslint/migrate-config@1.5.3': + resolution: {integrity: sha512-2bNQdMc2FOy20GhZvZjwz8Ypnj+3t4qo0JLgpASCd6j8AQjzWBgJ0elhc3gXjwntS2XUSxRyw72gchGNxoFzQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -1921,36 +2290,36 @@ packages: resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@farfetched/core@0.13.1': - resolution: {integrity: sha512-b0v3W+Z/uerIG8iz5IKfGxh2bC8L36eYQvozzBEtydCb8NshvyBrZ+exAzB7yL5Qm6PhIhD5K6POvvCq+0Cc9w==} + '@farfetched/core@0.13.2': + resolution: {integrity: sha512-uPw72zmWbZgGzkXWGaWIaP1Wnvj8axaJelSLe0Xz0oUoxJOsaZbvkae87j+K4iTjV3BXqtyoQ92JHS1bxDaTjA==} peerDependencies: effector: ^23.0.0 - '@figma-export/core@6.2.0': - resolution: {integrity: sha512-YnnYseytvkHRjwihqFO2FIf8WWKg9Qm7hPiiCu46LfFW3n4zQDchYsk4iqNvDcNP17M/h/XSnrO1bmLCJBpAfA==} + '@figma-export/core@6.2.2': + resolution: {integrity: sha512-j46FnJTlWEiYgDUZBtE0h9gtXXkPEY1BCKfO5Adj9zdwyVZVBZ0t4KfSPNSjNXi3RZ87pFcvqcHJTyEaeIWbmw==} engines: {node: '>= 18.18'} - '@figma-export/types@6.2.0': - resolution: {integrity: sha512-pTnQbkSR/fdLUGGfuAj8syQQkN/CI4V32gHXHrGRGIHte9S9ubKS8foIJ05L9jCJA2LRw55MWisDJrprZ7D9Bg==} + '@figma-export/types@6.2.2': + resolution: {integrity: sha512-/pa4apebkKrPdm2tJCy1kXVEBUVMOHauusJROUq4kBQgN/fNUuNRAoHRbPBKTyL+GJLDbaMw3DTf3DWZ5XybFA==} engines: {node: '>= 18.18'} - '@figma/rest-api-spec@0.24.0': - resolution: {integrity: sha512-c/LHQNzfn8HSuo608TnfHJS8K3Ps61MvDbqTTL+qVx2FCIui7dI3RC2bG2/kSHmQXXKTbgbcAADyU6Rf8YkZbQ==} + '@figma/rest-api-spec@0.31.0': + resolution: {integrity: sha512-Mk9hAZjA71etfnydoj6J3f6VL1nYWII50547o0ybz3YqMT61Q/GWsPmZNulPtR6+EYngiZ+Jq2LvJuB5MSaYPA==} '@floating-ui/core@1.7.3': resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} - '@floating-ui/dom@1.7.3': - resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==} + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} - '@floating-ui/react-dom@2.1.5': - resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==} + '@floating-ui/react-dom@2.1.6': + resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.27.7': - resolution: {integrity: sha512-5V9pwFeiv+95Jlowq/7oiGISSrdXMTs2jfoSy8k+WM6oI/Skm1WWjPdJWeporN2O4UGcsaCJdirKffKayMoPgw==} + '@floating-ui/react@0.27.16': + resolution: {integrity: sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==} peerDependencies: react: '>=17.0.0' react-dom: '>=17.0.0' @@ -1958,9 +2327,6 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - '@gemini-testing/commander@2.15.4': resolution: {integrity: sha512-GIvIknEbJccKMv2KCgYOOZPy4QgR3/8csvds/WCUGEJPkghHz6VrziG7cBaB4n91PsFEpOwU+uJqXun5sEBpwg==} @@ -1983,10 +2349,27 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@inquirer/external-editor@1.0.1': + resolution: {integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1999,10 +2382,6 @@ packages: resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/types@28.1.3': resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -2019,23 +2398,12 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@jridgewell/trace-mapping@0.3.30': resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} @@ -2046,8 +2414,11 @@ packages: '@jspm/core@2.0.1': resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==} - '@keyv/serialize@1.0.3': - resolution: {integrity: sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==} + '@jsquash/png@3.1.1': + resolution: {integrity: sha512-C10pc+0H6j0h8fENOfnGOvkXCmvpSQTDGlfGd0sHphZhPSGTyLjIrHba0FaZZdsKqA/wlmhYicUHb92vfZphaw==} + + '@keyv/serialize@1.1.0': + resolution: {integrity: sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==} '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -2055,12 +2426,25 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@mdx-js/react@3.1.0': - resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + '@mdx-js/react@3.1.1': + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} peerDependencies: '@types/react': '>=16' react: '>=16' + '@microsoft/api-extractor-model@7.30.7': + resolution: {integrity: sha512-TBbmSI2/BHpfR9YhQA7nH0nqVmGgJ0xH0Ex4D99/qBDAUpnhA2oikGmdXanbw9AWWY/ExBYIpkmY8dBHdla3YQ==} + + '@microsoft/api-extractor@7.52.11': + resolution: {integrity: sha512-IKQ7bHg6f/Io3dQds6r9QPYk4q0OlR9A4nFDtNhUt3UUIhyitbxAqRN1CLjUVtk6IBk3xzyCMOdwwtIXQ7AlGg==} + hasBin: true + + '@microsoft/tsdoc-config@0.17.1': + resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==} + + '@microsoft/tsdoc@0.15.1': + resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2073,6 +2457,88 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2101,8 +2567,8 @@ packages: typescript: optional: true - '@puppeteer/browsers@2.10.6': - resolution: {integrity: sha512-pHUn6ZRt39bP3698HFQlu2ZHCkS/lPcpv7fVQcGBSzNNygw171UXAKrCUhy+TEMw4lEttOKDgNpb04hwUAJeiQ==} + '@puppeteer/browsers@2.10.8': + resolution: {integrity: sha512-f02QYEnBDE0p8cteNoPYHHjbDuwyfbe4cCIVlNi8/MRicIxFW4w4CfgU0LNgWEID6s06P+hRJ1qjpBLMhPRCiQ==} engines: {node: '>=18'} hasBin: true @@ -2111,13 +2577,8 @@ packages: engines: {node: '>=18'} hasBin: true - '@puppeteer/browsers@2.9.0': - resolution: {integrity: sha512-8+xM+cFydYET4X/5/3yZMHs7sjS6c9I6H5I3xJdb6cinzxWUT/I2QVw4avxCQ8QDndwdHkG/FiSZIrCjAbaKvQ==} - engines: {node: '>=18'} - hasBin: true - - '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + '@rollup/pluginutils@5.2.0': + resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -2125,103 +2586,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.39.0': - resolution: {integrity: sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==} + '@rollup/rollup-android-arm-eabi@4.49.0': + resolution: {integrity: sha512-rlKIeL854Ed0e09QGYFlmDNbka6I3EQFw7iZuugQjMb11KMpJCLPFL4ZPbMfaEhLADEL1yx0oujGkBQ7+qW3eA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.39.0': - resolution: {integrity: sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==} + '@rollup/rollup-android-arm64@4.49.0': + resolution: {integrity: sha512-cqPpZdKUSQYRtLLr6R4X3sD4jCBO1zUmeo3qrWBCqYIeH8Q3KRL4F3V7XJ2Rm8/RJOQBZuqzQGWPjjvFUcYa/w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.39.0': - resolution: {integrity: sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==} + '@rollup/rollup-darwin-arm64@4.49.0': + resolution: {integrity: sha512-99kMMSMQT7got6iYX3yyIiJfFndpojBmkHfTc1rIje8VbjhmqBXE+nb7ZZP3A5skLyujvT0eIUCUsxAe6NjWbw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.39.0': - resolution: {integrity: sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==} + '@rollup/rollup-darwin-x64@4.49.0': + resolution: {integrity: sha512-y8cXoD3wdWUDpjOLMKLx6l+NFz3NlkWKcBCBfttUn+VGSfgsQ5o/yDUGtzE9HvsodkP0+16N0P4Ty1VuhtRUGg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.39.0': - resolution: {integrity: sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==} + '@rollup/rollup-freebsd-arm64@4.49.0': + resolution: {integrity: sha512-3mY5Pr7qv4GS4ZvWoSP8zha8YoiqrU+e0ViPvB549jvliBbdNLrg2ywPGkgLC3cmvN8ya3za+Q2xVyT6z+vZqA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.39.0': - resolution: {integrity: sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==} + '@rollup/rollup-freebsd-x64@4.49.0': + resolution: {integrity: sha512-C9KzzOAQU5gU4kG8DTk+tjdKjpWhVWd5uVkinCwwFub2m7cDYLOdtXoMrExfeBmeRy9kBQMkiyJ+HULyF1yj9w==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.39.0': - resolution: {integrity: sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==} + '@rollup/rollup-linux-arm-gnueabihf@4.49.0': + resolution: {integrity: sha512-OVSQgEZDVLnTbMq5NBs6xkmz3AADByCWI4RdKSFNlDsYXdFtlxS59J+w+LippJe8KcmeSSM3ba+GlsM9+WwC1w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.39.0': - resolution: {integrity: sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==} + '@rollup/rollup-linux-arm-musleabihf@4.49.0': + resolution: {integrity: sha512-ZnfSFA7fDUHNa4P3VwAcfaBLakCbYaxCk0jUnS3dTou9P95kwoOLAMlT3WmEJDBCSrOEFFV0Y1HXiwfLYJuLlA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.39.0': - resolution: {integrity: sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==} + '@rollup/rollup-linux-arm64-gnu@4.49.0': + resolution: {integrity: sha512-Z81u+gfrobVK2iV7GqZCBfEB1y6+I61AH466lNK+xy1jfqFLiQ9Qv716WUM5fxFrYxwC7ziVdZRU9qvGHkYIJg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.39.0': - resolution: {integrity: sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==} + '@rollup/rollup-linux-arm64-musl@4.49.0': + resolution: {integrity: sha512-zoAwS0KCXSnTp9NH/h9aamBAIve0DXeYpll85shf9NJ0URjSTzzS+Z9evmolN+ICfD3v8skKUPyk2PO0uGdFqg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.39.0': - resolution: {integrity: sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==} + '@rollup/rollup-linux-loongarch64-gnu@4.49.0': + resolution: {integrity: sha512-2QyUyQQ1ZtwZGiq0nvODL+vLJBtciItC3/5cYN8ncDQcv5avrt2MbKt1XU/vFAJlLta5KujqyHdYtdag4YEjYQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': - resolution: {integrity: sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==} + '@rollup/rollup-linux-ppc64-gnu@4.49.0': + resolution: {integrity: sha512-k9aEmOWt+mrMuD3skjVJSSxHckJp+SiFzFG+v8JLXbc/xi9hv2icSkR3U7uQzqy+/QbbYY7iNB9eDTwrELo14g==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.39.0': - resolution: {integrity: sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==} + '@rollup/rollup-linux-riscv64-gnu@4.49.0': + resolution: {integrity: sha512-rDKRFFIWJ/zJn6uk2IdYLc09Z7zkE5IFIOWqpuU0o6ZpHcdniAyWkwSUWE/Z25N/wNDmFHHMzin84qW7Wzkjsw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.39.0': - resolution: {integrity: sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==} + '@rollup/rollup-linux-riscv64-musl@4.49.0': + resolution: {integrity: sha512-FkkhIY/hYFVnOzz1WeV3S9Bd1h0hda/gRqvZCMpHWDHdiIHn6pqsY3b5eSbvGccWHMQ1uUzgZTKS4oGpykf8Tw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.39.0': - resolution: {integrity: sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==} + '@rollup/rollup-linux-s390x-gnu@4.49.0': + resolution: {integrity: sha512-gRf5c+A7QiOG3UwLyOOtyJMD31JJhMjBvpfhAitPAoqZFcOeK3Kc1Veg1z/trmt+2P6F/biT02fU19GGTS529A==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.39.0': - resolution: {integrity: sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==} + '@rollup/rollup-linux-x64-gnu@4.49.0': + resolution: {integrity: sha512-BR7+blScdLW1h/2hB/2oXM+dhTmpW3rQt1DeSiCP9mc2NMMkqVgjIN3DDsNpKmezffGC9R8XKVOLmBkRUcK/sA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.39.0': - resolution: {integrity: sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==} + '@rollup/rollup-linux-x64-musl@4.49.0': + resolution: {integrity: sha512-hDMOAe+6nX3V5ei1I7Au3wcr9h3ktKzDvF2ne5ovX8RZiAHEtX1A5SNNk4zt1Qt77CmnbqT+upb/umzoPMWiPg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.39.0': - resolution: {integrity: sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==} + '@rollup/rollup-win32-arm64-msvc@4.49.0': + resolution: {integrity: sha512-wkNRzfiIGaElC9kXUT+HLx17z7D0jl+9tGYRKwd8r7cUqTL7GYAvgUY++U2hK6Ar7z5Z6IRRoWC8kQxpmM7TDA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.39.0': - resolution: {integrity: sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==} + '@rollup/rollup-win32-ia32-msvc@4.49.0': + resolution: {integrity: sha512-gq5aW/SyNpjp71AAzroH37DtINDcX1Qw2iv9Chyz49ZgdOP3NV8QCyKZUrGsYX9Yyggj5soFiRCgsL3HwD8TdA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.39.0': - resolution: {integrity: sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==} + '@rollup/rollup-win32-x64-msvc@4.49.0': + resolution: {integrity: sha512-gEtqFbzmZLFk2xKh7g0Rlo8xzho8KrEFEkzvHbfUGkrgXOpZ4XagQ6n+wIZFNh1nTb8UD16J4nFSFKXYgnbdBg==} cpu: [x64] os: [win32] @@ -2234,110 +2695,314 @@ packages: '@rrweb/utils@2.0.0-alpha.18': resolution: {integrity: sha512-qV8azQYo9RuwW4NGRtOiQfTBdHNL1B0Q//uRLMbCSjbaKqJYd88Js17Bdskj65a0Vgp2dwTLPIZ0gK47dfjfaA==} + '@rushstack/node-core-library@5.14.0': + resolution: {integrity: sha512-eRong84/rwQUlATGFW3TMTYVyqL1vfW9Lf10PH+mVGfIb9HzU3h5AASNIw+axnBLjnD0n3rT5uQBwu9fvzATrg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.5.3': + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} + + '@rushstack/terminal@0.15.4': + resolution: {integrity: sha512-OQSThV0itlwVNHV6thoXiAYZlQh4Fgvie2CzxFABsbO2MWQsI4zOh3LRNigYSTrmS+ba2j0B3EObakPzf/x6Zg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@5.0.2': + resolution: {integrity: sha512-+AkJDbu1GFMPIU8Sb7TLVXDv/Q7Mkvx+wAjEl8XiXVVq+p1FmWW6M3LYpJMmoHNckSofeMecgWg5lfMwNAAsEQ==} + '@sinclair/typebox@0.24.51': resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@smithy/abort-controller@4.0.5': + resolution: {integrity: sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.1.5': + resolution: {integrity: sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.9.0': + resolution: {integrity: sha512-B/GknvCfS3llXd/b++hcrwIuqnEozQDnRL4sBmOac5/z/dr0/yG1PURNPOyU4Lsiy1IyTj8scPxVqRs5dYWf6A==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.0.7': + resolution: {integrity: sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.1.1': + resolution: {integrity: sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.0.5': + resolution: {integrity: sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.0.5': + resolution: {integrity: sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.0.5': + resolution: {integrity: sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.1.19': + resolution: {integrity: sha512-EAlEPncqo03siNZJ9Tm6adKCQ+sw5fNU8ncxWwaH0zTCwMPsgmERTi6CEKaermZdgJb+4Yvh0NFm36HeO4PGgQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.1.20': + resolution: {integrity: sha512-T3maNEm3Masae99eFdx1Q7PIqBBEVOvRd5hralqKZNeIivnoGNx5OFtI3DiZ5gCjUkl0mNondlzSXeVxkinh7Q==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.0.9': + resolution: {integrity: sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.0.5': + resolution: {integrity: sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.1.4': + resolution: {integrity: sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.1.1': + resolution: {integrity: sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.0.5': + resolution: {integrity: sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.1.3': + resolution: {integrity: sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.0.5': + resolution: {integrity: sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.0.5': + resolution: {integrity: sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.0.7': + resolution: {integrity: sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.0.5': + resolution: {integrity: sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.1.3': + resolution: {integrity: sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.5.0': + resolution: {integrity: sha512-ZSdE3vl0MuVbEwJBxSftm0J5nL/gw76xp5WF13zW9cN18MFuFXD5/LV0QD8P+sCU5bSWGyy6CTgUupE1HhOo1A==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.3.2': + resolution: {integrity: sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.0.5': + resolution: {integrity: sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.0.27': + resolution: {integrity: sha512-i/Fu6AFT5014VJNgWxKomBJP/GB5uuOsM4iHdcmplLm8B1eAqnRItw4lT2qpdO+mf+6TFmf6dGcggGLAVMZJsQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.0.27': + resolution: {integrity: sha512-3W0qClMyxl/ELqTA39aNw1N+pN0IjpXT7lPFvZ8zTxqVFP7XCpACB9QufmN4FQtd39xbgS7/Lekn7LmDa63I5w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.0.7': + resolution: {integrity: sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.0.5': + resolution: {integrity: sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.0.7': + resolution: {integrity: sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.2.4': + resolution: {integrity: sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.0.7': + resolution: {integrity: sha512-mYqtQXPmrwvUljaHyGxYUIIRI3qjBTEb/f5QFi3A6VlxhpmZd5mWXn9W+qUkf2pVE1Hv3SqxefiZOPGdxmO64A==} + engines: {node: '>=18.0.0'} '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@storybook/addon-actions@8.6.11': - resolution: {integrity: sha512-7VORphqmxJf2J2a8tRgCAIeaMQ1JjYZwmwsrOwXBt77NjJbAC2qx9KecN1fsKKCyRVSk/wAICvOLStKM15+v2g==} + '@storybook/addon-actions@8.6.14': + resolution: {integrity: sha512-mDQxylxGGCQSK7tJPkD144J8jWh9IU9ziJMHfB84PKpI/V5ZgqMDnpr2bssTrUaGDqU5e1/z8KcRF+Melhs9pQ==} + peerDependencies: + storybook: ^8.6.14 + + '@storybook/addon-backgrounds@8.6.14': + resolution: {integrity: sha512-l9xS8qWe5n4tvMwth09QxH2PmJbCctEvBAc1tjjRasAfrd69f7/uFK4WhwJAstzBTNgTc8VXI4w8ZR97i1sFbg==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-backgrounds@8.6.11': - resolution: {integrity: sha512-1P6qqYOQKbidV0VzYOgc7upjHqIQaFogbqm/DqNyPnwlxTIuqtzkFLiZQxMmGSQekA9SB/7ZfGglFByQXgrIUA==} + '@storybook/addon-controls@8.6.14': + resolution: {integrity: sha512-IiQpkNJdiRyA4Mq9mzjZlvQugL/aE7hNgVxBBGPiIZG6wb6Ht9hNnBYpap5ZXXFKV9p2qVI0FZK445ONmAa+Cw==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-controls@8.6.11': - resolution: {integrity: sha512-CpXu4HhiyRBikygMskmFhfgKtyz2/3BWTzpg6OrmaYuoEnxP+RMPeXZQxCW9pbH8ewGZlvX++VEt1Cletd95zQ==} + '@storybook/addon-docs@8.6.14': + resolution: {integrity: sha512-Obpd0OhAF99JyU5pp5ci17YmpcQtMNgqW2pTXV8jAiiipWpwO++hNDeQmLmlSXB399XjtRDOcDVkoc7rc6JzdQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-docs@8.6.11': - resolution: {integrity: sha512-gTSF1m3HJkeU7GKPYhe8grO48FbpulvIWZ213PtnWedgVkTNieok3oBmmigv17ua/QXH0u5EbaoMSxaAyrsAzg==} + '@storybook/addon-essentials@8.6.14': + resolution: {integrity: sha512-5ZZSHNaW9mXMOFkoPyc3QkoNGdJHETZydI62/OASR0lmPlJ1065TNigEo5dJddmZNn0/3bkE8eKMAzLnO5eIdA==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-essentials@8.6.11': - resolution: {integrity: sha512-QII5yTM0cGRryfTSJSK5Hf2CEiAX3atqccHZbPipkqO7dE9YDBvRfVwG0cQpHdv10tP066MDWgVDF5E3pDKecw==} + '@storybook/addon-highlight@8.6.14': + resolution: {integrity: sha512-4H19OJlapkofiE9tM6K/vsepf4ir9jMm9T+zw5L85blJZxhKZIbJ6FO0TCG9PDc4iPt3L6+aq5B0X29s9zicNQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-highlight@8.6.11': - resolution: {integrity: sha512-xiNIQVDj34PE6xv+V6z8dOi5HrfQYm9FE4okOOSfYcvL8p+3exAs1+13TIsDtf/c1wy8/IbU4S+H8XUExmI6qg==} + '@storybook/addon-interactions@8.6.14': + resolution: {integrity: sha512-8VmElhm2XOjh22l/dO4UmXxNOolGhNiSpBcls2pqWSraVh4a670EyYBZsHpkXqfNHo2YgKyZN3C91+9zfH79qQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-interactions@8.6.11': - resolution: {integrity: sha512-j9wUf8lQF922eC2HbWG4LdeflOu/togry80QB+Sqxs4+dg4iWhjxmN8gWav14/oa0vJBLN7Z2Tr4ifsJUEwRkg==} + '@storybook/addon-links@8.6.14': + resolution: {integrity: sha512-DRlXHIyZzOruAZkxmXfVgTF+4d6K27pFcH4cUsm3KT1AXuZbr23lb5iZHpUZoG6lmU85Sru4xCEgewSTXBIe1w==} peerDependencies: - storybook: ^8.6.11 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.6.14 + peerDependenciesMeta: + react: + optional: true - '@storybook/addon-measure@8.6.11': - resolution: {integrity: sha512-9Y0qXF9WEg4WHszT17FhppHXcRLv+XC+kpLiKYiL2D4Cm1Xz/2s0N1J50dLBL/gHW04jrVk5lPlpJbcJgWBE5Q==} + '@storybook/addon-measure@8.6.14': + resolution: {integrity: sha512-1Tlyb72NX8aAqm6I6OICsUuGOP6hgnXcuFlXucyhKomPa6j3Eu2vKu561t/f0oGtAK2nO93Z70kVaEh5X+vaGw==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-onboarding@8.6.11': - resolution: {integrity: sha512-63XPzQ/8tRK7KWeMcRDoId0XSTWo+vEY3sHxhVkyAvIp76z/0QOHkScjf3pQ8tBMXD9Lr5E8d0a/cA0TqwF9tA==} + '@storybook/addon-onboarding@8.6.14': + resolution: {integrity: sha512-bHdHiGJFigVcSzMIsNLHY5IODZHr+nKwyz5/QOZLMkLcGH2IaUbOJfm4RyGOaTTPsUtAKbdsVXNEG3Otf+qO9A==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-outline@8.6.11': - resolution: {integrity: sha512-LddoqoWYQArzxFXEGL2omJFRCfYn6/F+4IkPuQC+S7wZrwBw89riVPKjL8EmAZ62pEByhJHabUD8ZXTVTqpMlg==} + '@storybook/addon-outline@8.6.14': + resolution: {integrity: sha512-CW857JvN6OxGWElqjlzJO2S69DHf+xO3WsEfT5mT3ZtIjmsvRDukdWfDU9bIYUFyA2lFvYjncBGjbK+I91XR7w==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-toolbars@8.6.11': - resolution: {integrity: sha512-5ImZfjXisBhYWPoxjYr08nucCF6wqq1a81nWdSnHaB1xFKJZAKtp3GiF7Hyp8B0+olMk1OgSJXEXlXZ1ZbK5Vg==} + '@storybook/addon-toolbars@8.6.14': + resolution: {integrity: sha512-W/wEXT8h3VyZTVfWK/84BAcjAxTdtRiAkT2KAN0nbSHxxB5KEM1MjKpKu2upyzzMa3EywITqbfy4dP6lpkVTwQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/addon-viewport@8.6.11': - resolution: {integrity: sha512-EdzrkUyMvm0epYkUspBF5osU0rIHglD1+YK84C8ibJjx3JpnpLFaDpecwjFaFgxjQQVveHKatYcHpz09aEywqQ==} + '@storybook/addon-viewport@8.6.14': + resolution: {integrity: sha512-gNzVQbMqRC+/4uQTPI2ZrWuRHGquTMZpdgB9DrD88VTEjNudP+J6r8myLfr2VvGksBbUMHkGHMXHuIhrBEnXYA==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/blocks@8.6.11': - resolution: {integrity: sha512-2IyS3nB6SoEjIt0nWUMxtRIjJRUvDU8EF/eMbM4F/FuwIM402P3kNQ4n4+q1xZtYjvoMr5QUq+K8YF4ZlxIz0A==} + '@storybook/blocks@8.6.14': + resolution: {integrity: sha512-rBMHAfA39AGHgkrDze4RmsnQTMw1ND5fGWobr9pDcJdnDKWQWNRD7Nrlxj0gFlN3n4D9lEZhWGdFrCbku7FVAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^8.6.11 + storybook: ^8.6.14 peerDependenciesMeta: react: optional: true react-dom: optional: true - '@storybook/builder-vite@8.6.11': - resolution: {integrity: sha512-d8SsHr6iM49kTyrg6PTYn9aHxOBiWUZvPhOOtfODHl2SH9PPRenfwX3a3B+OsD04GPVGvLz5fp4Apg9lrDVSzw==} + '@storybook/builder-vite@8.6.14': + resolution: {integrity: sha512-ajWYhy32ksBWxwWHrjwZzyC0Ii5ZTeu5lsqA95Q/EQBB0P5qWlHWGM3AVyv82Mz/ND03ebGy123uVwgf6olnYQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 vite: ^4.0.0 || ^5.0.0 || ^6.0.0 - '@storybook/components@8.6.11': - resolution: {integrity: sha512-+lHcwQsSO8usKTXIBBmgmRCAa0L+KQaLJ5ARqkRTm6OjzkVVS+EPnIgL4H1nqzbwiTVXxSSOwAk+rST83KICnA==} + '@storybook/components@8.6.14': + resolution: {integrity: sha512-HNR2mC5I4Z5ek8kTrVZlIY/B8gJGs5b3XdZPBPBopTIN6U/YHXiDyOjY3JlaS4fSG1fVhp/Qp1TpMn1w/9m1pw==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/core@8.6.11': - resolution: {integrity: sha512-fhzLQ9HpljbLpkHykafmcjIERHI5j6SZhylFCDwEWkETuZtRbyCs3mmULutcEOzKhxRgNtiIRoRmZPdQcPtHNg==} + '@storybook/core@8.6.14': + resolution: {integrity: sha512-1P/w4FSNRqP8j3JQBOi3yGt8PVOgSRbP66Ok520T78eJBeqx9ukCfl912PQZ7SPbW3TIunBwLXMZOjZwBB/JmA==} peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true - '@storybook/csf-plugin@8.6.11': - resolution: {integrity: sha512-NC/o+SSjSC29hcQrPNoLCDRkqRTagkcAgFf0xEybX3mkLT0q+w3ZHJg1HQz7TtaigIzZ06iIPncif2xKvYgETw==} + '@storybook/csf-plugin@8.6.14': + resolution: {integrity: sha512-dErtc9teAuN+eelN8FojzFE635xlq9cNGGGEu0WEmMUQ4iJ8pingvBO1N8X3scz4Ry7KnxX++NNf3J3gpxS8qQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 '@storybook/csf@0.1.13': resolution: {integrity: sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==} @@ -2352,54 +3017,49 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - '@storybook/instrumenter@8.6.11': - resolution: {integrity: sha512-IOLvc4BOVKofWhyRScA2h/R36cACBK3DUCrZkQTLU+FUIXWg7Yjyco7lDEk/0W9mlH0Fe/eWEhluI2WTowkesQ==} + '@storybook/instrumenter@8.6.14': + resolution: {integrity: sha512-iG4MlWCcz1L7Yu8AwgsnfVAmMbvyRSk700Mfy2g4c8y5O+Cv1ejshE1LBBsCwHgkuqU0H4R0qu4g23+6UnUemQ==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/manager-api@8.6.11': - resolution: {integrity: sha512-U3ijEFX7B7wNYzFctmTIXOiN0zLlt8/9EHbZQUUrQ1pf7bQzADJCy63Y3B+kir8i+n3LsBWB42X2aSiT0lLaKQ==} + '@storybook/manager-api@8.6.14': + resolution: {integrity: sha512-ez0Zihuy17udLbfHZQXkGqwtep0mSGgHcNzGN7iZrMP1m+VmNo+7aGCJJdvXi7+iU3yq8weXSQFWg5DqWgLS7g==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/manager-api@8.6.12': - resolution: {integrity: sha512-O0SpISeJLNTQvhSBOsWzzkCgs8vCjOq1578rwqHlC6jWWm4QmtfdyXqnv7rR1Hk08kQ+Dzqh0uhwHx0nfwy4nQ==} + '@storybook/preview-api@8.6.14': + resolution: {integrity: sha512-2GhcCd4dNMrnD7eooEfvbfL4I83qAqEyO0CO7JQAmIO6Rxb9BsOLLI/GD5HkvQB73ArTJ+PT50rfaO820IExOQ==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/preview-api@8.6.11': - resolution: {integrity: sha512-NpSVJFa9MkPq3u/h+bvx+iSnm6OG6mMUzMgmY67mA0dgIgOWcaoP2Y7254SZlBeho97HCValTDKJyqZMwiVlyQ==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/react-dom-shim@8.6.11': - resolution: {integrity: sha512-giwqwx0PO70SyqoZ25CBM2tpAjJX5sjPm7uWKknYcFGl3H2PYDqqnvH7NfEXENQMq5DpAJisCZ0KkRvNHzLV2w==} + '@storybook/react-dom-shim@8.6.14': + resolution: {integrity: sha512-0hixr3dOy3f3M+HBofp3jtMQMS+sqzjKNgl7Arfuj3fvjmyXOks/yGjDImySR4imPtEllvPZfhiQNlejheaInw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/react-vite@8.6.11': - resolution: {integrity: sha512-UjAIzmfmZIhrMB5MYrc4RswTca0oodbG8m3iBBCadjy+rSZ/c9cbZgkI3bU8W5khkCToQoAXNJI8xWYfr/PGxw==} + '@storybook/react-vite@8.6.14': + resolution: {integrity: sha512-FZU0xMPxa4/TO87FgcWwappOxLBHZV5HSRK5K+2bJD7rFJAoNorbHvB4Q1zvIAk7eCMjkr2GPCPHx9PRB9vJFg==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.6.11 + '@storybook/test': 8.6.14 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.11 + storybook: ^8.6.14 vite: ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: '@storybook/test': optional: true - '@storybook/react@8.6.11': - resolution: {integrity: sha512-ZaE2IS5alauWxEvWo8LNEi27QxiRfJrfffDpQJIIvY4WnR+jzgLdtMOAVo/cSM9mJSRLESEYW57b0l7JdQGm1g==} + '@storybook/react@8.6.14': + resolution: {integrity: sha512-BOepx5bBFwl/CPI+F+LnmMmsG1wQYmrX/UQXgUbHQUU9Tj7E2ndTnNbpIuSLc8IrM03ru+DfwSg1Co3cxWtT+g==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.6.11 + '@storybook/test': 8.6.14 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.11 + storybook: ^8.6.14 typescript: '>= 4.2.x' peerDependenciesMeta: '@storybook/test': @@ -2407,18 +3067,13 @@ packages: typescript: optional: true - '@storybook/test@8.6.11': - resolution: {integrity: sha512-bk8JCRmVRHjnyt+/YnzCMEd4Y/K2L3uM+sCNuH4pYw6XT2UkR3Dj5mScGnfMvm98lHfpZDcD/AbY2vorOQsq+g==} + '@storybook/test@8.6.14': + resolution: {integrity: sha512-GkPNBbbZmz+XRdrhMtkxPotCLOQ1BaGNp/gFZYdGDk2KmUWBKmvc5JxxOhtoXM2703IzNFlQHSSNnhrDZYuLlw==} peerDependencies: - storybook: ^8.6.11 + storybook: ^8.6.14 - '@storybook/theming@8.6.11': - resolution: {integrity: sha512-G7IK5P9gzofUjfYhMo9Pdgbqcr22eoKFLD808Q8RxJopDoypdZKg4tes2iD+6YnrtnHS0nEoP/soMmfFYl9FIw==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/theming@8.6.12': - resolution: {integrity: sha512-6VjZg8HJ2Op7+KV7ihJpYrDnFtd9D1jrQnUS8LckcpuBXrIEbaut5+34ObY8ssQnSqkk2GwIZBBBQYQBCVvkOw==} + '@storybook/theming@8.6.14': + resolution: {integrity: sha512-r4y+LsiB37V5hzpQo+BM10PaCsp7YlZ0YcZzQP1OCkPlYXmUAFy2VvDKaFRpD8IeNPKug2u4iFm/laDEbs03dg==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -2496,6 +3151,16 @@ packages: peerDependencies: '@svgr/core': '*' + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -2508,20 +3173,13 @@ packages: resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} engines: {node: '>=12'} - '@testing-library/dom@9.3.4': - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} - '@testing-library/jest-dom@6.5.0': resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/react@14.3.1': - resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} - engines: {node: '>=14'} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + '@testing-library/jest-dom@6.8.0': + resolution: {integrity: sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} '@testing-library/react@16.3.0': resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} @@ -2572,14 +3230,14 @@ packages: '@testplane/global-hook@1.0.0': resolution: {integrity: sha512-irMWppoimzelTpr6LhhdX2b4rq3GGQWRx7WcYhSSN895FvusrjQey7slXQJWBWQtrpn7h3CCgm9V6cFHKnbF6g==} - '@testplane/storybook@1.6.1': - resolution: {integrity: sha512-qgY1Ymq8yr6AKy/L9CkB9gGO5xP6fc/myTfPTDxBh6lrlj4H8+WPUxX+JzvbnWLpg6obPPc660+M59T7O684JA==} + '@testplane/storybook@1.7.3': + resolution: {integrity: sha512-aKE5yLhKg8mev7UcQpIkFT8ztBYY1Y+z8nkgkDgJV2NgtZOHK0CBEvopFe5vs9FcKONGleX6phibI5afh71Iww==} engines: {node: '>= 18.0.0'} peerDependencies: - storybook: ^6.4.0 || ^7.0.0 || ^8.0.0 + storybook: '>=6.4.0' - '@testplane/test-filter@1.0.0': - resolution: {integrity: sha512-ILuyirBC22yRn8UR59rUbvRWel3aMNrLvEZnNCCBD9El/gIph09BfC9Ap/cxcpDcyBK+Pbpcww5AUYzyU+J8qw==} + '@testplane/test-filter@1.1.0': + resolution: {integrity: sha512-51UXNy7qiwsKsM8LHrh+bY3rUjSgwT63uOqQ2cz7swUpM0RF3xO1U0Bc4IoyPNIdN0H2YiP6+gUzZDvKFSu/8A==} '@testplane/url-decorator@1.0.0': resolution: {integrity: sha512-EtIdg6j8nEzArpZUAIvtJzPiSq+nszQd6ZzTZuEcO2R2TbbYWTMzW5LQRw+9OK+PNCsKDea9grqyC6AeRoqZFw==} @@ -2604,16 +3262,20 @@ packages: resolution: {integrity: sha512-D7ge7qJmcR2CG39YBlZ8lZRSeM/yOeBmQXsFxE0LlKurG3h+pEVWiuLhFW6ow2lZvR2jR2tHXI16IRvpXz3BKQ==} engines: {node: '>=18.0.0'} + '@testplane/wdio-types@9.5.3': + resolution: {integrity: sha512-rubeNOnw0eozqnAoVl6oWEipV8ZeAPCv3UDRyZk/mdu7IBZUPuyJUX3cbiWnj9KCiJeVy3Qy6Ohn7Apod/zzog==} + engines: {node: '>=18.0.0'} + '@testplane/wdio-utils@9.5.3': resolution: {integrity: sha512-xZQqXn3ga1aY1JTTnF137lT6Evmn7Dtxs6TSlSEAG3dY+eLIZNz7n0tLNG49BYZY3l8F2k+0TdU6SZ0p28L7qA==} engines: {node: '>=18.0.0'} - '@testplane/webdriver@9.5.10': - resolution: {integrity: sha512-q/iipx91JzepiMKMqJRSH5noM1kzTKBhvdUsLcD5rowf1QUIgZt83euPiutItOVPXznWEV694U1Oab3Ijc+Udg==} + '@testplane/webdriver@9.5.12': + resolution: {integrity: sha512-uZTSO8HW2kFH5MGUVWeLY86e95zj3ZX05tYlA31J5sgij7q71TDRMjGJ7xjjjfMoA2U9dFg6ZlrI/WBwkMSEeg==} engines: {node: '>=18.0.0'} - '@testplane/webdriverio@9.5.17': - resolution: {integrity: sha512-JyLj6iCDQ/EYMe4K/+G6R8sTYbF8ffpEcfdUd5+cDJwsq9PCf4Opz6lD+FbqgHhiNqPbrYX4eheeyYKKFkOR8Q==} + '@testplane/webdriverio@9.5.21': + resolution: {integrity: sha512-KjaFlG+tR67+HIEvMVf1Tf0JhQIEJYB2P7k0Rj/i7LsPJ99Ielvhlf6/WDI2mMUCJBuWV3FJzUdJoZmx21PhMw==} engines: {node: '>=18.0.0'} peerDependencies: '@testplane/devtools': ^8.32.1 @@ -2621,10 +3283,6 @@ packages: '@testplane/devtools': optional: true - '@tootallnate/once@2.0.0': - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -2644,6 +3302,9 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -2656,25 +3317,28 @@ packages: '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.7': - resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/cookie-parser@1.4.8': - resolution: {integrity: sha512-l37JqFrOJ9yQfRQkljb41l0xVphc7kg5JTjjr+pLRZ0IyZ49V4BQ8vbF4Ut2C2e+WH4al3xD3ZwYwIUfnbT4NQ==} + '@types/cookie-parser@1.4.9': + resolution: {integrity: sha512-tGZiZ2Gtc4m3wIdLkZ8mkj1T6CEHb35+VApbL2T14Dew8HA7c+04dmKqsKRNC+8RJPm16JEK0tFSwdZqubfc4g==} peerDependencies: '@types/express': '*' '@types/cookie@0.4.1': resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} - '@types/cors@2.8.17': - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} + '@types/cors@2.8.19': + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} '@types/css-font-loading-module@0.0.7': resolution: {integrity: sha512-nl09VhutdjINdWyXxHWN/w9zlNCfr60JUqJbd24YXUuCwgeL0TpFSdElCwb6cxfB6ybE19Gjj4g0jsgkXxKv1Q==} @@ -2682,6 +3346,9 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} @@ -2694,9 +3361,6 @@ packages: '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -2706,11 +3370,14 @@ packages: '@types/express-useragent@1.0.5': resolution: {integrity: sha512-G1zPW6jDj7oGJvMvB8UCIAWznCOafcksYzOg8LINfYmvrXlSGJ6nsJ7O7GlmYMjrgGYvobYaI8IhRCkAKslPJA==} - '@types/express@4.17.21': - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/express@4.17.23': + resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} - '@types/http-errors@2.0.4': - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -2730,8 +3397,8 @@ packages: '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - '@types/lodash@4.17.16': - resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} + '@types/lodash@4.17.20': + resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -2748,14 +3415,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.19.10': - resolution: {integrity: sha512-iAFpG6DokED3roLSP0K+ybeDdIX6Bc0Vd3mLW5uDqThPWtNos3E+EqOM11mPQHKzfWHqEBuLjIlsBQQ8CsISmQ==} + '@types/node@20.19.11': + resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.14.0': - resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} + '@types/node@22.18.0': + resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==} - '@types/nodemailer@6.4.17': - resolution: {integrity: sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww==} + '@types/nodemailer@6.4.19': + resolution: {integrity: sha512-Fi8DwmuAduTk1/1MpkR9EwS0SsDvYXx5RxivAVII1InDCIxmhj/iQm3W8S3EVb/0arnblr6PK0FK4wYa7bwdLg==} '@types/pino-http@5.8.4': resolution: {integrity: sha512-UTYBQ2acmJ2eK0w58vVtgZ9RAicFFndfrnWC1w5cBTf8zwn/HEy8O+H7psc03UZgTzHmlcuX8VkPRnRDEj+FUQ==} @@ -2771,28 +3438,17 @@ packages: '@types/pino@6.3.12': resolution: {integrity: sha512-dsLRTq8/4UtVSpJgl9aeqHvbh6pzdmjYD3C092SYgLD2TyoCqHpTJk6vp8DvCTGGc7iowZ2MoiYiVUUCcu7muw==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - - '@types/qs@6.9.18': - resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@18.3.7': - resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} - peerDependencies: - '@types/react': ^18.0.0 - '@types/react-dom@19.0.4': resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} peerDependencies: '@types/react': ^19.0.0 - '@types/react@18.3.24': - resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==} - '@types/react@19.0.12': resolution: {integrity: sha512-V6Ar115dBDrjbtXSrS+/Oruobc+qVbbUxDFC1RSbRqLt5SYvxxyIDrSC85RWml54g+jfNeEMZhEj7wW07ONQhA==} @@ -2802,11 +3458,11 @@ packages: '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} - '@types/send@0.17.4': - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + '@types/send@0.17.5': + resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} - '@types/serve-static@1.15.7': - resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/serve-static@1.15.8': + resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} '@types/sinonjs__fake-timers@8.1.5': resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} @@ -2838,110 +3494,63 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.29.1': - resolution: {integrity: sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/eslint-plugin@8.39.0': - resolution: {integrity: sha512-bhEz6OZeUR+O/6yx9Jk6ohX6H9JSFTaiY0v9/PuKT3oGK0rn0jNplLmyFUGV+a9gfYnVNwGDwS/UkLIuXNb2Rw==} + '@typescript-eslint/eslint-plugin@8.41.0': + resolution: {integrity: sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.39.0 + '@typescript-eslint/parser': ^8.41.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.29.1': - resolution: {integrity: sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/parser@8.39.0': - resolution: {integrity: sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==} + '@typescript-eslint/parser@8.41.0': + resolution: {integrity: sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.39.0': - resolution: {integrity: sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==} + '@typescript-eslint/project-service@8.41.0': + resolution: {integrity: sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.29.1': - resolution: {integrity: sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.39.0': - resolution: {integrity: sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==} + '@typescript-eslint/scope-manager@8.41.0': + resolution: {integrity: sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.39.0': - resolution: {integrity: sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==} + '@typescript-eslint/tsconfig-utils@8.41.0': + resolution: {integrity: sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.29.1': - resolution: {integrity: sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/type-utils@8.39.0': - resolution: {integrity: sha512-6B3z0c1DXVT2vYA9+z9axjtc09rqKUPRmijD5m9iv8iQpHBRYRMBcgxSiKTZKm6FwWw1/cI4v6em35OsKCiN5Q==} + '@typescript-eslint/type-utils@8.41.0': + resolution: {integrity: sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.29.1': - resolution: {integrity: sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.39.0': - resolution: {integrity: sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==} + '@typescript-eslint/types@8.41.0': + resolution: {integrity: sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.29.1': - resolution: {integrity: sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/typescript-estree@8.39.0': - resolution: {integrity: sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==} + '@typescript-eslint/typescript-estree@8.41.0': + resolution: {integrity: sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.29.1': - resolution: {integrity: sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@8.39.0': - resolution: {integrity: sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==} + '@typescript-eslint/utils@8.41.0': + resolution: {integrity: sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.29.1': - resolution: {integrity: sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.39.0': - resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==} + '@typescript-eslint/visitor-keys@8.41.0': + resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-react@4.3.4': @@ -2962,20 +3571,17 @@ packages: vitest: optional: true - '@vitest/expect@1.6.1': - resolution: {integrity: sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==} - '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} - '@vitest/expect@2.1.9': - resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@2.1.9': - resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true @@ -2988,20 +3594,14 @@ packages: '@vitest/pretty-format@2.1.9': resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==} - '@vitest/runner@1.6.1': - resolution: {integrity: sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==} - - '@vitest/runner@2.1.9': - resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==} - - '@vitest/snapshot@1.6.1': - resolution: {integrity: sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/snapshot@2.1.9': - resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - '@vitest/spy@1.6.1': - resolution: {integrity: sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} @@ -3009,21 +3609,13 @@ packages: '@vitest/spy@2.1.4': resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} - '@vitest/spy@2.1.9': - resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/ui@1.6.1': - resolution: {integrity: sha512-xa57bCPGuzEFqGjPs3vVLyqareG8DX0uMkr5U/v5vLv5/ZUrBrPL7gzxzTJedEyZxFMfsozwTIbbYfEQVo3kgg==} + '@vitest/ui@3.2.4': + resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} peerDependencies: - vitest: 1.6.1 - - '@vitest/ui@2.1.9': - resolution: {integrity: sha512-izzd2zmnk8Nl5ECYkW27328RbQ1nKvkm6Bb5DAaz1Gk59EbLkiCMa6OLT0NoaAYTjOFS6N+SMYW1nh4/9ljPiw==} - peerDependencies: - vitest: 2.1.9 - - '@vitest/utils@1.6.1': - resolution: {integrity: sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==} + vitest: 3.2.4 '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} @@ -3031,6 +3623,18 @@ packages: '@vitest/utils@2.1.9': resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + + '@volar/language-core@2.4.23': + resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} + + '@volar/source-map@2.4.23': + resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==} + + '@volar/typescript@2.4.23': + resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} + '@vue/compiler-core@3.5.13': resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} @@ -3043,6 +3647,17 @@ packages: '@vue/compiler-ssr@3.5.13': resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/language-core@2.2.0': + resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} @@ -3054,6 +3669,10 @@ packages: resolution: {integrity: sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==} engines: {node: ^16.13 || >=18} + '@wdio/logger@9.18.0': + resolution: {integrity: sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==} + engines: {node: '>=18.20.0'} + '@wdio/logger@9.4.4': resolution: {integrity: sha512-BXx8RXFUW2M4dcO6t5Le95Hi2ZkTQBRsvBQqLekT2rZ6Xmw8ZKZBPf0FptnoftFGg6dYmwnDidYv/0+4PiHjpQ==} engines: {node: '>=18.20.0'} @@ -3087,18 +3706,10 @@ packages: '@xstate/fsm@1.6.5': resolution: {integrity: sha512-b5o1I6aLNeYlU/3CPlj/Z91ybk1gUsKT+5NAJI+2W4UjvS5KLG28K9v5UvNoFVjHV8PajVZ00RH3vnjyQO7ZAw==} - '@zip.js/zip.js@2.7.60': - resolution: {integrity: sha512-vA3rLyqdxBrVo1FWSsbyoecaqWTV+vgPRf0QKeM7kVDG0r+lHUqd7zQDv1TO9k4BcAoNzNDSNrrel24Mk6addA==} - engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} - '@zip.js/zip.js@2.7.72': resolution: {integrity: sha512-3/A4JwrgkvGBlCxtItjxs8HrNbuTAAl/zlGkV6tC5Fb5k5nk4x2Dqxwl/YnUys5Ch+QB01eJ8Q5K/J2uXfy9Vw==} engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} - abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -3116,30 +3727,46 @@ packages: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - - agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + alien-signals@0.4.14: + resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} + ansi-colors@4.1.1: resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} engines: {node: '>=6'} @@ -3161,8 +3788,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.0: + resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -3234,9 +3861,6 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -3268,8 +3892,8 @@ packages: effector-react: ^22.1.0 || ^23 react: ^17 || ^18 - atomic-router@0.11.0: - resolution: {integrity: sha512-F+snvhS8ZCkbKNqhU+UcbgFg50E2+/TJq/GuaUTcfNWs18/mFKtHqi2yJb4syHP9lVBL+ZyFAdYoHJocS8SgoQ==} + atomic-router@0.11.1: + resolution: {integrity: sha512-Y24f5KRLkxNhKq+JGdQNZIUj2/vEZWRR6otV+m/qF53Vpw0FwH8Sd1Ewc2GapxjQAOz9sM5va5OuiIzLFMOQsg==} engines: {node: '>=10'} peerDependencies: effector: ^22.8.8 || ^23 @@ -3290,12 +3914,12 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} + axios@1.6.3: resolution: {integrity: sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==} - axios@1.8.4: - resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==} - b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -3305,14 +3929,11 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} - bare-events@2.5.4: - resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} - bare-events@2.6.1: resolution: {integrity: sha512-AuTJkq9XmE6Vk0FJVNq5QxETrSA/vKHarWVBG5l/JbdCL1prJemiyJqUS0jrlXO0MftuPq4m3YVYhoNc5+aE/g==} - bare-fs@4.1.2: - resolution: {integrity: sha512-8wSeOia5B7LwD4+h465y73KOdj5QHsbbuoUfPBi+pXgFJIPuG7SsiOdJuijWMyfid49eD+WivpfY7KT8gbAzBA==} + bare-fs@4.2.1: + resolution: {integrity: sha512-mELROzV0IhqilFgsl1gyp48pnZsaV9xhQapHLDsvn4d4ZTfbFhcghQezl7FTEDNBcGqLUnNI3lUlm6ecrLWdFA==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -3320,24 +3941,15 @@ packages: bare-buffer: optional: true - bare-fs@4.1.6: - resolution: {integrity: sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==} - engines: {bare: '>=1.16.0'} - peerDependencies: - bare-buffer: '*' - peerDependenciesMeta: - bare-buffer: - optional: true - - bare-os@3.6.1: - resolution: {integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==} + bare-os@3.6.2: + resolution: {integrity: sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==} engines: {bare: '>=1.14.0'} bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - bare-stream@2.6.5: - resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} + bare-stream@2.7.0: + resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} peerDependencies: bare-buffer: '*' bare-events: '*' @@ -3386,9 +3998,6 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bluebird@3.5.1: - resolution: {integrity: sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==} - bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} @@ -3399,11 +4008,14 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + bowser@2.12.1: + resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -3415,13 +4027,8 @@ packages: browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.25.2: - resolution: {integrity: sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==} + browserslist@4.25.4: + resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3463,8 +4070,16 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacheable@1.8.10: - resolution: {integrity: sha512-0ZnbicB/N2R6uziva8l6O6BieBklArWyiGx4GkwAhLKhSHyQtRfM9T1nx7HHuHDKkYB/efJQhz3QJ6x/YqoZzA==} + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + cacheable@1.10.4: + resolution: {integrity: sha512-Gd7ccIUkZ9TE2odLQVS+PDjIvQCdJKUlLdJRVvZu0aipj07Qfx+XIej7hhDrKGGoIxV5m5fT/kOJNJPQhQneRg==} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -3498,22 +4113,15 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001712: - resolution: {integrity: sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==} - - caniuse-lite@1.0.30001733: - resolution: {integrity: sha512-e4QKw/O2Kavj2VQTKZWrwzkt3IxOmIlU6ajRb6LP64LHpBo1J67k2Hi4Vu/TgJWsNtynurfS0uK3MaUTCPfu5Q==} + caniuse-lite@1.0.30001737: + resolution: {integrity: sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@4.5.0: - resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} - engines: {node: '>=4'} - - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} + chai@5.3.3: + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + engines: {node: '>=18'} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -3527,8 +4135,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + chalk@5.6.0: + resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} change-case@5.4.4: @@ -3537,11 +4145,8 @@ packages: character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + chardet@2.1.0: + resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} @@ -3569,8 +4174,8 @@ packages: chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chromatic@11.28.0: - resolution: {integrity: sha512-Xy3907MXY5UP7LoMksmsT02xCUsoLZpcC6sRITjd+KiXBteOxPF7J+QsFqy/VzQCEN6fpt/R2bOIpE+PwPfcZA==} + chromatic@11.29.0: + resolution: {integrity: sha512-yisBlntp9hHVj19lIQdpTlcYIXuU9H/DbFuu6tyWHmj6hWT2EtukCCcxYXL78XdQt1vm2GfIrtgtKpj/Rzmo4A==} hasBin: true peerDependencies: '@chromatic-com/cypress': ^0.*.* || ^1.0.0 @@ -3581,8 +4186,8 @@ packages: '@chromatic-com/playwright': optional: true - chrome-launcher@1.1.2: - resolution: {integrity: sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==} + chrome-launcher@1.2.0: + resolution: {integrity: sha512-JbuGuBNss258bvGil7FT4HKdC3SC2K7UAEUqiPy3ACS3Yxo3hAW6bvFpCu2HsIJLgTqxgEX6BkujvzZfLpUD0Q==} engines: {node: '>=12.13.0'} hasBin: true @@ -3599,6 +4204,9 @@ packages: resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} engines: {node: '>=8'} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} @@ -3750,8 +4358,8 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - core-js-compat@3.45.0: - resolution: {integrity: sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==} + core-js-compat@3.45.1: + resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -3807,8 +4415,8 @@ packages: resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} engines: {node: '>=12 || >=16'} - css-has-pseudo@7.0.2: - resolution: {integrity: sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==} + css-has-pseudo@7.0.3: + resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -3819,9 +4427,6 @@ packages: peerDependencies: postcss: ^8.4 - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -3843,10 +4448,6 @@ packages: css-value@0.0.1: resolution: {integrity: sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==} - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -3854,8 +4455,8 @@ packages: css.escape@1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} - cssdb@8.2.4: - resolution: {integrity: sha512-3KSCVkjZJe/QxicVXnbyYSY26WsFc1YoMY7jep1ZKWMEVc7jEm6V2Xq2r+MX8WKQIuB7ofGbnr5iVI+aZpoSzg==} + cssdb@8.4.0: + resolution: {integrity: sha512-lyATYGyvXwQ8h55WeQeEHXhI+47rl52pXSYkFK/ZrCbAJSgVIaPFjYc3RM8TpRHKk7W3wsAZImmLps+P5VyN9g==} cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -3866,10 +4467,6 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - cssstyle@3.0.0: - resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} - engines: {node: '>=14'} - cssstyle@4.6.0: resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} @@ -3885,10 +4482,6 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-urls@4.0.0: - resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} - engines: {node: '>=14'} - data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -3896,6 +4489,9 @@ packages: dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -3922,15 +4518,6 @@ packages: supports-color: optional: true - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -3944,8 +4531,8 @@ packages: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} engines: {node: '>=10'} - decamelize@6.0.0: - resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} + decamelize@6.0.1: + resolution: {integrity: sha512-G7Cqgaelq68XHJNGlZ7lrNQyhZGsFqpwtGFexqUv4IQdjKoSYF7ipZ9UuTJZUSQXFj/XaoBLuEVIVqr8EJngEQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} decimal.js@10.6.0: @@ -3958,10 +4545,6 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - deep-eql@4.1.4: - resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} - engines: {node: '>=6'} - deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -3981,9 +4564,17 @@ packages: resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} engines: {node: '>=16.0.0'} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -4020,8 +4611,13 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} devlop@1.1.0: @@ -4037,10 +4633,6 @@ packages: resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -4069,11 +4661,6 @@ packages: domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead - domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} @@ -4088,8 +4675,8 @@ packages: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -4122,15 +4709,12 @@ packages: effector: ^23.0.0 react: '>=16.8.0 <20.0.0' - effector@23.3.0: - resolution: {integrity: sha512-ZnQ3POaNARlxT9+kxrK58PO/xmStBdxfPq0rceglENg8Ryxx/yx+1RsV/ziznrFPhLkZYc7NdDA1OKxnMW98/g==} + effector@23.4.2: + resolution: {integrity: sha512-Uae07sVa6yilnO9FhjFvLVkuakpKTHqn4bIoFxEuDsvNKfFtidLHGi1mv3bjaoJUxj3ldqZDAg3kvELVgMWSjw==} engines: {node: '>=11.0.0'} - electron-to-chromium@1.5.134: - resolution: {integrity: sha512-zSwzrLg3jNP3bwsLqWHmS5z2nIOQ5ngMnfMZOWWtXnqqQkPVyOipxK98w+1beLw1TB+EImPNcG8wVP/cLVs2Og==} - - electron-to-chromium@1.5.199: - resolution: {integrity: sha512-3gl0S7zQd88kCAZRO/DnxtBKuhMO4h0EaQIN3YgZfV6+pW+5+bf2AdQeHNESCoaQqo/gjGVYEf2YM4O5HJQqpQ==} + electron-to-chromium@1.5.211: + resolution: {integrity: sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4138,6 +4722,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -4149,9 +4737,6 @@ packages: encoding-sniffer@0.2.1: resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} @@ -4228,8 +4813,13 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.25.2: - resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} + esbuild@0.25.8: + resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} hasBin: true @@ -4371,14 +4961,14 @@ packages: peerDependencies: eslint: '>=8.45.0' - eslint-plugin-pnpm@1.1.0: - resolution: {integrity: sha512-sL93w0muBtjnogzk/loDsxzMbmXQOLP5Blw3swLDBXZgfb+qQI73bPcUbjVR+ZL+K62vGJdErV+43i3r5DsZPg==} + eslint-plugin-pnpm@1.1.1: + resolution: {integrity: sha512-gNo+swrLCgvT8L6JX6hVmxuKeuStGK2l8IwVjDxmYIn+wP4SW/d0ORLKyUiYamsp+UxknQo3f2M1irrTpqahCw==} peerDependencies: eslint: ^9.0.0 - eslint-plugin-react-debug@1.42.1: - resolution: {integrity: sha512-a7fGuqI5ybyiXR4gnp0DHc9Uy28BEz4LI85V3otDUVNt+Y0+HtgJtZXgnN59y8Qmy06zhW+/xMkbXB3Qisa0zg==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + eslint-plugin-react-debug@1.52.8: + resolution: {integrity: sha512-Ar8YY6uAI+oASUSStsYwLGUAAkyaYZUsxCg8KuFq/aaK88JvwfyJd+f+1mV40eXcgqVcPRAFBLJNvknni983mg==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^4.9.5 || ^5.3.3 @@ -4386,9 +4976,9 @@ packages: typescript: optional: true - eslint-plugin-react-dom@1.42.1: - resolution: {integrity: sha512-A4U4b738bW1KwBPcniPj7ptl6sgypxcd8u6GtkBGH+kUsuCGiUerxWu72DwS2Xm2XhmHFtRIo+pFN9+WICLwfA==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + eslint-plugin-react-dom@1.52.8: + resolution: {integrity: sha512-eb5fMb2iNsXxZ7ztVEa9bV9Jo7ua5iL+coRgdtc5MoCCrmKxkoS/rqu9nnhDJjTOqiTIPVXuMAUuwjiy5ybJ3Q==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^4.9.5 || ^5.3.3 @@ -4396,9 +4986,9 @@ packages: typescript: optional: true - eslint-plugin-react-hooks-extra@1.42.1: - resolution: {integrity: sha512-VSB8n3KsS7HBVr/ODNyZ7erPm3Kw0Vn1JAukFpW1KcShSuevWvnMra2d9ucw9M7UJz89kIlI23tNyOLe1mKZBw==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + eslint-plugin-react-hooks-extra@1.52.8: + resolution: {integrity: sha512-nsgSOq6auWVDzA/KlxMuRxsmK8647yvhEbkY/R10Lxq3nZkCYgru+KxVjNg29n29x/pHtEauZtdoA0IW9/CLrQ==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^4.9.5 || ^5.3.3 @@ -4412,9 +5002,9 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-naming-convention@1.42.1: - resolution: {integrity: sha512-BZn+lHtIfv0Xj5ieXcJJZP1GIsLmaICztFndXwHkkdF3/NIlo4dlQFJhSVoWJXdd1uIG+pukUTNiZhx5zaJVvg==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + eslint-plugin-react-naming-convention@1.52.8: + resolution: {integrity: sha512-7Vm1qrb6rPQNuXbnSZYeCFZ/0XAjWwlCr3wlaB53/pdd4jPJCFAPwn3nQQRWhAiw+oR3HMTC5SvWD4hB/lDkHA==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^4.9.5 || ^5.3.3 @@ -4422,14 +5012,14 @@ packages: typescript: optional: true - eslint-plugin-react-refresh@0.4.19: - resolution: {integrity: sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ==} + eslint-plugin-react-refresh@0.4.20: + resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} peerDependencies: eslint: '>=8.40' - eslint-plugin-react-web-api@1.42.1: - resolution: {integrity: sha512-J7vEwh7vuVDf6WijUO+uHBUJZY8uy9N70syinaNqcl8DxOlxh9SynaoxVhuA0S07Ubx1qnMa3rsL08zYq7Ymng==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + eslint-plugin-react-web-api@1.52.8: + resolution: {integrity: sha512-1/o2eG4BmgYeHDe99Zzman8jkS2oOvusIsbzUPnxnAFGtz4qoB3srJL6wUQ14Wt9mYrcIdA4lCcPr8sbYUx8JQ==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^4.9.5 || ^5.3.3 @@ -4437,9 +5027,9 @@ packages: typescript: optional: true - eslint-plugin-react-x@1.42.1: - resolution: {integrity: sha512-ZgUeCn54Hjai/DmYA57YoMhraHqVC2ilvb63SMpiqoKhVq+PZ9+az12fwhOyl0dj+yWMlQkwCGvVYa2x9pQG+w==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} + eslint-plugin-react-x@1.52.8: + resolution: {integrity: sha512-QW0oesqw/DXqlU+lMLzcEYYDgq0s4WLWirXtOYZtKw9f1ZagnuD+UymWQuhuTDMpaiXXIlJCJhbFseyZDuacVg==} + engines: {node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 ts-api-utils: ^2.1.0 @@ -4468,8 +5058,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-turbo@2.5.0: - resolution: {integrity: sha512-qQk54MrUZv0gnpxV23sccTc+FL3UJ8q7vG7HmXuS2RP8gdjWDwI1CCJTJD8EdRIDjsMxF0xi0AKcMY0CwIlXVg==} + eslint-plugin-turbo@2.5.6: + resolution: {integrity: sha512-KUDE23aP2JV8zbfZ4TeM1HpAXzMM/AYG/bJam7P4AalUxas8Pd/lS/6R3p4uX91qJcH1LwL4h0ED48nDe8KorQ==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -4480,8 +5070,8 @@ packages: peerDependencies: eslint: '>=9.29.0' - eslint-plugin-unused-imports@4.1.4: - resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} + eslint-plugin-unused-imports@4.2.0: + resolution: {integrity: sha512-hLbJ2/wnjKq4kGA9AUaExVFIbNzyxYdVo49QZmKCnhk5pc9wcYRbfgLHvWJ8tnsdcseGhoUAddm9gn/lt+d74w==} peerDependencies: '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 eslint: ^9.0.0 || ^8.0.0 @@ -4520,10 +5110,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@4.2.1: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4538,10 +5124,6 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4595,10 +5177,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} @@ -4628,10 +5206,6 @@ packages: extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -4669,17 +5243,13 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} fast-xml-parser@4.5.3: resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} hasBin: true - fast-xml-parser@5.2.0: - resolution: {integrity: sha512-Uw9+Mjt4SBRud1IcaYuW/O0lW8SKKdMl5g7g24HiIuyH5fQSD+AVLybSlJtqLYEbytVFjWQa5DMGcNgeksdRBg==} - hasBin: true - fast-xml-parser@5.2.5: resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} hasBin: true @@ -4700,8 +5270,9 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -4719,8 +5290,8 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@10.0.8: - resolution: {integrity: sha512-FGXHpfmI4XyzbLd3HQ8cbUcsFGohJpZtmQRHr8z8FxxtCe2PcpgIlVLwIgunqjvRmXypBETvwhV4ptJizA+Y1Q==} + file-entry-cache@10.1.4: + resolution: {integrity: sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==} file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} @@ -4764,8 +5335,8 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat-cache@6.1.8: - resolution: {integrity: sha512-R6MaD3nrJAtO7C3QOuS79ficm2pEAy++TgEUD8ii1LVlbcgZ9DtASLkt9B+RZSFCzm7QHDMlXPsqqB6W2Pfr1Q==} + flat-cache@6.1.13: + resolution: {integrity: sha512-gmtS2PaUjSPa4zjObEIn4WWliKyZzYljgxODBfxugpK6q6HU9ClXzgCJ+nlcPKY9Bt090ypTOLIFWkV0jbKFjw==} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -4774,8 +5345,8 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -4791,8 +5362,12 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} format@0.2.2: @@ -4810,8 +5385,8 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@12.6.3: - resolution: {integrity: sha512-2hsqknz23aloK85bzMc9nSR2/JP+fValQ459ZTVElFQ0xgwR2YqNjYSuDZdFBPOwVCt4Q9jgyTt6hg6sVOALzw==} + framer-motion@12.23.12: + resolution: {integrity: sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -4831,8 +5406,8 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + fs-extra@11.3.1: + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} engines: {node: '>=14.14'} fs-extra@5.0.0: @@ -4889,9 +5464,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -4912,15 +5484,15 @@ packages: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} get-tsconfig@4.10.1: resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} - get-uri@6.0.4: - resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} + get-uri@6.0.5: + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} engines: {node: '>= 14'} github-from-package@0.0.0: @@ -4941,8 +5513,8 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@11.0.1: - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} hasBin: true @@ -4962,10 +5534,6 @@ packages: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -4974,10 +5542,6 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.0.0: - resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} - engines: {node: '>=18'} - globals@16.3.0: resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} engines: {node: '>=18'} @@ -4996,6 +5560,10 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -5042,12 +5610,8 @@ packages: history@5.3.0: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} - hookified@1.8.1: - resolution: {integrity: sha512-GrO2l93P8xCWBSTBX9l2BxI78VU/MAAYag+pG8curS3aBGy0++ZlxrQ7PdUOUVMbn5BwkGb6+eRrnf43ipnFEA==} - - html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} + hookified@1.12.0: + resolution: {integrity: sha512-hMr1Y9TCLshScrBbV2QxJ9BROddxZ12MX9KsCtuGGy/3SmmN5H1PllKerrVlSotur9dlE8hmUKAOSa3WDzsZmQ==} html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} @@ -5056,8 +5620,8 @@ packages: html-parse-stringify@3.0.1: resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} - html-reporter@10.15.2: - resolution: {integrity: sha512-dHRhX8Oh6Q/1wqoKqxbjyu/t+Z5M2H1ZPWyWMCKzRmFeAcnjmmU00niKG+jxg0yk4ciXKLG7/xCXVLbyFf+cXA==} + html-reporter@10.19.0: + resolution: {integrity: sha512-3Lu3hsAPtpcJhMzq9JaO0GLR8tpXUXSNQJveywdwISZcw/EzLxx+PwuRvx9a70yFP3+Tep2SYjFkF5B//EiSQg==} engines: {node: '>= 18'} hasBin: true peerDependencies: @@ -5085,6 +5649,9 @@ packages: htmlparser2@10.0.0: resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + http-codes@1.0.0: resolution: {integrity: sha512-yPS0/Sp66fmRSpZ6rbeFinytku7KnBiLa/CaDxHbcr0gAZuQqeGjgyfElyQ5xPiK21e4oL4iqooHLRcr2s7LoA==} @@ -5092,17 +5659,13 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} @@ -5112,15 +5675,11 @@ packages: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} hasBin: true - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} + i18next-browser-languagedetector@8.2.0: + resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==} - i18next-browser-languagedetector@8.0.4: - resolution: {integrity: sha512-f3frU3pIxD50/Tz20zx9TD9HobKYg47fmAETb117GKGPrhwcSSPJDoCposXlVycVebQ9GQohC3Efbpq7/nnJ5w==} - - i18next-hmr@3.1.3: - resolution: {integrity: sha512-zoM4B6toVk48rAMl0t9eV+ldEq9HIO9+bek8H1aGSLQZAjPSBQCUggkxdk0vQjEWSKLsssxZqZBAWS+Ow1rcsA==} + i18next-hmr@3.1.4: + resolution: {integrity: sha512-EAL7hOlx81RHzn1MikMh/vPyi3c1YUoJQ/2haKx8JZO/mlfqDOMxvGippknucWOHGlazma/k1bST+JObKyuSdg==} i18next-http-backend@3.0.2: resolution: {integrity: sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==} @@ -5151,10 +5710,6 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.3: - resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} - engines: {node: '>= 4'} - ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} @@ -5167,18 +5722,22 @@ packages: immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - immutable@5.1.1: - resolution: {integrity: sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==} + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + import-meta-resolve@4.0.0: resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} - import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -5202,16 +5761,16 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + inquirer@8.2.7: + resolution: {integrity: sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==} engines: {node: '>=12.0.0'} internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + ip-address@10.0.1: + resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} engines: {node: '>= 12'} ipaddr.js@1.9.1: @@ -5338,10 +5897,6 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -5395,16 +5950,16 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - isows@1.0.6: - resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} + isows@1.0.7: + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} peerDependencies: ws: '*' jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.1.0: - resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} jest-diff@28.1.3: @@ -5427,10 +5982,13 @@ packages: resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + jose@5.10.0: resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} @@ -5460,21 +6018,13 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsdoc-type-pratt-parser@4.1.0: resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} engines: {node: '>=12.0.0'} - jsdom@22.1.0: - resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} - engines: {node: '>=16'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true + jsdoc-type-pratt-parser@4.8.0: + resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==} + engines: {node: '>=12.0.0'} jsdom@24.1.3: resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==} @@ -5534,8 +6084,8 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} @@ -5543,15 +6093,22 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.3.2: - resolution: {integrity: sha512-Lji2XRxqqa5Wg+CHLVfFKBImfJZ4pCSccu9eVWK6w4c2SDFLd8JAn1zqTuSFnsxb7ope6rMsnIHfp+eBbRBRZQ==} + keyv@5.5.0: + resolution: {integrity: sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==} kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - known-css-properties@0.35.0: - resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} + known-css-properties@0.37.0: + resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + ky@0.33.0: + resolution: {integrity: sha512-peKzuOlN/q3Q3jOgi4t0cp6DOgif5rVnmiSIsjsmkiOcdnSjkrKSUqQmRWYCTqjUtR9b3xQQr8aj7KwSW1r49A==} + engines: {node: '>=14.16'} lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} @@ -5564,8 +6121,8 @@ packages: lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - lighthouse-logger@2.0.1: - resolution: {integrity: sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==} + lighthouse-logger@2.0.2: + resolution: {integrity: sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg==} lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} @@ -5574,6 +6131,10 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + load-esm@1.0.2: + resolution: {integrity: sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==} + engines: {node: '>=13.2.0'} + load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5582,12 +6143,8 @@ packages: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} - local-pkg@0.5.1: - resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} - engines: {node: '>=14'} - - local-pkg@1.1.1: - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} locate-app@2.5.0: @@ -5654,23 +6211,24 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - looks-same@8.2.4: - resolution: {integrity: sha512-O+Y3dA2dmHN4oj1Av0FhmuNIxFtCJ5lz7QWtGntsQC3DG2W9PeLQYAJHcBbG3tDWKiKR19LamMxRFJk+7iLuIA==} - engines: {node: '>= 12.0.0'} + looks-same@10.0.1: + resolution: {integrity: sha512-MHTGwSbifNjQIKkjAr9aOCDxg+E06wtdLBdSmjJSnFxl7u5rkQqTfx+FYK+Fv6sK2MKJFlBaTYN6WOLdm5JSGA==} + engines: {node: '>= 18.0.0'} looks-same@9.0.1: resolution: {integrity: sha512-V+vsT22nLIUdmvxr6jxsbafpJaZvLFnwZhV7BbmN38+v6gL+/BaHnwK9z5UURhDNSOrj3baOgbwzpjINqoZCpA==} engines: {node: '>= 18.0.0'} - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.2.1: + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -5681,6 +6239,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} @@ -5693,8 +6255,8 @@ packages: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.18: + resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -5705,8 +6267,8 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - marky@1.2.5: - resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} + marky@1.3.0: + resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} @@ -5774,9 +6336,6 @@ packages: merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -5897,20 +6456,20 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -5948,19 +6507,19 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} mocha@10.2.0: resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} hasBin: true - motion-dom@12.6.3: - resolution: {integrity: sha512-gRY08RjcnzgFYLemUZ1lo/e9RkBxR+6d4BRvoeZDSeArG4XQXERSPapKl3LNQRu22Sndjf1h+iavgY0O4NrYqA==} + motion-dom@12.23.12: + resolution: {integrity: sha512-RcR4fvMCTESQBD/uKQe49D5RUeDOokkGRmz4ceaJKDBgHYtZtntC/s2vLvY38gqGaytinij/yi3hMcWVcEF5Kw==} - motion-utils@12.6.3: - resolution: {integrity: sha512-R/b3Ia2VxtTNZ4LTEO5pKYau1OUNHOuUfxuP0WFCTDYdHkeTBR9UtxR1cc8mDmKr8PEhmmfnTKGz3rSMjNRoRg==} + motion-utils@12.23.6: + resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -5979,6 +6538,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} @@ -6019,16 +6581,16 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-abi@3.74.0: - resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} + node-abi@3.75.0: + resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} engines: {node: '>=10'} - node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -6054,12 +6616,12 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - nodemailer@6.10.0: - resolution: {integrity: sha512-SQ3wZCExjeSatLE/HBaXS5vqUOQk6GtBdIIKxiFdmm01mOQZX/POJkO3SUX1wDiYcwUOJwT23scFSC9fY2H8IA==} + nodemailer@6.10.1: + resolution: {integrity: sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==} engines: {node: '>=6.0.0'} - nodemon@3.1.9: - resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} + nodemon@3.1.10: + resolution: {integrity: sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==} engines: {node: '>=10'} hasBin: true @@ -6071,15 +6633,15 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + normalize-url@8.0.2: + resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} + engines: {node: '>=14.16'} + npm-path@2.0.4: resolution: {integrity: sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==} engines: {node: '>=0.8'} hasBin: true - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-which@3.0.1: resolution: {integrity: sha512-CM8vMpeFQ7MAPin0U3wzDhSGV0hMHNwHU0wjo402IVizPDrs45jSfSuoC+wThevY88LQti8VvaAnqYAeVy3I1A==} engines: {node: '>=4.2.0'} @@ -6126,10 +6688,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -6153,6 +6711,10 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -6165,10 +6727,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - p-limit@6.2.0: resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} engines: {node: '>=18'} @@ -6251,6 +6809,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -6263,10 +6824,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -6288,17 +6845,11 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + pathval@2.0.1: + resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} patronum@2.3.0: @@ -6316,10 +6867,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} @@ -6338,8 +6885,8 @@ packages: pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.6.0: - resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==} + pino@9.9.0: + resolution: {integrity: sha512-zxsRIQG9HzG+jEljmvmZupOMDUQ0Jpj0yAgE28jQvvrdYTlEaiGwelJpdndMl/MBuRr70heIj83QyqJUWaU8mQ==} hasBin: true pirates@4.0.7: @@ -6353,8 +6900,8 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.2.0: - resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} playwright-core@1.55.0: resolution: {integrity: sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==} @@ -6376,8 +6923,8 @@ packages: png-validator@1.1.0: resolution: {integrity: sha512-MlRLyPI1p3/dJbsjVH+4xOPucycrz8T3EvO0BzCXaNtrUhZkZROtzib9J6mnC81AJO8eBIwiDZwTFel2cMmSuQ==} - pnpm-workspace-yaml@1.1.0: - resolution: {integrity: sha512-OWUzBxtitpyUV0fBYYwLAfWxn3mSzVbVB7cwgNaHvTTU9P0V2QHjyaY5i7f1hEiT9VeKsNH1Skfhe2E3lx/zhA==} + pnpm-workspace-yaml@1.1.1: + resolution: {integrity: sha512-nGBB7h3Ped3g9dBrR6d3YNwXCKYsEg8K9J3GMmSrwGEXq3RHeGW44/B4MZW51p4FRMnyxJzTY5feSBbUjRhIHQ==} polished@4.3.1: resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} @@ -6399,8 +6946,8 @@ packages: peerDependencies: postcss: ^8.4.6 - postcss-color-functional-notation@7.0.8: - resolution: {integrity: sha512-S/TpMKVKofNvsxfau/+bw+IA6cSfB6/kmzFj5szUofHOVnFFMB2WwK+Zu07BeMD8T0n+ZnTO5uXiMvAKe2dPkA==} + postcss-color-functional-notation@7.0.11: + resolution: {integrity: sha512-zfqoUSaHMko/k2PA9xnaydVTHqYv5vphq5Q2AHcG/dCdv/OkHYWcVWfVTBKZ526uzT8L7NghuvSw3C9PxlKnLg==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -6417,20 +6964,20 @@ packages: peerDependencies: postcss: ^8.4 - postcss-custom-media@11.0.5: - resolution: {integrity: sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==} + postcss-custom-media@11.0.6: + resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - postcss-custom-properties@14.0.4: - resolution: {integrity: sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==} + postcss-custom-properties@14.0.6: + resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - postcss-custom-selectors@8.0.4: - resolution: {integrity: sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==} + postcss-custom-selectors@8.0.5: + resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -6441,8 +6988,8 @@ packages: peerDependencies: postcss: ^8.4 - postcss-double-position-gradients@6.0.0: - resolution: {integrity: sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==} + postcss-double-position-gradients@6.0.3: + resolution: {integrity: sha512-Dl0Z9sdbMwrPslgOaGBZRGo3TASmmgTcqcUODr82MTYyJk6devXZM6MlQjpQKMJqlLJ6oL1w78U7IXFdPA5+ug==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -6481,8 +7028,8 @@ packages: peerDependencies: postcss: ^8.4 - postcss-lab-function@7.0.8: - resolution: {integrity: sha512-plV21I86Hg9q8omNz13G9fhPtLopIWH06bt/Cb5cs1XnaGU2kUtEitvVd4vtQb/VqCdNUHK5swKn3QFmMRbpDg==} + postcss-lab-function@7.0.11: + resolution: {integrity: sha512-BEA4jId8uQe1gyjZZ6Bunb6ZsH2izks+v25AxQJDBtigXCjTLmCPWECwQpLTtcxH589MVxhs/9TAmRC6lUEmXQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -6511,8 +7058,8 @@ packages: peerDependencies: postcss: ^8.4 - postcss-nesting@13.0.1: - resolution: {integrity: sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==} + postcss-nesting@13.0.2: + resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -6540,8 +7087,8 @@ packages: peerDependencies: postcss: ^8.4 - postcss-preset-env@10.1.5: - resolution: {integrity: sha512-LQybafF/K7H+6fAs4SIkgzkSCixJy0/h0gubDIAP3Ihz+IQBRwsjyvBnAZ3JUHD+A/ITaxVRPDxn//a3Qy4pDw==} + postcss-preset-env@10.3.1: + resolution: {integrity: sha512-8ZOOWVwQ0iMpfEYkYo+U6W7fE2dJ/tP6dtEFwPJ66eB5JjnFupfYh+y6zo+vWDO72nGhKOVdxwhTjfzcSNRg4Q==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 @@ -6583,10 +7130,6 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -6609,8 +7152,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -6622,15 +7165,11 @@ packages: resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process-warning@4.0.1: - resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} + process-warning@5.0.0: + resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} @@ -6664,9 +7203,6 @@ packages: pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -6691,8 +7227,8 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} query-selector-shadow-dom@1.0.1: resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} @@ -6709,6 +7245,10 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -6730,8 +7270,8 @@ packages: peerDependencies: react: ^16.3.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 - react-docgen-typescript@2.2.2: - resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==} + react-docgen-typescript@2.4.0: + resolution: {integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==} peerDependencies: typescript: '>= 4.3.x' @@ -6739,23 +7279,26 @@ packages: resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==} engines: {node: '>=16.14.0'} - react-dom@19.1.0: - resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + react-dom@19.1.1: + resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} peerDependencies: - react: ^19.1.0 + react: ^19.1.1 - react-i18next@15.4.1: - resolution: {integrity: sha512-ahGab+IaSgZmNPYXdV1n+OYky95TGpFwnKRflX/16dY04DsYYKHtVLjeny7sBSCREEcoMbAgSkFiGLF5g5Oofw==} + react-i18next@15.7.3: + resolution: {integrity: sha512-AANws4tOE+QSq/IeMF/ncoHlMNZaVLxpa5uUGW1wjike68elVYr0018L9xYoqBr1OFO7G7boDPrbn0HpMCJxTw==} peerDependencies: - i18next: '>= 23.2.3' + i18next: '>= 25.4.1' react: '>= 16.8.0' react-dom: '*' react-native: '*' + typescript: ^5 peerDependenciesMeta: react-dom: optional: true react-native: optional: true + typescript: + optional: true react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} @@ -6776,8 +7319,8 @@ packages: react-dom: optional: true - react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + react@19.1.1: + resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} read-yaml-file@1.1.0: @@ -6826,9 +7369,6 @@ packages: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp-ast-analysis@0.7.1: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -6859,6 +7399,9 @@ packages: reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-from@1.0.1: resolution: {integrity: sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==} engines: {node: '>=0.10.0'} @@ -6883,6 +7426,10 @@ packages: engines: {node: '>= 0.4'} hasBin: true + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + resq@1.11.0: resolution: {integrity: sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==} @@ -6890,6 +7437,10 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + ret@0.5.0: + resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} + engines: {node: '>=10'} + retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} @@ -6916,17 +7467,14 @@ packages: engines: {node: 20 || >=22} hasBin: true - rollup@4.39.0: - resolution: {integrity: sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==} + rollup@4.49.0: + resolution: {integrity: sha512-3IVq0cGJ6H7fKXXEdVt+RcYvRCt8beYY9K1760wGQwSAHZcS9eot1zDG5axUbcp/kWRi5zKIIDX8MoKv/TzvZA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true rrdom@2.0.0-alpha.18: resolution: {integrity: sha512-fSFzFFxbqAViITyYVA4Z0o5G6p1nEqEr/N8vdgSKie9Rn0FJxDSNJgjV0yiCIzcDs0QR+hpvgFhpbdZ6JIr5Nw==} - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} @@ -6963,6 +7511,9 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} + safe-regex2@5.0.0: + resolution: {integrity: sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==} + safe-stable-stringify@2.5.0: resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} @@ -6970,131 +7521,120 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-embedded-android-arm64@1.86.3: - resolution: {integrity: sha512-q+XwFp6WgAv+UgnQhsB8KQ95kppvWAB7DSoJp+8Vino8b9ND+1ai3cUUZPE5u4SnLZrgo5NtrbPvN5KLc4Pfyg==} + sass-embedded-all-unknown@1.91.0: + resolution: {integrity: sha512-AXC1oPqDfLnLtcoxM+XwSnbhcQs0TxAiA5JDEstl6+tt6fhFLKxdyl1Hla39SFtxvMfB2QDUYE3Dmx49O59vYg==} + cpu: ['!arm', '!arm64', '!riscv64', '!x64'] + + sass-embedded-android-arm64@1.91.0: + resolution: {integrity: sha512-I8Eeg2CeVcZIhXcQLNEY6ZBRF0m7jc818/fypwMwvIdbxGWBekTzc3aKHTLhdBpFzGnDIyR4s7oB0/OjIpzD1A==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - sass-embedded-android-arm@1.86.3: - resolution: {integrity: sha512-UyeXrFzZSvrGbvrWUBcspbsbivGgAgebLGJdSqJulgSyGbA6no3DWQ5Qpdd6+OAUC39BlpPu74Wx9s4RrVuaFw==} + sass-embedded-android-arm@1.91.0: + resolution: {integrity: sha512-DSh1V8TlLIcpklAbn4NINEFs3yD2OzVTbawEXK93IH990upoGNFVNRTstFQ/gcvlbWph3Y3FjAJvo37zUO485A==} engines: {node: '>=14.0.0'} cpu: [arm] os: [android] - sass-embedded-android-ia32@1.86.3: - resolution: {integrity: sha512-gTJjVh2cRzvGujXj5ApPk/owUTL5SiO7rDtNLrzYAzi1N5HRuLYXqk3h1IQY3+eCOBjGl7mQ9XyySbJs/3hDvg==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [android] - - sass-embedded-android-riscv64@1.86.3: - resolution: {integrity: sha512-Po3JnyiCS16kd6REo1IMUbFGYtvL9O0rmKaXx5vOuBaJD1LPy2LiSSp7TU7wkJ9IxsTDGzFaSeP1I9qb6D8VVg==} + sass-embedded-android-riscv64@1.91.0: + resolution: {integrity: sha512-qmsl1a7IIJL0fCOwzmRB+6nxeJK5m9/W8LReXUrdgyJNH5RyxChDg+wwQPVATFffOuztmWMnlJ5CV2sCLZrXcQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [android] - sass-embedded-android-x64@1.86.3: - resolution: {integrity: sha512-+7h3jdDv/0kUFx0BvxYlq2fa7CcHiDPlta6k5OxO5K6jyqJwo9hc0Z052BoYEauWTqZ+vK6bB5rv2BIzq4U9nA==} + sass-embedded-android-x64@1.91.0: + resolution: {integrity: sha512-/wN0HBLATOVSeN3Tzg0yxxNTo1IQvOxxxwFv7Ki/1/UCg2AqZPxTpNoZj/mn8tUPtiVogMGbC8qclYMq1aRZsQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [android] - sass-embedded-darwin-arm64@1.86.3: - resolution: {integrity: sha512-EgLwV4ORm5Hr0DmIXo0Xw/vlzwLnfAiqD2jDXIglkBsc5czJmo4/IBdGXOP65TRnsgJEqvbU3aQhuawX5++x9A==} + sass-embedded-darwin-arm64@1.91.0: + resolution: {integrity: sha512-gQ6ScInxAN+BDUXy426BSYLRawkmGYlHpQ9i6iOxorr64dtIb3l6eb9YaBV8lPlroUnugylmwN2B3FU9BuPfhA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - sass-embedded-darwin-x64@1.86.3: - resolution: {integrity: sha512-dfKhfrGPRNLWLC82vy/vQGmNKmAiKWpdFuWiePRtg/E95pqw+sCu6080Y6oQLfFu37Iq3MpnXiSpDuSo7UnPWA==} + sass-embedded-darwin-x64@1.91.0: + resolution: {integrity: sha512-DSvFMtECL2blYVTFMO5fLeNr5bX437Lrz8R47fdo5438TRyOkSgwKTkECkfh3YbnrL86yJIN2QQlmBMF17Z/iw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - sass-embedded-linux-arm64@1.86.3: - resolution: {integrity: sha512-tYq5rywR53Qtc+0KI6pPipOvW7a47ETY69VxfqI9BR2RKw2hBbaz0bIw6OaOgEBv2/XNwcWb7a4sr7TqgkqKAA==} + sass-embedded-linux-arm64@1.91.0: + resolution: {integrity: sha512-OnKCabD7f420ZEC/6YI9WhCVGMZF+ybZ5NbAB9SsG1xlxrKbWQ1s7CIl0w/6RDALtJ+Fjn8+mrxsxqakoAkeuA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-arm@1.86.3: - resolution: {integrity: sha512-+fVCIH+OR0SMHn2NEhb/VfbpHuUxcPtqMS34OCV3Ka99LYZUJZqth4M3lT/ppGl52mwIVLNYzR4iLe6mdZ6mYA==} + sass-embedded-linux-arm@1.91.0: + resolution: {integrity: sha512-ppAZLp3eZ9oTjYdQDf4nM7EehDpkxq5H1hE8FOrx8LpY7pxn6QF+SRpAbRjdfFChRw0K7vh+IiCnQEMp7uLNAg==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-ia32@1.86.3: - resolution: {integrity: sha512-CmQ5OkqnaeLdaF+bMqlYGooBuenqm3LvEN9H8BLhjkpWiFW8hnYMetiqMcJjhrXLvDw601KGqA5sr/Rsg5s45g==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [linux] - - sass-embedded-linux-musl-arm64@1.86.3: - resolution: {integrity: sha512-4zOr2C/eW89rxb4ozTfn7lBzyyM5ZigA1ZSRTcAR26Qbg/t2UksLdGnVX9/yxga0d6aOi0IvO/7iM2DPPRRotg==} + sass-embedded-linux-musl-arm64@1.91.0: + resolution: {integrity: sha512-VfbPpID1C5TT7rukob6CKgefx/TsLE+XZieMNd00hvfJ8XhqPr5DGvSMCNpXlwaedzTirbJu357m+n2PJI9TFQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-musl-arm@1.86.3: - resolution: {integrity: sha512-SEm65SQknI4pl+mH5Xf231hOkHJyrlgh5nj4qDbiBG6gFeutaNkNIeRgKEg3cflXchCr8iV/q/SyPgjhhzQb7w==} + sass-embedded-linux-musl-arm@1.91.0: + resolution: {integrity: sha512-znEsNC2FurPF9+XwQQ6e/fVoic3e5D3/kMB41t/bE8byJVRdaPhkdsszt3pZUE56nNGYoCuieSXUkk7VvyPHsw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-musl-ia32@1.86.3: - resolution: {integrity: sha512-84Tcld32LB1loiqUvczWyVBQRCChm0wNLlkT59qF29nxh8njFIVf9yaPgXcSyyjpPoD9Tu0wnq3dvVzoMCh9AQ==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [linux] - - sass-embedded-linux-musl-riscv64@1.86.3: - resolution: {integrity: sha512-IxEqoiD7vdNpiOwccybbV93NljBy64wSTkUOknGy21SyV43C8uqESOwTwW9ywa3KufImKm8L3uQAW/B0KhJMWg==} + sass-embedded-linux-musl-riscv64@1.91.0: + resolution: {integrity: sha512-ZfLGldKEEeZjuljKks835LTq7jDRI3gXsKKXXgZGzN6Yymd4UpBOGWiDQlWsWTvw5UwDU2xfFh0wSXbLGHTjVA==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-musl-x64@1.86.3: - resolution: {integrity: sha512-ePeTPXUxPK6JgHcUfnrkIyDtyt+zlAvF22mVZv6y1g/PZFm1lSfX+Za7TYHg9KaYqaaXDiw6zICX4i44HhR8rA==} + sass-embedded-linux-musl-x64@1.91.0: + resolution: {integrity: sha512-4kSiSGPKFMbLvTRbP/ibyiKheOA3fwsJKWU0SOuekSPmybMdrhNkTm0REp6+nehZRE60kC3lXmEV4a7w8Jrwyg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-linux-riscv64@1.86.3: - resolution: {integrity: sha512-NuXQ72dwfNLe35E+RaXJ4Noq4EkFwM65eWwCwxEWyJO9qxOx1EXiCAJii6x8kkOh5daWuMU0VAI1B9RsJaqqQQ==} + sass-embedded-linux-riscv64@1.91.0: + resolution: {integrity: sha512-Y3Fj94SYYvMX9yo49T78yBgBWXtG3EyYUT5K05XyCYkcdl1mVXJSrEmqmRfe4vQGUCaSe/6s7MmsA9Q+mQez7Q==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-x64@1.86.3: - resolution: {integrity: sha512-t8be9zJ5B82+og9bQmIQ83yMGYZMTMrlGA+uGWtYacmwg6w3093dk91Fx0YzNSZBp3Tk60qVYjCZnEIwy60x0g==} + sass-embedded-linux-x64@1.91.0: + resolution: {integrity: sha512-XwIUaE7pQP/ezS5te80hlyheYiUlo0FolQ0HBtxohpavM+DVX2fjwFm5LOUJHrLAqP+TLBtChfFeLj1Ie4Aenw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-win32-arm64@1.86.3: - resolution: {integrity: sha512-4ghuAzjX4q8Nksm0aifRz8hgXMMxS0SuymrFfkfJlrSx68pIgvAge6AOw0edoZoe0Tf5ZbsWUWamhkNyNxkTvw==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [win32] + sass-embedded-unknown-all@1.91.0: + resolution: {integrity: sha512-Bj6v7ScQp/HtO91QBy6ood9AArSIN7/RNcT4E7P9QoY3o+e6621Vd28lV81vdepPrt6u6PgJoVKmLNODqB6Q+A==} + os: ['!android', '!darwin', '!linux', '!win32'] - sass-embedded-win32-ia32@1.86.3: - resolution: {integrity: sha512-tCaK4zIRq9mLRPxLzBAdYlfCuS/xLNpmjunYxeWkIwlJo+k53h1udyXH/FInnQ2GgEz0xMXyvH3buuPgzwWYsw==} + sass-embedded-win32-arm64@1.91.0: + resolution: {integrity: sha512-yDCwTiPRex03i1yo7LwiAl1YQ21UyfOxPobD7UjI8AE8ZcB0mQ28VVX66lsZ+qm91jfLslNFOFCD4v79xCG9hA==} engines: {node: '>=14.0.0'} - cpu: [ia32] + cpu: [arm64] os: [win32] - sass-embedded-win32-x64@1.86.3: - resolution: {integrity: sha512-zS+YNKfTF4SnOfpC77VTb0qNZyTXrxnAezSoRV0xnw6HlY+1WawMSSB6PbWtmbvyfXNgpmJUttoTtsvJjRCucg==} + sass-embedded-win32-x64@1.91.0: + resolution: {integrity: sha512-wiuMz/cx4vsk6rYCnNyoGE5pd73aDJ/zF3qJDose3ZLT1/vV943doJE5pICnS/v5DrUqzV6a1CNq4fN+xeSgFQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - sass-embedded@1.86.3: - resolution: {integrity: sha512-3pZSp24ibO1hdopj+W9DuiWsZOb2YY6AFRo/jjutKLBkqJGM1nJjXzhAYfzRV+Xn5BX1eTI4bBTE09P0XNHOZg==} + sass-embedded@1.91.0: + resolution: {integrity: sha512-VTckYcH1AglrZ3VpPETilTo3Ef472XKwP13lrNfbOHSR6Eo5p27XTkIi+6lrCbuhBFFGAmy+4BRoLaeFUgn+eg==} engines: {node: '>=16.0.0'} hasBin: true + sass@1.91.0: + resolution: {integrity: sha512-aFOZHGf+ur+bp1bCHZ+u8otKGh77ZtmFyXDo4tlYvT7PWql41Kwd8wdkPqhhT+h2879IVblcHFglIMofsFd1EA==} + engines: {node: '>=14.0.0'} + hasBin: true + saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -7113,8 +7653,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true @@ -7152,10 +7692,6 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - sharp@0.30.7: - resolution: {integrity: sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==} - engines: {node: '>=12.13.0'} - sharp@0.32.6: resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} engines: {node: '>=14.15.0'} @@ -7210,10 +7746,6 @@ packages: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - sirv@3.0.1: resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} engines: {node: '>=18'} @@ -7258,8 +7790,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.4: - resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} sonic-boom@2.8.0: @@ -7307,9 +7839,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -7334,16 +7863,16 @@ packages: storybook-i18n@3.1.1: resolution: {integrity: sha512-k1/lS+Rx6l5mJEYAHQWEgXuwU5IyWk7kjcJtm2FDIn1UqZwbEraGlrp/fEZKK2e/7+SXEQdKeCaTz7+63WTQxw==} - storybook-react-i18next@3.2.1: - resolution: {integrity: sha512-TmFFy8scDynoK61fawEm+ey8L0mRZYJYO/KmuAqittZ6ZBOH/qQtvR8a4qiTgmOXnE39wO3/YnWXzkm/0kYfbQ==} + storybook-react-i18next@3.3.1: + resolution: {integrity: sha512-xZ4ESBAh11kxv5878JSLWJP6e95DgpGDkFaUjbmkq72k3Omw7OnPn9RzcwL1XetPzAu03RIMcBmGpj2bTDexsw==} peerDependencies: - i18next: ^22.0.0 || ^23.0.0 || ^24.0.0 + i18next: ^22.0.0 || ^23.0.0 || ^24.0.0 || ^25.0.0 i18next-browser-languagedetector: ^7.0.0 || ^8.0.0 i18next-http-backend: ^2.0.0 || ^3.0.0 react-i18next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 - storybook@8.6.11: - resolution: {integrity: sha512-B2wxpmq1QYS4JV7RQu1mOHD7akfoGbuoUSkx2D2GZgv/zXAHZmDpSFcTvvBBm8FAtzChI9HhITSJ0YS0ePfnJQ==} + storybook@8.6.14: + resolution: {integrity: sha512-sVKbCj/OTx67jhmauhxc2dcr1P+yOgz/x3h0krwjyMgdc5Oubvxyg4NYDZmzAw+ym36g/lzH8N0Ccp4dwtdfxw==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -7351,13 +7880,17 @@ packages: prettier: optional: true - streamx@2.22.0: - resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} + streamx@2.22.1: + resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} strftime@0.10.2: resolution: {integrity: sha512-Y6IZaTVM80chcMe7j65Gl/0nmlNdtt+KWPle5YeCAjmsBfw+id2qdaJ5MDrxUq+OmHKab+jHe7mUjU/aNMSZZg==} engines: {node: '>=0.2.0'} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-ts@2.2.1: resolution: {integrity: sha512-Q2u0gko67PLLhbte5HmPfdOjNvUKbKQM+mCNQae6jE91DmoFHY6HH9GcdqCeNx87DZ2KKjiFxmA0R/42OneGWw==} @@ -7387,10 +7920,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -7407,20 +7936,17 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@2.1.1: - resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - strnum@2.0.5: - resolution: {integrity: sha512-YAT3K/sgpCUxhxNMrrdhtod3jckkpYwH6JAuwmUdXZsmzH1wUyzTMrrK2wYCEEqlKwrWDd35NeuUkbBy/1iK+Q==} - strnum@2.1.1: resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} - stylelint@16.18.0: - resolution: {integrity: sha512-OXb68qzesv7J70BSbFwfK3yTVLEVXiQ/ro6wUE4UrSbKCMjLLA02S8Qq3LC01DxKyVjk7z8xh35aB4JzO3/sNA==} + stylelint@16.23.1: + resolution: {integrity: sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw==} engines: {node: '>=18.12.0'} hasBin: true @@ -7456,8 +7982,8 @@ packages: tslib: ^2.6.3 typescript: ^5.0.0 - surrealdb@1.3.1: - resolution: {integrity: sha512-HAA5SesvgyHCpQokNBvcT1esRV+dqYg5ZyXY+nFB/RO0xbmvSovLMSvntUtIpuDYehc9vmSNs/g0d78MoiwOKg==} + surrealdb@1.3.2: + resolution: {integrity: sha512-mL7nij33iuon3IQP72F46fgX3p2LAxFCWCBDbZB7IohZ13RTEwJVNq7nZeP1eMSceQUpKzS6OHIWOuF9LYAkNw==} engines: {node: '>=18.0.0'} peerDependencies: tslib: ^2.6.3 @@ -7489,8 +8015,8 @@ packages: resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} engines: {node: ^14.18.0 || >=16.0.0} - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + synckit@0.9.3: + resolution: {integrity: sha512-JJoOEKTfL1urb1mDoEblhD9NhEbWmq9jHEMEnxoC4ujUaZ4itA8vKgwkFAyNClgxplLi9tsUKX+EduK0p/l7sg==} engines: {node: ^14.18.0 || >=16.0.0} tabbable@6.2.0: @@ -7500,19 +8026,16 @@ packages: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} - tapable@2.2.2: - resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + tapable@2.2.3: + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} engines: {node: '>=6'} - tar-fs@2.1.2: - resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} + tar-fs@2.1.3: + resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==} tar-fs@3.0.4: resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} - tar-fs@3.0.8: - resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} - tar-fs@3.1.0: resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} @@ -7531,8 +8054,8 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - testplane@8.27.2: - resolution: {integrity: sha512-+N3OTrG3hBydmpP+EhCxhfICsjmmaZDKp+yfmhMM9NXTFXZAPspQLK6ac8he42f09mep78KCO82sFjJTPObL/w==} + testplane@8.31.0: + resolution: {integrity: sha512-3y5FVX4zcP1YtWi8ohfIVmexBeda1oqIuC3bggVq2v311YQhPmlv9Y7q7r0xXrY8JHphGbW603jV4CKlaBMDng==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: @@ -7579,10 +8102,6 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} - engines: {node: '>=14.0.0'} - tinypool@1.1.1: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -7591,14 +8110,18 @@ packages: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} tinyspy@3.0.2: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + engines: {node: '>=14.0.0'} + tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} @@ -7606,10 +8129,6 @@ packages: resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - tmp@0.1.0: resolution: {integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==} engines: {node: '>=6'} @@ -7648,10 +8167,6 @@ packages: tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tr46@4.1.1: - resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} - engines: {node: '>=14'} - tr46@5.1.1: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} @@ -7692,8 +8207,8 @@ packages: '@swc/wasm': optional: true - ts-pattern@5.7.0: - resolution: {integrity: sha512-0/FvIG4g3kNkYgbNwBBW5pZBkfpeYQnH+2AA3xmjkCAit/DSDPKmgwC3fKof4oYUq6gupClVOJlFl+939VRBMg==} + ts-pattern@5.8.0: + resolution: {integrity: sha512-kIjN2qmWiHnhgr5DAkAafF9fwb0T5OhMVSWrm8XEdTFnX6+wfXwYOFjeF86UZ54vduqiR7BfqScFmXSzSaH8oA==} tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} @@ -7724,38 +8239,38 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turbo-darwin-64@2.5.0: - resolution: {integrity: sha512-fP1hhI9zY8hv0idym3hAaXdPi80TLovmGmgZFocVAykFtOxF+GlfIgM/l4iLAV9ObIO4SUXPVWHeBZQQ+Hpjag==} + turbo-darwin-64@2.5.6: + resolution: {integrity: sha512-3C1xEdo4aFwMJAPvtlPqz1Sw/+cddWIOmsalHFMrsqqydcptwBfu26WW2cDm3u93bUzMbBJ8k3zNKFqxJ9ei2A==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.0: - resolution: {integrity: sha512-p9sYq7kXH7qeJwIQE86cOWv/xNqvow846l6c/qWc26Ib1ci5W7V0sI5thsrP3eH+VA0d+SHalTKg5SQXgNQBWA==} + turbo-darwin-arm64@2.5.6: + resolution: {integrity: sha512-LyiG+rD7JhMfYwLqB6k3LZQtYn8CQQUePbpA8mF/hMLPAekXdJo1g0bUPw8RZLwQXUIU/3BU7tXENvhSGz5DPA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.0: - resolution: {integrity: sha512-1iEln2GWiF3iPPPS1HQJT6ZCFXynJPd89gs9SkggH2EJsj3eRUSVMmMC8y6d7bBbhBFsiGGazwFIYrI12zs6uQ==} + turbo-linux-64@2.5.6: + resolution: {integrity: sha512-GOcUTT0xiT/pSnHL4YD6Yr3HreUhU8pUcGqcI2ksIF9b2/r/kRHwGFcsHgpG3+vtZF/kwsP0MV8FTlTObxsYIA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.0: - resolution: {integrity: sha512-bKBcbvuQHmsX116KcxHJuAcppiiBOfivOObh2O5aXNER6mce7YDDQJy00xQQNp1DhEfcSV2uOsvb3O3nN2cbcA==} + turbo-linux-arm64@2.5.6: + resolution: {integrity: sha512-10Tm15bruJEA3m0V7iZcnQBpObGBcOgUcO+sY7/2vk1bweW34LMhkWi8svjV9iDF68+KJDThnYDlYE/bc7/zzQ==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.0: - resolution: {integrity: sha512-9BCo8oQ7BO7J0K913Czbc3tw8QwLqn2nTe4E47k6aVYkM12ASTScweXPTuaPFP5iYXAT6z5Dsniw704Ixa5eGg==} + turbo-windows-64@2.5.6: + resolution: {integrity: sha512-FyRsVpgaj76It0ludwZsNN40ytHN+17E4PFJyeliBEbxrGTc5BexlXVpufB7XlAaoaZVxbS6KT8RofLfDRyEPg==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.0: - resolution: {integrity: sha512-OUHCV+ueXa3UzfZ4co/ueIHgeq9B2K48pZwIxKSm5VaLVuv8M13MhM7unukW09g++dpdrrE1w4IOVgxKZ0/exg==} + turbo-windows-arm64@2.5.6: + resolution: {integrity: sha512-j/tWu8cMeQ7HPpKri6jvKtyXg9K1gRyhdK4tKrrchH8GNHscPX/F71zax58yYtLRWTiK04zNzPcUJuoS0+v/+Q==} cpu: [arm64] os: [win32] - turbo@2.5.0: - resolution: {integrity: sha512-PvSRruOsitjy6qdqwIIyolv99+fEn57gP6gn4zhsHTEcCYgXPhv6BAxzAjleS8XKpo+Y582vTTA9nuqYDmbRuA==} + turbo@2.5.6: + resolution: {integrity: sha512-gxToHmi9oTBNB05UjUsrWf0OyN5ZXtD0apOarC1KIx232Vp3WimRNy3810QzeNSgyD5rsaIDXlxlbnOzlouo+w==} hasBin: true tween-functions@1.2.0: @@ -7765,10 +8280,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.1.0: - resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} - engines: {node: '>=4'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -7785,18 +8296,18 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true - ua-parser-js@1.0.40: - resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} + ua-parser-js@1.0.41: + resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} hasBin: true ufo@1.6.1: @@ -7815,16 +8326,12 @@ packages: resolution: {integrity: sha512-d87yk8lqSFUYtR5fTFe2frpkMIrUEz+lgoJmhcL+J3StVl+8fj8ytE4lLnJOTPCE12YbumNGzf4LYsQyusdV5g==} engines: {node: '>=18.0'} - undici@6.21.2: - resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} - engines: {node: '>=18.17'} - undici@6.21.3: resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} engines: {node: '>=18.17'} - undici@7.13.0: - resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} + undici@7.15.0: + resolution: {integrity: sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==} engines: {node: '>=20.18.1'} unist-util-is@6.0.0: @@ -7877,9 +8384,6 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - urlpattern-polyfill@10.1.0: resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} @@ -7921,14 +8425,6 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - valibot@1.0.0: - resolution: {integrity: sha512-1Hc0ihzWxBar6NGeZv7fPLY0QuxFMyxwYR2sF1Blu7Wq7EnremwY2W02tit2ij2VJT8HcSkHAQqmFfl77f73Yw==} - peerDependencies: - typescript: '>=5' - peerDependenciesMeta: - typescript: - optional: true - varint@6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} @@ -7936,15 +8432,19 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite-node@1.6.1: - resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==} - engines: {node: ^18.0.0 || >=20.0.0} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite-node@2.1.9: - resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vite-plugin-dts@4.5.4: + resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true vite@5.1.6: resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} @@ -8014,45 +8514,63 @@ packages: yaml: optional: true - vitest@1.6.1: - resolution: {integrity: sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@7.1.3: + resolution: {integrity: sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.1 - '@vitest/ui': 1.6.1 - happy-dom: '*' - jsdom: '*' + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: - '@edge-runtime/vm': - optional: true '@types/node': optional: true - '@vitest/browser': + jiti: optional: true - '@vitest/ui': + less: optional: true - happy-dom: + lightningcss: optional: true - jsdom: + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: optional: true - vitest@2.1.9: - resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==} - engines: {node: ^18.0.0 || >=20.0.0} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.9 - '@vitest/ui': 2.1.9 + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/debug': + optional: true '@types/node': optional: true '@vitest/browser': @@ -8068,16 +8586,15 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + vue-eslint-parser@10.2.0: resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} - w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -8120,26 +8637,14 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} - whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - whatwg-url@12.0.1: - resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} - engines: {node: '>=14'} - whatwg-url@14.2.0: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} @@ -8239,8 +8744,8 @@ packages: utf-8-validate: optional: true - ws@8.18.1: - resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -8273,6 +8778,9 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml-eslint-parser@1.3.0: resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} engines: {node: ^14.17.0 || >=16.0.0} @@ -8328,170 +8836,519 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod@3.24.2: - resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + + zod@4.1.5: + resolution: {integrity: sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@adobe/css-tools@4.4.2': {} + '@adobe/css-tools@4.4.4': {} '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + + '@antfu/eslint-config@5.2.1(@eslint-react/eslint-plugin@1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.33.0(jiti@2.5.1)))(eslint-plugin-react-hooks@5.2.0(eslint@9.33.0(jiti@2.5.1)))(eslint-plugin-react-refresh@0.4.20(eslint@9.33.0(jiti@2.5.1)))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)(vitest@3.2.4)': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@clack/prompts': 0.11.0 + '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.33.0(jiti@2.5.1)) + '@eslint/markdown': 7.2.0 + '@stylistic/eslint-plugin': 5.2.3(eslint@9.33.0(jiti@2.5.1)) + '@typescript-eslint/eslint-plugin': 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@vitest/eslint-plugin': 1.3.4(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)(vitest@3.2.4) + ansis: 4.1.0 + cac: 6.7.14 + eslint: 9.33.0(jiti@2.5.1) + eslint-config-flat-gitignore: 2.1.0(eslint@9.33.0(jiti@2.5.1)) + eslint-flat-config-utils: 2.1.1 + eslint-merge-processors: 2.0.0(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-antfu: 3.1.1(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-command: 3.3.1(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-import-lite: 0.3.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-jsdoc: 52.0.4(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-jsonc: 2.20.1(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-n: 17.21.3(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 4.15.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-pnpm: 1.1.1(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-regexp: 2.10.0(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-toml: 0.12.0(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-unicorn: 60.0.0(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-unused-imports: 4.2.0(@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-vue: 10.4.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))) + eslint-plugin-yml: 1.18.0(eslint@9.33.0(jiti@2.5.1)) + eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.33.0(jiti@2.5.1)) + globals: 16.3.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 1.1.2 + parse-gitignore: 2.0.0 + toml-eslint-parser: 0.10.0 + vue-eslint-parser: 10.2.0(eslint@9.33.0(jiti@2.5.1)) + yaml-eslint-parser: 1.3.0 + optionalDependencies: + '@eslint-react/eslint-plugin': 1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + eslint-plugin-format: 1.0.1(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-react-hooks: 5.2.0(eslint@9.33.0(jiti@2.5.1)) + eslint-plugin-react-refresh: 0.4.20(eslint@9.33.0(jiti@2.5.1)) + transitivePeerDependencies: + - '@eslint/json' + - '@vue/compiler-sfc' + - supports-color + - typescript + - vitest + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 + + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 + + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-locate-window': 3.873.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.862.0 + tslib: 2.8.1 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.8.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-sdk/client-ses@3.879.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/credential-provider-node': 3.879.0 + '@aws-sdk/middleware-host-header': 3.873.0 + '@aws-sdk/middleware-logger': 3.876.0 + '@aws-sdk/middleware-recursion-detection': 3.873.0 + '@aws-sdk/middleware-user-agent': 3.879.0 + '@aws-sdk/region-config-resolver': 3.873.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.879.0 + '@aws-sdk/util-user-agent-browser': 3.873.0 + '@aws-sdk/util-user-agent-node': 3.879.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.9.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/hash-node': 4.0.5 + '@smithy/invalid-dependency': 4.0.5 + '@smithy/middleware-content-length': 4.0.5 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-retry': 4.1.20 + '@smithy/middleware-serde': 4.0.9 + '@smithy/middleware-stack': 4.0.5 + '@smithy/node-config-provider': 4.1.4 + '@smithy/node-http-handler': 4.1.1 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.27 + '@smithy/util-defaults-mode-node': 4.0.27 + '@smithy/util-endpoints': 3.0.7 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 + '@smithy/util-utf8': 4.0.0 + '@smithy/util-waiter': 4.0.7 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.879.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/middleware-host-header': 3.873.0 + '@aws-sdk/middleware-logger': 3.876.0 + '@aws-sdk/middleware-recursion-detection': 3.873.0 + '@aws-sdk/middleware-user-agent': 3.879.0 + '@aws-sdk/region-config-resolver': 3.873.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.879.0 + '@aws-sdk/util-user-agent-browser': 3.873.0 + '@aws-sdk/util-user-agent-node': 3.879.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.9.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/hash-node': 4.0.5 + '@smithy/invalid-dependency': 4.0.5 + '@smithy/middleware-content-length': 4.0.5 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-retry': 4.1.20 + '@smithy/middleware-serde': 4.0.9 + '@smithy/middleware-stack': 4.0.5 + '@smithy/node-config-provider': 4.1.4 + '@smithy/node-http-handler': 4.1.1 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.27 + '@smithy/util-defaults-mode-node': 4.0.27 + '@smithy/util-endpoints': 3.0.7 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.879.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@aws-sdk/xml-builder': 3.873.0 + '@smithy/core': 3.9.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/property-provider': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/signature-v4': 5.1.3 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-utf8': 4.0.0 + fast-xml-parser: 5.2.5 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/node-http-handler': 4.1.1 + '@smithy/property-provider': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + '@smithy/util-stream': 4.2.4 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/credential-provider-env': 3.879.0 + '@aws-sdk/credential-provider-http': 3.879.0 + '@aws-sdk/credential-provider-process': 3.879.0 + '@aws-sdk/credential-provider-sso': 3.879.0 + '@aws-sdk/credential-provider-web-identity': 3.879.0 + '@aws-sdk/nested-clients': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/credential-provider-imds': 4.0.7 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-node@3.879.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.879.0 + '@aws-sdk/credential-provider-http': 3.879.0 + '@aws-sdk/credential-provider-ini': 3.879.0 + '@aws-sdk/credential-provider-process': 3.879.0 + '@aws-sdk/credential-provider-sso': 3.879.0 + '@aws-sdk/credential-provider-web-identity': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/credential-provider-imds': 4.0.7 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-process@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-sso@3.879.0': + dependencies: + '@aws-sdk/client-sso': 3.879.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/token-providers': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/nested-clients': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/middleware-host-header@3.873.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-logger@3.876.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-recursion-detection@3.873.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/middleware-user-agent@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.879.0 + '@smithy/core': 3.9.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/nested-clients@3.879.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.879.0 + '@aws-sdk/middleware-host-header': 3.873.0 + '@aws-sdk/middleware-logger': 3.876.0 + '@aws-sdk/middleware-recursion-detection': 3.873.0 + '@aws-sdk/middleware-user-agent': 3.879.0 + '@aws-sdk/region-config-resolver': 3.873.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.879.0 + '@aws-sdk/util-user-agent-browser': 3.873.0 + '@aws-sdk/util-user-agent-node': 3.879.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.9.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/hash-node': 4.0.5 + '@smithy/invalid-dependency': 4.0.5 + '@smithy/middleware-content-length': 4.0.5 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-retry': 4.1.20 + '@smithy/middleware-serde': 4.0.9 + '@smithy/middleware-stack': 4.0.5 + '@smithy/node-config-provider': 4.1.4 + '@smithy/node-http-handler': 4.1.1 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.27 + '@smithy/util-defaults-mode-node': 4.0.27 + '@smithy/util-endpoints': 3.0.7 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/region-config-resolver@3.873.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.5 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.879.0': + dependencies: + '@aws-sdk/core': 3.879.0 + '@aws-sdk/nested-clients': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/types@3.862.0': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.879.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-endpoints': 3.0.7 + tslib: 2.8.1 + + '@aws-sdk/util-locate-window@3.873.0': + dependencies: + tslib: 2.8.1 - '@antfu/eslint-config@5.2.0(@eslint-react/eslint-plugin@1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.33.0(jiti@2.4.2)))(eslint-plugin-react-hooks@5.2.0(eslint@9.33.0(jiti@2.4.2)))(eslint-plugin-react-refresh@0.4.19(eslint@9.33.0(jiti@2.4.2)))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)(vitest@2.1.9)': + '@aws-sdk/util-user-agent-browser@3.873.0': dependencies: - '@antfu/install-pkg': 1.1.0 - '@clack/prompts': 0.11.0 - '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.33.0(jiti@2.4.2)) - '@eslint/markdown': 7.1.0 - '@stylistic/eslint-plugin': 5.2.3(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/parser': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@vitest/eslint-plugin': 1.3.4(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)(vitest@2.1.9) - ansis: 4.1.0 - cac: 6.7.14 - eslint: 9.33.0(jiti@2.4.2) - eslint-config-flat-gitignore: 2.1.0(eslint@9.33.0(jiti@2.4.2)) - eslint-flat-config-utils: 2.1.1 - eslint-merge-processors: 2.0.0(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-antfu: 3.1.1(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-command: 3.3.1(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-import-lite: 0.3.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-jsdoc: 52.0.4(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-jsonc: 2.20.1(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-n: 17.21.3(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.15.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-pnpm: 1.1.0(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-regexp: 2.10.0(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-toml: 0.12.0(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-unicorn: 60.0.0(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-vue: 10.4.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.4.2))) - eslint-plugin-yml: 1.18.0(eslint@9.33.0(jiti@2.4.2)) - eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.33.0(jiti@2.4.2)) - globals: 16.3.0 - jsonc-eslint-parser: 2.4.0 - local-pkg: 1.1.1 - parse-gitignore: 2.0.0 - toml-eslint-parser: 0.10.0 - vue-eslint-parser: 10.2.0(eslint@9.33.0(jiti@2.4.2)) - yaml-eslint-parser: 1.3.0 - optionalDependencies: - '@eslint-react/eslint-plugin': 1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3) - eslint-plugin-format: 1.0.1(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.33.0(jiti@2.4.2)) - eslint-plugin-react-refresh: 0.4.19(eslint@9.33.0(jiti@2.4.2)) - transitivePeerDependencies: - - '@eslint/json' - - '@vue/compiler-sfc' - - supports-color - - typescript - - vitest + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 + bowser: 2.12.1 + tslib: 2.8.1 - '@antfu/install-pkg@1.1.0': + '@aws-sdk/util-user-agent-node@3.879.0': dependencies: - package-manager-detector: 1.3.0 - tinyexec: 1.0.1 + '@aws-sdk/middleware-user-agent': 3.879.0 + '@aws-sdk/types': 3.862.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 + tslib: 2.8.1 - '@asamuzakjp/css-color@3.2.0': + '@aws-sdk/xml-builder@3.873.0': dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - lru-cache: 10.4.3 + '@smithy/types': 4.3.2 + tslib: 2.8.1 '@babel/code-frame@7.24.2': dependencies: '@babel/highlight': 7.25.9 picocolors: 1.1.1 - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.8': {} + '@babel/compat-data@7.28.0': {} - '@babel/core@7.26.10': + '@babel/core@7.28.3': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.27.0 - '@babel/helper-compilation-targets': 7.27.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) - '@babel/helpers': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@babel/helpers': 7.28.3 + '@babel/parser': 7.28.3 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.27.0': + '@babel/generator@7.28.3': dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.27.0': + '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.26.8 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 + '@babel/compat-data': 7.28.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.4 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-module-imports@7.25.9': + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.27.0 + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-module-imports': 7.25.9 + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.0 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.26.5': {} - - '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-plugin-utils@7.27.1': {} '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.27.1': {} - '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-option@7.27.1': {} - '@babel/helpers@7.27.0': + '@babel/helpers@7.28.3': dependencies: - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 '@babel/highlight@7.25.9': dependencies: @@ -8500,57 +9357,40 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/parser@7.27.0': - dependencies: - '@babel/types': 7.27.0 - - '@babel/parser@7.28.0': - dependencies: - '@babel/types': 7.28.2 - '@babel/parser@7.28.3': dependencies: '@babel/types': 7.28.2 - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.10)': - dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/runtime@7.27.0': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.3)': dependencies: - regenerator-runtime: 0.14.1 + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.27.1 '@babel/runtime@7.28.3': {} - '@babel/template@7.27.0': + '@babel/template@7.27.2': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 - '@babel/traverse@7.27.0': + '@babel/traverse@7.28.3': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 - debug: 4.4.1 - globals: 11.12.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.3 + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color - '@babel/types@7.27.0': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/types@7.28.2': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -8591,13 +9431,13 @@ snapshots: '@biomejs/cli-win32-x64@2.0.0-beta.1': optional: true - '@bufbuild/protobuf@2.2.5': {} + '@bufbuild/protobuf@2.7.0': {} - '@changesets/apply-release-plan@7.0.10': + '@changesets/apply-release-plan@7.0.12': dependencies: '@changesets/config': 3.1.1 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.2 + '@changesets/git': 3.0.4 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 @@ -8607,51 +9447,53 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.7.1 + semver: 7.7.2 - '@changesets/assemble-release-plan@6.0.6': + '@changesets/assemble-release-plan@6.0.9': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 - semver: 7.7.1 + semver: 7.7.2 '@changesets/changelog-git@0.2.1': dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.28.1': + '@changesets/cli@2.29.6(@types/node@22.18.0)': dependencies: - '@changesets/apply-release-plan': 7.0.10 - '@changesets/assemble-release-plan': 6.0.6 + '@changesets/apply-release-plan': 7.0.12 + '@changesets/assemble-release-plan': 6.0.9 '@changesets/changelog-git': 0.2.1 '@changesets/config': 3.1.1 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.8 - '@changesets/git': 3.0.2 + '@changesets/get-release-plan': 4.0.13 + '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.3 + '@changesets/read': 0.6.5 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.1(@types/node@22.18.0) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 enquirer: 2.4.1 - external-editor: 3.1.0 fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 package-manager-detector: 0.2.11 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.7.1 + semver: 7.7.2 spawndamnit: 3.0.1 term-size: 2.2.1 + transitivePeerDependencies: + - '@types/node' '@changesets/config@3.1.1': dependencies: @@ -8672,20 +9514,20 @@ snapshots: '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.7.1 + semver: 7.7.2 - '@changesets/get-release-plan@4.0.8': + '@changesets/get-release-plan@4.0.13': dependencies: - '@changesets/assemble-release-plan': 6.0.6 + '@changesets/assemble-release-plan': 6.0.9 '@changesets/config': 3.1.1 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.3 + '@changesets/read': 0.6.5 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.2': + '@changesets/git@3.0.4': dependencies: '@changesets/errors': 0.2.0 '@manypkg/get-packages': 1.1.3 @@ -8709,9 +9551,9 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.3': + '@changesets/read@0.6.5': dependencies: - '@changesets/git': 3.0.2 + '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.1 '@changesets/types': 6.1.0 @@ -8735,13 +9577,13 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@chromatic-com/storybook@3.2.6(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@chromatic-com/storybook@3.2.6(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - chromatic: 11.28.0 + chromatic: 11.29.0 filesize: 10.1.6 - jsonfile: 6.1.0 - react-confetti: 6.4.0(react@19.1.0) - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + jsonfile: 6.2.0 + react-confetti: 6.4.0(react@19.1.1) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) strip-ansi: 7.1.0 transitivePeerDependencies: - '@chromatic-com/cypress' @@ -8763,261 +9605,274 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - - '@csstools/color-helpers@5.0.2': {} + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 '@csstools/color-helpers@5.1.0': {} - '@csstools/css-calc@2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-color-parser@3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/color-helpers': 5.0.2 - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-tokenizer@3.0.4': {} - '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-tokenizer@3.0.3': {} - - '@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/postcss-alpha-function@1.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-cascade-layers@5.0.1(postcss@8.5.3)': + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - '@csstools/postcss-color-function@4.0.8(postcss@8.5.3)': + '@csstools/postcss-color-function-display-p3-linear@1.0.0(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-color-function@4.0.11(postcss@8.5.6)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 + + '@csstools/postcss-color-mix-function@3.0.11(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-color-mix-function@3.0.8(postcss@8.5.3)': + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.1(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-content-alt-text@2.0.4(postcss@8.5.3)': + '@csstools/postcss-content-alt-text@2.0.7(postcss@8.5.6)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-exponential-functions@2.0.7(postcss@8.5.3)': + '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.3)': + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-gamut-mapping@2.0.8(postcss@8.5.3)': + '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 - '@csstools/postcss-gradients-interpolation-method@5.0.8(postcss@8.5.3)': + '@csstools/postcss-gradients-interpolation-method@5.0.11(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-hwb-function@4.0.8(postcss@8.5.3)': + '@csstools/postcss-hwb-function@4.0.11(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-ic-unit@4.0.0(postcss@8.5.3)': + '@csstools/postcss-ic-unit@4.0.3(postcss@8.5.6)': dependencies: - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-initial@2.0.1(postcss@8.5.3)': + '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - '@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.5.3)': + '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - '@csstools/postcss-light-dark-function@2.0.7(postcss@8.5.3)': + '@csstools/postcss-light-dark-function@2.0.10(postcss@8.5.6)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.3)': + '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.5.3)': + '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': dependencies: - '@csstools/css-tokenizer': 3.0.3 - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-media-minmax@2.0.7(postcss@8.5.3)': + '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - postcss: 8.5.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.5.3)': + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - postcss: 8.5.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.3)': + '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.3)': + '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@4.0.8(postcss@8.5.3)': + '@csstools/postcss-oklab-function@4.0.11(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.5.3)': + '@csstools/postcss-progressive-custom-properties@4.2.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-random-function@1.0.3(postcss@8.5.3)': + '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 - '@csstools/postcss-relative-color-syntax@3.0.8(postcss@8.5.3)': + '@csstools/postcss-relative-color-syntax@3.0.11(postcss@8.5.6)': dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.3)': + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - '@csstools/postcss-sign-functions@1.1.2(postcss@8.5.3)': + '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 - '@csstools/postcss-stepped-value-functions@4.0.7(postcss@8.5.3)': + '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 - '@csstools/postcss-text-decoration-shorthand@4.0.2(postcss@8.5.3)': + '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)': dependencies: - '@csstools/color-helpers': 5.0.2 - postcss: 8.5.3 + '@csstools/color-helpers': 5.1.0 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - '@csstools/postcss-trigonometric-functions@4.0.7(postcss@8.5.3)': + '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.3)': + '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - '@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.1.0)': + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)': dependencies: postcss-selector-parser: 7.1.0 @@ -9025,9 +9880,9 @@ snapshots: dependencies: postcss-selector-parser: 7.1.0 - '@csstools/utilities@2.0.0(postcss@8.5.3)': + '@csstools/utilities@2.0.0(postcss@8.5.6)': dependencies: - postcss: 8.5.3 + postcss: 8.5.6 '@dprint/formatter@0.3.0': {} @@ -9040,7 +9895,7 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/types': 8.41.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -9048,7 +9903,7 @@ snapshots: '@es-joy/jsdoccomment@0.52.0': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/types': 8.41.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -9056,285 +9911,341 @@ snapshots: '@esbuild/aix-ppc64@0.19.12': optional: true - '@esbuild/aix-ppc64@0.25.2': + '@esbuild/aix-ppc64@0.25.8': + optional: true + + '@esbuild/aix-ppc64@0.25.9': optional: true '@esbuild/android-arm64@0.19.12': optional: true - '@esbuild/android-arm64@0.25.2': + '@esbuild/android-arm64@0.25.8': + optional: true + + '@esbuild/android-arm64@0.25.9': optional: true '@esbuild/android-arm@0.19.12': optional: true - '@esbuild/android-arm@0.25.2': + '@esbuild/android-arm@0.25.8': + optional: true + + '@esbuild/android-arm@0.25.9': optional: true '@esbuild/android-x64@0.19.12': optional: true - '@esbuild/android-x64@0.25.2': + '@esbuild/android-x64@0.25.8': + optional: true + + '@esbuild/android-x64@0.25.9': optional: true '@esbuild/darwin-arm64@0.19.12': optional: true - '@esbuild/darwin-arm64@0.25.2': + '@esbuild/darwin-arm64@0.25.8': + optional: true + + '@esbuild/darwin-arm64@0.25.9': optional: true '@esbuild/darwin-x64@0.19.12': optional: true - '@esbuild/darwin-x64@0.25.2': + '@esbuild/darwin-x64@0.25.8': + optional: true + + '@esbuild/darwin-x64@0.25.9': optional: true '@esbuild/freebsd-arm64@0.19.12': optional: true - '@esbuild/freebsd-arm64@0.25.2': + '@esbuild/freebsd-arm64@0.25.8': + optional: true + + '@esbuild/freebsd-arm64@0.25.9': optional: true '@esbuild/freebsd-x64@0.19.12': optional: true - '@esbuild/freebsd-x64@0.25.2': + '@esbuild/freebsd-x64@0.25.8': + optional: true + + '@esbuild/freebsd-x64@0.25.9': optional: true '@esbuild/linux-arm64@0.19.12': optional: true - '@esbuild/linux-arm64@0.25.2': + '@esbuild/linux-arm64@0.25.8': + optional: true + + '@esbuild/linux-arm64@0.25.9': optional: true '@esbuild/linux-arm@0.19.12': optional: true - '@esbuild/linux-arm@0.25.2': + '@esbuild/linux-arm@0.25.8': + optional: true + + '@esbuild/linux-arm@0.25.9': optional: true '@esbuild/linux-ia32@0.19.12': optional: true - '@esbuild/linux-ia32@0.25.2': + '@esbuild/linux-ia32@0.25.8': + optional: true + + '@esbuild/linux-ia32@0.25.9': optional: true '@esbuild/linux-loong64@0.19.12': optional: true - '@esbuild/linux-loong64@0.25.2': + '@esbuild/linux-loong64@0.25.8': + optional: true + + '@esbuild/linux-loong64@0.25.9': optional: true '@esbuild/linux-mips64el@0.19.12': optional: true - '@esbuild/linux-mips64el@0.25.2': + '@esbuild/linux-mips64el@0.25.8': + optional: true + + '@esbuild/linux-mips64el@0.25.9': optional: true '@esbuild/linux-ppc64@0.19.12': optional: true - '@esbuild/linux-ppc64@0.25.2': + '@esbuild/linux-ppc64@0.25.8': + optional: true + + '@esbuild/linux-ppc64@0.25.9': optional: true '@esbuild/linux-riscv64@0.19.12': optional: true - '@esbuild/linux-riscv64@0.25.2': + '@esbuild/linux-riscv64@0.25.8': + optional: true + + '@esbuild/linux-riscv64@0.25.9': optional: true '@esbuild/linux-s390x@0.19.12': optional: true - '@esbuild/linux-s390x@0.25.2': + '@esbuild/linux-s390x@0.25.8': + optional: true + + '@esbuild/linux-s390x@0.25.9': optional: true '@esbuild/linux-x64@0.19.12': optional: true - '@esbuild/linux-x64@0.25.2': + '@esbuild/linux-x64@0.25.8': + optional: true + + '@esbuild/linux-x64@0.25.9': optional: true - '@esbuild/netbsd-arm64@0.25.2': + '@esbuild/netbsd-arm64@0.25.8': + optional: true + + '@esbuild/netbsd-arm64@0.25.9': optional: true '@esbuild/netbsd-x64@0.19.12': optional: true - '@esbuild/netbsd-x64@0.25.2': + '@esbuild/netbsd-x64@0.25.8': + optional: true + + '@esbuild/netbsd-x64@0.25.9': optional: true - '@esbuild/openbsd-arm64@0.25.2': + '@esbuild/openbsd-arm64@0.25.8': + optional: true + + '@esbuild/openbsd-arm64@0.25.9': optional: true '@esbuild/openbsd-x64@0.19.12': optional: true - '@esbuild/openbsd-x64@0.25.2': + '@esbuild/openbsd-x64@0.25.8': + optional: true + + '@esbuild/openbsd-x64@0.25.9': + optional: true + + '@esbuild/openharmony-arm64@0.25.8': + optional: true + + '@esbuild/openharmony-arm64@0.25.9': optional: true '@esbuild/sunos-x64@0.19.12': optional: true - '@esbuild/sunos-x64@0.25.2': + '@esbuild/sunos-x64@0.25.8': + optional: true + + '@esbuild/sunos-x64@0.25.9': optional: true '@esbuild/win32-arm64@0.19.12': optional: true - '@esbuild/win32-arm64@0.25.2': + '@esbuild/win32-arm64@0.25.8': + optional: true + + '@esbuild/win32-arm64@0.25.9': optional: true '@esbuild/win32-ia32@0.19.12': optional: true - '@esbuild/win32-ia32@0.25.2': + '@esbuild/win32-ia32@0.25.8': + optional: true + + '@esbuild/win32-ia32@0.25.9': optional: true '@esbuild/win32-x64@0.19.12': optional: true - '@esbuild/win32-x64@0.25.2': + '@esbuild/win32-x64@0.25.8': + optional: true + + '@esbuild/win32-x64@0.25.9': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.33.0(jiti@2.4.2))': + '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.33.0(jiti@2.5.1))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.5.1(eslint@9.33.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.5.1))': dependencies: - eslint: 9.33.0(jiti@2.4.2) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.4.2))': - dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint-react/ast@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@eslint-react/ast@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/eff': 1.42.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.7.3) - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + '@eslint-react/eff': 1.52.8 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/core@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + '@eslint-react/core@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) birecord: 0.1.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/eff@1.42.1': {} - - '@eslint-react/eslint-plugin@1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3)': - dependencies: - '@eslint-react/eff': 1.42.1 - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) - eslint-plugin-react-debug: 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-react-dom: 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-react-hooks-extra: 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-react-naming-convention: 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-react-web-api: 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-react-x: 1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3) + '@eslint-react/eff@1.52.8': {} + + '@eslint-react/eslint-plugin@1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2)': + dependencies: + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) + eslint-plugin-react-debug: 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-dom: 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-hooks-extra: 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-naming-convention: 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-web-api: 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-x: 1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - ts-api-utils - '@eslint-react/jsx@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - ts-pattern: 5.7.0 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/kit@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@eslint-react/kit@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/eff': 1.42.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - ts-pattern: 5.7.0 - valibot: 1.0.0(typescript@5.7.3) + '@eslint-react/eff': 1.52.8 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + ts-pattern: 5.8.0 + zod: 4.1.5 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/shared@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@eslint-react/shared@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/eff': 1.42.1 - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - picomatch: 4.0.2 - ts-pattern: 5.7.0 - valibot: 1.0.0(typescript@5.7.3) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + ts-pattern: 5.8.0 + zod: 4.1.5 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/var@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@eslint-react/var@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint/compat@1.2.8(eslint@9.33.0(jiti@2.4.2))': - optionalDependencies: - eslint: 9.33.0(jiti@2.4.2) - - '@eslint/compat@1.3.2(eslint@9.33.0(jiti@2.4.2))': + '@eslint/compat@1.3.2(eslint@9.33.0(jiti@2.5.1))': optionalDependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) '@eslint/config-array@0.21.0': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -9348,8 +10259,8 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.0(supports-color@5.5.0) - espree: 10.3.0 + debug: 4.4.1(supports-color@5.5.0) + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -9359,11 +10270,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.24.0': {} - '@eslint/js@9.33.0': {} - '@eslint/markdown@7.1.0': + '@eslint/js@9.34.0': {} + + '@eslint/markdown@7.2.0': dependencies: '@eslint/core': 0.15.2 '@eslint/plugin-kit': 0.3.5 @@ -9373,14 +10284,16 @@ snapshots: mdast-util-gfm: 3.1.0 micromark-extension-frontmatter: 2.0.0 micromark-extension-gfm: 3.0.0 + micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color - '@eslint/migrate-config@1.4.1(eslint@9.33.0(jiti@2.4.2))': + '@eslint/migrate-config@1.5.3(eslint@9.33.0(jiti@2.5.1))': dependencies: - '@eslint/compat': 1.2.8(eslint@9.33.0(jiti@2.4.2)) + '@eslint/compat': 1.3.2(eslint@9.33.0(jiti@2.5.1)) '@eslint/eslintrc': 3.3.1 camelcase: 8.0.0 + espree: 10.4.0 recast: 0.23.11 transitivePeerDependencies: - eslint @@ -9393,51 +10306,49 @@ snapshots: '@eslint/core': 0.15.2 levn: 0.4.1 - '@farfetched/core@0.13.1(effector@23.3.0)': + '@farfetched/core@0.13.2(effector@23.4.2)': dependencies: - effector: 23.3.0 + effector: 23.4.2 - '@figma-export/core@6.2.0': + '@figma-export/core@6.2.2': dependencies: - '@figma-export/types': 6.2.0 - '@figma/rest-api-spec': 0.24.0 + '@figma-export/types': 6.2.2 + '@figma/rest-api-spec': 0.31.0 p-limit: 6.2.0 p-retry: 6.2.1 - undici: 6.21.2 + undici: 6.21.3 - '@figma-export/types@6.2.0': + '@figma-export/types@6.2.2': dependencies: - '@figma/rest-api-spec': 0.24.0 + '@figma/rest-api-spec': 0.31.0 - '@figma/rest-api-spec@0.24.0': {} + '@figma/rest-api-spec@0.31.0': {} '@floating-ui/core@1.7.3': dependencies: '@floating-ui/utils': 0.2.10 - '@floating-ui/dom@1.7.3': + '@floating-ui/dom@1.7.4': dependencies: '@floating-ui/core': 1.7.3 '@floating-ui/utils': 0.2.10 - '@floating-ui/react-dom@2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react-dom@2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@floating-ui/dom': 1.7.3 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@floating-ui/dom': 1.7.4 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) - '@floating-ui/react@0.27.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react@0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@floating-ui/react-dom': 2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@floating-ui/utils': 0.2.9 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@floating-ui/react-dom': 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@floating-ui/utils': 0.2.10 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) tabbable: 6.2.0 '@floating-ui/utils@0.2.10': {} - '@floating-ui/utils@0.2.9': {} - '@gemini-testing/commander@2.15.4': {} '@gemini-testing/sql.js@2.0.0': {} @@ -9453,7 +10364,20 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.2': {} + '@humanwhocodes/retry@0.4.3': {} + + '@inquirer/external-editor@1.0.1(@types/node@22.18.0)': + dependencies: + chardet: 2.1.0 + iconv-lite: 0.6.3 + optionalDependencies: + '@types/node': 22.18.0 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 '@isaacs/cliui@8.0.2': dependencies: @@ -9472,99 +10396,178 @@ snapshots: dependencies: '@sinclair/typebox': 0.24.51 - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - '@jest/types@28.1.3': dependencies: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.14.0 + '@types/node': 22.18.0 '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.7.3)(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1))': dependencies: glob: 10.4.5 magic-string: 0.27.0 - react-docgen-typescript: 2.2.2(typescript@5.7.3) - vite: 6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1) + react-docgen-typescript: 2.4.0(typescript@5.9.2) + vite: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.30 - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.30': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jspm/core@2.0.1': {} - '@keyv/serialize@1.0.3': - dependencies: - buffer: 6.0.3 + '@jsquash/png@3.1.1': {} + + '@keyv/serialize@1.1.0': {} '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 - '@manypkg/get-packages@1.1.3': - dependencies: - '@babel/runtime': 7.27.0 - '@changesets/types': 4.1.0 - '@manypkg/find-root': 1.1.0 - fs-extra: 8.1.0 - globby: 11.1.0 - read-yaml-file: 1.1.0 + '@manypkg/get-packages@1.1.3': + dependencies: + '@babel/runtime': 7.28.3 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + + '@mdx-js/react@3.1.1(@types/react@19.0.12)(react@19.1.1)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.0.12 + react: 19.1.1 + + '@microsoft/api-extractor-model@7.30.7(@types/node@22.18.0)': + dependencies: + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.14.0(@types/node@22.18.0) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.52.11(@types/node@22.18.0)': + dependencies: + '@microsoft/api-extractor-model': 7.30.7(@types/node@22.18.0) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.14.0(@types/node@22.18.0) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.15.4(@types/node@22.18.0) + '@rushstack/ts-command-line': 5.0.2(@types/node@22.18.0) + lodash: 4.17.21 + minimatch: 10.0.3 + resolve: 1.22.10 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.17.1': + dependencies: + '@microsoft/tsdoc': 0.15.1 + ajv: 8.12.0 + jju: 1.4.0 + resolve: 1.22.10 + + '@microsoft/tsdoc@0.15.1': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true - '@mdx-js/react@3.1.0(@types/react@19.0.12)(react@19.1.0)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.0.12 - react: 19.1.0 + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true - '@nodelib/fs.stat@2.0.5': {} + '@parcel/watcher-win32-arm64@2.5.1': + optional: true - '@nodelib/fs.walk@1.2.8': + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true '@pkgjs/parseargs@0.11.0': optional: true @@ -9579,7 +10582,7 @@ snapshots: dependencies: spacetrim: 0.11.59 - '@puppeteer/browsers@1.4.6(typescript@5.7.3)': + '@puppeteer/browsers@1.4.6(typescript@5.9.2)': dependencies: debug: 4.3.4(supports-color@8.1.1) extract-zip: 2.0.1 @@ -9589,13 +10592,13 @@ snapshots: unbzip2-stream: 1.4.3 yargs: 17.7.1 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@puppeteer/browsers@2.10.6': + '@puppeteer/browsers@2.10.8': dependencies: - debug: 4.4.1 + debug: 4.4.1(supports-color@5.5.0) extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 @@ -9608,96 +10611,83 @@ snapshots: '@puppeteer/browsers@2.7.1': dependencies: - debug: 4.4.0(supports-color@5.5.0) - extract-zip: 2.0.1 - progress: 2.0.3 - proxy-agent: 6.5.0 - semver: 7.7.1 - tar-fs: 3.0.8 - yargs: 17.7.2 - transitivePeerDependencies: - - bare-buffer - - supports-color - - '@puppeteer/browsers@2.9.0': - dependencies: - debug: 4.4.1 + debug: 4.4.1(supports-color@5.5.0) extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 semver: 7.7.2 - tar-fs: 3.0.8 + tar-fs: 3.1.0 yargs: 17.7.2 transitivePeerDependencies: - bare-buffer - supports-color - '@rollup/pluginutils@5.1.4(rollup@4.39.0)': + '@rollup/pluginutils@5.2.0(rollup@4.49.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.39.0 + rollup: 4.49.0 - '@rollup/rollup-android-arm-eabi@4.39.0': + '@rollup/rollup-android-arm-eabi@4.49.0': optional: true - '@rollup/rollup-android-arm64@4.39.0': + '@rollup/rollup-android-arm64@4.49.0': optional: true - '@rollup/rollup-darwin-arm64@4.39.0': + '@rollup/rollup-darwin-arm64@4.49.0': optional: true - '@rollup/rollup-darwin-x64@4.39.0': + '@rollup/rollup-darwin-x64@4.49.0': optional: true - '@rollup/rollup-freebsd-arm64@4.39.0': + '@rollup/rollup-freebsd-arm64@4.49.0': optional: true - '@rollup/rollup-freebsd-x64@4.39.0': + '@rollup/rollup-freebsd-x64@4.49.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.39.0': + '@rollup/rollup-linux-arm-gnueabihf@4.49.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.39.0': + '@rollup/rollup-linux-arm-musleabihf@4.49.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.39.0': + '@rollup/rollup-linux-arm64-gnu@4.49.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.39.0': + '@rollup/rollup-linux-arm64-musl@4.49.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.39.0': + '@rollup/rollup-linux-loongarch64-gnu@4.49.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': + '@rollup/rollup-linux-ppc64-gnu@4.49.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.39.0': + '@rollup/rollup-linux-riscv64-gnu@4.49.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.39.0': + '@rollup/rollup-linux-riscv64-musl@4.49.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.39.0': + '@rollup/rollup-linux-s390x-gnu@4.49.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.39.0': + '@rollup/rollup-linux-x64-gnu@4.49.0': optional: true - '@rollup/rollup-linux-x64-musl@4.39.0': + '@rollup/rollup-linux-x64-musl@4.49.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.39.0': + '@rollup/rollup-win32-arm64-msvc@4.49.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.39.0': + '@rollup/rollup-win32-ia32-msvc@4.49.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.39.0': + '@rollup/rollup-win32-x64-msvc@4.49.0': optional: true '@rrweb/record@2.0.0-alpha.18': @@ -9709,148 +10699,468 @@ snapshots: '@rrweb/utils@2.0.0-alpha.18': {} + '@rushstack/node-core-library@5.14.0(@types/node@22.18.0)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) + fs-extra: 11.3.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.10 + semver: 7.5.4 + optionalDependencies: + '@types/node': 22.18.0 + + '@rushstack/rig-package@0.5.3': + dependencies: + resolve: 1.22.10 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.15.4(@types/node@22.18.0)': + dependencies: + '@rushstack/node-core-library': 5.14.0(@types/node@22.18.0) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 22.18.0 + + '@rushstack/ts-command-line@5.0.2(@types/node@22.18.0)': + dependencies: + '@rushstack/terminal': 0.15.4(@types/node@22.18.0) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@sinclair/typebox@0.24.51': {} - '@sinclair/typebox@0.27.8': {} + '@sindresorhus/is@5.6.0': {} + + '@smithy/abort-controller@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/config-resolver@4.1.5': + dependencies: + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.5 + tslib: 2.8.1 + + '@smithy/core@3.9.0': + dependencies: + '@smithy/middleware-serde': 4.0.9 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-stream': 4.2.4 + '@smithy/util-utf8': 4.0.0 + '@types/uuid': 9.0.8 + tslib: 2.8.1 + uuid: 9.0.1 + + '@smithy/credential-provider-imds@4.0.7': + dependencies: + '@smithy/node-config-provider': 4.1.4 + '@smithy/property-provider': 4.0.5 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@5.1.1': + dependencies: + '@smithy/protocol-http': 5.1.3 + '@smithy/querystring-builder': 4.0.5 + '@smithy/types': 4.3.2 + '@smithy/util-base64': 4.0.0 + tslib: 2.8.1 + + '@smithy/hash-node@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/invalid-dependency@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/is-array-buffer@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/middleware-content-length@4.0.5': + dependencies: + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/middleware-endpoint@4.1.19': + dependencies: + '@smithy/core': 3.9.0 + '@smithy/middleware-serde': 4.0.9 + '@smithy/node-config-provider': 4.1.4 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-middleware': 4.0.5 + tslib: 2.8.1 + + '@smithy/middleware-retry@4.1.20': + dependencies: + '@smithy/node-config-provider': 4.1.4 + '@smithy/protocol-http': 5.1.3 + '@smithy/service-error-classification': 4.0.7 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 + '@types/uuid': 9.0.8 + tslib: 2.8.1 + uuid: 9.0.1 + + '@smithy/middleware-serde@4.0.9': + dependencies: + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/middleware-stack@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/node-config-provider@4.1.4': + dependencies: + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/node-http-handler@4.1.1': + dependencies: + '@smithy/abort-controller': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/querystring-builder': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/property-provider@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/protocol-http@5.1.3': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/querystring-builder@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + '@smithy/util-uri-escape': 4.0.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/service-error-classification@4.0.7': + dependencies: + '@smithy/types': 4.3.2 + + '@smithy/shared-ini-file-loader@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/signature-v4@5.1.3': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-uri-escape': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/smithy-client@4.5.0': + dependencies: + '@smithy/core': 3.9.0 + '@smithy/middleware-endpoint': 4.1.19 + '@smithy/middleware-stack': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + '@smithy/util-stream': 4.2.4 + tslib: 2.8.1 + + '@smithy/types@4.3.2': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@4.0.5': + dependencies: + '@smithy/querystring-parser': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/util-base64@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-body-length-browser@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-body-length-node@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@4.0.0': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@4.0.27': + dependencies: + '@smithy/property-provider': 4.0.5 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + bowser: 2.12.1 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@4.0.27': + dependencies: + '@smithy/config-resolver': 4.1.5 + '@smithy/credential-provider-imds': 4.0.7 + '@smithy/node-config-provider': 4.1.4 + '@smithy/property-provider': 4.0.5 + '@smithy/smithy-client': 4.5.0 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/util-endpoints@3.0.7': + dependencies: + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-middleware@4.0.5': + dependencies: + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/util-retry@4.0.7': + dependencies: + '@smithy/service-error-classification': 4.0.7 + '@smithy/types': 4.3.2 + tslib: 2.8.1 + + '@smithy/util-stream@4.2.4': + dependencies: + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/node-http-handler': 4.1.1 + '@smithy/types': 4.3.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-uri-escape@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-utf8@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-waiter@4.0.7': + dependencies: + '@smithy/abort-controller': 4.0.5 + '@smithy/types': 4.3.2 + tslib: 2.8.1 '@socket.io/component-emitter@3.1.2': {} - '@storybook/addon-actions@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-actions@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) uuid: 9.0.1 - '@storybook/addon-backgrounds@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-backgrounds@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-controls@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-docs@8.6.11(@types/react@19.0.12)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-docs@8.6.14(@types/react@19.0.12)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@19.0.12)(react@19.1.0) - '@storybook/blocks': 8.6.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/csf-plugin': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/react-dom-shim': 8.6.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + '@mdx-js/react': 3.1.1(@types/react@19.0.12)(react@19.1.1) + '@storybook/blocks': 8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.6.11(@types/react@19.0.12)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': - dependencies: - '@storybook/addon-actions': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-backgrounds': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-controls': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-docs': 8.6.11(@types/react@19.0.12)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-highlight': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-measure': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-outline': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-toolbars': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/addon-viewport': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + '@storybook/addon-essentials@8.6.14(@types/react@19.0.12)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': + dependencies: + '@storybook/addon-actions': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-backgrounds': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-controls': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-docs': 8.6.14(@types/react@19.0.12)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-highlight': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-measure': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-outline': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-toolbars': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/addon-viewport': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-highlight@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-highlight@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/addon-interactions@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-interactions@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/test': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + '@storybook/instrumenter': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/test': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) polished: 4.3.1 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) + ts-dedent: 2.2.0 + + '@storybook/addon-links@8.6.14(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 + optionalDependencies: + react: 19.1.1 - '@storybook/addon-measure@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-measure@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) tiny-invariant: 1.3.3 - '@storybook/addon-onboarding@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-onboarding@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/addon-outline@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-outline@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-toolbars@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-toolbars@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/addon-viewport@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/addon-viewport@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: memoizerific: 1.11.3 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/blocks@8.6.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/blocks@8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + '@storybook/icons': 1.4.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 optionalDependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) - '@storybook/builder-vite@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1))': dependencies: - '@storybook/csf-plugin': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) browser-assert: 1.2.1 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - vite: 6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1) + vite: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) - '@storybook/components@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/components@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/core@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5)': + '@storybook/core@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5)': dependencies: - '@storybook/theming': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + '@storybook/theming': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.25.2 - esbuild-register: 3.6.0(esbuild@0.25.2) - jsdoc-type-pratt-parser: 4.1.0 + esbuild: 0.25.9 + esbuild-register: 3.6.0(esbuild@0.25.9) + jsdoc-type-pratt-parser: 4.8.0 process: 0.11.10 recast: 0.23.11 - semver: 7.7.1 + semver: 7.7.2 util: 0.12.5 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - prettier: 3.5.3 + prettier: 3.6.2 transitivePeerDependencies: - bufferutil - storybook - supports-color - utf-8-validate - '@storybook/csf-plugin@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/csf-plugin@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) unplugin: 1.16.1 '@storybook/csf@0.1.13': @@ -9859,151 +11169,143 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/icons@1.4.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) - '@storybook/instrumenter@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/instrumenter@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.9 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/manager-api@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/manager-api@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/manager-api@8.6.12(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/preview-api@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/preview-api@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/react-dom-shim@8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/react-dom-shim@8.6.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/react-vite@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(rollup@4.49.0)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1))': dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) - - '@storybook/react-vite@8.6.11(@storybook/test@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.39.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(typescript@5.7.3)(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1))': - dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.7.3)(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1)) - '@rollup/pluginutils': 5.1.4(rollup@4.39.0) - '@storybook/builder-vite': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1)) - '@storybook/react': 8.6.11(@storybook/test@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(typescript@5.7.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) + '@rollup/pluginutils': 5.2.0(rollup@4.49.0) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2) find-up: 5.0.0 - magic-string: 0.30.17 - react: 19.1.0 + magic-string: 0.30.18 + react: 19.1.1 react-docgen: 7.1.1 - react-dom: 19.1.0(react@19.1.0) + react-dom: 19.1.1(react@19.1.1) resolve: 1.22.10 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) tsconfig-paths: 4.2.0 - vite: 6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1) + vite: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) optionalDependencies: - '@storybook/test': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + '@storybook/test': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react@8.6.11(@storybook/test@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(typescript@5.7.3)': + '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(typescript@5.9.2)': dependencies: - '@storybook/components': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + '@storybook/components': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/preview-api': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/react-dom-shim': 8.6.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - '@storybook/theming': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + '@storybook/manager-api': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/preview-api': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + '@storybook/theming': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) optionalDependencies: - '@storybook/test': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) - typescript: 5.7.3 + '@storybook/test': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) + typescript: 5.9.2 - '@storybook/test@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/test@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5)) + '@storybook/instrumenter': 8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) - - '@storybook/theming@8.6.11(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': - dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@storybook/theming@8.6.12(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@storybook/theming@8.6.14(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@stylistic/eslint-plugin@5.2.3(eslint@9.33.0(jiti@2.4.2))': + '@stylistic/eslint-plugin@5.2.3(eslint@9.33.0(jiti@2.5.1))': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/types': 8.39.0 - eslint: 9.33.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@typescript-eslint/types': 8.41.0 + eslint: 9.33.0(jiti@2.5.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.3 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.26.10)': + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.3 - '@svgr/babel-preset@8.1.0(@babel/core@7.26.10)': + '@svgr/babel-preset@8.1.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.26.10 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.26.10) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.26.10) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.26.10) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.26.10) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.26.10) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.26.10) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.10) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.10) + '@babel/core': 7.28.3 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.3) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.3) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.3) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.3) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.3) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.3) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.3) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.3) - '@svgr/core@8.1.0(typescript@5.7.3)': + '@svgr/core@8.1.0(typescript@5.9.2)': dependencies: - '@babel/core': 7.26.10 - '@svgr/babel-preset': 8.1.0(@babel/core@7.26.10) + '@babel/core': 7.28.3 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.3) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.7.3) + cosmiconfig: 8.3.6(typescript@5.9.2) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -10011,23 +11313,36 @@ snapshots: '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.28.2 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.7.3))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.2))': dependencies: - '@babel/core': 7.26.10 - '@svgr/babel-preset': 8.1.0(@babel/core@7.26.10) - '@svgr/core': 8.1.0(typescript@5.7.3) + '@babel/core': 7.28.3 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.3) + '@svgr/core': 8.1.0(typescript@5.9.2) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.9.2))(typescript@5.9.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.9.2) + cosmiconfig: 8.3.6(typescript@5.9.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + '@testing-library/dom@10.4.0': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/runtime': 7.28.3 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -10047,17 +11362,6 @@ snapshots: pretty-format: 27.5.1 '@testing-library/dom@8.20.1': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.27.0 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - - '@testing-library/dom@9.3.4': dependencies: '@babel/code-frame': 7.27.1 '@babel/runtime': 7.28.3 @@ -10070,7 +11374,7 @@ snapshots: '@testing-library/jest-dom@6.5.0': dependencies: - '@adobe/css-tools': 4.4.2 + '@adobe/css-tools': 4.4.4 aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 @@ -10078,22 +11382,21 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@14.3.1(@types/react@18.3.24)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@testing-library/jest-dom@6.8.0': dependencies: - '@babel/runtime': 7.28.3 - '@testing-library/dom': 9.3.4 - '@types/react-dom': 18.3.7(@types/react@18.3.24) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - transitivePeerDependencies: - - '@types/react' + '@adobe/css-tools': 4.4.4 + aria-query: 5.3.2 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + picocolors: 1.1.1 + redent: 3.0.0 - '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 '@testing-library/dom': 10.4.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) @@ -10102,35 +11405,31 @@ snapshots: dependencies: '@testing-library/dom': 10.4.0 - '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.1)': - dependencies: - '@testing-library/dom': 10.4.1 - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/webdriverio@3.2.1(webdriverio@9.12.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 '@testing-library/dom': 8.20.1 simmerjs: 0.5.6 webdriverio: 9.12.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@testplane/devtools@8.32.3(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5)': + '@testplane/devtools@8.32.3(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5)': dependencies: '@testplane/wdio-config': 9.5.3 '@testplane/wdio-logger': 9.4.6 '@testplane/wdio-protocols': 9.4.6 '@testplane/wdio-types': 9.5.2 '@testplane/wdio-utils': 9.5.3 - '@types/node': 20.19.10 - chrome-launcher: 1.1.2 + '@types/node': 20.19.11 + chrome-launcher: 1.2.0 edge-paths: 3.0.5 - import-meta-resolve: 4.1.0 - puppeteer-core: 20.9.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5) + import-meta-resolve: 4.2.0 + puppeteer-core: 20.9.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5) query-selector-shadow-dom: 1.0.1 - ua-parser-js: 1.0.40 + ua-parser-js: 1.0.41 uuid: 9.0.1 which: 4.0.0 transitivePeerDependencies: @@ -10144,10 +11443,10 @@ snapshots: '@testplane/edgedriver@6.1.4': dependencies: '@testplane/wdio-logger': 9.4.6 - '@zip.js/zip.js': 2.7.60 - decamelize: 6.0.0 + '@zip.js/zip.js': 2.7.72 + decamelize: 6.0.1 edge-paths: 3.0.5 - fast-xml-parser: 5.2.0 + fast-xml-parser: 5.2.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 @@ -10158,12 +11457,12 @@ snapshots: '@testplane/geckodriver@5.0.2': dependencies: '@testplane/wdio-logger': 9.4.6 - '@zip.js/zip.js': 2.7.60 - decamelize: 6.0.0 + '@zip.js/zip.js': 2.7.72 + decamelize: 6.0.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 - tar-fs: 3.0.8 + tar-fs: 3.1.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -10172,15 +11471,15 @@ snapshots: dependencies: gemini-configparser: 1.4.2 - '@testplane/storybook@1.6.1(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))': + '@testplane/storybook@1.7.3(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))': dependencies: - fs-extra: 11.3.0 + fs-extra: 11.3.1 gemini-configparser: 1.4.2 lodash: 4.17.21 npm-which: 3.0.1 - storybook: 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5) + storybook: 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5) - '@testplane/test-filter@1.0.0': + '@testplane/test-filter@1.1.0': dependencies: bluebird: 3.7.2 gemini-configparser: 1.4.2 @@ -10197,7 +11496,7 @@ snapshots: '@testplane/wdio-utils': 9.5.3 deepmerge-ts: 7.1.5 glob: 10.4.5 - import-meta-resolve: 4.1.0 + import-meta-resolve: 4.2.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -10213,23 +11512,27 @@ snapshots: '@testplane/wdio-repl@9.4.4': dependencies: - '@types/node': 20.19.10 + '@types/node': 20.19.11 '@testplane/wdio-types@9.5.2': dependencies: - '@types/node': 20.19.10 + '@types/node': 20.19.11 + + '@testplane/wdio-types@9.5.3': + dependencies: + '@types/node': 20.19.11 '@testplane/wdio-utils@9.5.3': dependencies: - '@puppeteer/browsers': 2.9.0 + '@puppeteer/browsers': 2.10.8 '@testplane/edgedriver': 6.1.4 '@testplane/geckodriver': 5.0.2 '@testplane/wdio-logger': 9.4.6 '@testplane/wdio-types': 9.5.2 - decamelize: 6.0.0 + decamelize: 6.0.1 deepmerge-ts: 7.1.5 get-port: 7.1.0 - import-meta-resolve: 4.1.0 + import-meta-resolve: 4.2.0 locate-app: 2.5.0 safaridriver: 1.0.0 split2: 4.2.0 @@ -10238,34 +11541,36 @@ snapshots: - bare-buffer - supports-color - '@testplane/webdriver@9.5.10(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@testplane/webdriver@9.5.12(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@testplane/wdio-config': 9.5.3 '@testplane/wdio-logger': 9.4.6 '@testplane/wdio-protocols': 9.4.6 - '@testplane/wdio-types': 9.5.2 + '@testplane/wdio-types': 9.5.3 '@testplane/wdio-utils': 9.5.3 - '@types/node': 20.19.10 + '@types/node': 20.19.11 '@types/ws': 8.18.1 deepmerge-ts: 7.1.5 + got: 12.6.1 + ky: 0.33.0 undici: 6.12.0 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil - supports-color - utf-8-validate - '@testplane/webdriverio@9.5.17(@testplane/devtools@8.32.3(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5)': + '@testplane/webdriverio@9.5.21(@testplane/devtools@8.32.3(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5)': dependencies: '@testplane/wdio-config': 9.5.3 '@testplane/wdio-logger': 9.4.6 '@testplane/wdio-protocols': 9.4.6 '@testplane/wdio-repl': 9.4.4 - '@testplane/wdio-types': 9.5.2 + '@testplane/wdio-types': 9.5.3 '@testplane/wdio-utils': 9.5.3 - '@testplane/webdriver': 9.5.10(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@types/node': 20.19.10 + '@testplane/webdriver': 9.5.12(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@types/node': 20.19.11 '@types/sinonjs__fake-timers': 8.1.5 archiver: 7.0.1 aria-query: 5.3.2 @@ -10279,14 +11584,14 @@ snapshots: lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 minimatch: 9.0.0 - puppeteer-core: 20.9.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5) + puppeteer-core: 20.9.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5) query-selector-shadow-dom: 1.0.1 resq: 1.11.0 rgb2hex: 0.2.5 serialize-error: 11.0.3 - urlpattern-polyfill: 10.0.0 + urlpattern-polyfill: 10.1.0 optionalDependencies: - '@testplane/devtools': 8.32.3(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5) + '@testplane/devtools': 8.32.3(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil @@ -10295,8 +11600,6 @@ snapshots: - typescript - utf-8-validate - '@tootallnate/once@2.0.0': {} - '@tootallnate/quickjs-emscripten@0.23.0': {} '@trysound/sax@0.2.0': {} @@ -10309,15 +11612,17 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@types/argparse@1.0.38': {} + '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@babel/types': 7.28.2 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.7 + '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: @@ -10325,31 +11630,35 @@ snapshots: '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@babel/types': 7.28.2 - '@types/babel__traverse@7.20.7': + '@types/babel__traverse@7.28.0': dependencies: '@babel/types': 7.28.2 - '@types/body-parser@1.19.5': + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.14.0 + '@types/node': 22.18.0 + + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 '@types/connect@3.4.38': dependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 - '@types/cookie-parser@1.4.8(@types/express@4.17.21)': + '@types/cookie-parser@1.4.9(@types/express@4.17.23)': dependencies: - '@types/express': 4.17.21 + '@types/express': 4.17.23 '@types/cookie@0.4.1': {} - '@types/cors@2.8.17': + '@types/cors@2.8.19': dependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 '@types/css-font-loading-module@0.0.7': {} @@ -10357,11 +11666,13 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/deep-eql@4.0.2': {} + '@types/doctrine@0.0.9': {} '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 '@types/eslint__eslintrc@2.1.2': @@ -10372,29 +11683,29 @@ snapshots: dependencies: '@types/eslint': 9.6.1 - '@types/estree@1.0.7': {} - '@types/estree@1.0.8': {} '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.14.0 - '@types/qs': 6.9.18 + '@types/node': 22.18.0 + '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 + '@types/send': 0.17.5 '@types/express-useragent@1.0.5': dependencies: - '@types/express': 4.17.21 + '@types/express': 4.17.23 - '@types/express@4.17.21': + '@types/express@4.17.23': dependencies: - '@types/body-parser': 1.19.5 + '@types/body-parser': 1.19.6 '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.18 - '@types/serve-static': 1.15.7 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.8 - '@types/http-errors@2.0.4': {} + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.5': {} '@types/istanbul-lib-coverage@2.0.6': {} @@ -10412,9 +11723,9 @@ snapshots: '@types/lodash-es@4.17.12': dependencies: - '@types/lodash': 4.17.16 + '@types/lodash': 4.17.20 - '@types/lodash@4.17.16': {} + '@types/lodash@4.17.20': {} '@types/mdast@4.0.4': dependencies: @@ -10428,17 +11739,20 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@20.19.10': + '@types/node@20.19.11': dependencies: undici-types: 6.21.0 - '@types/node@22.14.0': + '@types/node@22.18.0': dependencies: undici-types: 6.21.0 - '@types/nodemailer@6.4.17': + '@types/nodemailer@6.4.19': dependencies: - '@types/node': 22.14.0 + '@aws-sdk/client-ses': 3.879.0 + '@types/node': 22.18.0 + transitivePeerDependencies: + - aws-crt '@types/pino-http@5.8.4': dependencies: @@ -10454,29 +11768,18 @@ snapshots: '@types/pino@6.3.12': dependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 '@types/pino-pretty': 5.0.0 '@types/pino-std-serializers': 4.0.0 sonic-boom: 2.8.0 - '@types/prop-types@15.7.15': {} - - '@types/qs@6.9.18': {} + '@types/qs@6.14.0': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@18.3.7(@types/react@18.3.24)': - dependencies: - '@types/react': 18.3.24 - '@types/react-dom@19.0.4(@types/react@19.0.12)': dependencies: - '@types/react': 19.0.12 - - '@types/react@18.3.24': - dependencies: - '@types/prop-types': 15.7.15 - csstype: 3.1.3 + '@types/react': 19.0.12 '@types/react@19.0.12': dependencies: @@ -10486,16 +11789,16 @@ snapshots: '@types/retry@0.12.2': {} - '@types/send@0.17.4': + '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.14.0 + '@types/node': 22.18.0 - '@types/serve-static@1.15.7': + '@types/serve-static@1.15.8': dependencies: - '@types/http-errors': 2.0.4 - '@types/node': 22.14.0 - '@types/send': 0.17.4 + '@types/http-errors': 2.0.5 + '@types/node': 22.18.0 + '@types/send': 0.17.5 '@types/sinonjs__fake-timers@8.1.5': {} @@ -10511,7 +11814,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 '@types/yargs-parser@21.0.3': {} @@ -10521,263 +11824,145 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 optional: true - '@typescript-eslint/eslint-plugin@8.29.1(@typescript-eslint/parser@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.29.1 - eslint: 9.33.0(jiti@2.4.2) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.39.0 - '@typescript-eslint/type-utils': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/utils': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.39.0 - eslint: 9.33.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.41.0 + eslint: 9.33.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.7.3) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.29.1 - debug: 4.4.0(supports-color@5.5.0) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.39.0 - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.39.0 - debug: 4.4.1 - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.7.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.39.0(typescript@5.7.3)': + '@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.7.3) - '@typescript-eslint/types': 8.39.0 - debug: 4.4.1 - typescript: 5.7.3 + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.41.0 + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.33.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.29.1': - dependencies: - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/visitor-keys': 8.29.1 - - '@typescript-eslint/scope-manager@8.39.0': - dependencies: - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/visitor-keys': 8.39.0 - - '@typescript-eslint/tsconfig-utils@8.39.0(typescript@5.7.3)': - dependencies: - typescript: 5.7.3 - - '@typescript-eslint/type-utils@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@typescript-eslint/project-service@8.41.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.4.0(supports-color@5.5.0) - eslint: 9.33.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.7.3) - typescript: 5.7.3 + '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + debug: 4.4.1(supports-color@5.5.0) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/scope-manager@8.41.0': dependencies: - '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3) - debug: 4.4.0(supports-color@5.5.0) - eslint: 9.33.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/visitor-keys': 8.41.0 - '@typescript-eslint/type-utils@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@typescript-eslint/tsconfig-utils@8.41.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.7.3) - '@typescript-eslint/utils': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.4.1 - eslint: 9.33.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.7.3) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color + typescript: 5.9.2 - '@typescript-eslint/types@8.29.1': {} - - '@typescript-eslint/types@8.39.0': {} - - '@typescript-eslint/typescript-estree@8.29.1(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/visitor-keys': 8.29.1 - debug: 4.4.0(supports-color@5.5.0) - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.1.0(typescript@5.7.3) - typescript: 5.7.3 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.33.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.29.1(typescript@5.8.3)': - dependencies: - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/visitor-keys': 8.29.1 - debug: 4.4.0(supports-color@5.5.0) - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types@8.41.0': {} - '@typescript-eslint/typescript-estree@8.39.0(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.41.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.39.0(typescript@5.7.3) - '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.7.3) - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/visitor-keys': 8.39.0 - debug: 4.4.1 + '@typescript-eslint/project-service': 8.41.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/visitor-keys': 8.41.0 + debug: 4.4.1(supports-color@5.5.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.7.3) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.8.3) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)': + '@typescript-eslint/utils@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.39.0 - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.7.3 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.29.1': - dependencies: - '@typescript-eslint/types': 8.29.1 - eslint-visitor-keys: 4.2.0 - - '@typescript-eslint/visitor-keys@8.39.0': + '@typescript-eslint/visitor-keys@8.41.0': dependencies: - '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/types': 8.41.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-react@4.3.4(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1))': + '@vitejs/plugin-react@4.3.4(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1))': dependencies: - '@babel/core': 7.26.10 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) + '@babel/core': 7.28.3 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1) + vite: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.3.4(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3)(vitest@2.1.9)': + '@vitest/eslint-plugin@1.3.4(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)(vitest@3.2.4)': dependencies: - '@typescript-eslint/utils': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) optionalDependencies: - typescript: 5.7.3 - vitest: 2.1.9(@types/node@22.14.0)(@vitest/ui@2.1.9)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + typescript: 5.9.2 + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitest/expect@1.6.1': - dependencies: - '@vitest/spy': 1.6.1 - '@vitest/utils': 1.6.1 - chai: 4.5.0 - '@vitest/expect@2.0.5': dependencies: '@vitest/spy': 2.0.5 '@vitest/utils': 2.0.5 - chai: 5.2.0 + chai: 5.3.3 tinyrainbow: 1.2.0 - '@vitest/expect@2.1.9': + '@vitest/expect@3.2.4': dependencies: - '@vitest/spy': 2.1.9 - '@vitest/utils': 2.1.9 - chai: 5.2.0 - tinyrainbow: 1.2.0 + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 + tinyrainbow: 2.0.0 - '@vitest/mocker@2.1.9(vite@5.1.6(@types/node@22.14.0))': + '@vitest/mocker@3.2.4(vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1))': dependencies: - '@vitest/spy': 2.1.9 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.18 optionalDependencies: - vite: 5.1.6(@types/node@22.14.0) + vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) '@vitest/pretty-format@2.0.5': dependencies: @@ -10787,32 +11972,21 @@ snapshots: dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@1.6.1': - dependencies: - '@vitest/utils': 1.6.1 - p-limit: 5.0.0 - pathe: 1.1.2 - - '@vitest/runner@2.1.9': - dependencies: - '@vitest/utils': 2.1.9 - pathe: 1.1.2 - - '@vitest/snapshot@1.6.1': + '@vitest/pretty-format@3.2.4': dependencies: - magic-string: 0.30.17 - pathe: 1.1.2 - pretty-format: 29.7.0 + tinyrainbow: 2.0.0 - '@vitest/snapshot@2.1.9': + '@vitest/runner@3.2.4': dependencies: - '@vitest/pretty-format': 2.1.9 - magic-string: 0.30.17 - pathe: 1.1.2 + '@vitest/utils': 3.2.4 + pathe: 2.0.3 + strip-literal: 3.0.0 - '@vitest/spy@1.6.1': + '@vitest/snapshot@3.2.4': dependencies: - tinyspy: 2.2.1 + '@vitest/pretty-format': 3.2.4 + magic-string: 0.30.18 + pathe: 2.0.3 '@vitest/spy@2.0.5': dependencies: @@ -10822,52 +11996,52 @@ snapshots: dependencies: tinyspy: 3.0.2 - '@vitest/spy@2.1.9': - dependencies: - tinyspy: 3.0.2 - - '@vitest/ui@1.6.1(vitest@1.6.1)': + '@vitest/spy@3.2.4': dependencies: - '@vitest/utils': 1.6.1 - fast-glob: 3.3.3 - fflate: 0.8.2 - flatted: 3.3.3 - pathe: 1.1.2 - picocolors: 1.1.1 - sirv: 2.0.4 - vitest: 1.6.1(@types/node@20.19.10)(@vitest/ui@1.6.1)(jsdom@22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + tinyspy: 4.0.3 - '@vitest/ui@2.1.9(vitest@2.1.9)': + '@vitest/ui@3.2.4(vitest@3.2.4)': dependencies: - '@vitest/utils': 2.1.9 + '@vitest/utils': 3.2.4 fflate: 0.8.2 flatted: 3.3.3 - pathe: 1.1.2 + pathe: 2.0.3 sirv: 3.0.1 tinyglobby: 0.2.14 - tinyrainbow: 1.2.0 - vitest: 2.1.9(@types/node@22.14.0)(@vitest/ui@2.1.9)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) - - '@vitest/utils@1.6.1': - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 + tinyrainbow: 2.0.0 + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) '@vitest/utils@2.0.5': dependencies: '@vitest/pretty-format': 2.0.5 estree-walker: 3.0.3 - loupe: 3.1.3 + loupe: 3.2.1 tinyrainbow: 1.2.0 '@vitest/utils@2.1.9': dependencies: '@vitest/pretty-format': 2.1.9 - loupe: 3.1.3 + loupe: 3.2.1 tinyrainbow: 1.2.0 + '@vitest/utils@3.2.4': + dependencies: + '@vitest/pretty-format': 3.2.4 + loupe: 3.2.1 + tinyrainbow: 2.0.0 + + '@volar/language-core@2.4.23': + dependencies: + '@volar/source-map': 2.4.23 + + '@volar/source-map@2.4.23': {} + + '@volar/typescript@2.4.23': + dependencies: + '@volar/language-core': 2.4.23 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + '@vue/compiler-core@3.5.13': dependencies: '@babel/parser': 7.28.3 @@ -10889,7 +12063,7 @@ snapshots: '@vue/compiler-ssr': 3.5.13 '@vue/shared': 3.5.13 estree-walker: 2.0.2 - magic-string: 0.30.17 + magic-string: 0.30.18 postcss: 8.5.6 source-map-js: 1.2.1 @@ -10898,6 +12072,24 @@ snapshots: '@vue/compiler-dom': 3.5.13 '@vue/shared': 3.5.13 + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.2.0(typescript@5.9.2)': + dependencies: + '@volar/language-core': 2.4.23 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.13 + alien-signals: 0.4.14 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.9.2 + '@vue/shared@3.5.13': {} '@wdio/config@9.12.3': @@ -10907,21 +12099,29 @@ snapshots: '@wdio/utils': 9.12.3 deepmerge-ts: 7.1.5 glob: 10.4.5 - import-meta-resolve: 4.1.0 + import-meta-resolve: 4.2.0 transitivePeerDependencies: - bare-buffer - supports-color '@wdio/logger@8.38.0': dependencies: - chalk: 5.4.1 + chalk: 5.6.0 + loglevel: 1.9.2 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + + '@wdio/logger@9.18.0': + dependencies: + chalk: 5.6.0 loglevel: 1.9.2 loglevel-plugin-prefix: 0.8.4 + safe-regex2: 5.0.0 strip-ansi: 7.1.0 '@wdio/logger@9.4.4': dependencies: - chalk: 5.4.1 + chalk: 5.6.0 loglevel: 1.9.2 loglevel-plugin-prefix: 0.8.4 strip-ansi: 7.1.0 @@ -10930,23 +12130,23 @@ snapshots: '@wdio/repl@9.4.4': dependencies: - '@types/node': 20.19.10 + '@types/node': 20.19.11 '@wdio/types@9.12.3': dependencies: - '@types/node': 20.19.10 + '@types/node': 20.19.11 '@wdio/utils@9.12.3': dependencies: - '@puppeteer/browsers': 2.10.6 + '@puppeteer/browsers': 2.10.8 '@wdio/logger': 9.4.4 '@wdio/types': 9.12.3 - decamelize: 6.0.0 + decamelize: 6.0.1 deepmerge-ts: 7.1.5 edgedriver: 6.1.2 geckodriver: 5.0.0 get-port: 7.1.0 - import-meta-resolve: 4.1.0 + import-meta-resolve: 4.2.0 locate-app: 2.5.0 safaridriver: 1.0.0 split2: 4.2.0 @@ -10955,23 +12155,19 @@ snapshots: - bare-buffer - supports-color - '@withease/i18next@24.0.0(effector@23.3.0)(i18next@24.2.3(typescript@5.7.3))': + '@withease/i18next@24.0.0(effector@23.4.2)(i18next@24.2.3(typescript@5.9.2))': dependencies: - effector: 23.3.0 - i18next: 24.2.3(typescript@5.7.3) + effector: 23.4.2 + i18next: 24.2.3(typescript@5.9.2) - '@withease/web-api@1.3.0(effector@23.3.0)': + '@withease/web-api@1.3.0(effector@23.4.2)': dependencies: - effector: 23.3.0 + effector: 23.4.2 '@xstate/fsm@1.6.5': {} - '@zip.js/zip.js@2.7.60': {} - '@zip.js/zip.js@2.7.72': {} - abab@2.0.6: {} - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -10981,29 +12177,25 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.14.1): - dependencies: - acorn: 8.14.1 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 acorn-walk@8.3.4: dependencies: - acorn: 8.14.1 - - acorn@8.14.1: {} + acorn: 8.15.0 acorn@8.15.0: {} - agent-base@6.0.2: - dependencies: - debug: 4.4.1 - transitivePeerDependencies: - - supports-color + agent-base@7.1.4: {} - agent-base@7.1.3: {} + ajv-draft-04@1.0.0(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 ajv@6.12.6: dependencies: @@ -11012,13 +12204,29 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.13.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + alien-signals@0.4.14: {} + ansi-colors@4.1.1: {} ansi-colors@4.1.3: {} @@ -11031,7 +12239,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.0: {} ansi-styles@3.2.1: dependencies: @@ -11103,8 +12311,6 @@ snapshots: array-union@2.1.0: {} - assertion-error@1.1.0: {} - assertion-error@2.0.1: {} ast-types@0.13.4: @@ -11121,48 +12327,48 @@ snapshots: asynckit@0.4.0: {} - atomic-router-react@0.10.0(atomic-router@0.11.0(effector@23.3.0)(history@5.3.0))(effector-react@23.3.0(effector@23.3.0)(react@19.1.0))(effector@23.3.0)(react@19.1.0): + atomic-router-react@0.10.0(atomic-router@0.11.1(effector@23.4.2)(history@5.3.0))(effector-react@23.3.0(effector@23.4.2)(react@19.1.1))(effector@23.4.2)(react@19.1.1): dependencies: - atomic-router: 0.11.0(effector@23.3.0)(history@5.3.0) + atomic-router: 0.11.1(effector@23.4.2)(history@5.3.0) clsx: 1.2.1 - effector: 23.3.0 - effector-react: 23.3.0(effector@23.3.0)(react@19.1.0) - react: 19.1.0 + effector: 23.4.2 + effector-react: 23.3.0(effector@23.4.2)(react@19.1.1) + react: 19.1.1 - atomic-router@0.11.0(effector@23.3.0)(history@5.3.0): + atomic-router@0.11.1(effector@23.4.2)(history@5.3.0): dependencies: - effector: 23.3.0 + effector: 23.4.2 history: 5.3.0 path-to-regexp: 6.3.0 atomic-sleep@1.0.0: {} - autoprefixer@10.4.21(postcss@8.5.3): + autoprefixer@10.4.21(postcss@8.5.6): dependencies: - browserslist: 4.24.4 - caniuse-lite: 1.0.30001712 + browserslist: 4.25.4 + caniuse-lite: 1.0.30001737 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - axios@1.6.3(debug@4.4.0): + axios@1.11.0: dependencies: - follow-redirects: 1.15.9(debug@4.4.0) - form-data: 4.0.2 + follow-redirects: 1.15.11(debug@4.4.1) + form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - axios@1.8.4: + axios@1.6.3(debug@4.4.1): dependencies: - follow-redirects: 1.15.9(debug@4.4.0) - form-data: 4.0.2 + follow-redirects: 1.15.11(debug@4.4.1) + form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -11173,44 +12379,27 @@ snapshots: balanced-match@2.0.0: {} - bare-events@2.5.4: - optional: true - bare-events@2.6.1: optional: true - bare-fs@4.1.2: - dependencies: - bare-events: 2.5.4 - bare-path: 3.0.0 - bare-stream: 2.6.5(bare-events@2.5.4) - optional: true - - bare-fs@4.1.6: + bare-fs@4.2.1: dependencies: bare-events: 2.6.1 bare-path: 3.0.0 - bare-stream: 2.6.5(bare-events@2.6.1) + bare-stream: 2.7.0(bare-events@2.6.1) optional: true - bare-os@3.6.1: + bare-os@3.6.2: optional: true bare-path@3.0.0: dependencies: - bare-os: 3.6.1 + bare-os: 3.6.2 optional: true - bare-stream@2.6.5(bare-events@2.5.4): + bare-stream@2.7.0(bare-events@2.6.1): dependencies: - streamx: 2.22.0 - optionalDependencies: - bare-events: 2.5.4 - optional: true - - bare-stream@2.6.5(bare-events@2.6.1): - dependencies: - streamx: 2.22.0 + streamx: 2.22.1 optionalDependencies: bare-events: 2.6.1 optional: true @@ -11250,8 +12439,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - bluebird@3.5.1: {} - bluebird@3.7.2: {} body-parser@1.20.3: @@ -11273,12 +12460,14 @@ snapshots: boolbase@1.0.0: {} - brace-expansion@1.1.11: + bowser@2.12.1: {} + + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -11290,19 +12479,12 @@ snapshots: browser-stdout@1.3.1: {} - browserslist@4.24.4: - dependencies: - caniuse-lite: 1.0.30001712 - electron-to-chromium: 1.5.134 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.24.4) - - browserslist@4.25.2: + browserslist@4.25.4: dependencies: - caniuse-lite: 1.0.30001733 - electron-to-chromium: 1.5.199 + caniuse-lite: 1.0.30001737 + electron-to-chromium: 1.5.211 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.2) + update-browserslist-db: 1.1.3(browserslist@4.25.4) buffer-builder@0.2.0: {} @@ -11327,19 +12509,31 @@ snapshots: builtin-modules@5.0.0: {} - bundle-require@5.1.0(esbuild@0.25.2): + bundle-require@5.1.0(esbuild@0.25.9): dependencies: - esbuild: 0.25.2 + esbuild: 0.25.9 load-tsconfig: 0.2.5 bytes@3.1.2: {} cac@6.7.14: {} - cacheable@1.8.10: + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.2 + responselike: 3.0.0 + + cacheable@1.10.4: dependencies: - hookified: 1.8.1 - keyv: 5.3.2 + hookified: 1.12.0 + keyv: 5.5.0 call-bind-apply-helpers@1.0.2: dependencies: @@ -11370,29 +12564,17 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001712: {} - - caniuse-lite@1.0.30001733: {} + caniuse-lite@1.0.30001737: {} ccount@2.0.1: {} - chai@4.5.0: - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.4 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.1.0 - - chai@5.2.0: + chai@5.3.3: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.3 - pathval: 2.0.0 + loupe: 3.2.1 + pathval: 2.0.1 chalk@2.4.2: dependencies: @@ -11410,17 +12592,13 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.1: {} + chalk@5.6.0: {} change-case@5.4.4: {} character-entities@2.0.2: {} - chardet@0.7.0: {} - - check-error@1.0.3: - dependencies: - get-func-name: 2.0.2 + chardet@2.1.0: {} check-error@2.1.1: {} @@ -11444,7 +12622,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.13.0 + undici: 7.15.0 whatwg-mimetype: 4.0.0 chokidar@3.5.3: @@ -11477,14 +12655,14 @@ snapshots: chownr@1.1.4: {} - chromatic@11.28.0: {} + chromatic@11.29.0: {} - chrome-launcher@1.1.2: + chrome-launcher@1.2.0: dependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 - lighthouse-logger: 2.0.1 + lighthouse-logger: 2.0.2 transitivePeerDependencies: - supports-color @@ -11497,6 +12675,10 @@ snapshots: ci-info@4.3.0: {} + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 @@ -11621,9 +12803,9 @@ snapshots: cookie@0.7.2: {} - core-js-compat@3.45.0: + core-js-compat@3.45.1: dependencies: - browserslist: 4.25.2 + browserslist: 4.25.4 core-util-is@1.0.3: {} @@ -11632,23 +12814,23 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@8.3.6(typescript@5.7.3): + cosmiconfig@8.3.6(typescript@5.9.2): dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 - cosmiconfig@9.0.0(typescript@5.7.3): + cosmiconfig@9.0.0(typescript@5.9.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 crc-32@1.2.2: {} @@ -11671,31 +12853,23 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-blank-pseudo@7.0.1(postcss@8.5.3): + css-blank-pseudo@7.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 css-functions-list@3.2.3: {} - css-has-pseudo@7.0.2(postcss@8.5.3): + css-has-pseudo@7.0.3(postcss@8.5.6): dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 postcss-value-parser: 4.2.0 - css-prefers-color-scheme@10.0.0(postcss@8.5.3): - dependencies: - postcss: 8.5.3 - - css-select@5.1.0: + css-prefers-color-scheme@10.0.0(postcss@8.5.6): dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 + postcss: 8.5.6 css-select@5.2.2: dependencies: @@ -11724,13 +12898,11 @@ snapshots: css-value@0.0.1: {} - css-what@6.1.0: {} - css-what@6.2.2: {} css.escape@1.5.1: {} - cssdb@8.2.4: {} + cssdb@8.4.0: {} cssesc@3.0.0: {} @@ -11738,10 +12910,6 @@ snapshots: dependencies: css-tree: 2.2.1 - cssstyle@3.0.0: - dependencies: - rrweb-cssom: 0.6.0 - cssstyle@4.6.0: dependencies: '@asamuzakjp/css-color': 3.2.0 @@ -11753,12 +12921,6 @@ snapshots: data-uri-to-buffer@6.0.2: {} - data-urls@4.0.0: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 - data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 @@ -11766,6 +12928,8 @@ snapshots: dateformat@4.6.3: {} + de-indent@1.0.2: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -11780,19 +12944,15 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.0(supports-color@5.5.0): + debug@4.4.1(supports-color@5.5.0): dependencies: ms: 2.1.3 optionalDependencies: supports-color: 5.5.0 - debug@4.4.1: - dependencies: - ms: 2.1.3 - decamelize@4.0.0: {} - decamelize@6.0.0: {} + decamelize@6.0.1: {} decimal.js@10.6.0: {} @@ -11804,10 +12964,6 @@ snapshots: dependencies: mimic-response: 3.1.0 - deep-eql@4.1.4: - dependencies: - type-detect: 4.1.0 - deep-eql@5.0.2: {} deep-equal@2.2.3: @@ -11837,10 +12993,14 @@ snapshots: deepmerge-ts@7.1.5: {} + deepmerge@4.3.1: {} + defaults@1.0.4: dependencies: clone: 1.0.4 + defer-to-connect@2.0.1: {} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -11871,7 +13031,10 @@ snapshots: detect-indent@6.1.0: {} - detect-libc@2.0.3: {} + detect-libc@1.0.3: + optional: true + + detect-libc@2.0.4: {} devlop@1.1.0: dependencies: @@ -11883,8 +13046,6 @@ snapshots: diff-sequences@28.1.1: {} - diff-sequences@29.6.3: {} - diff@4.0.2: {} diff@5.0.0: {} @@ -11909,10 +13070,6 @@ snapshots: domelementtype@2.3.0: {} - domexception@4.0.0: - dependencies: - webidl-conversions: 7.0.0 - domhandler@5.0.3: dependencies: domelementtype: 2.3.0 @@ -11930,7 +13087,7 @@ snapshots: dotenv@16.0.3: {} - dotenv@16.4.7: {} + dotenv@16.6.1: {} dunder-proto@1.0.1: dependencies: @@ -11948,8 +13105,8 @@ snapshots: edgedriver@5.6.1: dependencies: '@wdio/logger': 8.38.0 - '@zip.js/zip.js': 2.7.60 - decamelize: 6.0.0 + '@zip.js/zip.js': 2.7.72 + decamelize: 6.0.1 edge-paths: 3.0.5 fast-xml-parser: 4.5.3 node-fetch: 3.3.2 @@ -11957,9 +13114,9 @@ snapshots: edgedriver@6.1.2: dependencies: - '@wdio/logger': 9.4.4 + '@wdio/logger': 9.18.0 '@zip.js/zip.js': 2.7.72 - decamelize: 6.0.0 + decamelize: 6.0.1 edge-paths: 3.0.5 fast-xml-parser: 5.2.5 http-proxy-agent: 7.0.2 @@ -11971,22 +13128,22 @@ snapshots: ee-first@1.1.1: {} - effector-react@23.3.0(effector@23.3.0)(react@19.1.0): + effector-react@23.3.0(effector@23.4.2)(react@19.1.1): dependencies: - effector: 23.3.0 - react: 19.1.0 - use-sync-external-store: 1.5.0(react@19.1.0) - - effector@23.3.0: {} + effector: 23.4.2 + react: 19.1.1 + use-sync-external-store: 1.5.0(react@19.1.1) - electron-to-chromium@1.5.134: {} + effector@23.4.2: {} - electron-to-chromium@1.5.199: {} + electron-to-chromium@1.5.211: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + empathic@2.0.0: {} + encodeurl@1.0.2: {} encodeurl@2.0.0: {} @@ -11996,10 +13153,6 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -12021,8 +13174,8 @@ snapshots: engine.io@6.5.5(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/cookie': 0.4.1 - '@types/cors': 2.8.17 - '@types/node': 22.14.0 + '@types/cors': 2.8.19 + '@types/node': 22.18.0 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -12038,7 +13191,7 @@ snapshots: enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.2 + tapable: 2.2.3 enquirer@2.4.1: dependencies: @@ -12092,10 +13245,10 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - esbuild-register@3.6.0(esbuild@0.25.2): + esbuild-register@3.6.0(esbuild@0.25.9): dependencies: - debug: 4.4.1 - esbuild: 0.25.2 + debug: 4.4.1(supports-color@5.5.0) + esbuild: 0.25.9 transitivePeerDependencies: - supports-color @@ -12125,33 +13278,63 @@ snapshots: '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - esbuild@0.25.2: + esbuild@0.25.8: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.2 - '@esbuild/android-arm': 0.25.2 - '@esbuild/android-arm64': 0.25.2 - '@esbuild/android-x64': 0.25.2 - '@esbuild/darwin-arm64': 0.25.2 - '@esbuild/darwin-x64': 0.25.2 - '@esbuild/freebsd-arm64': 0.25.2 - '@esbuild/freebsd-x64': 0.25.2 - '@esbuild/linux-arm': 0.25.2 - '@esbuild/linux-arm64': 0.25.2 - '@esbuild/linux-ia32': 0.25.2 - '@esbuild/linux-loong64': 0.25.2 - '@esbuild/linux-mips64el': 0.25.2 - '@esbuild/linux-ppc64': 0.25.2 - '@esbuild/linux-riscv64': 0.25.2 - '@esbuild/linux-s390x': 0.25.2 - '@esbuild/linux-x64': 0.25.2 - '@esbuild/netbsd-arm64': 0.25.2 - '@esbuild/netbsd-x64': 0.25.2 - '@esbuild/openbsd-arm64': 0.25.2 - '@esbuild/openbsd-x64': 0.25.2 - '@esbuild/sunos-x64': 0.25.2 - '@esbuild/win32-arm64': 0.25.2 - '@esbuild/win32-ia32': 0.25.2 - '@esbuild/win32-x64': 0.25.2 + '@esbuild/aix-ppc64': 0.25.8 + '@esbuild/android-arm': 0.25.8 + '@esbuild/android-arm64': 0.25.8 + '@esbuild/android-x64': 0.25.8 + '@esbuild/darwin-arm64': 0.25.8 + '@esbuild/darwin-x64': 0.25.8 + '@esbuild/freebsd-arm64': 0.25.8 + '@esbuild/freebsd-x64': 0.25.8 + '@esbuild/linux-arm': 0.25.8 + '@esbuild/linux-arm64': 0.25.8 + '@esbuild/linux-ia32': 0.25.8 + '@esbuild/linux-loong64': 0.25.8 + '@esbuild/linux-mips64el': 0.25.8 + '@esbuild/linux-ppc64': 0.25.8 + '@esbuild/linux-riscv64': 0.25.8 + '@esbuild/linux-s390x': 0.25.8 + '@esbuild/linux-x64': 0.25.8 + '@esbuild/netbsd-arm64': 0.25.8 + '@esbuild/netbsd-x64': 0.25.8 + '@esbuild/openbsd-arm64': 0.25.8 + '@esbuild/openbsd-x64': 0.25.8 + '@esbuild/openharmony-arm64': 0.25.8 + '@esbuild/sunos-x64': 0.25.8 + '@esbuild/win32-arm64': 0.25.8 + '@esbuild/win32-ia32': 0.25.8 + '@esbuild/win32-x64': 0.25.8 + + esbuild@0.25.9: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 escalade@3.2.0: {} @@ -12173,91 +13356,91 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.33.0(jiti@2.4.2)): + eslint-compat-utils@0.5.1(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) semver: 7.7.2 - eslint-compat-utils@0.6.5(eslint@9.33.0(jiti@2.4.2)): + eslint-compat-utils@0.6.5(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) semver: 7.7.2 - eslint-config-flat-gitignore@2.1.0(eslint@9.33.0(jiti@2.4.2)): + eslint-config-flat-gitignore@2.1.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - '@eslint/compat': 1.3.2(eslint@9.33.0(jiti@2.4.2)) - eslint: 9.33.0(jiti@2.4.2) + '@eslint/compat': 1.3.2(eslint@9.33.0(jiti@2.5.1)) + eslint: 9.33.0(jiti@2.5.1) eslint-flat-config-utils@2.1.1: dependencies: pathe: 2.0.3 - eslint-formatting-reporter@0.0.0(eslint@9.33.0(jiti@2.4.2)): + eslint-formatting-reporter@0.0.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) prettier-linter-helpers: 1.0.0 - eslint-json-compat-utils@0.2.1(eslint@9.33.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.33.0(jiti@2.5.1))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@2.0.0(eslint@9.33.0(jiti@2.4.2)): + eslint-merge-processors@2.0.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) eslint-parser-plain@0.1.1: {} - eslint-plugin-antfu@3.1.1(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-antfu@3.1.1(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) - eslint-plugin-command@3.3.1(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-command@3.3.1(eslint@9.33.0(jiti@2.5.1)): dependencies: '@es-joy/jsdoccomment': 0.50.2 - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) - eslint-plugin-effector@0.15.0(effector@23.3.0)(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-effector@0.15.0(effector@23.4.2)(eslint@9.33.0(jiti@2.5.1)): dependencies: - effector: 23.3.0 - eslint: 9.33.0(jiti@2.4.2) + effector: 23.4.2 + eslint: 9.33.0(jiti@2.5.1) prettier: 2.8.8 - eslint-plugin-es-x@7.8.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-es-x@7.8.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.33.0(jiti@2.4.2) - eslint-compat-utils: 0.5.1(eslint@9.33.0(jiti@2.4.2)) + eslint: 9.33.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.33.0(jiti@2.5.1)) - eslint-plugin-format@1.0.1(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-format@1.0.1(eslint@9.33.0(jiti@2.5.1)): dependencies: '@dprint/formatter': 0.3.0 '@dprint/markdown': 0.17.8 '@dprint/toml': 0.6.4 - eslint: 9.33.0(jiti@2.4.2) - eslint-formatting-reporter: 0.0.0(eslint@9.33.0(jiti@2.4.2)) + eslint: 9.33.0(jiti@2.5.1) + eslint-formatting-reporter: 0.0.0(eslint@9.33.0(jiti@2.5.1)) eslint-parser-plain: 0.1.1 - prettier: 3.5.3 - synckit: 0.9.2 + prettier: 3.6.2 + synckit: 0.9.3 - eslint-plugin-import-lite@0.3.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + eslint-plugin-import-lite@0.3.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/types': 8.39.0 - eslint: 9.33.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@typescript-eslint/types': 8.41.0 + eslint: 9.33.0(jiti@2.5.1) optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 - eslint-plugin-jsdoc@52.0.4(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-jsdoc@52.0.4(eslint@9.33.0(jiti@2.5.1)): dependencies: '@es-joy/jsdoccomment': 0.52.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.1 + debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) espree: 10.4.0 esquery: 1.6.0 parse-imports-exports: 0.2.4 @@ -12266,12 +13449,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.20.1(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-jsonc@2.20.1(eslint@9.33.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - eslint: 9.33.0(jiti@2.4.2) - eslint-compat-utils: 0.6.5(eslint@9.33.0(jiti@2.4.2)) - eslint-json-compat-utils: 0.2.1(eslint@9.33.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + eslint: 9.33.0(jiti@2.5.1) + eslint-compat-utils: 0.6.5(eslint@9.33.0(jiti@2.5.1)) + eslint-json-compat-utils: 0.2.1(eslint@9.33.0(jiti@2.5.1))(jsonc-eslint-parser@2.4.0) espree: 10.4.0 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -12280,226 +13463,220 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.21.3(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + eslint-plugin-n@17.21.3(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) enhanced-resolve: 5.18.3 - eslint: 9.33.0(jiti@2.4.2) - eslint-plugin-es-x: 7.8.0(eslint@9.33.0(jiti@2.4.2)) + eslint: 9.33.0(jiti@2.5.1) + eslint-plugin-es-x: 7.8.0(eslint@9.33.0(jiti@2.5.1)) get-tsconfig: 4.10.1 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 semver: 7.7.2 - ts-declaration-location: 1.0.7(typescript@5.7.3) + ts-declaration-location: 1.0.7(typescript@5.9.2) transitivePeerDependencies: - typescript eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.15.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + eslint-plugin-perfectionist@4.15.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/utils': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-pnpm@1.1.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-pnpm@1.1.1(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) - find-up-simple: 1.0.1 + empathic: 2.0.0 + eslint: 9.33.0(jiti@2.5.1) jsonc-eslint-parser: 2.4.0 pathe: 2.0.3 - pnpm-workspace-yaml: 1.1.0 + pnpm-workspace-yaml: 1.1.1 tinyglobby: 0.2.14 yaml-eslint-parser: 1.3.0 - eslint-plugin-react-debug@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): - dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/core': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + eslint-plugin-react-debug@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + dependencies: + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-dom@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): - dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/core': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-react-dom@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + dependencies: + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) compare-versions: 6.1.1 - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks-extra@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): - dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/core': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + eslint-plugin-react-hooks-extra@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + dependencies: + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.2.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-react-hooks@5.2.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) - eslint-plugin-react-naming-convention@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + eslint-plugin-react-naming-convention@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/core': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-refresh@0.4.19(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-react-refresh@0.4.20(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) - eslint-plugin-react-web-api@1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + eslint-plugin-react-web-api@1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/core': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-x@1.42.1(eslint@9.33.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.7.3))(typescript@5.7.3): - dependencies: - '@eslint-react/ast': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/core': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/eff': 1.42.1 - '@eslint-react/jsx': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/kit': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/shared': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@eslint-react/var': 1.42.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.29.1 - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/types': 8.29.1 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-react-x@1.52.8(eslint@9.33.0(jiti@2.5.1))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2): + dependencies: + '@eslint-react/ast': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/eff': 1.52.8 + '@eslint-react/kit': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.52.8(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) compare-versions: 6.1.1 - eslint: 9.33.0(jiti@2.4.2) - is-immutable-type: 5.0.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.33.0(jiti@2.5.1) + is-immutable-type: 5.0.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) string-ts: 2.2.1 - ts-pattern: 5.7.0 + ts-pattern: 5.8.0 optionalDependencies: - ts-api-utils: 2.1.0(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - eslint-plugin-regexp@2.10.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-regexp@2.10.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.33.0(jiti@2.4.2) - jsdoc-type-pratt-parser: 4.1.0 + eslint: 9.33.0(jiti@2.5.1) + jsdoc-type-pratt-parser: 4.8.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-storybook@0.12.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + eslint-plugin-storybook@0.12.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: '@storybook/csf': 0.1.13 - '@typescript-eslint/utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-toml@0.12.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-toml@0.12.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - debug: 4.4.1 - eslint: 9.33.0(jiti@2.4.2) - eslint-compat-utils: 0.6.5(eslint@9.33.0(jiti@2.4.2)) + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.33.0(jiti@2.5.1) + eslint-compat-utils: 0.6.5(eslint@9.33.0(jiti@2.5.1)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-turbo@2.5.0(eslint@9.33.0(jiti@2.4.2))(turbo@2.5.0): + eslint-plugin-turbo@2.5.6(eslint@9.33.0(jiti@2.5.1))(turbo@2.5.6): dependencies: dotenv: 16.0.3 - eslint: 9.33.0(jiti@2.4.2) - turbo: 2.5.0 + eslint: 9.33.0(jiti@2.5.1) + turbo: 2.5.6 - eslint-plugin-unicorn@60.0.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-unicorn@60.0.0(eslint@9.33.0(jiti@2.5.1)): dependencies: '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) '@eslint/plugin-kit': 0.3.5 change-case: 5.4.4 ci-info: 4.3.0 clean-regexp: 1.0.0 - core-js-compat: 3.45.0 - eslint: 9.33.0(jiti@2.4.2) + core-js-compat: 3.45.1 + eslint: 9.33.0(jiti@2.5.1) esquery: 1.6.0 find-up-simple: 1.0.1 globals: 16.3.0 @@ -12512,40 +13689,40 @@ snapshots: semver: 7.7.2 strip-indent: 4.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-unused-imports@4.2.0(@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1)): dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/eslint-plugin': 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - eslint-plugin-vue@10.4.0(@typescript-eslint/parser@8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.33.0(jiti@2.4.2))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.4.2))): + eslint-plugin-vue@10.4.0(@typescript-eslint/parser@8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1))): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - eslint: 9.33.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + eslint: 9.33.0(jiti@2.5.1) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.7.2 - vue-eslint-parser: 10.2.0(eslint@9.33.0(jiti@2.4.2)) + vue-eslint-parser: 10.2.0(eslint@9.33.0(jiti@2.5.1)) xml-name-validator: 4.0.0 optionalDependencies: - '@typescript-eslint/parser': 8.39.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - eslint-plugin-yml@1.18.0(eslint@9.33.0(jiti@2.4.2)): + eslint-plugin-yml@1.18.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - debug: 4.4.1 + debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 - eslint: 9.33.0(jiti@2.4.2) - eslint-compat-utils: 0.6.5(eslint@9.33.0(jiti@2.4.2)) + eslint: 9.33.0(jiti@2.5.1) + eslint-compat-utils: 0.6.5(eslint@9.33.0(jiti@2.5.1)) natural-compare: 1.4.0 yaml-eslint-parser: 1.3.0 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.33.0(jiti@2.4.2)): + eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.33.0(jiti@2.5.1)): dependencies: '@vue/compiler-sfc': 3.5.13 - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.33.0(jiti@2.5.1) eslint-scope@8.4.0: dependencies: @@ -12554,13 +13731,11 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} - eslint-visitor-keys@4.2.1: {} - eslint@9.33.0(jiti@2.4.2): + eslint@9.33.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.33.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.1 @@ -12570,13 +13745,13 @@ snapshots: '@eslint/plugin-kit': 0.3.5 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 - '@types/estree': 1.0.7 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -12596,16 +13771,10 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 transitivePeerDependencies: - supports-color - espree@10.3.0: - dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 - espree@10.4.0: dependencies: acorn: 8.15.0 @@ -12648,18 +13817,6 @@ snapshots: events@3.3.0: {} - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - expand-template@2.0.3: {} expect-type@1.2.2: {} @@ -12719,15 +13876,9 @@ snapshots: extendable-error@0.1.7: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - extract-zip@2.0.1: dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -12761,16 +13912,12 @@ snapshots: fast-safe-stringify@2.1.1: {} - fast-uri@3.0.6: {} + fast-uri@3.1.0: {} fast-xml-parser@4.5.3: dependencies: strnum: 1.1.2 - fast-xml-parser@5.2.0: - dependencies: - strnum: 2.0.5 - fast-xml-parser@5.2.5: dependencies: strnum: 2.1.1 @@ -12793,7 +13940,7 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -12808,9 +13955,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@10.0.8: + file-entry-cache@10.1.4: dependencies: - flat-cache: 6.1.8 + flat-cache: 6.1.13 file-entry-cache@8.0.0: dependencies: @@ -12852,28 +13999,28 @@ snapshots: fix-dts-default-cjs-exports@1.0.1: dependencies: - magic-string: 0.30.17 - mlly: 1.7.4 - rollup: 4.39.0 + magic-string: 0.30.18 + mlly: 1.8.0 + rollup: 4.49.0 flat-cache@4.0.1: dependencies: flatted: 3.3.3 keyv: 4.5.4 - flat-cache@6.1.8: + flat-cache@6.1.13: dependencies: - cacheable: 1.8.10 + cacheable: 1.10.4 flatted: 3.3.3 - hookified: 1.8.1 + hookified: 1.12.0 flat@5.0.2: {} flatted@3.3.3: {} - follow-redirects@1.15.9(debug@4.4.0): + follow-redirects@1.15.11(debug@4.4.1): optionalDependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) for-each@0.3.5: dependencies: @@ -12884,11 +14031,14 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.2: + form-data-encoder@2.1.4: {} + + form-data@4.0.4: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 format@0.2.2: {} @@ -12901,23 +14051,23 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@12.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + framer-motion@12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: - motion-dom: 12.6.3 - motion-utils: 12.6.3 + motion-dom: 12.23.12 + motion-utils: 12.23.6 tslib: 2.8.1 optionalDependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) fresh@0.5.2: {} fs-constants@1.0.0: {} - fs-extra@11.3.0: + fs-extra@11.3.1: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-extra@5.0.0: @@ -12952,13 +14102,13 @@ snapshots: geckodriver@4.5.0: dependencies: - '@wdio/logger': 9.4.4 - '@zip.js/zip.js': 2.7.60 - decamelize: 6.0.0 + '@wdio/logger': 9.18.0 + '@zip.js/zip.js': 2.7.72 + decamelize: 6.0.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 - tar-fs: 3.0.8 + tar-fs: 3.1.0 which: 4.0.0 transitivePeerDependencies: - bare-buffer @@ -12966,9 +14116,9 @@ snapshots: geckodriver@5.0.0: dependencies: - '@wdio/logger': 9.4.4 + '@wdio/logger': 9.18.0 '@zip.js/zip.js': 2.7.72 - decamelize: 6.0.0 + decamelize: 6.0.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 @@ -12990,8 +14140,6 @@ snapshots: get-caller-file@2.0.5: {} - get-func-name@2.0.2: {} - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -13016,19 +14164,19 @@ snapshots: get-stream@5.2.0: dependencies: - pump: 3.0.2 + pump: 3.0.3 - get-stream@8.0.1: {} + get-stream@6.0.1: {} get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 - get-uri@6.0.4: + get-uri@6.0.5: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.1 + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -13053,11 +14201,11 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.0.1: + glob@11.0.3: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.0 - minimatch: 10.0.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -13090,14 +14238,10 @@ snapshots: kind-of: 6.0.3 which: 1.3.1 - globals@11.12.0: {} - globals@14.0.0: {} globals@15.15.0: {} - globals@16.0.0: {} - globals@16.3.0: {} globby@11.1.0: @@ -13115,6 +14259,20 @@ snapshots: gopd@1.2.0: {} + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + graceful-fs@4.2.11: {} grapheme-splitter@1.0.4: {} @@ -13147,13 +14305,9 @@ snapshots: history@5.3.0: dependencies: - '@babel/runtime': 7.27.0 - - hookified@1.8.1: {} + '@babel/runtime': 7.28.3 - html-encoding-sniffer@3.0.0: - dependencies: - whatwg-encoding: 2.0.0 + hookified@1.12.0: {} html-encoding-sniffer@4.0.0: dependencies: @@ -13163,18 +14317,18 @@ snapshots: dependencies: void-elements: 3.1.0 - html-reporter@10.15.2(playwright@1.55.0)(testplane@8.27.2(@cspotcode/source-map-support@0.8.1)(@types/node@22.14.0)(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@6.0.5)): + html-reporter@10.19.0(@types/node@22.18.0)(playwright@1.55.0)(testplane@8.31.0(@cspotcode/source-map-support@0.8.1)(@types/node@22.18.0)(bufferutil@4.0.9)(sass@1.91.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))(typescript@5.9.2)(utf-8-validate@6.0.5)): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 '@gemini-testing/commander': 2.15.4 '@gemini-testing/sql.js': 2.0.0 ansi-html-community: 0.0.8 - axios: 1.6.3(debug@4.4.0) + axios: 1.6.3(debug@4.4.1) better-sqlite3: 10.1.0 bluebird: 3.7.2 body-parser: 1.20.3 chalk: 4.1.2 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) escape-html: 1.0.3 eventemitter2: 6.4.7 express: 4.21.2 @@ -13184,10 +14338,10 @@ snapshots: gemini-configparser: 1.4.2 http-codes: 1.0.0 image-size: 1.2.1 - inquirer: 8.2.6 + inquirer: 8.2.7(@types/node@22.18.0) json-stringify-safe: 5.0.1 lodash: 4.17.21 - looks-same: 8.2.4 + looks-same: 9.0.1 nested-error-stacks: 2.1.1 npm-which: 3.0.1 opener: 1.5.2 @@ -13197,12 +14351,15 @@ snapshots: signal-exit: 4.1.0 strip-ansi: 6.0.1 tmp: 0.1.0 + url-join: 4.0.1 worker-farm: 1.7.0 yazl: 3.3.1 optionalDependencies: playwright: 1.55.0 - testplane: 8.27.2(@cspotcode/source-map-support@0.8.1)(@types/node@22.14.0)(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@6.0.5) + testplane: 8.31.0(@cspotcode/source-map-support@0.8.1)(@types/node@22.18.0)(bufferutil@4.0.9)(sass@1.91.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))(typescript@5.9.2)(utf-8-validate@6.0.5) transitivePeerDependencies: + - '@types/node' + - bare-buffer - supports-color html-tags@3.3.1: {} @@ -13216,6 +14373,8 @@ snapshots: domutils: 3.2.2 entities: 6.0.1 + http-cache-semantics@4.2.0: {} + http-codes@1.0.0: {} http-errors@2.0.0: @@ -13226,44 +14385,32 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-proxy-agent@5.0.0: - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.3 - debug: 4.4.1 + agent-base: 7.1.4 + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color - https-proxy-agent@5.0.1: + http2-wrapper@2.2.1: dependencies: - agent-base: 6.0.2 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 https-proxy-agent@7.0.6: dependencies: - agent-base: 7.1.3 - debug: 4.4.1 + agent-base: 7.1.4 + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color human-id@4.1.1: {} - human-signals@5.0.0: {} - - i18next-browser-languagedetector@8.0.4: + i18next-browser-languagedetector@8.2.0: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 - i18next-hmr@3.1.3: {} + i18next-hmr@3.1.4: {} i18next-http-backend@3.0.2: dependencies: @@ -13271,11 +14418,11 @@ snapshots: transitivePeerDependencies: - encoding - i18next@24.2.3(typescript@5.7.3): + i18next@24.2.3(typescript@5.9.2): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 iconv-lite@0.4.24: dependencies: @@ -13291,8 +14438,6 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.3: {} - ignore@7.0.5: {} image-size@1.2.1: @@ -13301,16 +14446,18 @@ snapshots: immediate@3.0.6: {} - immutable@5.1.1: {} + immutable@5.1.3: {} import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + import-lazy@4.0.0: {} + import-meta-resolve@4.0.0: {} - import-meta-resolve@4.1.0: {} + import-meta-resolve@4.2.0: {} imurmurhash@0.1.4: {} @@ -13327,13 +14474,13 @@ snapshots: ini@1.3.8: {} - inquirer@8.2.6: + inquirer@8.2.7(@types/node@22.18.0): dependencies: + '@inquirer/external-editor': 1.0.1(@types/node@22.18.0) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 cli-width: 3.0.0 - external-editor: 3.1.0 figures: 3.2.0 lodash: 4.17.21 mute-stream: 0.0.8 @@ -13344,6 +14491,8 @@ snapshots: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 6.2.0 + transitivePeerDependencies: + - '@types/node' internal-slot@1.1.0: dependencies: @@ -13351,10 +14500,7 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - ip-address@9.0.5: - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 + ip-address@10.0.1: {} ipaddr.js@1.9.1: {} @@ -13418,13 +14564,13 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-immutable-type@5.0.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3): + is-immutable-type@5.0.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/type-utils': 8.29.1(eslint@9.33.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.33.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.7.3) - ts-declaration-location: 1.0.7(typescript@5.7.3) - typescript: 5.7.3 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + ts-declaration-location: 1.0.7(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -13464,8 +14610,6 @@ snapshots: is-stream@2.0.1: {} - is-stream@3.0.0: {} - is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -13512,9 +14656,9 @@ snapshots: isexe@3.1.1: {} - isows@1.0.6(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)): + isows@1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)): dependencies: - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) jackspeak@3.4.3: dependencies: @@ -13522,7 +14666,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.1.0: + jackspeak@4.1.1: dependencies: '@isaacs/cliui': 8.0.2 @@ -13544,7 +14688,7 @@ snapshots: jest-message-util@28.1.3: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 '@jest/types': 28.1.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -13557,13 +14701,15 @@ snapshots: jest-util@28.1.3: dependencies: '@jest/types': 28.1.3 - '@types/node': 22.14.0 + '@types/node': 22.18.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - jiti@2.4.2: {} + jiti@2.5.1: {} + + jju@1.4.0: {} jose@5.10.0: {} @@ -13586,46 +14732,16 @@ snapshots: dependencies: argparse: 2.0.1 - jsbn@1.1.0: {} - - jsdoc-type-pratt-parser@4.1.0: {} - - jsdom@22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): - dependencies: - abab: 2.0.6 - cssstyle: 3.0.0 - data-urls: 4.0.0 - decimal.js: 10.6.0 - domexception: 4.0.0 - form-data: 4.0.2 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.21 - parse5: 7.3.0 - rrweb-cssom: 0.6.0 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 4.1.4 - w3c-xmlserializer: 4.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + jsdoc-type-pratt-parser@4.1.0: {} + + jsdoc-type-pratt-parser@4.8.0: {} jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: cssstyle: 4.6.0 data-urls: 5.0.0 decimal.js: 10.6.0 - form-data: 4.0.2 + form-data: 4.0.4 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -13641,7 +14757,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -13668,7 +14784,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -13705,7 +14821,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.1.0: + jsonfile@6.2.0: dependencies: universalify: 2.0.1 optionalDependencies: @@ -13722,13 +14838,17 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.3.2: + keyv@5.5.0: dependencies: - '@keyv/serialize': 1.0.3 + '@keyv/serialize': 1.1.0 kind-of@6.0.3: {} - known-css-properties@0.35.0: {} + known-css-properties@0.37.0: {} + + kolorist@1.8.0: {} + + ky@0.33.0: {} lazystream@1.0.1: dependencies: @@ -13743,10 +14863,10 @@ snapshots: dependencies: immediate: 3.0.6 - lighthouse-logger@2.0.1: + lighthouse-logger@2.0.2: dependencies: - debug: 2.6.9 - marky: 1.2.5 + debug: 4.4.1(supports-color@5.5.0) + marky: 1.3.0 transitivePeerDependencies: - supports-color @@ -13754,20 +14874,17 @@ snapshots: lines-and-columns@1.2.4: {} + load-esm@1.0.2: {} + load-tsconfig@0.2.5: {} local-pkg@0.4.3: {} - local-pkg@0.5.1: - dependencies: - mlly: 1.7.4 - pkg-types: 1.3.1 - - local-pkg@1.1.1: + local-pkg@1.1.2: dependencies: - mlly: 1.7.4 - pkg-types: 2.2.0 - quansync: 0.2.10 + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 locate-app@2.5.0: dependencies: @@ -13820,15 +14937,13 @@ snapshots: longest-streak@3.1.0: {} - looks-same@8.2.4: + looks-same@10.0.1: dependencies: + '@jsquash/png': 3.1.1 + buffer-crc32: 1.0.0 color-diff: 1.4.0 - fs-extra: 8.1.0 - js-graph-algorithms: 1.0.18 - lodash: 4.17.21 nested-error-stacks: 2.1.1 parse-color: 1.0.0 - sharp: 0.30.7 looks-same@9.0.1: dependencies: @@ -13842,16 +14957,14 @@ snapshots: transitivePeerDependencies: - bare-buffer - loupe@2.3.7: - dependencies: - get-func-name: 2.0.2 - - loupe@3.1.3: {} + loupe@3.2.1: {} lower-case@2.0.2: dependencies: tslib: 2.8.1 + lowercase-keys@3.0.0: {} + lru-cache@10.4.3: {} lru-cache@11.1.0: {} @@ -13860,17 +14973,21 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + lru-cache@7.18.3: {} lz-string@1.5.0: {} magic-string@0.27.0: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 - magic-string@0.30.17: + magic-string@0.30.18: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 make-error@1.3.6: {} @@ -13878,7 +14995,7 @@ snapshots: markdown-table@3.0.4: {} - marky@1.2.5: {} + marky@1.3.0: {} math-intrinsics@1.1.0: {} @@ -14013,8 +15130,6 @@ snapshots: merge-descriptors@1.0.3: {} - merge-stream@2.0.0: {} - merge2@1.4.1: {} methods@1.1.2: {} @@ -14198,7 +15313,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1 + debug: 4.4.1(supports-color@5.5.0) decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -14237,35 +15352,35 @@ snapshots: mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} - mimic-response@3.1.0: {} + mimic-response@4.0.0: {} + min-indent@1.0.1: {} - minimatch@10.0.1: + minimatch@10.0.3: dependencies: - brace-expansion: 2.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@5.0.1: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@5.1.6: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.0: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -14277,7 +15392,7 @@ snapshots: mkdirp-classic@0.5.3: {} - mlly@1.7.4: + mlly@1.8.0: dependencies: acorn: 8.15.0 pathe: 2.0.3 @@ -14308,11 +15423,11 @@ snapshots: yargs-parser: 20.2.4 yargs-unparser: 2.0.0 - motion-dom@12.6.3: + motion-dom@12.23.12: dependencies: - motion-utils: 12.6.3 + motion-utils: 12.23.6 - motion-utils@12.6.3: {} + motion-utils@12.23.6: {} mri@1.2.0: {} @@ -14324,6 +15439,8 @@ snapshots: ms@2.1.3: {} + muggle-string@0.4.1: {} + mute-stream@0.0.8: {} mz@2.7.0: @@ -14353,14 +15470,15 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 - node-abi@3.74.0: + node-abi@3.75.0: dependencies: semver: 7.7.2 - node-addon-api@5.1.0: {} - node-addon-api@6.1.0: {} + node-addon-api@7.1.1: + optional: true + node-domexception@1.0.0: {} node-fetch@2.7.0: @@ -14378,16 +15496,16 @@ snapshots: node-releases@2.0.19: {} - nodemailer@6.10.0: {} + nodemailer@6.10.1: {} - nodemon@3.1.9: + nodemon@3.1.10: dependencies: chokidar: 3.6.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) ignore-by-default: 1.0.1 minimatch: 3.1.2 pstree.remy: 1.1.8 - semver: 7.7.1 + semver: 7.7.2 simple-update-notifier: 2.0.0 supports-color: 5.5.0 touch: 3.1.1 @@ -14397,14 +15515,12 @@ snapshots: normalize-range@0.1.2: {} + normalize-url@8.0.2: {} + npm-path@2.0.4: dependencies: which: 1.3.1 - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - npm-which@3.0.1: dependencies: commander: 2.20.3 @@ -14451,10 +15567,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -14488,6 +15600,8 @@ snapshots: outdent@0.5.0: {} + p-cancelable@3.0.0: {} + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -14500,10 +15614,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@5.0.0: - dependencies: - yocto-queue: 1.2.1 - p-limit@6.2.0: dependencies: yocto-queue: 1.2.1 @@ -14533,9 +15643,9 @@ snapshots: pac-proxy-agent@7.2.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 - agent-base: 7.1.3 - debug: 4.4.1 - get-uri: 6.0.4 + agent-base: 7.1.4 + debug: 4.4.1(supports-color@5.5.0) + get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 pac-resolver: 7.0.1 @@ -14552,7 +15662,7 @@ snapshots: package-manager-detector@0.2.11: dependencies: - quansync: 0.2.10 + quansync: 0.2.11 package-manager-detector@1.3.0: {} @@ -14574,7 +15684,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -14596,14 +15706,14 @@ snapshots: parseurl@1.3.3: {} + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} path-key@3.1.1: {} - path-key@4.0.0: {} - path-parse@1.0.7: {} path-scurry@1.11.1: @@ -14622,17 +15732,13 @@ snapshots: path-type@4.0.0: {} - pathe@1.1.2: {} - pathe@2.0.3: {} - pathval@1.1.1: {} - - pathval@2.0.0: {} + pathval@2.0.1: {} - patronum@2.3.0(effector@23.3.0): + patronum@2.3.0(effector@23.4.2): dependencies: - effector: 23.3.0 + effector: 23.4.2 pend@1.2.0: {} @@ -14640,8 +15746,6 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.2: {} - picomatch@4.0.3: {} pify@4.0.1: {} @@ -14661,7 +15765,7 @@ snapshots: minimist: 1.2.8 on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 - pump: 3.0.2 + pump: 3.0.3 readable-stream: 4.7.0 secure-json-parse: 2.7.0 sonic-boom: 4.2.0 @@ -14669,14 +15773,14 @@ snapshots: pino-std-serializers@7.0.0: {} - pino@9.6.0: + pino@9.9.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 pino-std-serializers: 7.0.0 - process-warning: 4.0.1 + process-warning: 5.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 @@ -14690,10 +15794,10 @@ snapshots: pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.4 + mlly: 1.8.0 pathe: 2.0.3 - pkg-types@2.2.0: + pkg-types@2.3.0: dependencies: confbox: 0.2.2 exsolve: 1.0.7 @@ -14717,244 +15821,247 @@ snapshots: png-validator@1.1.0: {} - pnpm-workspace-yaml@1.1.0: + pnpm-workspace-yaml@1.1.1: dependencies: yaml: 2.8.1 polished@4.3.1: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 possible-typed-array-names@1.1.0: {} - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.3): + postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-clamp@4.1.0(postcss@8.5.3): + postcss-clamp@4.1.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@7.0.8(postcss@8.5.3): + postcss-color-functional-notation@7.0.11(postcss@8.5.6): dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - postcss-color-hex-alpha@10.0.0(postcss@8.5.3): + postcss-color-hex-alpha@10.0.0(postcss@8.5.6): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@10.0.0(postcss@8.5.3): + postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-custom-media@11.0.5(postcss@8.5.3): + postcss-custom-media@11.0.6(postcss@8.5.6): dependencies: - '@csstools/cascade-layer-name-parser': 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - postcss: 8.5.3 + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.6 - postcss-custom-properties@14.0.4(postcss@8.5.3): + postcss-custom-properties@14.0.6(postcss@8.5.6): dependencies: - '@csstools/cascade-layer-name-parser': 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-custom-selectors@8.0.4(postcss@8.5.3): + postcss-custom-selectors@8.0.5(postcss@8.5.6): dependencies: - '@csstools/cascade-layer-name-parser': 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - postcss: 8.5.3 + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-dir-pseudo-class@9.0.1(postcss@8.5.3): + postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-double-position-gradients@6.0.0(postcss@8.5.3): + postcss-double-position-gradients@6.0.3(postcss@8.5.6): dependencies: - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-flexbugs-fixes@5.0.2(postcss@8.5.3): + postcss-flexbugs-fixes@5.0.2(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-focus-visible@10.0.1(postcss@8.5.3): + postcss-focus-visible@10.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-focus-within@9.0.1(postcss@8.5.3): + postcss-focus-within@9.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-font-variant@5.0.0(postcss@8.5.3): + postcss-font-variant@5.0.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-gap-properties@6.0.0(postcss@8.5.3): + postcss-gap-properties@6.0.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-image-set-function@7.0.0(postcss@8.5.3): + postcss-image-set-function@7.0.0(postcss@8.5.6): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-lab-function@7.0.8(postcss@8.5.3): + postcss-lab-function@7.0.11(postcss@8.5.6): dependencies: - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/utilities': 2.0.0(postcss@8.5.3) - postcss: 8.5.3 + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/utilities': 2.0.0(postcss@8.5.6) + postcss: 8.5.6 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.6)(yaml@2.8.1): + postcss-load-config@6.0.1(jiti@2.5.1)(postcss@8.5.6)(yaml@2.8.1): dependencies: lilconfig: 3.1.3 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 postcss: 8.5.6 yaml: 2.8.1 - postcss-logical@8.1.0(postcss@8.5.3): + postcss-logical@8.1.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-nesting@13.0.1(postcss@8.5.3): + postcss-nesting@13.0.2(postcss@8.5.6): dependencies: - '@csstools/selector-resolve-nested': 3.0.0(postcss-selector-parser@7.1.0) + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-opacity-percentage@3.0.0(postcss@8.5.3): + postcss-opacity-percentage@3.0.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-overflow-shorthand@6.0.0(postcss@8.5.3): + postcss-overflow-shorthand@6.0.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-page-break@3.0.4(postcss@8.5.3): + postcss-page-break@3.0.4(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-place@10.0.0(postcss@8.5.3): + postcss-place@10.0.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-preset-env@10.1.5(postcss@8.5.3): - dependencies: - '@csstools/postcss-cascade-layers': 5.0.1(postcss@8.5.3) - '@csstools/postcss-color-function': 4.0.8(postcss@8.5.3) - '@csstools/postcss-color-mix-function': 3.0.8(postcss@8.5.3) - '@csstools/postcss-content-alt-text': 2.0.4(postcss@8.5.3) - '@csstools/postcss-exponential-functions': 2.0.7(postcss@8.5.3) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.3) - '@csstools/postcss-gamut-mapping': 2.0.8(postcss@8.5.3) - '@csstools/postcss-gradients-interpolation-method': 5.0.8(postcss@8.5.3) - '@csstools/postcss-hwb-function': 4.0.8(postcss@8.5.3) - '@csstools/postcss-ic-unit': 4.0.0(postcss@8.5.3) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.3) - '@csstools/postcss-is-pseudo-class': 5.0.1(postcss@8.5.3) - '@csstools/postcss-light-dark-function': 2.0.7(postcss@8.5.3) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.3) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.3) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.3) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.3) - '@csstools/postcss-logical-viewport-units': 3.0.3(postcss@8.5.3) - '@csstools/postcss-media-minmax': 2.0.7(postcss@8.5.3) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.4(postcss@8.5.3) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.3) - '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.3) - '@csstools/postcss-oklab-function': 4.0.8(postcss@8.5.3) - '@csstools/postcss-progressive-custom-properties': 4.0.0(postcss@8.5.3) - '@csstools/postcss-random-function': 1.0.3(postcss@8.5.3) - '@csstools/postcss-relative-color-syntax': 3.0.8(postcss@8.5.3) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.3) - '@csstools/postcss-sign-functions': 1.1.2(postcss@8.5.3) - '@csstools/postcss-stepped-value-functions': 4.0.7(postcss@8.5.3) - '@csstools/postcss-text-decoration-shorthand': 4.0.2(postcss@8.5.3) - '@csstools/postcss-trigonometric-functions': 4.0.7(postcss@8.5.3) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.3) - autoprefixer: 10.4.21(postcss@8.5.3) - browserslist: 4.24.4 - css-blank-pseudo: 7.0.1(postcss@8.5.3) - css-has-pseudo: 7.0.2(postcss@8.5.3) - css-prefers-color-scheme: 10.0.0(postcss@8.5.3) - cssdb: 8.2.4 - postcss: 8.5.3 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.3) - postcss-clamp: 4.1.0(postcss@8.5.3) - postcss-color-functional-notation: 7.0.8(postcss@8.5.3) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.3) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.3) - postcss-custom-media: 11.0.5(postcss@8.5.3) - postcss-custom-properties: 14.0.4(postcss@8.5.3) - postcss-custom-selectors: 8.0.4(postcss@8.5.3) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.3) - postcss-double-position-gradients: 6.0.0(postcss@8.5.3) - postcss-focus-visible: 10.0.1(postcss@8.5.3) - postcss-focus-within: 9.0.1(postcss@8.5.3) - postcss-font-variant: 5.0.0(postcss@8.5.3) - postcss-gap-properties: 6.0.0(postcss@8.5.3) - postcss-image-set-function: 7.0.0(postcss@8.5.3) - postcss-lab-function: 7.0.8(postcss@8.5.3) - postcss-logical: 8.1.0(postcss@8.5.3) - postcss-nesting: 13.0.1(postcss@8.5.3) - postcss-opacity-percentage: 3.0.0(postcss@8.5.3) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.3) - postcss-page-break: 3.0.4(postcss@8.5.3) - postcss-place: 10.0.0(postcss@8.5.3) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.3) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.3) - postcss-selector-not: 8.0.1(postcss@8.5.3) - - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.3): - dependencies: - postcss: 8.5.3 + postcss-preset-env@10.3.1(postcss@8.5.6): + dependencies: + '@csstools/postcss-alpha-function': 1.0.0(postcss@8.5.6) + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) + '@csstools/postcss-color-function': 4.0.11(postcss@8.5.6) + '@csstools/postcss-color-function-display-p3-linear': 1.0.0(postcss@8.5.6) + '@csstools/postcss-color-mix-function': 3.0.11(postcss@8.5.6) + '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.1(postcss@8.5.6) + '@csstools/postcss-content-alt-text': 2.0.7(postcss@8.5.6) + '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) + '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6) + '@csstools/postcss-gradients-interpolation-method': 5.0.11(postcss@8.5.6) + '@csstools/postcss-hwb-function': 4.0.11(postcss@8.5.6) + '@csstools/postcss-ic-unit': 4.0.3(postcss@8.5.6) + '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) + '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) + '@csstools/postcss-light-dark-function': 2.0.10(postcss@8.5.6) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) + '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) + '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) + '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.6) + '@csstools/postcss-oklab-function': 4.0.11(postcss@8.5.6) + '@csstools/postcss-progressive-custom-properties': 4.2.0(postcss@8.5.6) + '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) + '@csstools/postcss-relative-color-syntax': 3.0.11(postcss@8.5.6) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) + '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) + '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) + '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6) + '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) + autoprefixer: 10.4.21(postcss@8.5.6) + browserslist: 4.25.4 + css-blank-pseudo: 7.0.1(postcss@8.5.6) + css-has-pseudo: 7.0.3(postcss@8.5.6) + css-prefers-color-scheme: 10.0.0(postcss@8.5.6) + cssdb: 8.4.0 + postcss: 8.5.6 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) + postcss-clamp: 4.1.0(postcss@8.5.6) + postcss-color-functional-notation: 7.0.11(postcss@8.5.6) + postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) + postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) + postcss-custom-media: 11.0.6(postcss@8.5.6) + postcss-custom-properties: 14.0.6(postcss@8.5.6) + postcss-custom-selectors: 8.0.5(postcss@8.5.6) + postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) + postcss-double-position-gradients: 6.0.3(postcss@8.5.6) + postcss-focus-visible: 10.0.1(postcss@8.5.6) + postcss-focus-within: 9.0.1(postcss@8.5.6) + postcss-font-variant: 5.0.0(postcss@8.5.6) + postcss-gap-properties: 6.0.0(postcss@8.5.6) + postcss-image-set-function: 7.0.0(postcss@8.5.6) + postcss-lab-function: 7.0.11(postcss@8.5.6) + postcss-logical: 8.1.0(postcss@8.5.6) + postcss-nesting: 13.0.2(postcss@8.5.6) + postcss-opacity-percentage: 3.0.0(postcss@8.5.6) + postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) + postcss-page-break: 3.0.4(postcss@8.5.6) + postcss-place: 10.0.0(postcss@8.5.6) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) + postcss-selector-not: 8.0.1(postcss@8.5.6) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 postcss-selector-parser: 7.1.0 - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.3): + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-resolve-nested-selector@0.1.6: {} - postcss-safe-parser@7.0.1(postcss@8.5.3): + postcss-safe-parser@7.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-selector-not@8.0.1(postcss@8.5.3): + postcss-selector-not@8.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 7.1.0 postcss-selector-parser@6.1.2: @@ -14969,12 +16076,6 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.3: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -14983,17 +16084,17 @@ snapshots: prebuild-install@7.1.3: dependencies: - detect-libc: 2.0.3 + detect-libc: 2.0.4 expand-template: 2.0.3 github-from-package: 0.0.0 minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 2.0.0 - node-abi: 3.74.0 - pump: 3.0.2 + node-abi: 3.75.0 + pump: 3.0.3 rc: 1.2.8 simple-get: 4.0.1 - tar-fs: 2.1.2 + tar-fs: 2.1.3 tunnel-agent: 0.6.0 prelude-ls@1.2.1: {} @@ -15004,7 +16105,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.5.3: {} + prettier@3.6.2: {} pretty-format@27.5.1: dependencies: @@ -15019,15 +16120,9 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - process-nextick-args@2.0.1: {} - process-warning@4.0.1: {} + process-warning@5.0.0: {} process@0.11.10: {} @@ -15040,8 +16135,8 @@ snapshots: proxy-agent@6.3.0: dependencies: - agent-base: 7.1.3 - debug: 4.4.1 + agent-base: 7.1.4 + debug: 4.4.1(supports-color@5.5.0) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -15053,8 +16148,8 @@ snapshots: proxy-agent@6.5.0: dependencies: - agent-base: 7.1.3 - debug: 4.4.1 + agent-base: 7.1.4 + debug: 4.4.1(supports-color@5.5.0) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -15074,11 +16169,6 @@ snapshots: pstree.remy@1.1.8: {} - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -15086,16 +16176,16 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@20.9.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5): + puppeteer-core@20.9.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5): dependencies: - '@puppeteer/browsers': 1.4.6(typescript@5.7.3) + '@puppeteer/browsers': 1.4.6(typescript@5.9.2) chromium-bidi: 0.4.16(devtools-protocol@0.0.1147663) cross-fetch: 4.0.0 debug: 4.3.4(supports-color@8.1.1) devtools-protocol: 0.0.1147663 ws: 8.13.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - typescript: 5.7.3 + typescript: 5.9.2 transitivePeerDependencies: - bufferutil - encoding @@ -15110,7 +16200,7 @@ snapshots: dependencies: side-channel: 1.1.0 - quansync@0.2.10: {} + quansync@0.2.11: {} query-selector-shadow-dom@1.0.1: {} @@ -15124,6 +16214,8 @@ snapshots: quick-format-unescaped@4.0.4: {} + quick-lru@5.1.1: {} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -15144,22 +16236,22 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-confetti@6.4.0(react@19.1.0): + react-confetti@6.4.0(react@19.1.1): dependencies: - react: 19.1.0 + react: 19.1.1 tween-functions: 1.2.0 - react-docgen-typescript@2.2.2(typescript@5.7.3): + react-docgen-typescript@2.4.0(typescript@5.9.2): dependencies: - typescript: 5.7.3 + typescript: 5.9.2 react-docgen@7.1.1: dependencies: - '@babel/core': 7.26.10 - '@babel/traverse': 7.27.0 + '@babel/core': 7.28.3 + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.7 + '@types/babel__traverse': 7.28.0 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 @@ -15168,19 +16260,20 @@ snapshots: transitivePeerDependencies: - supports-color - react-dom@19.1.0(react@19.1.0): + react-dom@19.1.1(react@19.1.1): dependencies: - react: 19.1.0 + react: 19.1.1 scheduler: 0.26.0 - react-i18next@15.4.1(i18next@24.2.3(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-i18next@15.7.3(i18next@24.2.3(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.28.3 html-parse-stringify: 3.0.1 - i18next: 24.2.3(typescript@5.7.3) - react: 19.1.0 + i18next: 24.2.3(typescript@5.9.2) + react: 19.1.1 optionalDependencies: - react-dom: 19.1.0(react@19.1.0) + react-dom: 19.1.1(react@19.1.1) + typescript: 5.9.2 react-is@17.0.2: {} @@ -15188,13 +16281,13 @@ snapshots: react-refresh@0.14.2: {} - react-use-measure@2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-use-measure@2.1.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: - react: 19.1.0 + react: 19.1.1 optionalDependencies: - react-dom: 19.1.0(react@19.1.0) + react-dom: 19.1.1(react@19.1.1) - react@19.1.0: {} + react@19.1.1: {} read-yaml-file@1.1.0: dependencies: @@ -15264,8 +16357,6 @@ snapshots: dependencies: '@eslint-community/regexpp': 4.12.1 - regenerator-runtime@0.14.1: {} - regexp-ast-analysis@0.7.1: dependencies: '@eslint-community/regexpp': 4.12.1 @@ -15294,6 +16385,8 @@ snapshots: reselect@5.1.1: {} + resolve-alpn@1.2.1: {} + resolve-from@1.0.1: {} resolve-from@4.0.0: {} @@ -15310,6 +16403,10 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + resq@1.11.0: dependencies: fast-deep-equal: 2.0.1 @@ -15319,6 +16416,8 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + ret@0.5.0: {} + retry@0.13.1: {} reusify@1.1.0: {} @@ -15333,48 +16432,46 @@ snapshots: rimraf@6.0.1: dependencies: - glob: 11.0.1 + glob: 11.0.3 package-json-from-dist: 1.0.1 - rollup@4.39.0: + rollup@4.49.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.39.0 - '@rollup/rollup-android-arm64': 4.39.0 - '@rollup/rollup-darwin-arm64': 4.39.0 - '@rollup/rollup-darwin-x64': 4.39.0 - '@rollup/rollup-freebsd-arm64': 4.39.0 - '@rollup/rollup-freebsd-x64': 4.39.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.39.0 - '@rollup/rollup-linux-arm-musleabihf': 4.39.0 - '@rollup/rollup-linux-arm64-gnu': 4.39.0 - '@rollup/rollup-linux-arm64-musl': 4.39.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.39.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.39.0 - '@rollup/rollup-linux-riscv64-gnu': 4.39.0 - '@rollup/rollup-linux-riscv64-musl': 4.39.0 - '@rollup/rollup-linux-s390x-gnu': 4.39.0 - '@rollup/rollup-linux-x64-gnu': 4.39.0 - '@rollup/rollup-linux-x64-musl': 4.39.0 - '@rollup/rollup-win32-arm64-msvc': 4.39.0 - '@rollup/rollup-win32-ia32-msvc': 4.39.0 - '@rollup/rollup-win32-x64-msvc': 4.39.0 + '@rollup/rollup-android-arm-eabi': 4.49.0 + '@rollup/rollup-android-arm64': 4.49.0 + '@rollup/rollup-darwin-arm64': 4.49.0 + '@rollup/rollup-darwin-x64': 4.49.0 + '@rollup/rollup-freebsd-arm64': 4.49.0 + '@rollup/rollup-freebsd-x64': 4.49.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.49.0 + '@rollup/rollup-linux-arm-musleabihf': 4.49.0 + '@rollup/rollup-linux-arm64-gnu': 4.49.0 + '@rollup/rollup-linux-arm64-musl': 4.49.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.49.0 + '@rollup/rollup-linux-ppc64-gnu': 4.49.0 + '@rollup/rollup-linux-riscv64-gnu': 4.49.0 + '@rollup/rollup-linux-riscv64-musl': 4.49.0 + '@rollup/rollup-linux-s390x-gnu': 4.49.0 + '@rollup/rollup-linux-x64-gnu': 4.49.0 + '@rollup/rollup-linux-x64-musl': 4.49.0 + '@rollup/rollup-win32-arm64-msvc': 4.49.0 + '@rollup/rollup-win32-ia32-msvc': 4.49.0 + '@rollup/rollup-win32-x64-msvc': 4.49.0 fsevents: 2.3.3 rrdom@2.0.0-alpha.18: dependencies: rrweb-snapshot: 2.0.0-alpha.18 - rrweb-cssom@0.6.0: {} - rrweb-cssom@0.7.1: {} rrweb-cssom@0.8.0: {} rrweb-snapshot@2.0.0-alpha.18: dependencies: - postcss: 8.5.3 + postcss: 8.5.6 rrweb@2.0.0-alpha.18: dependencies: @@ -15409,101 +16506,109 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 + safe-regex2@5.0.0: + dependencies: + ret: 0.5.0 + safe-stable-stringify@2.5.0: {} safer-buffer@2.1.2: {} - sass-embedded-android-arm64@1.86.3: - optional: true - - sass-embedded-android-arm@1.86.3: - optional: true - - sass-embedded-android-ia32@1.86.3: + sass-embedded-all-unknown@1.91.0: + dependencies: + sass: 1.91.0 optional: true - sass-embedded-android-riscv64@1.86.3: + sass-embedded-android-arm64@1.91.0: optional: true - sass-embedded-android-x64@1.86.3: + sass-embedded-android-arm@1.91.0: optional: true - sass-embedded-darwin-arm64@1.86.3: + sass-embedded-android-riscv64@1.91.0: optional: true - sass-embedded-darwin-x64@1.86.3: + sass-embedded-android-x64@1.91.0: optional: true - sass-embedded-linux-arm64@1.86.3: + sass-embedded-darwin-arm64@1.91.0: optional: true - sass-embedded-linux-arm@1.86.3: + sass-embedded-darwin-x64@1.91.0: optional: true - sass-embedded-linux-ia32@1.86.3: + sass-embedded-linux-arm64@1.91.0: optional: true - sass-embedded-linux-musl-arm64@1.86.3: + sass-embedded-linux-arm@1.91.0: optional: true - sass-embedded-linux-musl-arm@1.86.3: + sass-embedded-linux-musl-arm64@1.91.0: optional: true - sass-embedded-linux-musl-ia32@1.86.3: + sass-embedded-linux-musl-arm@1.91.0: optional: true - sass-embedded-linux-musl-riscv64@1.86.3: + sass-embedded-linux-musl-riscv64@1.91.0: optional: true - sass-embedded-linux-musl-x64@1.86.3: + sass-embedded-linux-musl-x64@1.91.0: optional: true - sass-embedded-linux-riscv64@1.86.3: + sass-embedded-linux-riscv64@1.91.0: optional: true - sass-embedded-linux-x64@1.86.3: + sass-embedded-linux-x64@1.91.0: optional: true - sass-embedded-win32-arm64@1.86.3: + sass-embedded-unknown-all@1.91.0: + dependencies: + sass: 1.91.0 optional: true - sass-embedded-win32-ia32@1.86.3: + sass-embedded-win32-arm64@1.91.0: optional: true - sass-embedded-win32-x64@1.86.3: + sass-embedded-win32-x64@1.91.0: optional: true - sass-embedded@1.86.3: + sass-embedded@1.91.0: dependencies: - '@bufbuild/protobuf': 2.2.5 + '@bufbuild/protobuf': 2.7.0 buffer-builder: 0.2.0 colorjs.io: 0.5.2 - immutable: 5.1.1 + immutable: 5.1.3 rxjs: 7.8.2 supports-color: 8.1.1 sync-child-process: 1.0.2 varint: 6.0.0 optionalDependencies: - sass-embedded-android-arm: 1.86.3 - sass-embedded-android-arm64: 1.86.3 - sass-embedded-android-ia32: 1.86.3 - sass-embedded-android-riscv64: 1.86.3 - sass-embedded-android-x64: 1.86.3 - sass-embedded-darwin-arm64: 1.86.3 - sass-embedded-darwin-x64: 1.86.3 - sass-embedded-linux-arm: 1.86.3 - sass-embedded-linux-arm64: 1.86.3 - sass-embedded-linux-ia32: 1.86.3 - sass-embedded-linux-musl-arm: 1.86.3 - sass-embedded-linux-musl-arm64: 1.86.3 - sass-embedded-linux-musl-ia32: 1.86.3 - sass-embedded-linux-musl-riscv64: 1.86.3 - sass-embedded-linux-musl-x64: 1.86.3 - sass-embedded-linux-riscv64: 1.86.3 - sass-embedded-linux-x64: 1.86.3 - sass-embedded-win32-arm64: 1.86.3 - sass-embedded-win32-ia32: 1.86.3 - sass-embedded-win32-x64: 1.86.3 + sass-embedded-all-unknown: 1.91.0 + sass-embedded-android-arm: 1.91.0 + sass-embedded-android-arm64: 1.91.0 + sass-embedded-android-riscv64: 1.91.0 + sass-embedded-android-x64: 1.91.0 + sass-embedded-darwin-arm64: 1.91.0 + sass-embedded-darwin-x64: 1.91.0 + sass-embedded-linux-arm: 1.91.0 + sass-embedded-linux-arm64: 1.91.0 + sass-embedded-linux-musl-arm: 1.91.0 + sass-embedded-linux-musl-arm64: 1.91.0 + sass-embedded-linux-musl-riscv64: 1.91.0 + sass-embedded-linux-musl-x64: 1.91.0 + sass-embedded-linux-riscv64: 1.91.0 + sass-embedded-linux-x64: 1.91.0 + sass-embedded-unknown-all: 1.91.0 + sass-embedded-win32-arm64: 1.91.0 + sass-embedded-win32-x64: 1.91.0 + + sass@1.91.0: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 saxes@6.0.0: dependencies: @@ -15521,7 +16626,9 @@ snapshots: semver@6.3.1: {} - semver@7.7.1: {} + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 semver@7.7.2: {} @@ -15580,26 +16687,15 @@ snapshots: setprototypeof@1.2.0: {} - sharp@0.30.7: - dependencies: - color: 4.2.3 - detect-libc: 2.0.3 - node-addon-api: 5.1.0 - prebuild-install: 7.1.3 - semver: 7.7.2 - simple-get: 4.0.1 - tar-fs: 2.1.2 - tunnel-agent: 0.6.0 - sharp@0.32.6: dependencies: color: 4.2.3 - detect-libc: 2.0.3 + detect-libc: 2.0.4 node-addon-api: 6.1.0 prebuild-install: 7.1.3 - semver: 7.7.1 + semver: 7.7.2 simple-get: 4.0.1 - tar-fs: 3.0.8 + tar-fs: 3.1.0 tunnel-agent: 0.6.0 transitivePeerDependencies: - bare-buffer @@ -15666,13 +16762,7 @@ snapshots: simple-update-notifier@2.0.0: dependencies: - semver: 7.7.1 - - sirv@2.0.4: - dependencies: - '@polka/url': 1.0.0-next.29 - mrmime: 2.0.1 - totalist: 3.0.1 + semver: 7.7.2 sirv@3.0.1: dependencies: @@ -15742,15 +16832,15 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: - agent-base: 7.1.3 - debug: 4.4.1 - socks: 2.8.4 + agent-base: 7.1.4 + debug: 4.4.1(supports-color@5.5.0) + socks: 2.8.7 transitivePeerDependencies: - supports-color - socks@2.8.4: + socks@2.8.7: dependencies: - ip-address: 9.0.5 + ip-address: 10.0.1 smart-buffer: 4.2.0 sonic-boom@2.8.0: @@ -15791,8 +16881,6 @@ snapshots: sprintf-js@1.0.3: {} - sprintf-js@1.1.3: {} - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -15812,33 +16900,35 @@ snapshots: storybook-i18n@3.1.1: {} - storybook-react-i18next@3.2.1(i18next-browser-languagedetector@8.0.4)(i18next-http-backend@3.0.2)(i18next@24.2.3(typescript@5.7.3))(react-i18next@15.4.1(i18next@24.2.3(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)): + storybook-react-i18next@3.3.1(i18next-browser-languagedetector@8.2.0)(i18next-http-backend@3.0.2)(i18next@24.2.3(typescript@5.9.2))(react-i18next@15.7.3(i18next@24.2.3(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)): dependencies: - i18next: 24.2.3(typescript@5.7.3) - i18next-browser-languagedetector: 8.0.4 + i18next: 24.2.3(typescript@5.9.2) + i18next-browser-languagedetector: 8.2.0 i18next-http-backend: 3.0.2 - react-i18next: 15.4.1(i18next@24.2.3(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-i18next: 15.7.3(i18next@24.2.3(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) storybook-i18n: 3.1.1 - storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5): + storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5): dependencies: - '@storybook/core': 8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(storybook@8.6.11(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5) + '@storybook/core': 8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(storybook@8.6.14(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5) optionalDependencies: - prettier: 3.5.3 + prettier: 3.6.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - streamx@2.22.0: + streamx@2.22.1: dependencies: fast-fifo: 1.3.2 text-decoder: 1.2.3 optionalDependencies: - bare-events: 2.5.4 + bare-events: 2.6.1 strftime@0.10.2: {} + string-argv@0.3.2: {} + string-ts@2.2.1: {} string-width@4.2.3: @@ -15867,12 +16957,10 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.0 strip-bom@3.0.0: {} - strip-final-newline@3.0.0: {} - strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -15885,48 +16973,46 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@2.1.1: + strip-literal@3.0.0: dependencies: js-tokens: 9.0.1 strnum@1.1.2: {} - strnum@2.0.5: {} - strnum@2.1.1: {} - stylelint@16.18.0(typescript@5.7.3): + stylelint@16.23.1(typescript@5.9.2): dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) '@dual-bundle/import-meta-resolve': 4.1.0 balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.7.3) + cosmiconfig: 9.0.0(typescript@5.9.2) css-functions-list: 3.2.3 css-tree: 3.1.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 10.0.8 + file-entry-cache: 10.1.4 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 html-tags: 3.3.1 - ignore: 7.0.3 + ignore: 7.0.5 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.35.0 + known-css-properties: 0.37.0 mathml-tag-names: 2.1.3 meow: 13.2.0 micromatch: 4.0.8 normalize-path: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.3 + postcss: 8.5.6 postcss-resolve-nested-selector: 0.1.6 - postcss-safe-parser: 7.0.1(postcss@8.5.3) + postcss-safe-parser: 7.0.1(postcss@8.5.6) postcss-selector-parser: 7.1.0 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -15968,11 +17054,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - surrealdb@1.0.0-beta.21(tslib@2.8.1)(typescript@5.8.3)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)): + surrealdb@1.0.0-beta.21(tslib@2.8.1)(typescript@5.9.2)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)): dependencies: - isows: 1.0.6(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + isows: 1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) tslib: 2.8.1 - typescript: 5.8.3 + typescript: 5.9.2 uuidv7: 1.0.2 optionalDependencies: bufferutil: 4.0.9 @@ -15980,11 +17066,11 @@ snapshots: transitivePeerDependencies: - ws - surrealdb@1.3.1(tslib@2.8.1)(typescript@5.7.3)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)): + surrealdb@1.3.2(tslib@2.8.1)(typescript@5.9.2)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)): dependencies: - isows: 1.0.6(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + isows: 1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) tslib: 2.8.1 - typescript: 5.7.3 + typescript: 5.9.2 uuidv7: 1.0.2 transitivePeerDependencies: - ws @@ -15997,9 +17083,9 @@ snapshots: dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 - css-select: 5.1.0 + css-select: 5.2.2 css-tree: 2.3.1 - css-what: 6.1.0 + css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 @@ -16015,7 +17101,7 @@ snapshots: dependencies: '@pkgr/core': 0.2.9 - synckit@0.9.2: + synckit@0.9.3: dependencies: '@pkgr/core': 0.1.2 tslib: 2.8.1 @@ -16030,37 +17116,27 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tapable@2.2.2: {} + tapable@2.2.3: {} - tar-fs@2.1.2: + tar-fs@2.1.3: dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 - pump: 3.0.2 + pump: 3.0.3 tar-stream: 2.2.0 tar-fs@3.0.4: dependencies: mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 3.1.7 - - tar-fs@3.0.8: - dependencies: - pump: 3.0.2 + pump: 3.0.3 tar-stream: 3.1.7 - optionalDependencies: - bare-fs: 4.1.2 - bare-path: 3.0.0 - transitivePeerDependencies: - - bare-buffer tar-fs@3.1.0: dependencies: pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.1.6 + bare-fs: 4.2.1 bare-path: 3.0.0 transitivePeerDependencies: - bare-buffer @@ -16068,7 +17144,7 @@ snapshots: tar-stream@2.2.0: dependencies: bl: 4.1.0 - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 @@ -16077,7 +17153,7 @@ snapshots: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.22.0 + streamx: 2.22.1 temp@0.8.3: dependencies: @@ -16086,25 +17162,27 @@ snapshots: term-size@2.2.1: {} - testplane@8.27.2(@cspotcode/source-map-support@0.8.1)(@types/node@22.14.0)(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@6.0.5): + testplane@8.31.0(@cspotcode/source-map-support@0.8.1)(@types/node@22.18.0)(bufferutil@4.0.9)(sass@1.91.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))(typescript@5.9.2)(utf-8-validate@6.0.5): dependencies: '@babel/code-frame': 7.24.2 '@gemini-testing/commander': 2.15.4 '@jspm/core': 2.0.1 + '@jsquash/png': 3.1.1 '@puppeteer/browsers': 2.7.1 '@rrweb/record': 2.0.0-alpha.18 - '@testplane/devtools': 8.32.3(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5) + '@testplane/devtools': 8.32.3(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5) '@testplane/wdio-protocols': 9.4.6 '@testplane/wdio-utils': 9.5.3 - '@testplane/webdriverio': 9.5.17(@testplane/devtools@8.32.3(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@6.0.5) + '@testplane/webdriverio': 9.5.21(@testplane/devtools@8.32.3(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@6.0.5) '@vitest/spy': 2.1.4 - bluebird: 3.5.1 + buffer-crc32: 1.0.0 chalk: 2.4.2 clear-require: 1.0.1 cli-progress: 3.12.0 debug: 2.6.9 edgedriver: 5.6.1 error-stack-parser: 2.1.4 + esbuild: 0.25.8 expect-webdriverio: 3.6.0 extract-zip: 2.0.1 fastq: 1.13.0 @@ -16113,16 +17191,17 @@ snapshots: gemini-configparser: 1.4.1 get-port: 5.1.1 import-meta-resolve: 4.0.0 + load-esm: 1.0.2 local-pkg: 0.4.3 lodash: 4.17.21 - looks-same: 9.0.1 + looks-same: 10.0.1 micromatch: 4.0.5 mocha: 10.2.0 + pirates: 4.0.7 plugins-loader: 1.3.4 png-validator: 1.1.0 recast: 0.23.6 resolve.exports: 2.0.2 - sharp: 0.32.6 sizzle: 2.3.6 socket.io: 4.7.5(bufferutil@4.0.9)(utf-8-validate@6.0.5) socket.io-client: 4.7.5(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16133,13 +17212,13 @@ snapshots: tinyspy: 3.0.2 urijs: 1.19.11 url-join: 4.0.1 - vite: 5.1.6(@types/node@22.14.0) + vite: 5.1.6(@types/node@22.18.0)(sass@1.91.0) wait-port: 1.1.0 worker-farm: 1.7.0 yallist: 3.1.1 optionalDependencies: '@cspotcode/source-map-support': 0.8.1 - ts-node: 10.9.2(@types/node@22.14.0)(typescript@5.7.3) + ts-node: 10.9.2(@types/node@22.18.0)(typescript@5.9.2) transitivePeerDependencies: - '@types/node' - bare-buffer @@ -16183,19 +17262,19 @@ snapshots: tinyglobby@0.2.14: dependencies: - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinypool@0.8.4: {} - tinypool@1.1.1: {} tinyrainbow@1.2.0: {} - tinyspy@2.2.1: {} + tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} + tinyspy@4.0.3: {} + tldts-core@6.1.86: optional: true @@ -16204,10 +17283,6 @@ snapshots: tldts-core: 6.1.86 optional: true - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - tmp@0.1.0: dependencies: rimraf: 2.7.1 @@ -16244,71 +17319,44 @@ snapshots: dependencies: punycode: 2.3.1 - tr46@4.1.1: - dependencies: - punycode: 2.3.1 - tr46@5.1.1: dependencies: punycode: 2.3.1 tree-kill@1.2.2: {} - ts-api-utils@2.1.0(typescript@5.7.3): - dependencies: - typescript: 5.7.3 - - ts-api-utils@2.1.0(typescript@5.8.3): + ts-api-utils@2.1.0(typescript@5.9.2): dependencies: - typescript: 5.8.3 + typescript: 5.9.2 - ts-declaration-location@1.0.7(typescript@5.7.3): + ts-declaration-location@1.0.7(typescript@5.9.2): dependencies: picomatch: 4.0.3 - typescript: 5.7.3 + typescript: 5.9.2 ts-dedent@2.2.0: {} ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 22.14.0 - acorn: 8.14.1 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.7.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - - ts-node@10.9.2(@types/node@22.14.0)(typescript@5.8.3): + ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.14.0 - acorn: 8.14.1 + '@types/node': 22.18.0 + acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.8.3 + typescript: 5.9.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-pattern@5.7.0: {} + ts-pattern@5.8.0: {} tsconfig-paths@4.2.0: dependencies: @@ -16318,28 +17366,29 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.0(jiti@2.4.2)(postcss@8.5.6)(typescript@5.8.3)(yaml@2.8.1): + tsup@8.5.0(@microsoft/api-extractor@7.52.11(@types/node@22.18.0))(jiti@2.5.1)(postcss@8.5.6)(typescript@5.9.2)(yaml@2.8.1): dependencies: - bundle-require: 5.1.0(esbuild@0.25.2) + bundle-require: 5.1.0(esbuild@0.25.9) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.1 - esbuild: 0.25.2 + debug: 4.4.1(supports-color@5.5.0) + esbuild: 0.25.9 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.6)(yaml@2.8.1) + postcss-load-config: 6.0.1(jiti@2.5.1)(postcss@8.5.6)(yaml@2.8.1) resolve-from: 5.0.0 - rollup: 4.39.0 + rollup: 4.49.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 tinyglobby: 0.2.14 tree-kill: 1.2.2 optionalDependencies: + '@microsoft/api-extractor': 7.52.11(@types/node@22.18.0) postcss: 8.5.6 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - jiti - supports-color @@ -16350,32 +17399,32 @@ snapshots: dependencies: safe-buffer: 5.2.1 - turbo-darwin-64@2.5.0: + turbo-darwin-64@2.5.6: optional: true - turbo-darwin-arm64@2.5.0: + turbo-darwin-arm64@2.5.6: optional: true - turbo-linux-64@2.5.0: + turbo-linux-64@2.5.6: optional: true - turbo-linux-arm64@2.5.0: + turbo-linux-arm64@2.5.6: optional: true - turbo-windows-64@2.5.0: + turbo-windows-64@2.5.6: optional: true - turbo-windows-arm64@2.5.0: + turbo-windows-arm64@2.5.6: optional: true - turbo@2.5.0: + turbo@2.5.6: optionalDependencies: - turbo-darwin-64: 2.5.0 - turbo-darwin-arm64: 2.5.0 - turbo-linux-64: 2.5.0 - turbo-linux-arm64: 2.5.0 - turbo-windows-64: 2.5.0 - turbo-windows-arm64: 2.5.0 + turbo-darwin-64: 2.5.6 + turbo-darwin-arm64: 2.5.6 + turbo-linux-64: 2.5.6 + turbo-linux-arm64: 2.5.6 + turbo-windows-64: 2.5.6 + turbo-windows-arm64: 2.5.6 tween-functions@1.2.0: {} @@ -16383,8 +17432,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.1.0: {} - type-fest@0.21.3: {} type-fest@2.19.0: {} @@ -16396,11 +17443,11 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typescript@5.7.3: {} + typescript@5.8.2: {} - typescript@5.8.3: {} + typescript@5.9.2: {} - ua-parser-js@1.0.40: {} + ua-parser-js@1.0.41: {} ufo@1.6.1: {} @@ -16415,11 +17462,9 @@ snapshots: undici@6.12.0: {} - undici@6.21.2: {} - undici@6.21.3: {} - undici@7.13.0: {} + undici@7.15.0: {} unist-util-is@6.0.0: dependencies: @@ -16453,15 +17498,9 @@ snapshots: acorn: 8.15.0 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.1.3(browserslist@4.24.4): - dependencies: - browserslist: 4.24.4 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.1.3(browserslist@4.25.2): + update-browserslist-db@1.1.3(browserslist@4.25.4): dependencies: - browserslist: 4.25.2 + browserslist: 4.25.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -16478,13 +17517,11 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - urlpattern-polyfill@10.0.0: {} - urlpattern-polyfill@10.1.0: {} - use-sync-external-store@1.5.0(react@19.1.0): + use-sync-external-store@1.5.0(react@19.1.1): dependencies: - react: 19.1.0 + react: 19.1.1 userhome@1.0.1: {} @@ -16513,191 +17550,186 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - valibot@1.0.0(typescript@5.7.3): - optionalDependencies: - typescript: 5.7.3 - varint@6.0.0: {} vary@1.1.2: {} - vite-node@1.6.1(@types/node@20.19.10): + vite-node@3.2.4(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1): dependencies: cac: 6.7.14 - debug: 4.4.1 - pathe: 1.1.2 - picocolors: 1.1.1 - vite: 5.1.6(@types/node@20.19.10) + debug: 4.4.1(supports-color@5.5.0) + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser + - tsx + - yaml - vite-node@2.1.9(@types/node@22.14.0): + vite-plugin-dts@4.5.4(@types/node@22.18.0)(rollup@4.49.0)(typescript@5.9.2)(vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)): dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 1.1.2 - vite: 5.1.6(@types/node@22.14.0) + '@microsoft/api-extractor': 7.52.11(@types/node@22.18.0) + '@rollup/pluginutils': 5.2.0(rollup@4.49.0) + '@volar/typescript': 2.4.23 + '@vue/language-core': 2.2.0(typescript@5.9.2) + compare-versions: 6.1.1 + debug: 4.4.1(supports-color@5.5.0) + kolorist: 1.8.0 + local-pkg: 1.1.2 + magic-string: 0.30.18 + typescript: 5.9.2 + optionalDependencies: + vite: 6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss + - rollup - supports-color - - terser - vite@5.1.6(@types/node@20.19.10): + vite@5.1.6(@types/node@22.18.0)(sass@1.91.0): dependencies: esbuild: 0.19.12 - postcss: 8.5.3 - rollup: 4.39.0 + postcss: 8.5.6 + rollup: 4.49.0 optionalDependencies: - '@types/node': 20.19.10 + '@types/node': 22.18.0 fsevents: 2.3.3 + sass: 1.91.0 - vite@5.1.6(@types/node@22.14.0): + vite@6.2.5(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1): dependencies: - esbuild: 0.19.12 - postcss: 8.5.3 - rollup: 4.39.0 + esbuild: 0.25.9 + postcss: 8.5.6 + rollup: 4.49.0 optionalDependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 fsevents: 2.3.3 + jiti: 2.5.1 + sass: 1.91.0 + sass-embedded: 1.91.0 + yaml: 2.8.1 - vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(sass-embedded@1.86.3)(yaml@2.8.1): + vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1): dependencies: - esbuild: 0.25.2 + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.39.0 + rollup: 4.49.0 + tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.14.0 + '@types/node': 22.18.0 fsevents: 2.3.3 - jiti: 2.4.2 - sass-embedded: 1.86.3 + jiti: 2.5.1 + sass: 1.91.0 + sass-embedded: 1.91.0 yaml: 2.8.1 - vitest@1.6.1(@types/node@20.19.10)(@vitest/ui@1.6.1)(jsdom@22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)): - dependencies: - '@vitest/expect': 1.6.1 - '@vitest/runner': 1.6.1 - '@vitest/snapshot': 1.6.1 - '@vitest/spy': 1.6.1 - '@vitest/utils': 1.6.1 - acorn-walk: 8.3.4 - chai: 4.5.0 - debug: 4.4.1 - execa: 8.0.1 - local-pkg: 0.5.1 - magic-string: 0.30.17 - pathe: 1.1.2 - picocolors: 1.1.1 - std-env: 3.9.0 - strip-literal: 2.1.1 - tinybench: 2.9.0 - tinypool: 0.8.4 - vite: 5.1.6(@types/node@20.19.10) - vite-node: 1.6.1(@types/node@20.19.10) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 20.19.10 - '@vitest/ui': 1.6.1(vitest@1.6.1) - jsdom: 22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - vitest@2.1.9(@types/node@22.14.0)(@vitest/ui@2.1.9)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)): - dependencies: - '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.1.6(@types/node@22.14.0)) - '@vitest/pretty-format': 2.1.9 - '@vitest/runner': 2.1.9 - '@vitest/snapshot': 2.1.9 - '@vitest/spy': 2.1.9 - '@vitest/utils': 2.1.9 - chai: 5.2.0 - debug: 4.4.1 + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1): + dependencies: + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 + debug: 4.4.1(supports-color@5.5.0) expect-type: 1.2.2 - magic-string: 0.30.17 - pathe: 1.1.2 + magic-string: 0.30.18 + pathe: 2.0.3 + picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 + tinyglobby: 0.2.14 tinypool: 1.1.1 - tinyrainbow: 1.2.0 - vite: 5.1.6(@types/node@22.14.0) - vite-node: 2.1.9(@types/node@22.14.0) + tinyrainbow: 2.0.0 + vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.14.0 - '@vitest/ui': 2.1.9(vitest@2.1.9) + '@types/debug': 4.1.12 + '@types/node': 22.18.0 + '@vitest/ui': 3.2.4(vitest@3.2.4) jsdom: 24.1.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: + - jiti - less - lightningcss - msw - sass + - sass-embedded - stylus - sugarss - supports-color - terser + - tsx + - yaml - vitest@2.1.9(@types/node@22.14.0)(@vitest/ui@2.1.9)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)): - dependencies: - '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.1.6(@types/node@22.14.0)) - '@vitest/pretty-format': 2.1.9 - '@vitest/runner': 2.1.9 - '@vitest/snapshot': 2.1.9 - '@vitest/spy': 2.1.9 - '@vitest/utils': 2.1.9 - chai: 5.2.0 - debug: 4.4.1 + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1): + dependencies: + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(vite@7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 + debug: 4.4.1(supports-color@5.5.0) expect-type: 1.2.2 - magic-string: 0.30.17 - pathe: 1.1.2 + magic-string: 0.30.18 + pathe: 2.0.3 + picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 + tinyglobby: 0.2.14 tinypool: 1.1.1 - tinyrainbow: 1.2.0 - vite: 5.1.6(@types/node@22.14.0) - vite-node: 2.1.9(@types/node@22.14.0) + tinyrainbow: 2.0.0 + vite: 7.1.3(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@22.18.0)(jiti@2.5.1)(sass-embedded@1.91.0)(sass@1.91.0)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.14.0 - '@vitest/ui': 2.1.9(vitest@2.1.9) + '@types/debug': 4.1.12 + '@types/node': 22.18.0 + '@vitest/ui': 3.2.4(vitest@3.2.4) jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: + - jiti - less - lightningcss - msw - sass + - sass-embedded - stylus - sugarss - supports-color - terser + - tsx + - yaml + optional: true void-elements@3.1.0: {} - vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.4.2)): + vscode-uri@3.1.0: {} + + vue-eslint-parser@10.2.0(eslint@9.33.0(jiti@2.5.1)): dependencies: - debug: 4.4.1 - eslint: 9.33.0(jiti@2.4.2) + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.33.0(jiti@2.5.1) eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -16706,10 +17738,6 @@ snapshots: transitivePeerDependencies: - supports-color - w3c-xmlserializer@4.0.0: - dependencies: - xml-name-validator: 4.0.0 - w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 @@ -16718,7 +17746,7 @@ snapshots: dependencies: chalk: 4.1.2 commander: 9.5.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -16730,7 +17758,7 @@ snapshots: webdriver@9.12.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.10 + '@types/node': 20.19.11 '@types/ws': 8.18.1 '@wdio/config': 9.12.3 '@wdio/logger': 9.4.4 @@ -16739,7 +17767,7 @@ snapshots: '@wdio/utils': 9.12.3 deepmerge-ts: 7.1.5 undici: 6.21.3 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil @@ -16748,7 +17776,7 @@ snapshots: webdriverio@9.12.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.10 + '@types/node': 20.19.11 '@types/sinonjs__fake-timers': 8.1.5 '@wdio/config': 9.12.3 '@wdio/logger': 9.4.4 @@ -16787,23 +17815,12 @@ snapshots: webpack-virtual-modules@0.6.2: {} - whatwg-encoding@2.0.0: - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 - whatwg-mimetype@3.0.0: {} - whatwg-mimetype@4.0.0: {} - whatwg-url@12.0.1: - dependencies: - tr46: 4.1.1 - webidl-conversions: 7.0.0 - whatwg-url@14.2.0: dependencies: tr46: 5.1.1 @@ -16909,7 +17926,7 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 6.0.5 - ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): + ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5): optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 6.0.5 @@ -16926,6 +17943,8 @@ snapshots: yallist@3.1.1: {} + yallist@4.0.0: {} + yaml-eslint-parser@1.3.0: dependencies: eslint-visitor-keys: 3.4.3 @@ -16995,6 +18014,8 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.7.0 - zod@3.24.2: {} + zod@3.25.76: {} + + zod@4.1.5: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1384d8f9..436ce5dd 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,115 +3,115 @@ packages: - frontend - packages/* - packages/ui/* + - packages/ui/icons/* - packages/ui/uikit/* - packages/ui/uikit/headless/* - packages/ui/uikit/headless/components/* - packages/ui/uikit/headless/hooks/* - packages/ui/uikit/headless/utils/* + - packages/ui/uikit/flippo/* + - packages/ui/uikit/flippo/components/* + - packages/ui/uikit/flippo/utils/* + - packages/test/* catalog: - '@antfu/eslint-config': ^5.2.0 - '@biomejs/biome': 2.0.0-beta.1 - '@chromatic-com/storybook': 3.2.6 - '@eslint-react/eslint-plugin': ^1.40.3 - '@farfetched/core': ^0.13.1 - '@figma-export/core': ^6.2.0 - '@floating-ui/react': ^0.27.7 - '@floating-ui/react-dom': ^2.1.5 - '@floating-ui/utils': ^0.2.9 - '@storybook/addon-essentials': 8.6.11 - '@storybook/addon-interactions': 8.6.11 - '@storybook/addon-onboarding': 8.6.11 - '@storybook/blocks': 8.6.11 - '@storybook/manager-api': ^8.6.11 - '@storybook/react': 8.6.11 - '@storybook/react-vite': 8.6.11 - '@storybook/test': 8.6.11 - '@storybook/theming': ^8.6.11 + '@antfu/eslint-config': ^5.2.1 + '@biomejs/biome': ^2.0.0-beta.1 + '@chromatic-com/storybook': ^3.2.6 + '@eslint-react/eslint-plugin': ^1.52.8 + '@farfetched/core': ^0.13.2 + '@figma-export/core': ^6.2.2 + '@floating-ui/react': ^0.27.16 + '@floating-ui/react-dom': ^2.1.6 + '@floating-ui/utils': ^0.2.10 + '@storybook/addon-essentials': ^8.6.14 + '@storybook/addon-interactions': ^8.6.14 + '@storybook/addon-links': ^8.6.14 + '@storybook/addon-onboarding': ^8.6.14 + '@storybook/blocks': ^8.6.14 + '@storybook/manager-api': 8.6.14 + '@storybook/react': ^8.6.14 + '@storybook/react-vite': ^8.6.14 + '@storybook/test': ^8.6.14 + '@storybook/theming': 8.6.14 '@svgr/core': ^8.1.0 '@svgr/plugin-jsx': ^8.1.0 - '@testing-library/jest-dom': ^0.0.0 - '@testing-library/react': ^0.0.0 - '@testing-library/user-event': ^0.0.0 + '@svgr/plugin-svgo': ^8.1.0 + '@testing-library/jest-dom': ^6.8.0 + '@testing-library/react': ^16.3.0 + '@testing-library/user-event': ^14.6.1 '@testing-library/webdriverio': ^3.2.1 '@testplane/global-hook': ^1.0.0 - '@testplane/storybook': ^1.6.1 - '@testplane/test-filter': ^1.0.0 + '@testplane/storybook': ^1.7.3 + '@testplane/test-filter': ^1.1.0 '@testplane/url-decorator': ^1.0.0 '@turbo/gen': ^2.4.4 '@types/eslint': ^9.6.1 '@types/js-cookie': ^3.0.6 - '@types/node': ^22.14.0 - '@types/react': 19.0.12 - '@types/react-dom': 19.0.4 + '@types/node': ^22.18.0 + '@types/react': ^19.0.12 + '@types/react-dom': ^19.0.4 '@types/use-sync-external-store': ^1.5.0 '@vitejs/plugin-react': ^4.3.4 - '@vitest/ui': ^0.0.0 + '@vitest/ui': ^3.2.4 '@withease/i18next': ^24.0.0 '@withease/web-api': ^1.3.0 - atomic-router: ^0.11.0 + atomic-router: ^0.11.1 atomic-router-react: ^0.10.0 - axios: ^1.8.4 + axios: ^1.11.0 + class-variance-authority: ^0.7.1 clsx: ^2.1.1 - effector: ^23.3.0 + effector: ^23.4.2 effector-react: ^23.3.0 esbuild: ^0.25.2 - eslint: 9.33.0 + eslint: ^9.33.0 eslint-plugin-effector: ^0.15.0 eslint-plugin-format: ^1.0.1 eslint-plugin-only-warn: ^1.1.0 eslint-plugin-react-hooks: ^5.2.0 - eslint-plugin-react-refresh: ^0.4.19 + eslint-plugin-react-refresh: ^0.4.20 eslint-plugin-storybook: ^0.12.0 - eslint-plugin-turbo: ^2.5.0 + eslint-plugin-turbo: ^2.5.6 fast-glob: ^3.3.3 - framer-motion: ^12.6.2 - globals: ^16.0.0 + framer-motion: ^12.23.12 + glob: ^11.0.3 + globals: ^16.3.0 history: ^5.3.0 - html-reporter: ^10.15.0 + html-reporter: ^10.19.0 i18next: ^24.2.3 - i18next-browser-languagedetector: ^8.0.4 - i18next-hmr: ^3.1.3 + i18next-browser-languagedetector: ^8.2.0 + i18next-hmr: ^3.1.4 i18next-http-backend: ^3.0.2 is-svg: ^5.1.0 - jiti: ^2.4.2 + jiti: ^2.5.1 js-cookie: ^3.0.5 - jsdom: ^0.0.0 + jsdom: ^24.1.3 patronum: ^2.3.0 - postcss: ^8.5.3 + postcss: ^8.5.6 postcss-flexbugs-fixes: ^5.0.2 - postcss-preset-env: ^10.1.5 - react: ^19.1.0 - react-dom: ^19.1.0 - react-i18next: ^15.4.1 + postcss-preset-env: ^10.3.1 + react: ^19.1.1 + react-dom: ^19.1.1 + react-i18next: ^15.7.3 react-use-measure: ^2.1.7 reselect: ^5.1.1 rimraf: ^6.0.1 - sass-embedded: ^1.86.1 - storybook: 8.6.11 - storybook-react-i18next: ^3.2.1 - stylelint: ^16.17.0 - surrealdb: ^1.2.1 + sass: ^1.91.0 + sass-embedded: 1.91.0 + storybook: ^8.6.14 + storybook-react-i18next: ^3.3.1 + stylelint: ^16.23.1 + surrealdb: ^1.3.2 svgo: ^3.3.2 tabbable: ^6.2.0 - testplane: ^8.26.0 + testplane: ^8.31.0 tsup: ^8.4.0 - typescript: ^5.8.2 + typescript: ^5.9.2 use-sync-external-store: ^1.5.0 - vite: ^6.2.4 - vite-plugin-dts: ^4.5.3 - vitest: ^0.0.0 - zod: ^3.24.2 -catalogs: - conflicts_@testing-library/jest-dom_h6_4_8: - '@testing-library/jest-dom': ^6.4.8 - conflicts_@testing-library/react_h16_0_0: - '@testing-library/react': ^16.0.0 - conflicts_@testing-library/user-event_h14_5_2: - '@testing-library/user-event': ^14.5.2 - conflicts_@vitest/ui_h2_0_4: - '@vitest/ui': ^2.0.4 - conflicts_jsdom_h24_1_1: - jsdom: ^24.1.1 - conflicts_vitest_h2_0_4: - vitest: ^2.0.4 + vite: 6.2.5 + vite-plugin-css-modules-dts: ^1.3.0 + vite-plugin-dts: ^4.5.4 + vite-plugin-sass-dts: ^1.3.31 + vite-tsconfig-paths: ^5.1.4 + vitest: ^3.2.4 + zod: ^3.25.76 From d2eba1f952b29d6aa709c4f563e0e393d37801f8 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 14 Sep 2025 20:32:16 +0300 Subject: [PATCH 08/37] feat(headless/components): add PinInput component and related functionality --- .../ui/uikit/headless/components/package.json | 10 + .../src/components/Composite/composite.ts | 13 + .../Composite/item/useCompositeItem.ts | 3 +- .../Composite/root/CompositeRoot.tsx | 1 + .../Composite/root/useCompositeRoot.ts | 15 +- .../components/src/components/Input/Input.tsx | 3 + .../NumberField/input/NumberFieldInput.tsx | 12 +- .../NumberField/root/NumberFieldRoot.tsx | 14 +- .../NumberField/root/useNumberFieldButton.ts | 3 +- .../PinInput/group/PinInputGroup.tsx | 40 ++ .../group/PinInputGroupDataAttributes.ts | 38 ++ .../src/components/PinInput/index.parts.ts | 3 + .../src/components/PinInput/index.ts | 1 + .../components/PinInput/pin/PinInputPin.tsx | 176 +++++++++ .../PinInput/pin/PinInputPinDataAttributes.ts | 38 ++ .../PinInput/root/PinInputDataAttributes.ts | 38 ++ .../components/PinInput/root/PinInputRoot.tsx | 367 ++++++++++++++++++ .../PinInput/root/PinInputRootContext.ts | 75 ++++ .../components/PinInput/utils/styleHooks.ts | 23 ++ .../components/PinInput/utils/testPattern.ts | 19 + .../src/components/Radio/root/RadioRoot.tsx | 14 +- .../src/components/Textarea/Textarea.tsx | 3 + .../components/src/components/index.ts | 1 + .../headless/components/src/lib/event.ts | 41 ++ .../utils/parse.ts => lib/parseNumeric.ts} | 4 +- .../headless/components/src/lib/types.ts | 27 +- 26 files changed, 944 insertions(+), 38 deletions(-) create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/index.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts create mode 100644 packages/ui/uikit/headless/components/src/lib/event.ts rename packages/ui/uikit/headless/components/src/{components/NumberField/utils/parse.ts => lib/parseNumeric.ts} (95%) diff --git a/packages/ui/uikit/headless/components/package.json b/packages/ui/uikit/headless/components/package.json index 5d9b248b..43d13a87 100644 --- a/packages/ui/uikit/headless/components/package.json +++ b/packages/ui/uikit/headless/components/package.json @@ -100,6 +100,11 @@ "import": "./dist/components/NumberField/index.es.js", "require": "./dist/components/NumberField/index.cjs.js" }, + "./pin-input": { + "types": "./dist/components/PinInput/index.d.ts", + "import": "./dist/components/PinInput/index.es.js", + "require": "./dist/components/PinInput/index.cjs.js" + }, "./popover": { "types": "./dist/components/Popover/index.d.ts", "import": "./dist/components/Popover/index.es.js", @@ -150,6 +155,11 @@ "import": "./dist/components/Tabs/index.es.js", "require": "./dist/components/Tabs/index.cjs.js" }, + "./textarea": { + "types": "./dist/components/Textarea/index.d.ts", + "import": "./dist/components/Textarea/index.es.js", + "require": "./dist/components/Textarea/index.cjs.js" + }, "./toast": { "types": "./dist/components/Toast/index.d.ts", "import": "./dist/components/Toast/index.es.js", diff --git a/packages/ui/uikit/headless/components/src/components/Composite/composite.ts b/packages/ui/uikit/headless/components/src/components/Composite/composite.ts index c8a463af..5804ec0a 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/composite.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/composite.ts @@ -208,3 +208,16 @@ function getStyles(element: HTMLElement) { scrollPaddingLeft: Number.parseFloat(styles.scrollPaddingLeft) || 0 }; } + +export function isModifierKeySet(event: React.KeyboardEvent, ignoredModifierKeys: ModifierKey[]) { + for (const key of MODIFIER_KEYS.values()) { + if (ignoredModifierKeys.includes(key)) { + continue; + } + if (event.getModifierState(key)) { + return true; + } + } + + return false; +} diff --git a/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts b/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts index 5155a419..23c056a2 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/item/useCompositeItem.ts @@ -48,6 +48,7 @@ export function useCompositeItem(params: UseCompositeItemParams, - index + index, + isHighlighted }; } diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx b/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx index d2f513fe..4744f45a 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/CompositeRoot.tsx @@ -3,6 +3,7 @@ import React from 'react'; import { useEventCallback } from '@flippo-ui/hooks'; + import { EMPTY_ARRAY, EMPTY_OBJECT } from '@lib/constants'; import { useDirection, useRenderElement } from '@lib/hooks'; diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts index f0792ead..31716dec 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts @@ -3,6 +3,7 @@ import React from 'react'; import { useEventCallback, useIsoLayoutEffect, useMergedRef } from '@flippo-ui/hooks'; + import { EMPTY_ARRAY } from '@lib/constants'; import { isElementDisabled } from '@lib/isElementDisabled'; import { ownerDocument } from '@lib/owner'; @@ -31,6 +32,7 @@ import { HORIZONTAL_KEYS_WITH_EXTRA_KEYS, isIndexOutOfListBounds, isListIndexDisabled, + isModifierKeySet, isNativeInput, MODIFIER_KEYS, scrollIntoViewIfNeeded, @@ -366,16 +368,3 @@ export function useCompositeRoot(params: UseCompositeRootParameters) { ] ); } - -function isModifierKeySet(event: React.KeyboardEvent, ignoredModifierKeys: ModifierKey[]) { - for (const key of MODIFIER_KEYS.values()) { - if (ignoredModifierKeys.includes(key)) { - continue; - } - if (event.getModifierState(key)) { - return true; - } - } - - return false; -} diff --git a/packages/ui/uikit/headless/components/src/components/Input/Input.tsx b/packages/ui/uikit/headless/components/src/components/Input/Input.tsx index 8f6ada49..2c75a43e 100644 --- a/packages/ui/uikit/headless/components/src/components/Input/Input.tsx +++ b/packages/ui/uikit/headless/components/src/components/Input/Input.tsx @@ -13,6 +13,9 @@ export function Input(props: Input.Props) { return ; } +Input.Slot = Field.Control.Slot; +Input.useInputControl = Field.Control.useFieldControl; + export namespace Input { export type State = Field.Control.State; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx b/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx index 1ef87a3b..9d13a1b4 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx +++ b/packages/ui/uikit/headless/components/src/components/NumberField/input/NumberFieldInput.tsx @@ -6,6 +6,12 @@ import { useIsoLayoutEffect } from '@flippo-ui/hooks'; import { formatNumber, formatNumberMaxPrecision } from '@lib/formatNumber'; import { useRenderElement } from '@lib/hooks'; +import { + ARABIC_RE, + getNumberLocaleDetails, + HAN_RE, + parseNumber +} from '@lib/parseNumeric'; import { stopEvent } from '@packages/floating-ui-react/utils'; import type { HeadlessUIComponentProps } from '@lib/types'; @@ -17,12 +23,6 @@ import { fieldValidityMapping } from '../../Field/utils/constants'; import { useFormContext } from '../../Form/FormContext'; import { useNumberFieldRootContext } from '../root/NumberFieldRootContext'; import { DEFAULT_STEP } from '../utils/constants'; -import { - ARABIC_RE, - getNumberLocaleDetails, - HAN_RE, - parseNumber -} from '../utils/parse'; import { styleHookMapping } from '../utils/styleHooks'; import type { NumberFieldRoot } from '../root/NumberFieldRoot'; diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx b/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx index 23603d2d..eaa2370f 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/NumberField/root/NumberFieldRoot.tsx @@ -16,12 +16,12 @@ import { isIOS } from '@lib/detectBrowser'; import { formatNumber, formatNumberMaxPrecision } from '@lib/formatNumber'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { ownerDocument, ownerWindow } from '@lib/owner'; +import { getNumberLocaleDetails, PERCENTAGES } from '@lib/parseNumeric'; import type { HeadlessUIComponentProps } from '@lib/types'; import { useFieldRootContext } from '../../Field/root/FieldRootContext'; import { CHANGE_VALUE_TICK_DELAY, DEFAULT_STEP, START_AUTO_CHANGE_DELAY } from '../utils/constants'; -import { getNumberLocaleDetails, PERCENTAGES } from '../utils/parse'; import { styleHookMapping } from '../utils/styleHooks'; import { toValidatedNumber } from '../utils/validate'; @@ -466,12 +466,12 @@ export function NumberFieldRoot(componentProps: NumberFieldRoot.Props) { {element} {name && ( )} diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts b/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts index 1ae7d83f..6d7a8d2d 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts +++ b/packages/ui/uikit/headless/components/src/components/NumberField/root/useNumberFieldButton.ts @@ -6,6 +6,8 @@ import { useEventCallback } from '@flippo-ui/hooks'; import type { Timeout } from '@flippo-ui/hooks'; +import { parseNumber } from '@lib/parseNumeric'; + import type { HTMLProps } from '@lib/types'; import { @@ -14,7 +16,6 @@ import { SCROLLING_POINTER_MOVE_DISTANCE, TOUCH_TIMEOUT } from '../utils/constants'; -import { parseNumber } from '../utils/parse'; import type { EventWithOptionalKeyState } from '../utils/types'; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx new file mode 100644 index 00000000..d8212e0c --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx @@ -0,0 +1,40 @@ +import { useRenderElement } from '@lib/hooks'; + +import type { HeadlessUIComponentProps } from '@lib/types'; + +import { usePinInputRootContext } from '../root/PinInputRootContext'; +import { pinInputStyleHookMapping } from '../utils/styleHooks'; + +import type { PinInputRoot } from '../root/PinInputRoot'; + +export function PinInputGroup(componentProps: PinInputGroup.Props) { + const { + /* eslint-disable unused-imports/no-unused-vars */ + className, + render, + /* eslint-enable unused-imports/no-unused-vars */ + ref, + ...elementProps + } = componentProps; + + const { state } = usePinInputRootContext(); + + const element = useRenderElement( + 'div', + componentProps, + { + ref, + state, + props: [{ role: 'group' }, elementProps], + customStyleHookMapping: pinInputStyleHookMapping + } + ); + + return element; +} + +export namespace PinInputGroup { + export type State = PinInputRoot.State; + + export type Props = HeadlessUIComponentProps<'div', State>; +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts new file mode 100644 index 00000000..b53619e7 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts @@ -0,0 +1,38 @@ +export enum PinInputGroupDataAttributes { + /** + * Present when the pin input is completed. + */ + completed = 'data-completed', + /** + * Present when the field is disabled. + */ + disabled = 'data-disabled', + /** + * Present when the field has been touched. + */ + touched = 'data-touched', + /** + * Present when the field's value has changed. + */ + dirty = 'data-dirty', + /** + * Present when the field is valid. + */ + valid = 'data-valid', + /** + * Present when the field is invalid. + */ + invalid = 'data-invalid', + /** + * Present when the field is filled. + */ + filled = 'data-filled', + /** + * Present when the field control is focused. + */ + focused = 'data-focused', + /** + * Present when the field is readonly. + */ + readonly = 'data-readonly' +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts b/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts new file mode 100644 index 00000000..a01170ff --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts @@ -0,0 +1,3 @@ +export { PinInputGroup as Group } from './group/PinInputGroup'; +export { PinInputPin as Pin } from './pin/PinInputPin'; +export { PinInputRoot as Root } from './root/PinInputRoot'; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/index.ts b/packages/ui/uikit/headless/components/src/components/PinInput/index.ts new file mode 100644 index 00000000..54c88e78 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/index.ts @@ -0,0 +1 @@ +export * as PinInput from './index.parts'; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx new file mode 100644 index 00000000..06488791 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx @@ -0,0 +1,176 @@ +import type React from 'react'; + +import { getEventKey, isComposingEvent } from '@lib/event'; +import { useDirection, useRenderElement } from '@lib/hooks'; +import { mergeProps } from '@lib/merge'; +import { ARABIC_RE, HAN_RE } from '@lib/parseNumeric'; + +import type { EventKeyMap, HeadlessUIComponentProps } from '@lib/types'; + +import { useCompositeItem } from '../../Composite'; +import { isModifierKeySet } from '../../Composite/composite'; +import { useCompositeListContext } from '../../Composite/list/CompositeListContext'; +import { usePinInputRootContext } from '../root/PinInputRootContext'; +import { pinInputStyleHookMapping } from '../utils/styleHooks'; +import { testPattern } from '../utils/testPattern'; + +import type { PinInputRoot } from '../root/PinInputRoot'; + +const NAVIGATE_KEYS = new Set(['Tab', 'Enter', 'Escape']); + +export function PinInputPin(componentProps: PinInputPin.Props) { + const { + /* eslint-disable unused-imports/no-unused-vars */ + className, + render, + /* eslint-enable unused-imports/no-unused-vars */ + ref, + ...elementProps + } = componentProps; + + const { + otp, + mask, + state, + placeholder, + values, + controlRef, + blurOnComplete, + selectOnFocus, + pattern, + type, + setFocused, + setDirty, + setFilled, + setTouched, + setCompleted, + onValueChange: onPinInputValueChange + } = usePinInputRootContext(); + + const { + index, + compositeRef, + isHighlighted, + compositeProps + } = useCompositeItem(); + + const { elementsRef } = useCompositeListContext(); + const direction = useDirection(); + + const inputType = otp ? 'tel' : 'text'; + const isCompleted = values.every((value) => value !== '') && values.length === elementsRef.current.length; + + const element = useRenderElement('input', componentProps, { + state, + ref: [compositeRef, ref], + props: [{ + 'value': values[index] ?? '', + 'dir': direction, + 'inputMode': otp ? 'numeric' : 'text', + 'aria-invalid': !state.valid, + 'type': mask ? 'password' : inputType, + 'maxLength': 1, + 'readOnly': true, + 'autoCapitalize': 'none', + 'autoComplete': otp ? 'one-time-code' : 'off', + 'placeholder': isHighlighted ? '' : placeholder, + onFocus() { + setFocused(true); + if (selectOnFocus) + (elementsRef.current[index] as HTMLInputElement | null)?.select(); + }, + onBlur() { + setTouched(true); + setFocused(false); + }, + onChange(event) { + const newValue = event.target.value; + + if (!testPattern(newValue, type, pattern)) + return; + + setDirty(true); + setFilled(true); + + onPinInputValueChange(newValue, index, event.nativeEvent); + + if (isCompleted) { + setCompleted(true); + + if (blurOnComplete) + (elementsRef.current[index] as HTMLInputElement | null)?.blur(); + + (controlRef.current as HTMLInputElement | null)?.form?.requestSubmit(); + } + }, + onKeyDown(event) { + if (event.defaultPrevented) + return; + + const isLatinNumeral = /^\d$/.test(event.key); + const isArabicNumeral = ARABIC_RE.test(event.key); + const isHanNumeral = HAN_RE.test(event.key); + const isNavigateKey = NAVIGATE_KEYS.has(event.key); + + if ( + // Allow composition events (e.g., pinyin) + // event.nativeEvent.isComposing does not work in Safari: + // https://bugs.webkit.org/show_bug.cgi?id=165004 + isComposingEvent(event) + || isLatinNumeral + || isArabicNumeral + || isHanNumeral + || isNavigateKey + ) { + return; + } + + if (isModifierKeySet(event, [])) + return; + + const keyMap: EventKeyMap = { + Backspace() { + onPinInputValueChange('', index, event.nativeEvent); + + const nextIndex = index - 1 < 0 ? 0 : index - 1; + elementsRef.current[nextIndex]?.focus(); + + setCompleted(false); + }, + Delete() { + onPinInputValueChange('', index, event.nativeEvent); + setCompleted(false); + }, + Enter() { + if (isCompleted) { + (controlRef.current as HTMLInputElement | null)?.form?.requestSubmit(); + setCompleted(true); + } + } + }; + + const exec + = keyMap[ + getEventKey(event, { + dir: direction, + orientation: 'horizontal' + }) + ]; + + if (exec) { + exec(event); + } + } + }, compositeProps, elementProps], + customStyleHookMapping: pinInputStyleHookMapping + }); + + return element; +} + +export namespace PinInputPin { + export type State = PinInputRoot.State; + + export type Props = Omit, keyof Omit, keyof React.HTMLAttributes>>; + +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts new file mode 100644 index 00000000..720aac60 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts @@ -0,0 +1,38 @@ +export enum PinInputPinDataAttributes { + /** + * Present when the pin input is completed. + */ + completed = 'data-completed', + /** + * Present when the field is disabled. + */ + disabled = 'data-disabled', + /** + * Present when the field has been touched. + */ + touched = 'data-touched', + /** + * Present when the field's value has changed. + */ + dirty = 'data-dirty', + /** + * Present when the field is valid. + */ + valid = 'data-valid', + /** + * Present when the field is invalid. + */ + invalid = 'data-invalid', + /** + * Present when the field is filled. + */ + filled = 'data-filled', + /** + * Present when the field control is focused. + */ + focused = 'data-focused', + /** + * Present when the field is readonly. + */ + readonly = 'data-readonly' +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts new file mode 100644 index 00000000..5fb754e9 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts @@ -0,0 +1,38 @@ +export enum PinInputDataAttributes { + /** + * Present when the pin input is completed. + */ + completed = 'data-completed', + /** + * Present when the field is disabled. + */ + disabled = 'data-disabled', + /** + * Present when the field has been touched. + */ + touched = 'data-touched', + /** + * Present when the field's value has changed. + */ + dirty = 'data-dirty', + /** + * Present when the field is valid. + */ + valid = 'data-valid', + /** + * Present when the field is invalid. + */ + invalid = 'data-invalid', + /** + * Present when the field is filled. + */ + filled = 'data-filled', + /** + * Present when the field control is focused. + */ + focused = 'data-focused', + /** + * Present when the field is readonly. + */ + readonly = 'data-readonly' +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx new file mode 100644 index 00000000..3fcd6824 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx @@ -0,0 +1,367 @@ +import React from 'react'; + +import { + useControlledState, + useEventCallback, + useIsoLayoutEffect, + useMergedRef +} from '@flippo-ui/hooks'; + +import { useHeadlessUiId } from '@lib/hooks'; +import { mergeProps } from '@lib/merge'; +import { visuallyHidden } from '@lib/visuallyHidden'; +import { contains } from '@packages/floating-ui-react/utils'; + +import type { HeadlessUIComponentProps, HTMLProps } from '@lib/types'; + +import { CompositeRoot } from '../../Composite'; +import { SHIFT } from '../../Composite/composite'; +import { useFieldControlValidation } from '../../Field/control/useFieldControlValidation'; +import { useFieldRootContext } from '../../Field/root/FieldRootContext'; +import { useField } from '../../Field/useField'; +import { useFormContext } from '../../Form/FormContext'; +import { pinInputStyleHookMapping } from '../utils/styleHooks'; + +import type { CompositeMetadata } from '../../Composite'; +import type { Field } from '../../Field'; + +import { PinInputRootContext } from './PinInputRootContext'; + +import type { PinInputRootContextValue } from './PinInputRootContext'; + +const MODIFIER_KEYS = [SHIFT]; + +export function PinInputRoot(componentProps: PinInputRoot.Props) { + const { + className, + render, + disabled: disabledProp, + readOnly, + required, + onValueChange: onValueChangeProp, + value: externalValue, + defaultValue, + name: nameProp, + placeholder = '○', + inputRef: inputRefProp, + id: idProp, + ref, + otp = false, + mask = false, + blurOnComplete = false, + selectOnFocus = false, + pattern, + type = 'numeric', + ...elementProps + } = componentProps; + + const [completed, setCompleted] = React.useState(false); + + const { + labelId, + setTouched: setFieldTouched, + validationMode, + name: fieldName, + disabled: fieldDisabled, + state: fieldState, + setDirty, + setFilled, + setFocused + } = useFieldRootContext(); + const fieldControlValidation = useFieldControlValidation(); + const { clearErrors } = useFormContext(); + + const disabled = fieldDisabled || disabledProp; + const name = fieldName ?? nameProp; + const id = useHeadlessUiId(idProp); + + const [checkedValue, setCheckedValue] = useControlledState({ + prop: externalValue ?? '', + defaultProp: defaultValue ?? '', + caller: 'PinInput' + }); + + const [values, setValues] = React.useState(() => String(checkedValue).split('')); + + const controlRef = React.useRef(null); + const registerControlRef = useEventCallback((element: HTMLElement | null) => { + if (controlRef.current == null && element != null) { + controlRef.current = element; + } + }); + + useField({ + id, + commitValidation: fieldControlValidation.commitValidation, + value: checkedValue, + controlRef, + name, + getValue: () => checkedValue ?? null + }); + + const prevValueRef = React.useRef(checkedValue); + + useIsoLayoutEffect(() => { + if (prevValueRef.current === checkedValue) { + return; + } + + clearErrors(name); + + if (validationMode === 'onChange') { + fieldControlValidation.commitValidation(checkedValue); + } + else { + fieldControlValidation.commitValidation(checkedValue, true); + } + }, [ + name, + clearErrors, + validationMode, + checkedValue, + fieldControlValidation + ]); + + useIsoLayoutEffect(() => { + prevValueRef.current = checkedValue; + }, [checkedValue]); + + const [touched, setTouched] = React.useState(false); + + const onBlur = useEventCallback((event) => { + if (!contains(event.currentTarget, event.relatedTarget)) { + setFieldTouched(true); + setFocused(false); + + if (validationMode === 'onBlur') { + fieldControlValidation.commitValidation(checkedValue); + } + } + }); + + const onKeyDownCapture = useEventCallback((event) => { + if (event.key.startsWith('Arrow')) { + setFieldTouched(true); + setTouched(true); + setFocused(true); + } + }); + + const onValueChange = React.useCallback((pinValue: string, index: number, event: Event) => { + const newValues = [...values]; + newValues[index] = pinValue; + + const value = newValues.join(''); + + setValues(newValues); + setCheckedValue(value); + onValueChangeProp?.(value, newValues, event); + }, [onValueChangeProp, setCheckedValue, values]); + + const serializedCheckedValue = React.useMemo(() => { + if (checkedValue == null) { + return ''; // avoid uncontrolled -> controlled error + } + if (typeof checkedValue === 'string') { + return checkedValue; + } + return JSON.stringify(checkedValue); + }, [checkedValue]); + + const mergedInputRef = useMergedRef(fieldControlValidation.inputRef, controlRef, inputRefProp); + + const inputProps = mergeProps<'input'>( + { + 'value': serializedCheckedValue, + 'ref': mergedInputRef, + id, + 'name': serializedCheckedValue ? name : undefined, + disabled, + readOnly, + required, + 'aria-hidden': true, + 'tabIndex': -1, + 'style': visuallyHidden, + onFocus() { + controlRef.current?.focus(); + } + }, + fieldControlValidation.getInputValidationProps + ); + + const state: PinInputRoot.State = React.useMemo( + () => ({ + ...fieldState, + completed, + disabled: disabled ?? false, + required: required ?? false, + readOnly: readOnly ?? false + }), + [ + fieldState, + completed, + disabled, + required, + readOnly + ] + ); + + const contextValue: PinInputRootContextValue = React.useMemo( + () => ({ + state, + mask, + otp, + checkedValue, + name, + touched, + values, + placeholder, + controlRef, + blurOnComplete, + selectOnFocus, + pattern, + type, + setFocused, + setDirty, + setFilled, + setCompleted, + setValues, + setTouched, + setCheckedValue, + registerControlRef, + onValueChange + }), + [ + blurOnComplete, + checkedValue, + mask, + name, + onValueChange, + otp, + pattern, + placeholder, + registerControlRef, + selectOnFocus, + setCheckedValue, + setDirty, + setFilled, + setFocused, + state, + touched, + type, + values + ] + ); + + const defaultProps: HTMLProps = { + 'role': 'radiogroup', + 'aria-required': required || undefined, + 'aria-disabled': disabled || undefined, + 'aria-readonly': readOnly || undefined, + 'aria-labelledby': labelId, + onFocus() { + setFocused(true); + }, + onBlur, + onKeyDownCapture + }; + + return ( + + + + + ); +} + +export namespace PinInputRoot { + export type InputMetadata = CompositeMetadata<{ + value: string; + }>; + + export type State = { + completed: boolean; + readOnly: boolean; + } & Field.Root.State; + + export type Props = CompositeRoot.Props & { + mask?: boolean; + otp?: boolean; + /** + * The regular expression that the user-entered input value is checked against. + */ + pattern?: string | undefined; + /** + * The placeholder text for the input + * @default "○" + */ + placeholder?: string | undefined; + /** + * Whether to auto-focus the first input. + */ + autoFocus?: boolean | undefined; + /** + * The type of input to render + */ + type?: 'alphanumeric' | 'numeric' | 'alphabetic' | undefined; + /** + * Whether to blur the input when the value is complete + */ + blurOnComplete?: boolean | undefined; + /** + * Whether to select input value when input is focused + */ + selectOnFocus?: boolean | undefined; + onValueComplete: (value: string, values: string[], event: Event) => void; + /** + * Whether the component should ignore user interaction. + * @default false + */ + disabled?: boolean; + /** + * Whether the user should be unable to select a different radio button in the group. + * @default false + */ + readOnly?: boolean; + /** + * Whether the user must choose a value before submitting a form. + * @default false + */ + required?: boolean; + /** + * Identifies the field when a form is submitted. + */ + name?: string; + /** + * The controlled value of the radio item that should be currently selected. + * + * To render an uncontrolled radio group, use the `defaultValue` prop instead. + */ + value?: string; + /** + * The uncontrolled value of the radio button that should be initially selected. + * + * To render a controlled radio group, use the `value` prop instead. + */ + defaultValue?: string; + /** + * Callback fired when the value changes. + */ + onValueChange?: (value: string, values: string[], event: Event) => void; + + /** + * A ref to access the hidden input element. + */ + inputRef?: React.Ref; + } & Omit, 'value'>; +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts new file mode 100644 index 00000000..b2ce7527 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts @@ -0,0 +1,75 @@ +import React from 'react'; + +import { NOOP } from '@lib/noop'; + +import type { useFieldControlValidation } from '../../Field/control/useFieldControlValidation'; + +import type { PinInputRoot } from './PinInputRoot'; + +export type PinInputRootContextValue = { + mask: boolean; + otp: boolean; + name?: string; + pattern?: string; + type?: 'alphanumeric' | 'numeric' | 'alphabetic'; + blurOnComplete: boolean; + selectOnFocus: boolean; + checkedValue: string; + touched: boolean; + placeholder: string; + fieldControlValidation?: ReturnType; + values: string[]; + state: PinInputRoot.State; + controlRef: React.RefObject; + setFocused: React.Dispatch>; + setDirty: React.Dispatch>; + setFilled: React.Dispatch>; + setCompleted: React.Dispatch>; + setValues: React.Dispatch>; + setCheckedValue: React.Dispatch>; + setTouched: React.Dispatch>; + registerControlRef: (element: HTMLElement | null) => void; + onValueChange: (pinValue: string, index: number, event: Event) => void; +}; + +export const PinInputRootContext = React.createContext({ + mask: false, + otp: false, + blurOnComplete: false, + selectOnFocus: false, + name: undefined, + checkedValue: '', + placeholder: '', + values: [], + touched: false, + state: { + completed: false, + readOnly: false, + disabled: false, + touched: false, + dirty: false, + valid: null, + filled: false, + focused: false + }, + controlRef: { current: null }, + setFocused: NOOP, + setCompleted: NOOP, + setDirty: NOOP, + setFilled: NOOP, + setValues: NOOP, + setCheckedValue: NOOP, + onValueChange: NOOP, + setTouched: NOOP, + registerControlRef: NOOP +}); + +export function usePinInputRootContext() { + const context = React.use(PinInputRootContext); + + if (!context) { + throw new Error('Headless UI: usePinInputRootContext must be used within a PinInputRootContext'); + } + + return context; +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts b/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts new file mode 100644 index 00000000..0e50787d --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts @@ -0,0 +1,23 @@ +import type { TransitionStatus } from '@flippo-ui/hooks'; + +import { transitionStatusMapping } from '@lib/styleHookMapping'; + +import type { StateAttributesMapping } from '@lib/getStyleHookProps'; + +import { fieldValidityMapping } from '../../Field/utils/constants'; +import { PinInputDataAttributes } from '../root/PinInputDataAttributes'; + +export const pinInputStyleHookMapping = { + completed(value): Record { + if (value) { + return { [PinInputDataAttributes.completed]: '' }; + } + return { [PinInputDataAttributes.completed]: '' }; + }, + ...transitionStatusMapping, + ...fieldValidityMapping +} satisfies StateAttributesMapping<{ + completed: boolean; + transitionStatus: TransitionStatus; + valid: boolean | null; +}>; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts b/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts new file mode 100644 index 00000000..50ccd902 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts @@ -0,0 +1,19 @@ +export function testPattern(value: string, type?: 'alphanumeric' | 'numeric' | 'alphabetic', pattern?: string) { + if (pattern) { + return new RegExp(pattern).test(value); + } + + if (type === 'alphabetic') { + return /^[a-z]/i.test(value); + } + + if (type === 'numeric') { + return /\d/.test(value); + } + + if (type === 'alphanumeric') { + return /^[a-z0-9]/i.test(value); + } + + return true; +} diff --git a/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx b/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx index 90d9137a..8a4c8dae 100644 --- a/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Radio/root/RadioRoot.tsx @@ -220,13 +220,13 @@ export function RadioRoot(componentProps: RadioRoot.Props) { {isRadioGroup ? ( ) : ( diff --git a/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx b/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx index 3789ef37..9108f1fe 100644 --- a/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx +++ b/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx @@ -7,6 +7,9 @@ export function Textarea(props: Textarea.Props) { return ; } +Textarea.Slot = Field.Control.Slot; +Textarea.useTextareaControl = Field.Control.useFieldControl; + export namespace Textarea { export type State = Field.Control.State; diff --git a/packages/ui/uikit/headless/components/src/components/index.ts b/packages/ui/uikit/headless/components/src/components/index.ts index 0cff19d0..81c66a6e 100644 --- a/packages/ui/uikit/headless/components/src/components/index.ts +++ b/packages/ui/uikit/headless/components/src/components/index.ts @@ -13,6 +13,7 @@ export * from './Menu'; export * from './Menubar'; export * from './Meter'; export * from './NumberField'; +export * from './PinInput'; export * from './Popover'; export * from './Progress'; export * from './Radio'; diff --git a/packages/ui/uikit/headless/components/src/lib/event.ts b/packages/ui/uikit/headless/components/src/lib/event.ts new file mode 100644 index 00000000..59474d49 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/lib/event.ts @@ -0,0 +1,41 @@ +import type React from 'react'; + +import type { NativeEvent } from './types'; + +export function isComposingEvent(event: React.KeyboardEvent) { + return event.which === 229 || getNativeEvent(event).isComposing; +} + +export function getNativeEvent(event: E): NativeEvent { + return (event as any).nativeEvent ?? event; +} + +export type EventKeyOptions = { + dir?: 'ltr' | 'rtl' | undefined; + orientation?: 'horizontal' | 'vertical' | undefined; +}; + +const keyMap: Record = { + 'Up': 'ArrowUp', + 'Down': 'ArrowDown', + 'Esc': 'Escape', + ' ': 'Space', + ',': 'Comma', + 'Left': 'ArrowLeft', + 'Right': 'ArrowRight' +}; + +const rtlKeyMap: Record = { + ArrowLeft: 'ArrowRight', + ArrowRight: 'ArrowLeft' +}; + +export function getEventKey(event: Pick, options: EventKeyOptions = {}) { + const { dir = 'ltr', orientation = 'horizontal' } = options; + let key = event.key; + key = keyMap[key] ?? key; + const isRtl = dir === 'rtl' && orientation === 'horizontal'; + if (isRtl && key in rtlKeyMap) + key = rtlKeyMap[key] ?? key; + return key; +} diff --git a/packages/ui/uikit/headless/components/src/components/NumberField/utils/parse.ts b/packages/ui/uikit/headless/components/src/lib/parseNumeric.ts similarity index 95% rename from packages/ui/uikit/headless/components/src/components/NumberField/utils/parse.ts rename to packages/ui/uikit/headless/components/src/lib/parseNumeric.ts index 54fdfe5d..d8e969f5 100644 --- a/packages/ui/uikit/headless/components/src/components/NumberField/utils/parse.ts +++ b/packages/ui/uikit/headless/components/src/lib/parseNumeric.ts @@ -76,8 +76,8 @@ export function parseNumber( } = getNumberLocaleDetails(computedLocale, options); let groupRegex: RegExp | null = null; if (group) { - // Check if the group separator is a space-like character. - // If so, we'll replace all such characters with an empty string. + // Check if the group separator is a space-like character. + // If so, we'll replace all such characters with an empty string. groupRegex = /\p{Zs}/u.test(group) ? /\p{Zs}/gu : new RegExp(`\\${group}`, 'g'); } diff --git a/packages/ui/uikit/headless/components/src/lib/types.ts b/packages/ui/uikit/headless/components/src/lib/types.ts index cfc48552..86c1fdd9 100644 --- a/packages/ui/uikit/headless/components/src/lib/types.ts +++ b/packages/ui/uikit/headless/components/src/lib/types.ts @@ -1,4 +1,4 @@ -import type * as React from 'react'; +import type React from 'react'; export type HTMLProps = React.HTMLAttributes & { ref?: React.Ref | undefined; @@ -96,3 +96,28 @@ export type NonNativeButtonProps = { */ nativeButton?: boolean; }; + +export type EventKey + = | 'ArrowDown' + | 'ArrowUp' + | 'ArrowLeft' + | 'ArrowRight' + | 'Space' + | 'Enter' + | 'Comma' + | 'Escape' + | 'Backspace' + | 'Delete' + | 'Home' + | 'End' + | 'Tab' + | 'PageUp' + | 'PageDown' + | (string & {}); + +export type EventKeyMap = { + [key in EventKey]?: (event: React.KeyboardEvent) => void +}; + +export type NativeEvent + = React.ChangeEvent extends E ? InputEvent : E extends React.SyntheticEvent ? T : never; From 527695ed6429c27db491bc76a74a6d771a0de1d5 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Wed, 17 Sep 2025 23:06:08 +0300 Subject: [PATCH 09/37] feat(flippo/components): introduce Input component with various subcomponents and styles --- .../components/Button/ui/Button.module.scss | 2 +- .../src/components/Input/index.parts.ts | 8 + .../components/src/components/Input/index.ts | 1 + .../components/Input/story/Input.stories.tsx | 136 +++++++++-- .../Input/ui/body/InputBody.module.scss | 218 ++++++++++++++++++ .../components/Input/ui/body/InputBody.tsx | 103 +++++++++ .../Input/ui/clear/InputClear.module.scss | 39 ++++ .../Input/ui/clear/InputClear.modules.scss | 0 .../components/Input/ui/clear/InputClear.tsx | 50 ++++ .../Input/ui/control/InputControl.module.scss | 0 .../Input/ui/control/InputControl.tsx | 11 - .../Input/ui/root/InputRoot.module.scss | 93 -------- .../components/Input/ui/root/InputRoot.tsx | 42 +--- .../Input/ui/slot/InputSlot.module.scss | 19 ++ .../components/Input/ui/slot/InputSlot.tsx | 16 ++ .../StoryCombine/ui/StoryCombine.tsx | 18 +- .../src/styles/variables/_spacings.scss | 2 + .../Composite/root/useCompositeRoot.ts | 1 - .../components/Field/control/FieldControl.tsx | 18 +- .../Field/slot/FieldControlSlot.tsx | 57 +++++ .../src/components/Field/slot/FieldSlot.tsx | 40 ---- .../components/src/components/Input/Input.tsx | 2 + .../components/PinInput/pin/PinInputPin.tsx | 1 - .../src/components/Textarea/Textarea.tsx | 2 + 24 files changed, 659 insertions(+), 220 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.module.scss delete mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.modules.scss delete mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.module.scss delete mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx delete mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/Field/slot/FieldControlSlot.tsx delete mode 100644 packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss b/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss index 82b36c48..1c898c07 100644 --- a/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss +++ b/packages/ui/uikit/flippo/components/src/components/Button/ui/Button.module.scss @@ -79,7 +79,7 @@ $ow: 1.5px; fill: currentColor; - @include corners.corners(('::before', '::after'), var(--f-spacing-3)); + @include corners.corners((&, '::before', '::after'), var(--f-spacing-3)); @include flex.display(inline-flex, row, center, center, var(--f-spacing-2)); width: 100%; diff --git a/packages/ui/uikit/flippo/components/src/components/Input/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Input/index.parts.ts new file mode 100644 index 00000000..e0c8c5e6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/index.parts.ts @@ -0,0 +1,8 @@ +import { Input as InputHeadless } from '@flippo-ui/headless-components/input'; + +export { InputBody as Body } from './ui/body/InputBody'; +export { InputClear as Clear } from './ui/clear/InputClear'; +export { InputRoot as Root } from './ui/root/InputRoot'; +export { InputSlot as Slot } from './ui/slot/InputSlot'; + +export const useInputControl: typeof InputHeadless.useInputControl = InputHeadless.useInputControl; diff --git a/packages/ui/uikit/flippo/components/src/components/Input/index.ts b/packages/ui/uikit/flippo/components/src/components/Input/index.ts index e69de29b..1d580c2a 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/index.ts +++ b/packages/ui/uikit/flippo/components/src/components/Input/index.ts @@ -0,0 +1 @@ +export * as Input from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx index c582bfea..5af7a955 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx @@ -2,41 +2,137 @@ import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; -import { InputControl } from '../ui/control/InputControl'; +import { Input } from '../'; +import { StoryCombine } from '../../StoryCombine'; -const meta: Meta = { +const meta: Meta = { argTypes: { children: { control: 'object', name: 'React.ReactNode' }, disabled: { control: 'boolean' }, size: { control: 'select', - options: [ - 'x-small', - 'small', - 'medium', - 'large' - ] + options: ['small', 'medium', 'large'] }, variant: { control: 'select', - options: [ - 'danger', - 'label', - 'outlined', - 'secondary', - 'primary' - ] + options: ['inverted', 'underline'] } }, - component: InputControl, + component: Input.Root, title: 'UIKit/Input' }; export default meta; -type ButtonStory = StoryObj; +type InputStory = StoryObj; -export const Input: ButtonStory = { - args: { - } +export const InputInverted: InputStory = { + args: {}, + render: () => ( + + + + + + ) +}; + +export const InputInvertedWithClear: InputStory = { + args: {}, + render: () => ( + + + + + + + ) +}; + +export const InputUnderline: InputStory = { + args: {}, + render: () => ( + + + + + + ) +}; + +const INVERTED_VARIANTS: StoryCombine.Group['variants'] = [{ + components: [{ + children: ( + + + + + ) + }], + name: 'Large' +}, { + variantArgs: { + }, + components: [{ + children: ( + + + + + ) + }], + name: 'Medium' +}, { + + components: [{ + children: ( + + + + + ) + }], + name: 'Small' +}]; + +const GROUPS: StoryCombine.Props = { + component: Input.Root, + groups: [{ + groupArgs: { + variant: 'inverted' + }, + name: 'Inverted', + variants: INVERTED_VARIANTS + }, { + groupArgs: { + variant: 'underline' + }, + name: 'Underline', + variants: [{ + name: 'Invisible', + components: [{ + children: ( + + + + ) + }] + }, { + variantArgs: { + view: 'affordance' + }, + name: 'Affordance', + components: [{ + children: ( + + + + ) + }] + }] + }] +}; + +export const InputStoryCombine: InputStory = { + render: () => }; diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss new file mode 100644 index 00000000..7d97cd69 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss @@ -0,0 +1,218 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_corners.scss' as corners; + +.InputBody { + $ow: 1.5px; + $parent: &; + + outline-color: transparent; + + flex: 0 1 100%; + + fill: var(--f-color-text-6); + + overflow: hidden; + + transition: + outline 0.3s ease, + background-color 0.3s ease; + + @include flex.display(inline-flex, row, center, center, var(--f-spacing-3)); + + width: 100%; + + & > svg { + width: calc(var(--f-spacing-9) / 2); + aspect-ratio: 1; + } + + &:hover { + [data-slot]::placeholder { + color: var(--f-color-text-5); + } + + svg { + fill: var(--f-color-text-5); + } + } + + &:focus-within { + [data-slot]::placeholder { + color: var(--f-color-text-6); + } + + svg { + fill: var(--f-color-text-5); + } + } + + @include corners.corners((&, '::before', '::after'), var(--f-spacing-3)); + + &_light { + background: var(--f-color-bg-1); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke-hover); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-1); + color: var(--f-color-text-disabled); + } + } + + &_inverted { + background: var(--f-color-bg-area-muted); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + } + } + + &_underline { + background: transparent; + border-radius: 0; + height: var(--f-spacing-17); + padding: var(--f-spacing-2) 0; + border-bottom: $ow solid transparent; + + @include font.title-1('stronger'); + + &_invisible { + border-color: transparent; + } + + &_affordance { + border-color: var(--f-color-stroke); + } + + &:hover { + border-color: var(--f-color-stroke-hover); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + + &_affordance { + border-color: var(--f-color-stroke); + } + } + } + + &_large { + height: var(--f-spacing-14); + + @include font.body('weaker'); + + padding: var(--f-spacing-4) var(--f-spacing-5); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-3); + } + + [data-input-clear] { + height: var(--f-spacing-9); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-6); + aspect-ratio: 1; + } + } + } + + &_medium { + height: var(--f-spacing-12); + + @include font.bodyMinus('weaker'); + + padding: var(--f-spacing-2) var(--f-spacing-5); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-2); + } + + [data-input-clear] { + height: var(--f-spacing-7); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-5); + aspect-ratio: 1; + } + } + } + + &_small { + height: var(--f-spacing-10); + + @include font.bodyMinus('weaker'); + + padding: calc(var(--f-spacing-4) / 2) calc(var(--f-spacing-9) / 2); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-2); + } + + [data-input-clear] { + height: var(--f-spacing-6); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-4); + aspect-ratio: 1; + } + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx new file mode 100644 index 00000000..97c02de0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx @@ -0,0 +1,103 @@ +import React from 'react'; + +import { Input as InputHeadless } from '@flippo-ui/headless-components/input'; +import { useRender } from '@flippo-ui/headless-components/use-render'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './InputBody.module.scss'; + +const InputBodyInvertedVariants = cva(styles.InputBody, { + variants: { + variant: { + inverted: styles.InputBody_inverted, + light: styles.InputBody_light + }, + dimensions: { + small: styles.InputBody_small, + medium: styles.InputBody_medium, + large: styles.InputBody_large + }, + corners: { + 'clear': styles['corners-clear-clear'], + 'circle': styles['corners-circle-circle'], + 'round-clear': styles['corners-round-clear'], + 'clear-round': styles['corners-clear-round'], + 'round-circle': styles['corners-round-circle'], + 'clear-circle': styles['corners-clear-circle'] + } + }, + defaultVariants: { + variant: 'inverted', + dimensions: 'large', + corners: 'circle' + } +}); + +const InputBodyUnderlineVariants = cva(styles.InputBody, { + variants: { + variant: { + underline: styles.InputBody_underline + }, + view: { + invisible: styles.InputBody_underline_invisible, + affordance: styles.InputBody_underline_affordance + } + }, + defaultVariants: { + variant: 'underline', + view: 'invisible' + } +}); + +export function InputBody(props: InputBody.Props) { + const { + ref, + className, + variant = 'inverted', + ...otherProps + } = props; + + const { state } = InputHeadless.useInputControl(); + + const dimensions = 'dimensions' in props ? props.dimensions : undefined; + const corners = 'corners' in props ? props.corners : undefined; + const view = 'view' in props ? props.view : undefined; + + const inputRootClassName = React.useMemo(() => + variant === 'underline' + ? InputBodyUnderlineVariants({ + variant, + view, + className + }) + : InputBodyInvertedVariants({ + variant, + dimensions, + corners, + className + }), [ + variant, + dimensions, + corners, + className, + view + ]); + + const element = useRender({ + defaultTagName: 'span', + ref, + state, + props: [otherProps, { className: inputRootClassName }] + }); + + return element; +} + +export namespace InputBody { + export type InvertedProps = React.ComponentPropsWithRef<'span'> & VariantProps; + export type UnderlineProps = React.ComponentPropsWithRef<'span'> & VariantProps; + + export type Props = InvertedProps | UnderlineProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.module.scss new file mode 100644 index 00000000..f02a4993 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.module.scss @@ -0,0 +1,39 @@ +@use 'mixins/_flex.scss' as flex; + +$ow: 1.5px; +@mixin stateInputClear($state, $bg: null, $color: null, $oc: null) { + &#{$state} { + @if $bg { + background-color: $bg; + } + + @if $color { + color: $color; + } + + @if $oc { + outline: $ow solid $oc; + } + } +} + +.InputClear { + flex: 0 0; + padding: 0; + background-color: transparent; + border-radius: var(--f-border-radius-full); + + @include flex.display(inline-flex, row, center, center); + + svg { + flex-shrink: 0; + } + + color: var(--f-color-text-4); + + @include stateInputClear(':hover', var(--f-color-bg-2-hover), var(--f-color-text-white)); + @include stateInputClear(':active', var(--f-color-bg-2), var(--f-color-text-4)); + @include stateInputClear(':focus-visible', $color: var(--f-color-text-3), $oc: var(--f-color-brand-light)); + @include stateInputClear(':disabled', $color: var(--f-color-text-disabled)); + @include stateInputClear('[data-disabled]', $color: var(--f-color-text-disabled)); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.modules.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.modules.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx index e69de29b..befaa4c6 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/clear/InputClear.tsx @@ -0,0 +1,50 @@ +import React from 'react'; + +import { Input as InputHeadless } from '@flippo-ui/headless-components/input'; +import { useButton } from '@flippo-ui/headless-components/use-button'; +import { useRender } from '@flippo-ui/headless-components/use-render'; +import { XmarkIcon } from '@flippo-ui/icons'; + +import styles from './InputClear.module.scss'; + +export function InputClear(props: InputClear.Props) { + const { + ref, + disabled, + onClick: onClickProp, + ...otherProps + } = props; + + const { value, state, setValue } = InputHeadless.useInputControl(); + + const onClick = React.useCallback>((event) => { + setValue('', event as unknown as Event); + + onClickProp?.(event); + }, [onClickProp, setValue]); + + const { getButtonProps, buttonRef } = useButton({ + native: true, + disabled: disabled ?? false + }); + + const element = useRender({ + defaultTagName: 'button', + ref: [buttonRef, ref], + state: { ...state, 'input-clear': true }, + props: [getButtonProps(otherProps), { + className: styles.InputClear, + children: , + onClick + }] + }); + + if (!value) + return null; + + return element; +} + +export namespace InputClear { + export type Props = React.ComponentPropsWithRef<'button'>; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.module.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx deleted file mode 100644 index 72b085cc..00000000 --- a/packages/ui/uikit/flippo/components/src/components/Input/ui/control/InputControl.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; - -import { Input } from '@flippo-ui/headless-components'; - -export function InputControl(props: InputControl.Props) { - return ; -} - -export namespace InputControl { - export type Props = Input.Props; -} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss deleted file mode 100644 index 710e3a92..00000000 --- a/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.module.scss +++ /dev/null @@ -1,93 +0,0 @@ -@use 'mixins/_flex.scss' as flex; -@use 'mixins/_font.scss' as font; - -.input { - $ow: 1.5px; - - outline-color: transparent; - - flex: 0 1 100%; - - background: var(--bg-area-muted); - fill: var(--text-6); - border-radius: var(--radius-input-field); - - overflow: hidden; - - transition: - outline 0.3s ease, - background-color 0.3s ease; - - @include flex.display(inline-flex, row, center, center, var(--f-spacing-3)); - - width: 100%; - - & > input { - background: transparent; - outline: none; - border: none; - padding: 0; - width: 100%; - - text-overflow: ellipsis; - - color: var(--text-primary); - - &::placeholder { - color: var(--text-6); - } - - caret-color: var(--text-white); - } - - & > svg { - width: 18px; - aspect-ratio: 1; - } - - &:hover { - background: var(--bg-area-subtle); - outline: $ow solid var(--stroke); - - input::placeholder { - color: var(--text-5); - } - - svg { - fill: var(--text-5); - } - } - - &:focus-within { - background: var(--bg-area-muted); - outline: $ow solid var(--brand-light); - - input::placeholder { - color: var(--text-6); - } - - svg { - fill: var(--text-5); - } - } - - &_large { - height: 56px; - - @include font.body('weaker'); - - .content { - padding: 16px 20px; - } - } - - &_medium { - height: 48px; - - @include font.bodyMinus('weaker'); - - .content { - padding: 8px 20px; - } - } -} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx index 5142e17b..4f665312 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/root/InputRoot.tsx @@ -1,43 +1,13 @@ -import type React from 'react'; +import React from 'react'; -import { useRender } from '@flippo-ui/headless-components/use-render'; -import { cva } from 'class-variance-authority'; - -import type { VariantProps } from 'class-variance-authority'; - -import styles from './InputRoot.module.scss'; - -const InputRootVariants = cva(styles.InputRoot, { - variants: { - variant: { - default: styles.default, - underline: styles.underline - }, - size: { - small: styles.small, - medium: styles.medium, - large: styles.large - } - }, - defaultVariants: { - variant: 'default', - size: 'large' - } -}); +import { Input as InputHeadless } from '@flippo-ui/headless-components/input'; export function InputRoot(props: InputRoot.Props) { - const { className, variant, ...otherProps } = props; - - const inputRootClassName = InputRootVariants({ - variant, - className - }); - - const element = useRender({ defaultTagName: 'span', props: [otherProps, { className: inputRootClassName }] }); - - return element; + return ( + + ); } export namespace InputRoot { - export type Props = React.ComponentPropsWithRef<'span'> & VariantProps; + export type Props = InputHeadless.Props; } diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.module.scss new file mode 100644 index 00000000..edc442fe --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.module.scss @@ -0,0 +1,19 @@ +@use 'mixins/_text.scss' as text; + +.InputSlot { + @include text.overflow-ellipsis(); + + background: transparent; + outline: none; + border: none; + padding: 0; + width: 100%; + + color: var(--f-color-text-primary); + + &::placeholder { + color: var(--f-color-text-6); + } + + caret-color: var(--f-color-text-white); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.tsx new file mode 100644 index 00000000..d4191865 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/slot/InputSlot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Input as InputHeadless } from '@flippo-ui/headless-components'; +import { cx } from 'class-variance-authority'; + +import styles from './InputSlot.module.scss'; + +export function InputSlot(props: InputSlot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace InputSlot { + export type Props = InputHeadless.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx b/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx index 0a7906a2..153ecb09 100644 --- a/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx +++ b/packages/ui/uikit/flippo/components/src/components/StoryCombine/ui/StoryCombine.tsx @@ -32,13 +32,15 @@ export function StoryCombine(props: StoryCombine.Props) { ...componentProps } as E; - return ( -

    - ); + return Component + ? ( +
    + {decorator + ? decorator(Component, componentArgs) + : } +
    + ) + : null; })} {index !== group.variants.length - 1 ? : null} @@ -68,7 +70,7 @@ export namespace StoryCombine { export type Props = { args?: Partial; - component: React.ComponentType; + component?: React.ComponentType | null; decorator?: Decorator; groups: Group[]; }; diff --git a/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss b/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss index c51e4806..47b928a3 100644 --- a/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss +++ b/packages/ui/uikit/flippo/components/src/styles/variables/_spacings.scss @@ -16,6 +16,8 @@ --f-spacing-14: 56px; --f-spacing-15: 60px; --f-spacing-16: 64px; + --f-spacing-17: 68px; + --f-spacing-18: 72px; --f-spacing-max: 1000px; --f-border-radius-button: var(--f-spacing-max); diff --git a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts index 31716dec..b57f01d0 100644 --- a/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Composite/root/useCompositeRoot.ts @@ -34,7 +34,6 @@ import { isListIndexDisabled, isModifierKeySet, isNativeInput, - MODIFIER_KEYS, scrollIntoViewIfNeeded, VERTICAL_KEYS, VERTICAL_KEYS_WITH_EXTRA_KEYS diff --git a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx index d5cd6048..95d17fe9 100644 --- a/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx +++ b/packages/ui/uikit/headless/components/src/components/Field/control/FieldControl.tsx @@ -15,7 +15,7 @@ import { mergeProps } from '@lib/merge'; import type { HeadlessUIComponentProps } from '@lib/types'; import { useFieldRootContext } from '../root/FieldRootContext'; -import { FieldControlSlot } from '../slot/FieldSlot'; +import { FieldControlSlot } from '../slot/FieldControlSlot'; import { useField } from '../useField'; import type { FieldRoot } from '../root/FieldRoot'; @@ -113,8 +113,6 @@ export function FieldControl(componentProps: FieldControl.Props) { caller: 'FieldControl' }); - const isControlled = valueProp !== undefined; - const setValue = useEventCallback((nextValue: string, event: Event) => { setValueUnwrapped(nextValue); onValueChange?.(nextValue, event); @@ -133,15 +131,14 @@ export function FieldControl(componentProps: FieldControl.Props) { const controlProps = React.useMemo(() => { const baseProps = { + id, disabled, name, 'ref': mergedRef, 'aria-labelledby': labelId, - ...(isControlled ? { value } : { defaultValue }), + value, onChange(event: React.ChangeEvent) { - if (value != null) { - setValue(event.currentTarget.value, event.nativeEvent); - } + setValue(event.currentTarget.value, event.nativeEvent); setDirty(event.currentTarget.value !== validityData.initialValue); setFilled(event.currentTarget.value !== ''); @@ -172,13 +169,12 @@ export function FieldControl(componentProps: FieldControl.Props) { getInputValidationProps() ); }, [ + id, disabled, name, mergedRef, labelId, - isControlled, value, - defaultValue, elementProps, getValidationProps, getInputValidationProps, @@ -221,6 +217,10 @@ FieldControl.useFieldControl = useFieldControl; export namespace FieldControl { export type State = FieldRoot.State; + export type InputSlotProps = FieldControlSlot.InputProps; + export type TextAreaSlotProps = FieldControlSlot.TextAreaProps; + export type SlotProps = FieldControlSlot.Props; + export type InputProps = HeadlessUIComponentProps<'input', State> & { control: 'input'; onValueChange?: (value: string, event: Event) => void; diff --git a/packages/ui/uikit/headless/components/src/components/Field/slot/FieldControlSlot.tsx b/packages/ui/uikit/headless/components/src/components/Field/slot/FieldControlSlot.tsx new file mode 100644 index 00000000..c5caed8e --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Field/slot/FieldControlSlot.tsx @@ -0,0 +1,57 @@ +'use client'; + +import { useRenderElement } from '@lib/hooks'; + +import type { HeadlessUIComponentProps } from '@lib/types'; + +import { useFieldControlContext } from '../control/FieldControlContext'; +import { fieldValidityMapping } from '../utils/constants'; + +import type { FieldRoot } from '../root/FieldRoot'; + +/** + * The form control to label and validate. + * Renders an `` element. + * + * You can omit this part and use any Base UI input component instead. For example, + * [Input](https://base-ui.com/react/components/input), [Checkbox](https://base-ui.com/react/components/checkbox), + * or [Select](https://base-ui.com/react/components/select), among others, will work with Field out of the box. + * + * Documentation: [Base UI Field](https://base-ui.com/react/components/field) + */ +export function FieldControlSlot(componentProps: FieldControlSlot.InputProps): React.JSX.Element; +export function FieldControlSlot(componentProps: FieldControlSlot.TextAreaProps): React.JSX.Element; +export function FieldControlSlot(componentProps: FieldControlSlot.Props) { + const { + /* eslint-disable unused-imports/no-unused-vars */ + className, + render, + /* eslint-enable unused-imports/no-unused-vars */ + ref, + ...elementProps + } = componentProps; + + const { controlProps, control, state } = useFieldControlContext(); + const { ref: controlRef, ...otherControlProps } = controlProps; + + const element = useRenderElement(control, componentProps, { + ref: [ref, controlRef], + state: { + slot: true, + ...state + }, + props: [elementProps, otherControlProps], + customStyleHookMapping: fieldValidityMapping + }); + + return element; +} + +export namespace FieldControlSlot { + export type State = FieldRoot.State; + + export type InputProps = Omit, keyof Omit , keyof React.HTMLAttributes >>; + export type TextAreaProps = Omit, keyof Omit, keyof React.HTMLAttributes>>; + + export type Props = InputProps | TextAreaProps; +} diff --git a/packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx b/packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx deleted file mode 100644 index 9f6c38f3..00000000 --- a/packages/ui/uikit/headless/components/src/components/Field/slot/FieldSlot.tsx +++ /dev/null @@ -1,40 +0,0 @@ -'use client'; - -import { useRenderElement } from '@lib/hooks'; - -import type { HeadlessUIComponentProps } from '@lib/types'; - -import { useFieldControlContext } from '../control/FieldControlContext'; -import { fieldValidityMapping } from '../utils/constants'; - -import type { FieldRoot } from '../root/FieldRoot'; - -/** - * The form control to label and validate. - * Renders an `` element. - * - * You can omit this part and use any Base UI input component instead. For example, - * [Input](https://base-ui.com/react/components/input), [Checkbox](https://base-ui.com/react/components/checkbox), - * or [Select](https://base-ui.com/react/components/select), among others, will work with Field out of the box. - * - * Documentation: [Base UI Field](https://base-ui.com/react/components/field) - */ -export function FieldControlSlot() { - const { controlProps, control, state } = useFieldControlContext(); - const { ref, ...elementProps } = controlProps; - - const element = useRenderElement(control, controlProps, { - ref: ref as React.Ref, - state, - props: [elementProps], - customStyleHookMapping: fieldValidityMapping - }); - - return element; -} - -export namespace FieldControl { - export type State = FieldRoot.State; - - export type Props = HeadlessUIComponentProps<'span', State>; -} diff --git a/packages/ui/uikit/headless/components/src/components/Input/Input.tsx b/packages/ui/uikit/headless/components/src/components/Input/Input.tsx index 2c75a43e..229290de 100644 --- a/packages/ui/uikit/headless/components/src/components/Input/Input.tsx +++ b/packages/ui/uikit/headless/components/src/components/Input/Input.tsx @@ -19,5 +19,7 @@ Input.useInputControl = Field.Control.useFieldControl; export namespace Input { export type State = Field.Control.State; + export type SlotProps = Field.Control.InputSlotProps; + export type Props = Omit; } diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx index 06488791..74f2152f 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx +++ b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx @@ -2,7 +2,6 @@ import type React from 'react'; import { getEventKey, isComposingEvent } from '@lib/event'; import { useDirection, useRenderElement } from '@lib/hooks'; -import { mergeProps } from '@lib/merge'; import { ARABIC_RE, HAN_RE } from '@lib/parseNumeric'; import type { EventKeyMap, HeadlessUIComponentProps } from '@lib/types'; diff --git a/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx b/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx index 9108f1fe..bae5f7e8 100644 --- a/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx +++ b/packages/ui/uikit/headless/components/src/components/Textarea/Textarea.tsx @@ -13,5 +13,7 @@ Textarea.useTextareaControl = Field.Control.useFieldControl; export namespace Textarea { export type State = Field.Control.State; + export type SlotProps = Field.Control.TextAreaSlotProps; + export type Props = Omit; } From 199e801ee44535984b20e3dc1ab23b2372108cf2 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Mon, 22 Sep 2025 20:38:22 +0300 Subject: [PATCH 10/37] feat(headless/components): implement PinInput subcomponents and focus funnel functionality --- .../Input/ui/body/InputBody.module.scss | 2 +- .../src/components/PinInput/index.parts.ts | 4 + .../src/components/PinInput/index.ts | 1 + .../PinInput/story/PinInput.stories.tsx | 42 ++++ .../PinInputFocusFunnel.module.scss | 6 + .../ui/focus-funnel/PinInputFocusFunnel.tsx | 19 ++ .../PinInput/ui/group/PinInputGroup.tsx | 11 + .../PinInput/ui/pin/PinInputPin.module.scss | 107 ++++++++++ .../PinInput/ui/pin/PinInputPin.tsx | 47 +++++ .../PinInput/ui/root/PinInputRoot.module.scss | 6 + .../PinInput/ui/root/PinInputRoot.tsx | 19 ++ .../focus-funnel/PinInputFocusFunnel.tsx | 192 ++++++++++++++++++ .../PinInputFocusFunnelContext.ts | 21 ++ .../PinInputFocusFunnelDataAttributes.ts | 38 ++++ .../PinInput/group/PinInputGroup.tsx | 7 +- .../group/PinInputGroupDataAttributes.ts | 4 - .../src/components/PinInput/index.parts.ts | 1 + .../components/PinInput/pin/PinInputPin.tsx | 154 +++++++------- .../PinInput/pin/PinInputPinDataAttributes.ts | 4 +- .../components/PinInput/pin/handleEvents.ts | 181 +++++++++++++++++ .../PinInput/root/PinInputDataAttributes.ts | 4 - .../components/PinInput/root/PinInputRoot.tsx | 100 +++++---- .../PinInput/root/PinInputRootContext.ts | 13 +- .../components/PinInput/utils/focusUtils.ts | 65 ++++++ .../components/PinInput/utils/styleHooks.ts | 8 - .../components/PinInput/utils/testPattern.ts | 36 +++- .../uikit/headless/components/tsconfig.json | 2 +- 27 files changed, 938 insertions(+), 156 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/group/PinInputGroup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnel.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelContext.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelDataAttributes.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/pin/handleEvents.ts create mode 100644 packages/ui/uikit/headless/components/src/components/PinInput/utils/focusUtils.ts diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss index 7d97cd69..8c69a0d7 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.module.scss @@ -144,7 +144,7 @@ background: var(--f-color-bg-area-muted); color: var(--f-color-text-disabled); - &_affordance { + #{$parent}_affordance { border-color: var(--f-color-stroke); } } diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/PinInput/index.parts.ts new file mode 100644 index 00000000..9e62d279 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/index.parts.ts @@ -0,0 +1,4 @@ +export { PinInputFocusFunnel as FocusFunnel } from './ui/focus-funnel/PinInputFocusFunnel'; +export { PinInputGroup as Group } from './ui/group/PinInputGroup'; +export { PinInputPin as Pin } from './ui/pin/PinInputPin'; +export { PinInputRoot as Root } from './ui/root/PinInputRoot'; diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/index.ts b/packages/ui/uikit/flippo/components/src/components/PinInput/index.ts new file mode 100644 index 00000000..54c88e78 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/index.ts @@ -0,0 +1 @@ +export * as PinInput from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx b/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx new file mode 100644 index 00000000..531e2de8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx @@ -0,0 +1,42 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { PinInput } from '..'; + +const meta: Meta = { + title: 'UIKit/Inputs/PinInput', + component: PinInput.Root +}; + +export default meta; + +type PinInputStory = StoryObj; + +export const PinInputInverted: PinInputStory = { + args: {}, + render: () => ( + {}}> + + + + + + + + ) +}; + +export const PinInputLight: PinInputStory = { + args: {}, + render: () => ( + {}}> + + + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.module.scss b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.module.scss new file mode 100644 index 00000000..bc5f8dfc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.module.scss @@ -0,0 +1,6 @@ +@use 'mixins/_flex.scss' as flex; + +.PinInputFocusFunnel { + @include flex.display(flex, row, center, center, var(--f-spacing-3)); + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.tsx b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.tsx new file mode 100644 index 00000000..7dab0d44 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/focus-funnel/PinInputFocusFunnel.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { PinInput as PinInputHeadless } from '@flippo-ui/headless-components/pin-input'; +import { cx } from 'class-variance-authority'; + +import styles from './PinInputFocusFunnel.module.scss'; + +export function PinInputFocusFunnel(props: PinInputFocusFunnel.Props) { + const { + className, + ...rest + } = props; + + return ; +} + +export namespace PinInputFocusFunnel { + export type Props = PinInputHeadless.FocusFunnel.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/group/PinInputGroup.tsx b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/group/PinInputGroup.tsx new file mode 100644 index 00000000..2d8c89a1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/group/PinInputGroup.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { PinInput as PinInputHeadless } from '@flippo-ui/headless-components/pin-input'; + +export function PinInputGroup(props: PinInputGroup.Props) { + return ; +} + +export namespace PinInputGroup { + export type Props = PinInputHeadless.Group.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.module.scss b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.module.scss new file mode 100644 index 00000000..d8baefdb --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.module.scss @@ -0,0 +1,107 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_corners.scss' as corners; + +.PinInputPin { + $ow: 1.5px; + $parent: &; + @include font.title-2('default'); + color: var(--f-color-text-primary); + + outline: none; + + flex: 0 1 100%; + + fill: var(--f-color-text-6); + + overflow: hidden; + //border-radius: var(--f-border-radius-card); + + text-align: center; + + &:read-only { + pointer-events: none; + } + + transition: + outline 0.3s ease, + background-color 0.3s ease; + + padding: var(--f-spacing-4) 0; + height: calc(var(--f-spacing-10) * 2); + max-width: var(--f-spacing-15); + + &:hover { + [data-slot]::placeholder { + color: var(--f-color-text-5); + } + } + + &:focus-within { + [data-slot]::placeholder { + color: var(--f-color-text-6); + } + } + + @include corners.corners((&, '::before', '::after'), var(--f-spacing-4)); + + &_light { + background: var(--f-color-bg-1); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke-hover); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-1); + color: var(--f-color-text-disabled); + } + } + + &_inverted { + background: var(--f-color-bg-area-muted); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + } + } + + &[data-value] { + border-color: var(--f-color-brand-light); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.tsx b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.tsx new file mode 100644 index 00000000..1edac7e2 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/pin/PinInputPin.tsx @@ -0,0 +1,47 @@ +import React from 'react'; + +import { PinInput as PinInputHeadless } from '@flippo-ui/headless-components/pin-input'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './PinInputPin.module.scss'; + +const PinInputPinVariants = cva(styles.PinInputPin, { + variants: { + variant: { + inverted: styles.PinInputPin_inverted, + light: styles.PinInputPin_light + }, + corners: { + 'clear': styles['corners-clear-clear'], + 'circle': styles['corners-circle-circle'], + 'round': styles['corners-round-round'], + 'round-clear': styles['corners-round-clear'], + 'clear-round': styles['corners-clear-round'], + 'round-circle': styles['corners-round-circle'], + 'clear-circle': styles['corners-clear-circle'] + } + }, + defaultVariants: { + variant: 'inverted', + corners: 'round' + } +}); + +export function PinInputPin(props: PinInputPin.Props) { + const { + className, + variant = 'inverted', + corners = 'round', + ...rest + } = props; + + const pinInputPinClasses = PinInputPinVariants({ variant, corners, className }); + + return ; +} + +export namespace PinInputPin { + export type Props = PinInputHeadless.Pin.Props & VariantProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.module.scss new file mode 100644 index 00000000..3ca49543 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.module.scss @@ -0,0 +1,6 @@ +@use 'mixins/_flex.scss' as flex; + +.PinInputRoot { + @include flex.display(flex, row, center, center, var(--f-spacing-3)); + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.tsx b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.tsx new file mode 100644 index 00000000..7730b6f4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/ui/root/PinInputRoot.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { PinInput as PinInputHeadless } from '@flippo-ui/headless-components/pin-input'; +import { cx } from 'class-variance-authority'; + +import styles from './PinInputRoot.module.scss'; + +export function PinInputRoot(props: PinInputRoot.Props) { + const { + className, + ...rest + } = props; + + return ; +} + +export namespace PinInputRoot { + export type Props = PinInputHeadless.Root.Props; +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnel.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnel.tsx new file mode 100644 index 00000000..086eb004 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnel.tsx @@ -0,0 +1,192 @@ +import React from 'react'; + +import { useRenderElement } from '@lib/hooks'; + +import type { HeadlessUIComponentProps } from '@lib/types'; + +import { useCompositeListContext } from '../../Composite/list/CompositeListContext'; +import { usePinInputRootContext } from '../root/PinInputRootContext'; +import { focusElement, getFocusTarget } from '../utils/focusUtils'; +import { pinInputStyleHookMapping } from '../utils/styleHooks'; + +import type { PinInputRoot } from '../root/PinInputRoot'; + +import { PinInputFocusFunnelContext } from './PinInputFocusFunnelContext'; + +export function PinInputFocusFunnel(componentProps: PinInputFocusFunnel.Props) { + const { + /* eslint-disable unused-imports/no-unused-vars */ + className, + render, + /* eslint-enable unused-imports/no-unused-vars */ + ref, + focusMode = 'first-empty', + ...elementProps + } = componentProps; + + const { + state, + values, + focusedInputIndex, + lastFocusedInputIndex, + setFocused, + setFocusedInputIndex + } = usePinInputRootContext(); + + const { elementsRef } = useCompositeListContext(); + + /** + * Get the target input index based on focus mode + */ + const getTargetInputIndex = React.useCallback(() => { + const maxIndex = Math.max(0, (elementsRef.current?.length ?? 1) - 1); + + return getFocusTarget( + focusMode, + values, + lastFocusedInputIndex, + maxIndex + ); + }, [ + focusMode, + values, + lastFocusedInputIndex, + elementsRef + ]); + + /** + * Handle focus funnel click to direct focus to appropriate input + */ + const onContainerClick = React.useCallback((event: React.MouseEvent) => { + if (focusMode !== 'first-empty' && (event.target as HTMLElement)?.tagName === 'INPUT') { + return; + } + + const targetIndex = getTargetInputIndex(); + + // Focus the target input through elementsRef + const targetElement = elementsRef.current?.[targetIndex] ?? null; + if (focusElement(targetElement)) { + setFocused(true); + setFocusedInputIndex(targetIndex); + } + }, [ + focusMode, + getTargetInputIndex, + elementsRef, + setFocused, + setFocusedInputIndex + ]); + + /** + * Handle focus funnel focus to ensure proper input focus + */ + const onContainerFocus = React.useCallback((event: React.FocusEvent) => { + // Only handle if focus funnel itself received focus (not from child inputs) + if (!event.currentTarget.contains(event.relatedTarget)) { + const targetIndex = getTargetInputIndex(); + + const targetElement = elementsRef.current?.[targetIndex] ?? null; + focusElement(targetElement); + } + }, [getTargetInputIndex, elementsRef]); + + /** + * Handle keyboard shortcuts for focus funnel + */ + const onContainerKeyDown = React.useCallback((event: React.KeyboardEvent) => { + // Only handle if the focus funnel itself has focus, not its children + if (event.target !== event.currentTarget) { + return; + } + + const targetIndex = focusedInputIndex ?? getTargetInputIndex(); + const targetElement = elementsRef.current?.[targetIndex] ?? null; + + switch (event.key) { + case 'Enter': + case ' ': // Space + event.preventDefault(); + if (focusElement(targetElement)) { + setFocused(true); + setFocusedInputIndex(targetIndex); + } + break; + + case 'Escape': + // Clear focus from focus funnel + (event.currentTarget as HTMLElement).blur(); + break; + + default: + // For any other key, try to focus the target input and pass the key + if (targetElement && event.key.length === 1) { + event.preventDefault(); + + if (focusElement(targetElement)) { + // Dispatch the key event to the input + const keyEvent = new KeyboardEvent('keydown', { + key: event.key, + code: event.code, + bubbles: true, + cancelable: true + }); + targetElement.dispatchEvent(keyEvent); + } + } + break; + } + }, [ + focusedInputIndex, + getTargetInputIndex, + elementsRef, + setFocused, + setFocusedInputIndex + ]); + + const context = React.useMemo(() => ({ focusMode }), [focusMode]); + + const element = useRenderElement( + 'div', + componentProps, + { + ref, + state, + props: [{ + 'role': 'application', + 'aria-label': 'PIN input focus funnel', + 'aria-describedby': state.valid === false ? 'pin-focus-funnel-error' : undefined, + 'tabIndex': -1, // Make focus funnel focusable but not in tab order + 'onClick': onContainerClick, + 'onFocus': onContainerFocus, + 'onKeyDown': onContainerKeyDown, + 'style': { + outline: 'none' // Remove default focus outline since inputs will be focused + } + }, elementProps], + customStyleHookMapping: pinInputStyleHookMapping + } + ); + + return ( + + { element} + + ); +} + +export namespace PinInputFocusFunnel { + export type State = PinInputRoot.State; + + export type FocusMode = 'last-active' | 'first-empty' | 'first'; + + export type Props = HeadlessUIComponentProps<'div', State> & { + /** + * Focus mode for the focus funnel + * - 'last-active': Focus on the last active input (default) + * - 'first-empty': Focus on the first empty input + * - 'first': Always focus on the first input + */ + focusMode?: FocusMode; + }; +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelContext.ts b/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelContext.ts new file mode 100644 index 00000000..5e7d9319 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelContext.ts @@ -0,0 +1,21 @@ +import React from 'react'; + +import type { PinInputFocusFunnel } from './PinInputFocusFunnel'; + +export type PinInputFocusFunnelContextValue = { + focusMode: PinInputFocusFunnel.FocusMode; +}; + +export const PinInputFocusFunnelContext = React.createContext(undefined); + +export function usePinInputFocusFunnelContext(optional?: false): PinInputFocusFunnelContextValue; +export function usePinInputFocusFunnelContext(optional: true): PinInputFocusFunnelContextValue | undefined; +export function usePinInputFocusFunnelContext(optional?: boolean) { + const context = React.use(PinInputFocusFunnelContext); + + if (context === undefined && !optional) { + throw new Error('Headless UI: PinInputFocusFunnel is missing.'); + } + + return context; +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelDataAttributes.ts new file mode 100644 index 00000000..d28a2c78 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/focus-funnel/PinInputFocusFunnelDataAttributes.ts @@ -0,0 +1,38 @@ +export enum PinInputFocusFunnelDataAttributes { + /** + * Present when the focus mode is set. + */ + focusMode = 'data-focus-mode', + /** + * Present when the field is disabled. + */ + disabled = 'data-disabled', + /** + * Present when the field has been touched. + */ + touched = 'data-touched', + /** + * Present when the field's value has changed. + */ + dirty = 'data-dirty', + /** + * Present when the field is valid. + */ + valid = 'data-valid', + /** + * Present when the field is invalid. + */ + invalid = 'data-invalid', + /** + * Present when the field is filled. + */ + filled = 'data-filled', + /** + * Present when the field control is focused. + */ + focused = 'data-focused', + /** + * Present when the field is readonly. + */ + readonly = 'data-readonly' +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx index d8212e0c..0a130660 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx +++ b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroup.tsx @@ -25,7 +25,12 @@ export function PinInputGroup(componentProps: PinInputGroup.Props) { { ref, state, - props: [{ role: 'group' }, elementProps], + props: [{ + 'role': 'group', + 'aria-label': 'PIN code input', + 'aria-describedby': state.valid === false ? 'pin-input-error' : undefined, + 'aria-invalid': state.valid === false + }, elementProps], customStyleHookMapping: pinInputStyleHookMapping } ); diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts index b53619e7..97f95fae 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/group/PinInputGroupDataAttributes.ts @@ -1,8 +1,4 @@ export enum PinInputGroupDataAttributes { - /** - * Present when the pin input is completed. - */ - completed = 'data-completed', /** * Present when the field is disabled. */ diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts b/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts index a01170ff..449e8756 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/index.parts.ts @@ -1,3 +1,4 @@ +export { PinInputFocusFunnel as FocusFunnel } from './focus-funnel/PinInputFocusFunnel'; export { PinInputGroup as Group } from './group/PinInputGroup'; export { PinInputPin as Pin } from './pin/PinInputPin'; export { PinInputRoot as Root } from './root/PinInputRoot'; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx index 74f2152f..675b08f1 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx +++ b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPin.tsx @@ -1,21 +1,20 @@ -import type React from 'react'; +import React from 'react'; -import { getEventKey, isComposingEvent } from '@lib/event'; -import { useDirection, useRenderElement } from '@lib/hooks'; -import { ARABIC_RE, HAN_RE } from '@lib/parseNumeric'; +import { useDirection, useHeadlessUiId, useRenderElement } from '@lib/hooks'; -import type { EventKeyMap, HeadlessUIComponentProps } from '@lib/types'; +import type { HeadlessUIComponentProps } from '@lib/types'; -import { useCompositeItem } from '../../Composite'; +import { useCompositeListItem } from '../../Composite'; import { isModifierKeySet } from '../../Composite/composite'; import { useCompositeListContext } from '../../Composite/list/CompositeListContext'; +import { usePinInputFocusFunnelContext } from '../focus-funnel/PinInputFocusFunnelContext'; import { usePinInputRootContext } from '../root/PinInputRootContext'; import { pinInputStyleHookMapping } from '../utils/styleHooks'; import { testPattern } from '../utils/testPattern'; import type { PinInputRoot } from '../root/PinInputRoot'; -const NAVIGATE_KEYS = new Set(['Tab', 'Enter', 'Escape']); +import { handlePasteValue, handleSpecialKeys, shouldAllowKey } from './handleEvents'; export function PinInputPin(componentProps: PinInputPin.Props) { const { @@ -23,6 +22,7 @@ export function PinInputPin(componentProps: PinInputPin.Props) { className, render, /* eslint-enable unused-imports/no-unused-vars */ + id: idProp, ref, ...elementProps } = componentProps; @@ -30,137 +30,125 @@ export function PinInputPin(componentProps: PinInputPin.Props) { const { otp, mask, - state, + state: stateContext, placeholder, values, - controlRef, - blurOnComplete, selectOnFocus, + readOnly: readOnlyProp, pattern, type, + focusedInputIndex, + setFocusedInputIndex, + setLastFocusedInputIndex, setFocused, setDirty, setFilled, setTouched, - setCompleted, onValueChange: onPinInputValueChange } = usePinInputRootContext(); - const { - index, - compositeRef, - isHighlighted, - compositeProps - } = useCompositeItem(); + const { ref: compositeRef, index } = useCompositeListItem(); + const id = useHeadlessUiId(idProp); const { elementsRef } = useCompositeListContext(); + const focusFunnelContext = usePinInputFocusFunnelContext(true); const direction = useDirection(); + const readOnly = ((focusFunnelContext?.focusMode === 'first-empty') && focusedInputIndex !== index) || readOnlyProp; const inputType = otp ? 'tel' : 'text'; - const isCompleted = values.every((value) => value !== '') && values.length === elementsRef.current.length; + + const state = React.useMemo(() => ({ + ...stateContext, + value: values[index] + }), [index, stateContext, values]); const element = useRenderElement('input', componentProps, { - state, ref: [compositeRef, ref], + state, props: [{ + id, + 'tabIndex': focusedInputIndex === index ? 0 : -1, 'value': values[index] ?? '', 'dir': direction, 'inputMode': otp ? 'numeric' : 'text', 'aria-invalid': !state.valid, + 'aria-label': `PIN digit ${index + 1}`, + 'aria-describedby': state.valid === false ? `${id}-error` : undefined, 'type': mask ? 'password' : inputType, - 'maxLength': 1, - 'readOnly': true, + readOnly, 'autoCapitalize': 'none', 'autoComplete': otp ? 'one-time-code' : 'off', - 'placeholder': isHighlighted ? '' : placeholder, + 'placeholder': focusedInputIndex === index ? '' : placeholder, onFocus() { setFocused(true); - if (selectOnFocus) + setFocusedInputIndex(index); + setLastFocusedInputIndex(index); + + if (selectOnFocus) { (elementsRef.current[index] as HTMLInputElement | null)?.select(); + } }, onBlur() { setTouched(true); setFocused(false); + setFocusedInputIndex(null); }, onChange(event) { - const newValue = event.target.value; + const inputValue = event.target.value.at(-1) ?? ''; - if (!testPattern(newValue, type, pattern)) + // Validate input against pattern + if (!testPattern(inputValue, type, pattern)) { return; + } + // Update field state setDirty(true); setFilled(true); - onPinInputValueChange(newValue, index, event.nativeEvent); - - if (isCompleted) { - setCompleted(true); + // Trigger value change callback + onPinInputValueChange(inputValue, index, event.nativeEvent); - if (blurOnComplete) - (elementsRef.current[index] as HTMLInputElement | null)?.blur(); - - (controlRef.current as HTMLInputElement | null)?.form?.requestSubmit(); + // Auto-focus next input if available, or check completion for last input + const nextIndex = index + 1; + if (nextIndex < elementsRef.current.length) { + elementsRef.current[nextIndex]?.focus(); } }, + onPaste(event) { + handlePasteValue(event.clipboardData.getData('text'), index, { + elementsRef, + onPinInputValueChange, + setDirty, + setFilled, + type, + pattern + }); + }, onKeyDown(event) { - if (event.defaultPrevented) + if (event.defaultPrevented) { return; + } - const isLatinNumeral = /^\d$/.test(event.key); - const isArabicNumeral = ARABIC_RE.test(event.key); - const isHanNumeral = HAN_RE.test(event.key); - const isNavigateKey = NAVIGATE_KEYS.has(event.key); - - if ( - // Allow composition events (e.g., pinyin) - // event.nativeEvent.isComposing does not work in Safari: - // https://bugs.webkit.org/show_bug.cgi?id=165004 - isComposingEvent(event) - || isLatinNumeral - || isArabicNumeral - || isHanNumeral - || isNavigateKey - ) { + // Check if key should be allowed through + if (shouldAllowKey(event)) { return; } - if (isModifierKeySet(event, [])) + if (isModifierKeySet(event, [])) { return; - - const keyMap: EventKeyMap = { - Backspace() { - onPinInputValueChange('', index, event.nativeEvent); - - const nextIndex = index - 1 < 0 ? 0 : index - 1; - elementsRef.current[nextIndex]?.focus(); - - setCompleted(false); - }, - Delete() { - onPinInputValueChange('', index, event.nativeEvent); - setCompleted(false); - }, - Enter() { - if (isCompleted) { - (controlRef.current as HTMLInputElement | null)?.form?.requestSubmit(); - setCompleted(true); - } - } - }; - - const exec - = keyMap[ - getEventKey(event, { - dir: direction, - orientation: 'horizontal' - }) - ]; - - if (exec) { - exec(event); } + + // Handle special keys + handleSpecialKeys(event, { + index, + elementsRef, + onPinInputValueChange, + direction, + focusMode: focusFunnelContext?.focusMode, + values + }); } - }, compositeProps, elementProps], + }, elementProps], customStyleHookMapping: pinInputStyleHookMapping }); diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts index 720aac60..666f081b 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/pin/PinInputPinDataAttributes.ts @@ -1,8 +1,8 @@ export enum PinInputPinDataAttributes { /** - * Present when the pin input is completed. + * Present when the field has a value. */ - completed = 'data-completed', + value = 'data-value', /** * Present when the field is disabled. */ diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/pin/handleEvents.ts b/packages/ui/uikit/headless/components/src/components/PinInput/pin/handleEvents.ts new file mode 100644 index 00000000..55977797 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/pin/handleEvents.ts @@ -0,0 +1,181 @@ +import { getEventKey, isComposingEvent } from '@lib/event'; +import { ARABIC_RE, HAN_RE } from '@lib/parseNumeric'; + +import type { EventKeyMap } from '@lib/types'; + +import { testPattern } from '../utils/testPattern'; + +import type { PinInputFocusFunnel } from '../focus-funnel/PinInputFocusFunnel'; + +const NAVIGATE_KEYS = new Set(['Tab', 'Enter', 'Escape']); + +/** + * Check if a key press should be allowed through without intervention + */ +export function shouldAllowKey(event: React.KeyboardEvent): boolean { + const isLatinNumeral = /^\d$/.test(event.key); + const isArabicNumeral = ARABIC_RE.test(event.key); + const isHanNumeral = HAN_RE.test(event.key); + const isNavigateKey = NAVIGATE_KEYS.has(event.key); + + return ( + // Allow composition events (e.g., pinyin) + // event.nativeEvent.isComposing does not work in Safari: + // https://bugs.webkit.org/show_bug.cgi?id=165004 + isComposingEvent(event) + || isLatinNumeral + || isArabicNumeral + || isHanNumeral + || isNavigateKey + ); +} + +/** + * Handle special keys (Backspace, Delete, Enter) + */ +export function handleSpecialKeys( + event: React.KeyboardEvent, + context: { + index: number; + elementsRef: React.RefObject<(HTMLElement | null)[]>; + onPinInputValueChange: (value: string, index: number, event: Event) => void; + direction: 'ltr' | 'rtl'; + focusMode: PinInputFocusFunnel.FocusMode | undefined; + values: string[]; + } +): void { + const { + index, + elementsRef, + onPinInputValueChange, + direction, + focusMode, + values + } = context; + + const keyMap: EventKeyMap = { + Backspace() { + onPinInputValueChange('', index, event.nativeEvent); + + // Move to previous input + const prevIndex = Math.max(0, index - 1); + const prevElement = elementsRef.current?.[prevIndex]; + if (prevElement) { + prevElement.focus(); + } + }, + Delete() { + onPinInputValueChange('', index, event.nativeEvent); + }, + Enter() { + // Trigger value change to check completion logic without changing value + const currentValue = values[index] ?? ''; + onPinInputValueChange(currentValue, index, event.nativeEvent); + }, + ...(focusMode !== 'first-empty' + ? { + ArrowLeft() { + // Navigate to previous input + const prevIndex = Math.max(0, index - 1); + const prevElement = elementsRef.current?.[prevIndex]; + if (prevElement && prevIndex !== index) { + prevElement.focus(); + } + }, + ArrowRight() { + // Navigate to next input + const nextIndex = Math.min(elementsRef.current?.length - 1 || 0, index + 1); + const nextElement = elementsRef.current?.[nextIndex]; + if (nextElement && nextIndex !== index) { + nextElement.focus(); + } + }, + Home() { + // Focus first input + const firstElement = elementsRef.current?.[0]; + if (firstElement) { + firstElement.focus(); + } + }, + End() { + // Focus last input + const lastIndex = (elementsRef.current?.length || 1) - 1; + const lastElement = elementsRef.current?.[lastIndex]; + if (lastElement) { + lastElement.focus(); + } + } + } + : {}) + }; + + const eventKey = getEventKey(event, { + dir: direction, + orientation: 'horizontal' + }); + + const handler = keyMap[eventKey]; + if (handler) { + handler(event); + } +} + +/** + * Handle paste operation for multiple characters + */ +export function handlePasteValue( + pastedValue: string, + startIndex: number, + context: { + elementsRef: React.RefObject<(HTMLElement | null)[]>; + onPinInputValueChange: (value: string, index: number, event: Event) => void; + setDirty: (dirty: boolean) => void; + setFilled: (filled: boolean) => void; + type?: 'alphanumeric' | 'numeric' | 'alphabetic'; + pattern?: string; + } +): void { + const { + elementsRef, + onPinInputValueChange, + setDirty, + setFilled, + type, + pattern + } = context; + + // Filter and validate pasted characters + const validChars = pastedValue + .split('') + .filter((char) => testPattern(char, type, pattern)); + + if (validChars.length === 0) { + return; + } + + // Update field state + setDirty(true); + setFilled(true); + + // Distribute characters across available inputs + const maxInputs = elementsRef.current?.length || 0; + let focusIndex = startIndex; + + validChars.forEach((char, charIndex) => { + const inputIndex = startIndex + charIndex; + + if (inputIndex < maxInputs) { + // Create a synthetic event for consistency + const syntheticEvent = new Event('input', { bubbles: true }); + onPinInputValueChange(char, inputIndex, syntheticEvent); + focusIndex = inputIndex + 1; + } + }); + + // Focus the next available input or the last one + const nextFocusIndex = Math.min(focusIndex, maxInputs - 1); + const elementToFocus = elementsRef.current?.[nextFocusIndex]; + if (elementToFocus) { + elementToFocus.focus(); + } +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts index 5fb754e9..7fafebbb 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputDataAttributes.ts @@ -1,8 +1,4 @@ export enum PinInputDataAttributes { - /** - * Present when the pin input is completed. - */ - completed = 'data-completed', /** * Present when the field is disabled. */ diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx index 3fcd6824..0bcf52e9 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRoot.tsx @@ -7,38 +7,38 @@ import { useMergedRef } from '@flippo-ui/hooks'; -import { useHeadlessUiId } from '@lib/hooks'; +import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { mergeProps } from '@lib/merge'; import { visuallyHidden } from '@lib/visuallyHidden'; import { contains } from '@packages/floating-ui-react/utils'; import type { HeadlessUIComponentProps, HTMLProps } from '@lib/types'; -import { CompositeRoot } from '../../Composite'; -import { SHIFT } from '../../Composite/composite'; +import { CompositeList } from '../../Composite'; import { useFieldControlValidation } from '../../Field/control/useFieldControlValidation'; import { useFieldRootContext } from '../../Field/root/FieldRootContext'; import { useField } from '../../Field/useField'; import { useFormContext } from '../../Form/FormContext'; import { pinInputStyleHookMapping } from '../utils/styleHooks'; -import type { CompositeMetadata } from '../../Composite'; +import type { CompositeMetadata, CompositeRoot } from '../../Composite'; import type { Field } from '../../Field'; import { PinInputRootContext } from './PinInputRootContext'; import type { PinInputRootContextValue } from './PinInputRootContext'; -const MODIFIER_KEYS = [SHIFT]; - export function PinInputRoot(componentProps: PinInputRoot.Props) { const { + /* eslint-disable unused-imports/no-unused-vars */ className, render, + /* eslint-enable unused-imports/no-unused-vars */ disabled: disabledProp, - readOnly, + readOnly = false, required, onValueChange: onValueChangeProp, + onValueComplete, value: externalValue, defaultValue, name: nameProp, @@ -55,7 +55,8 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { ...elementProps } = componentProps; - const [completed, setCompleted] = React.useState(false); + const [focusedInputIndex, setFocusedInputIndex] = React.useState(null); + const [lastFocusedInputIndex, setLastFocusedInputIndex] = React.useState(null); const { labelId, @@ -82,6 +83,9 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { }); const [values, setValues] = React.useState(() => String(checkedValue).split('')); + const [touched, setTouched] = React.useState(false); + const pinElementsRefs = React.useRef<(HTMLElement | null)[]>([]); + const prevValueRef = React.useRef(checkedValue); const controlRef = React.useRef(null); const registerControlRef = useEventCallback((element: HTMLElement | null) => { @@ -99,8 +103,6 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { getValue: () => checkedValue ?? null }); - const prevValueRef = React.useRef(checkedValue); - useIsoLayoutEffect(() => { if (prevValueRef.current === checkedValue) { return; @@ -126,8 +128,6 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { prevValueRef.current = checkedValue; }, [checkedValue]); - const [touched, setTouched] = React.useState(false); - const onBlur = useEventCallback((event) => { if (!contains(event.currentTarget, event.relatedTarget)) { setFieldTouched(true); @@ -148,15 +148,37 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { }); const onValueChange = React.useCallback((pinValue: string, index: number, event: Event) => { - const newValues = [...values]; - newValues[index] = pinValue; - - const value = newValues.join(''); + setValues((prevValues) => { + const newValues = [...prevValues]; + newValues[index] = pinValue; + + const value = newValues.join(''); + setCheckedValue(value); + onValueChangeProp?.(value, newValues, event); + + // Check if PIN input is completed and handle completion logic + const isComplete = pinElementsRefs.current.length === newValues.length && newValues.every((val) => val !== ''); + if (isComplete && focusedInputIndex === pinElementsRefs.current.length - 1) { + // Trigger onValueComplete callback + onValueComplete?.(value, newValues, event); + + if (blurOnComplete) { + // Blur the currently focused input + setTimeout(() => { + pinElementsRefs.current[focusedInputIndex ?? 0]?.blur(); + }, 0); + } + } - setValues(newValues); - setCheckedValue(value); - onValueChangeProp?.(value, newValues, event); - }, [onValueChangeProp, setCheckedValue, values]); + return newValues; + }); + }, [ + setCheckedValue, + onValueChangeProp, + onValueComplete, + blurOnComplete, + focusedInputIndex + ]); const serializedCheckedValue = React.useMemo(() => { if (checkedValue == null) { @@ -192,14 +214,12 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { const state: PinInputRoot.State = React.useMemo( () => ({ ...fieldState, - completed, disabled: disabled ?? false, required: required ?? false, readOnly: readOnly ?? false }), [ fieldState, - completed, disabled, required, readOnly @@ -212,6 +232,7 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { mask, otp, checkedValue, + readOnly, name, touched, values, @@ -221,10 +242,13 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { selectOnFocus, pattern, type, + focusedInputIndex, + lastFocusedInputIndex, + setLastFocusedInputIndex, + setFocusedInputIndex, setFocused, setDirty, setFilled, - setCompleted, setValues, setTouched, setCheckedValue, @@ -234,12 +258,15 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { [ blurOnComplete, checkedValue, + focusedInputIndex, + lastFocusedInputIndex, mask, name, onValueChange, otp, pattern, placeholder, + readOnly, registerControlRef, selectOnFocus, setCheckedValue, @@ -254,10 +281,9 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { ); const defaultProps: HTMLProps = { - 'role': 'radiogroup', - 'aria-required': required || undefined, - 'aria-disabled': disabled || undefined, - 'aria-readonly': readOnly || undefined, + 'aria-required': required, + 'aria-disabled': disabled, + 'aria-readonly': readOnly, 'aria-labelledby': labelId, onFocus() { setFocused(true); @@ -266,19 +292,16 @@ export function PinInputRoot(componentProps: PinInputRoot.Props) { onKeyDownCapture }; + const element = useRenderElement('div', componentProps, { + ref, + state, + props: [defaultProps, elementProps], + customStyleHookMapping: pinInputStyleHookMapping + }); + return ( - + {element} ); @@ -290,7 +313,6 @@ export namespace PinInputRoot { }>; export type State = { - completed: boolean; readOnly: boolean; } & Field.Root.State; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts index b2ce7527..7fce86e5 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/root/PinInputRootContext.ts @@ -17,14 +17,18 @@ export type PinInputRootContextValue = { checkedValue: string; touched: boolean; placeholder: string; + readOnly: boolean; + focusedInputIndex: number | null; + lastFocusedInputIndex: number | null; fieldControlValidation?: ReturnType; values: string[]; state: PinInputRoot.State; controlRef: React.RefObject; setFocused: React.Dispatch>; + setFocusedInputIndex: React.Dispatch>; + setLastFocusedInputIndex: React.Dispatch>; setDirty: React.Dispatch>; setFilled: React.Dispatch>; - setCompleted: React.Dispatch>; setValues: React.Dispatch>; setCheckedValue: React.Dispatch>; setTouched: React.Dispatch>; @@ -35,6 +39,8 @@ export type PinInputRootContextValue = { export const PinInputRootContext = React.createContext({ mask: false, otp: false, + focusedInputIndex: null, + readOnly: false, blurOnComplete: false, selectOnFocus: false, name: undefined, @@ -43,7 +49,6 @@ export const PinInputRootContext = React.createContext values: [], touched: false, state: { - completed: false, readOnly: false, disabled: false, touched: false, @@ -52,9 +57,11 @@ export const PinInputRootContext = React.createContext filled: false, focused: false }, + lastFocusedInputIndex: null, controlRef: { current: null }, + setLastFocusedInputIndex: NOOP, setFocused: NOOP, - setCompleted: NOOP, + setFocusedInputIndex: NOOP, setDirty: NOOP, setFilled: NOOP, setValues: NOOP, diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/utils/focusUtils.ts b/packages/ui/uikit/headless/components/src/components/PinInput/utils/focusUtils.ts new file mode 100644 index 00000000..e3399378 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/PinInput/utils/focusUtils.ts @@ -0,0 +1,65 @@ +/** + * Focus utilities for PinInput component + */ + +/** + * Find the index of the first empty input + */ +export function getFirstEmptyIndex(values: string[]): number { + const index = values.findIndex((value) => value === ''); + return index !== -1 ? index : Math.max(values.length - 1, 0); +} + +/** + * Get focus target based on mode and current state + */ +export function getFocusTarget( + mode: 'last-active' | 'first-empty' | 'first', + values: string[], + lasrFocusedIndex: number | null, + maxIndex: number +): number { + switch (mode) { + case 'first-empty': + return Math.min(getFirstEmptyIndex(values), maxIndex); + + case 'first': + return 0; + + case 'last-active': + default: + return Math.min(lasrFocusedIndex ?? 0, maxIndex); + } +} + +/** + * Focus element safely with error handling + */ +export function focusElement( + element: HTMLElement | null, + options?: { + preventScroll?: boolean; + selectText?: boolean; + } +): boolean { + if (!element) { + return false; + } + + try { + element.focus({ + preventScroll: options?.preventScroll ?? false + }); + + // Select text if it's an input element and option is enabled + if (options?.selectText && element instanceof HTMLInputElement) { + element.select(); + } + + return true; + } + catch (error) { + console.warn('Failed to focus element:', error); + return false; + } +} diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts b/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts index 0e50787d..dec60040 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/utils/styleHooks.ts @@ -5,19 +5,11 @@ import { transitionStatusMapping } from '@lib/styleHookMapping'; import type { StateAttributesMapping } from '@lib/getStyleHookProps'; import { fieldValidityMapping } from '../../Field/utils/constants'; -import { PinInputDataAttributes } from '../root/PinInputDataAttributes'; export const pinInputStyleHookMapping = { - completed(value): Record { - if (value) { - return { [PinInputDataAttributes.completed]: '' }; - } - return { [PinInputDataAttributes.completed]: '' }; - }, ...transitionStatusMapping, ...fieldValidityMapping } satisfies StateAttributesMapping<{ - completed: boolean; transitionStatus: TransitionStatus; valid: boolean | null; }>; diff --git a/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts b/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts index 50ccd902..cd2d70a6 100644 --- a/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts +++ b/packages/ui/uikit/headless/components/src/components/PinInput/utils/testPattern.ts @@ -1,18 +1,34 @@ -export function testPattern(value: string, type?: 'alphanumeric' | 'numeric' | 'alphabetic', pattern?: string) { - if (pattern) { - return new RegExp(pattern).test(value); - } +// Pre-compiled regex patterns for better performance +const PATTERNS = { + alphabetic: /^[a-z]$/i, + numeric: /^\d$/, + alphanumeric: /^[a-z0-9]$/i +} as const; - if (type === 'alphabetic') { - return /^[a-z]/i.test(value); +// Cache for custom patterns to avoid re-compilation +const patternCache = new Map(); + +export function testPattern( + value: string, + type?: 'alphanumeric' | 'numeric' | 'alphabetic', + pattern?: string +): boolean { + // Empty value should not pass validation + if (value === '') { + return false; } - if (type === 'numeric') { - return /\d/.test(value); + if (pattern) { + let regex = patternCache.get(pattern); + if (!regex) { + regex = new RegExp(pattern); + patternCache.set(pattern, regex); + } + return regex.test(value); } - if (type === 'alphanumeric') { - return /^[a-z0-9]/i.test(value); + if (type && PATTERNS[type]) { + return PATTERNS[type].test(value); } return true; diff --git a/packages/ui/uikit/headless/components/tsconfig.json b/packages/ui/uikit/headless/components/tsconfig.json index a41d7e00..2336e1c3 100644 --- a/packages/ui/uikit/headless/components/tsconfig.json +++ b/packages/ui/uikit/headless/components/tsconfig.json @@ -12,5 +12,5 @@ "types": ["react", "react-dom", "node"] }, "include": ["eslint.config.js", "src/**/*.tsx", "src/**/*.ts", "vite.config.ts"], - "exclude": ["node_modules"] + "exclude": ["node_modules", "**/*.md", "**/README.md"] } From 5823c3c8ad80e0408f2c4eef96e9cd41b803affc Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Mon, 22 Sep 2025 23:04:53 +0300 Subject: [PATCH 11/37] feat(flippo/components): update component titles and add Toggle and ToggleGroup components --- .../Button/story/Button.stories.tsx | 2 +- .../components/Input/story/Input.stories.tsx | 14 +-- .../components/Link/story/Link.stories.tsx | 10 +-- .../PinInput/story/PinInput.stories.tsx | 2 +- .../Separator/story/Separator.stories.tsx | 2 +- .../components/src/components/Toggle/index.ts | 1 + .../Toggle/story/Toggle.stories.tsx | 20 +++++ .../components/Toggle/ui/Toggle.module.scss | 85 +++++++++++++++++++ .../src/components/Toggle/ui/Toggle.tsx | 27 ++++++ .../src/components/ToggleGroup/index.ts | 1 + .../ToggleGroup/story/ToggleGroup.stories.tsx | 33 +++++++ .../ToggleGroup/ui/ToggleGroup.module.scss | 5 ++ .../components/ToggleGroup/ui/ToggleGroup.tsx | 19 +++++ .../src/styles/variables/_colors.scss | 11 ++- 14 files changed, 204 insertions(+), 28 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Toggle/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Toggle/story/Toggle.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/ToggleGroup/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/ToggleGroup/story/ToggleGroup.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx index 61e4d903..ff3c575f 100644 --- a/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Button/story/Button.stories.tsx @@ -31,7 +31,7 @@ const meta: Meta = { ] } }, component: Button, - title: 'UIKit/Button' + title: 'Input/Button' }; export default meta; diff --git a/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx index 5af7a955..4955aae0 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Input/story/Input.stories.tsx @@ -6,20 +6,8 @@ import { Input } from '../'; import { StoryCombine } from '../../StoryCombine'; const meta: Meta = { - argTypes: { - children: { control: 'object', name: 'React.ReactNode' }, - disabled: { control: 'boolean' }, - size: { - control: 'select', - options: ['small', 'medium', 'large'] - }, - variant: { - control: 'select', - options: ['inverted', 'underline'] - } - }, component: Input.Root, - title: 'UIKit/Input' + title: 'Input/Input' }; export default meta; diff --git a/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx index 19c4d630..ed4f66ba 100644 --- a/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Link/story/Link.stories.tsx @@ -13,15 +13,7 @@ const meta: Meta = { variant: { control: 'select', options: ['neutral', 'brand'] } }, component: Link, - parameters: { - docs: { - description: { - component: - 'The component is a wrapper for Link from the atomic-router-react library (https://atomic-router.github.io/react/api/link.html ).' - } - } - }, - title: 'UIKit/Link' + title: 'Navigation/Link' }; export default meta; diff --git a/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx b/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx index 531e2de8..c1b1bb03 100644 --- a/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/PinInput/story/PinInput.stories.tsx @@ -5,7 +5,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { PinInput } from '..'; const meta: Meta = { - title: 'UIKit/Inputs/PinInput', + title: 'Input/PinInput', component: PinInput.Root }; diff --git a/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx index cf46873c..f03c9e3c 100644 --- a/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Separator/story/Separator.stories.tsx @@ -37,7 +37,7 @@ const meta: Meta = { } }, component: Separator, - title: 'UIKit/Separator' + title: 'Layout/Separator' }; export default meta; diff --git a/packages/ui/uikit/flippo/components/src/components/Toggle/index.ts b/packages/ui/uikit/flippo/components/src/components/Toggle/index.ts new file mode 100644 index 00000000..9f8b29a1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toggle/index.ts @@ -0,0 +1 @@ +export * from './ui/Toggle'; diff --git a/packages/ui/uikit/flippo/components/src/components/Toggle/story/Toggle.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Toggle/story/Toggle.stories.tsx new file mode 100644 index 00000000..059f7623 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toggle/story/Toggle.stories.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { ShuffleIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Toggle } from '..'; + +const meta: Meta = { + title: 'Input/Toggle', + component: Toggle +}; + +export default meta; + +type ToggleStory = StoryObj; + +export const Default: ToggleStory = { + args: { children: } +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.module.scss b/packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.module.scss new file mode 100644 index 00000000..87153f21 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.module.scss @@ -0,0 +1,85 @@ +@use 'mixins/_flex.scss' as flex; + +.Toggle { + width: var(--f-spacing-10); + aspect-ratio: 1; + position: relative; + + padding: var(--f-spacing-2); + + border-radius: var(--f-spacing-3); + + background-color: transparent; + color: var(--f-color-text-4); + + cursor: pointer; + + &::after { + content: ''; + display: block; + position: absolute; + + width: var(--f-spacing-1); + height: var(--f-spacing-0); + background-color: var(--f-color-text-disabled); + border-radius: var(--f-spacing-0); + + bottom: var(--f-spacing-1); + left: 50%; + transform: translateX(-50%); + } + + &:hover { + background-color: var(--f-color-bg-2-hover); + color: var(--f-color-text-white); + + &::after { + width: var(--f-spacing-2); + background-color: var(--f-color-text-6); + } + } + + &:active { + background-color: var(--f-color-bg-2); + color: var(--f-color-text-4); + + &::after { + width: var(--f-spacing-4); + background-color: var(--f-color-text-6); + } + } + + &:focus-visible { + outline: calc(var(--f-spacing-3) / 4) solid var(--f-color-brand-light); + } + + &:disabled { + cursor: default; + color: var(--f-color-text-disabled); + + &::after { + background-color: transparent; + } + } + + &[data-pressed] { + color: var(--f-color-brand-light); + + &::after { + background-color: var(--f-color-brand-light); + } + + &:active { + color: var(--f-color-brand-light-subtitle); + + &::after { + background-color: var(--f-color-brand-light-subtitle); + } + } + + &:disabled { + cursor: default; + color: var(--f-color-brand-disabled); + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.tsx b/packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.tsx new file mode 100644 index 00000000..75a571f5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toggle/ui/Toggle.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import { Toggle as ToggleHeadless } from '@flippo-ui/headless-components/toggle'; +import { cva } from 'class-variance-authority'; + +import styles from './Toggle.module.scss'; + +const ToggleVariants = cva(styles.Toggle, { + variants: { + variant: { + inverted: styles.Toggle_inverted, + light: styles.Toggle_light + } + } +}); + +export function Toggle(props: Toggle.Props) { + const { className, ...rest } = props; + + const toggleClasses = ToggleVariants({ className }); + + return ; +} + +export namespace Toggle { + export type Props = ToggleHeadless.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/ToggleGroup/index.ts b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/index.ts new file mode 100644 index 00000000..9252f0e8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/index.ts @@ -0,0 +1 @@ +export * from './ui/ToggleGroup'; diff --git a/packages/ui/uikit/flippo/components/src/components/ToggleGroup/story/ToggleGroup.stories.tsx b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/story/ToggleGroup.stories.tsx new file mode 100644 index 00000000..a90ab88a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/story/ToggleGroup.stories.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { BookmarksIcon, NotificationsIcon, ShuffleIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { ToggleGroup } from '..'; +import { Toggle } from '../../Toggle'; + +const meta: Meta = { + title: 'Input/ToggleGroup', + component: ToggleGroup +}; + +export default meta; + +type ToggleGroupStory = StoryObj; + +export const Default: ToggleGroupStory = { + args: { children: ( + + + + + + + + + + + + ) } +}; diff --git a/packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.module.scss b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.module.scss new file mode 100644 index 00000000..f4ceb5a6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.module.scss @@ -0,0 +1,5 @@ +@use 'mixins/_flex.scss' as flex; + +.ToggleGroup { + @include flex.display(flex, row, center, center, var(--f-spacing-0)); +} diff --git a/packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.tsx b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.tsx new file mode 100644 index 00000000..e4fd24ae --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ToggleGroup/ui/ToggleGroup.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { ToggleGroup as ToggleGroupHeadless } from '@flippo-ui/headless-components/toggle-group'; +import { cx } from 'class-variance-authority'; + +import styles from './ToggleGroup.module.scss'; + +export function ToggleGroup(props: ToggleGroup.Props) { + const { + className, + ...rest + } = props; + + return ; +} + +export namespace ToggleGroup { + export type Props = ToggleGroupHeadless.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss b/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss index a3b2ba49..61ed377f 100644 --- a/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss +++ b/packages/ui/uikit/flippo/components/src/styles/variables/_colors.scss @@ -25,9 +25,11 @@ --f-color-brand-10: #d8cbf2; --f-color-brand-20: #b698f3; + --f-color-brand-25: #a073fb; --f-color-brand-30: #9265ed; + --f-color-brand-35: #814aef; --f-color-brand-40: #662fd3; - --f-color-brand-50: #410cac; + --f-color-brand-50: #5028a1; --f-color-brand-60: #320787; --f-color-brand-70: #2a0573; --f-color-brand-80: #20025d; @@ -54,9 +56,12 @@ --f-color-neutral-black: #000000; --f-color-brand: var(--f-color-brand-50); - --f-color-brand-hover: var(--f-color-brand-40); - --f-color-brand-light: var(--f-color-brand-30); + --f-color-brand-hover: var(--f-color-brand-30); + --f-color-brand-light: var(--f-color-brand-25); --f-color-brand-light-hover: var(--f-color-brand-10); + --f-color-brand-light-subtitle: var(--f-color-brand-35); + --f-color-brand-dark-subtitle: var(--f-color-brand-50); + --f-color-brand-disabled: var(--f-color-brand-60); --f-color-bg-0: var(--f-color-neutral-10); --f-color-bg-area-muted: var(--f-color-neutral-12); From b37aa01f744055073d0d64b2d00248b057f2d3f9 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Tue, 23 Sep 2025 23:45:55 +0300 Subject: [PATCH 12/37] feat(flippo/components): add Tabs component with subcomponents and styles --- .../src/components/Tabs/index.parts.ts | 5 +++ .../components/src/components/Tabs/index.ts | 1 + .../components/Tabs/story/Tabs.stories.tsx | 39 +++++++++++++++++++ .../ui/indicator/TabsIndicator.module.scss | 16 ++++++++ .../Tabs/ui/indicator/TabsIndicator.tsx | 16 ++++++++ .../Tabs/ui/list/TabsList.module.scss | 8 ++++ .../src/components/Tabs/ui/list/TabsList.tsx | 16 ++++++++ .../Tabs/ui/panel/TabsPanel.module.scss | 7 ++++ .../components/Tabs/ui/panel/TabsPanel.tsx | 16 ++++++++ .../src/components/Tabs/ui/root/TabsRoot.tsx | 11 ++++++ .../Tabs/ui/tab/TabsTab.module.scss | 39 +++++++++++++++++++ .../src/components/Tabs/ui/tab/TabsTab.tsx | 16 ++++++++ 12 files changed, 190 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/story/Tabs.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/root/TabsRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Tabs/index.parts.ts new file mode 100644 index 00000000..98b3fff3 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/index.parts.ts @@ -0,0 +1,5 @@ +export { TabsIndicator as Indicator } from './ui/indicator/TabsIndicator'; +export { TabsList as List } from './ui/list/TabsList'; +export { TabsPanel as Panel } from './ui/panel/TabsPanel'; +export { TabsRoot as Root } from './ui/root/TabsRoot'; +export { TabsTab as Tab } from './ui/tab/TabsTab'; diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/index.ts b/packages/ui/uikit/flippo/components/src/components/Tabs/index.ts new file mode 100644 index 00000000..10ed66c3 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/index.ts @@ -0,0 +1 @@ +export * as Tabs from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/story/Tabs.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Tabs/story/Tabs.stories.tsx new file mode 100644 index 00000000..d5cc8545 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/story/Tabs.stories.tsx @@ -0,0 +1,39 @@ +import React from 'react'; + +import { PlusIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Tabs } from '..'; + +const meta: Meta = { + component: Tabs.Root, + title: 'Navigation/Tabs' +}; + +export default meta; + +type TabsStory = StoryObj; + +export const Default: TabsStory = { + args: {}, + render: () => ( + + + + + {'Tab 1'} + + + + {'Tab 2'} + + + + {'Tab 3'} + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.module.scss new file mode 100644 index 00000000..45854877 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.module.scss @@ -0,0 +1,16 @@ +.TabsIndicator { + position: absolute; + + background: var(--f-color-brand-light); + + z-index: -1; + bottom: 0; + left: 0; + translate: var(--active-tab-left) -50%; + width: var(--active-tab-width); + height: var(--f-spacing-0); + + transition-property: translate, width; + transition-duration: 200ms; + transition-timing-function: ease-in-out; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.tsx new file mode 100644 index 00000000..3538d3c1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/indicator/TabsIndicator.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Tabs as TabsHeadless } from '@flippo-ui/headless-components/tabs'; +import { cx } from 'class-variance-authority'; + +import styles from './TabsIndicator.module.scss'; + +export function TabsIndicator(props: TabsIndicator.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace TabsIndicator { + export type Props = TabsHeadless.Indicator.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.module.scss b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.module.scss new file mode 100644 index 00000000..c32e67f0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.module.scss @@ -0,0 +1,8 @@ +@use 'mixins/_flex.scss' as flex; + +.TabsList { + @include flex.display(flex, row, start, center, var(--f-spacing-5)); + + position: relative; + z-index: 0; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.tsx b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.tsx new file mode 100644 index 00000000..4b79d92e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/list/TabsList.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Tabs as TabsHeadless } from '@flippo-ui/headless-components/tabs'; +import { cx } from 'class-variance-authority'; + +import styles from './TabsList.module.scss'; + +export function TabsList(props: TabsList.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace TabsList { + export type Props = TabsHeadless.List.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.module.scss b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.module.scss new file mode 100644 index 00000000..627cbe0c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.module.scss @@ -0,0 +1,7 @@ +.TabsPanel { + position: relative; + + &[hidden] { + display: none; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.tsx b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.tsx new file mode 100644 index 00000000..81ebff9a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/panel/TabsPanel.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Tabs as TabsHeadless } from '@flippo-ui/headless-components/tabs'; +import { cx } from 'class-variance-authority'; + +import styles from './TabsPanel.module.scss'; + +export function TabsPanel(props: TabsPanel.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace TabsPanel { + export type Props = TabsHeadless.Panel.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/root/TabsRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/root/TabsRoot.tsx new file mode 100644 index 00000000..9f0f21e0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/root/TabsRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Tabs as TabsHeadless } from '@flippo-ui/headless-components/tabs'; + +export function TabsRoot(props: TabsRoot.Props) { + return ; +} + +export namespace TabsRoot { + export type Props = TabsHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.module.scss b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.module.scss new file mode 100644 index 00000000..f3cc2976 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.module.scss @@ -0,0 +1,39 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; + +.TabsTab { + @include flex.display(flex, row, center, center, calc(var(--f-spacing-5) / 2)); + @include font.body('stronger'); + + width: fit-content; + padding: var(--f-spacing-4) calc(var(--f-spacing-3) / 2); + position: relative; + + background: transparent; + color: var(--f-color-text-3); + fill: currentColor; + + transition: color 0.3s ease; + + &:hover:not(:disabled) { + color: var(--f-color-text-primary); + } + + &:active:not(:disabled) { + color: var(--f-color-text-4); + } + + &[aria-selected='true']:not(:disabled) { + color: var(--f-color-text-white); + } + + &:disabled { + color: var(--f-color-text-disabled); + cursor: not-allowed; + } + + svg { + width: var(--f-spacing-6); + aspect-ratio: 1; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.tsx b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.tsx new file mode 100644 index 00000000..7ce4a0ef --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tabs/ui/tab/TabsTab.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Tabs as TabsHeadless } from '@flippo-ui/headless-components/tabs'; +import { cx } from 'class-variance-authority'; + +import styles from './TabsTab.module.scss'; + +export function TabsTab(props: TabsTab.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace TabsTab { + export type Props = TabsHeadless.Tab.Props; +} From 3204f0e46767daadfeb22b1c55be94d8a892da5c Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 25 Sep 2025 00:24:48 +0300 Subject: [PATCH 13/37] feat(flippo/components): add Tooltip component with subcomponents and styles --- .../src/components/Tooltip/index.parts.ts | 7 ++++ .../src/components/Tooltip/index.ts | 1 + .../Tooltip/story/Tooltip.stories.tsx | 37 +++++++++++++++++++ .../Tooltip/ui/arrow/TooltipArrow.module.scss | 35 ++++++++++++++++++ .../Tooltip/ui/arrow/TooltipArrow.tsx | 36 ++++++++++++++++++ .../Tooltip/ui/popup/TooltipPopup.module.scss | 28 ++++++++++++++ .../Tooltip/ui/popup/TooltipPopup.tsx | 19 ++++++++++ .../Tooltip/ui/portal/TooltipPortal.tsx | 11 ++++++ .../ui/positioner/TooltipPositioner.tsx | 16 ++++++++ .../Tooltip/ui/provider/TooltipProvider.tsx | 11 ++++++ .../Tooltip/ui/root/TooltipRoot.tsx | 11 ++++++ .../Tooltip/ui/trigger/TooltipTrigger.tsx | 11 ++++++ .../components/Tooltip/arrow/TooltipArrow.tsx | 6 +-- .../components/Tooltip/popup/TooltipPopup.tsx | 8 ++-- .../Tooltip/portal/TooltipPortal.tsx | 4 +- .../Tooltip/positioner/TooltipPositioner.tsx | 10 ++--- .../positioner/useTooltipPositioner.ts | 8 ++-- .../Tooltip/provider/TooltipProvider.tsx | 4 +- .../provider/TooltipProviderContext.ts | 6 +-- .../components/Tooltip/root/TooltipRoot.tsx | 10 ++--- .../components/Tooltip/root/useTooltipRoot.ts | 4 +- .../Tooltip/trigger/TooltipTrigger.tsx | 6 +-- 22 files changed, 254 insertions(+), 35 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/portal/TooltipPortal.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/positioner/TooltipPositioner.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/provider/TooltipProvider.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/root/TooltipRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Tooltip/ui/trigger/TooltipTrigger.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Tooltip/index.parts.ts new file mode 100644 index 00000000..6e46b8ee --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/index.parts.ts @@ -0,0 +1,7 @@ +export { TooltipArrow as Arrow } from './ui/arrow/TooltipArrow'; +export { TooltipPopup as Popup } from './ui/popup/TooltipPopup'; +export { TooltipPortal as Portal } from './ui/portal/TooltipPortal'; +export { TooltipPositioner as Positioner } from './ui/positioner/TooltipPositioner'; +export { TooltipProvider as Provider } from './ui/provider/TooltipProvider'; +export { TooltipRoot as Root } from './ui/root/TooltipRoot'; +export { TooltipTrigger as Trigger } from './ui/trigger/TooltipTrigger'; diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/index.ts b/packages/ui/uikit/flippo/components/src/components/Tooltip/index.ts new file mode 100644 index 00000000..6fb3a425 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/index.ts @@ -0,0 +1 @@ +export * as Tooltip from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx new file mode 100644 index 00000000..55fb7e8a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx @@ -0,0 +1,37 @@ +import React from 'react'; + +import { FormatBoldIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Tooltip } from '..'; +import { Button } from '../../Button'; + +const meta: Meta = { + title: 'Overlays/Tooltip', + component: Tooltip.Root +}; + +export default meta; + +type TooltipStory = StoryObj; + +export const Default: TooltipStory = { + args: { children: ( + + + + + + + + + + + {'Bold'} + + + + + ) } +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.module.scss b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.module.scss new file mode 100644 index 00000000..70e16992 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.module.scss @@ -0,0 +1,35 @@ +.Arrow { + display: flex; + + &[data-side='top'] { + bottom: -8px; + rotate: 180deg; + } + + &[data-side='bottom'] { + top: -8px; + rotate: 0deg; + } + + &[data-side='left'] { + right: -13px; + rotate: 90deg; + } + + &[data-side='right'] { + left: -13px; + rotate: -90deg; + } +} + +.ArrowFill { + fill: var(--f-color-bg-2-hover); +} + +.ArrowOuterStroke { + fill: var(--f-color-bg-2-hover); +} + +.ArrowInnerStroke { + fill: var(--f-color-bg-2-hover); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.tsx new file mode 100644 index 00000000..8b3641f5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/arrow/TooltipArrow.tsx @@ -0,0 +1,36 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; +import { cx } from 'class-variance-authority'; + +import styles from './TooltipArrow.module.scss'; + +export function TooltipArrow(props: TooltipArrow.Props) { + const { + className, + ...otherProps + } = props; + + return ; +} + +TooltipArrow.Svg = ArrowSvg; + +export namespace TooltipArrow { + export type Props = TooltipHeadless.Arrow.Props; +} + +export function ArrowSvg(props: React.ComponentProps<'svg'>) { + return ( + + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.module.scss b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.module.scss new file mode 100644 index 00000000..f28a7f4e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.module.scss @@ -0,0 +1,28 @@ +@use 'mixins/_font.scss' as font; +@use 'mixins/_effect.scss' as effect; + +.Popup { + @include font.label('default'); + @include effect.elevation-1(); + + box-sizing: border-box; + display: flex; + flex-direction: column; + padding: calc(var(--f-spacing-3) / 2) var(--f-spacing-3); + border-radius: var(--f-spacing-2); + background-color: var(--f-color-bg-2-hover); + transform-origin: var(--transform-origin); + transition: + transform 150ms, + opacity 150ms; + + &[data-starting-style], + &[data-ending-style] { + opacity: 0; + transform: scale(0.9); + } + + &[data-instant] { + transition-duration: 0ms; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.tsx new file mode 100644 index 00000000..8704952f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/popup/TooltipPopup.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; +import { cx } from 'class-variance-authority'; + +import styles from './TooltipPopup.module.scss'; + +export function TooltipPopup(props: TooltipPopup.Props) { + const { + className, + ...otherProps + } = props; + + return ; +} + +export namespace TooltipPopup { + export type Props = TooltipHeadless.Popup.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/portal/TooltipPortal.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/portal/TooltipPortal.tsx new file mode 100644 index 00000000..2dd74eaf --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/portal/TooltipPortal.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; + +export function TooltipPortal(props: TooltipPortal.Props) { + return ; +} + +export namespace TooltipPortal { + export type Props = TooltipHeadless.Portal.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/positioner/TooltipPositioner.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/positioner/TooltipPositioner.tsx new file mode 100644 index 00000000..663c7571 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/positioner/TooltipPositioner.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; + +export function TooltipPositioner(props: TooltipPositioner.Props) { + const { + sideOffset = 10, + ...otherProps + } = props; + + return ; +} + +export namespace TooltipPositioner { + export type Props = TooltipHeadless.Positioner.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/provider/TooltipProvider.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/provider/TooltipProvider.tsx new file mode 100644 index 00000000..13c5224d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/provider/TooltipProvider.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; + +export function TooltipProvider(props: TooltipProvider.Props) { + return ; +} + +export namespace TooltipProvider { + export type Props = TooltipHeadless.Provider.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/root/TooltipRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/root/TooltipRoot.tsx new file mode 100644 index 00000000..a089fafa --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/root/TooltipRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; + +export function TooltipRoot(props: TooltipRoot.Props) { + return ; +} + +export namespace TooltipRoot { + export type Props = TooltipHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/trigger/TooltipTrigger.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/trigger/TooltipTrigger.tsx new file mode 100644 index 00000000..1f876253 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/ui/trigger/TooltipTrigger.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Tooltip as TooltipHeadless } from '@flippo-ui/headless-components/tooltip'; + +export function TooltipTrigger(props: TooltipTrigger.Props) { + return ; +} + +export namespace TooltipTrigger { + export type Props = TooltipHeadless.Trigger.Props; +} diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/arrow/TooltipArrow.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/arrow/TooltipArrow.tsx index 0d29c473..8db91998 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/arrow/TooltipArrow.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/arrow/TooltipArrow.tsx @@ -16,7 +16,7 @@ import { useTooltipPositionerContext } from '../positioner/TooltipPositionerCont * * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip) */ -export function TooltipArrow({ ref: forwardedRef, ...componentProps }: NTooltipArrow.Props) { +export function TooltipArrow({ ref: forwardedRef, ...componentProps }: TooltipArrow.Props) { const { /* eslint-disable unused-imports/no-unused-vars */ className, @@ -35,7 +35,7 @@ export function TooltipArrow({ ref: forwardedRef, ...componentProps }: NTooltipA } = useTooltipPositionerContext(); - const state: NTooltipArrow.State = React.useMemo( + const state: TooltipArrow.State = React.useMemo( () => ({ open, side, @@ -60,7 +60,7 @@ export function TooltipArrow({ ref: forwardedRef, ...componentProps }: NTooltipA return element; } -export namespace NTooltipArrow { +export namespace TooltipArrow { export type State = { open: boolean; side: TSide; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx index be21cf70..68e00306 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/popup/TooltipPopup.tsx @@ -18,12 +18,12 @@ import type { HeadlessUIComponentProps } from '@lib/types'; import { useTooltipPositionerContext } from '../positioner/TooltipPositionerContext'; import { useTooltipRootContext } from '../root/TooltipRootContext'; -const customStyleHookMapping: CustomStyleHookMapping = { +const customStyleHookMapping: CustomStyleHookMapping = { ...baseMapping, ...transitionStatusMapping }; -export function TooltipPopup(componentProps: NTooltipPopup.Props) { +export function TooltipPopup(componentProps: TooltipPopup.Props) { const { /* eslint-disable unused-imports/no-unused-vars */ className, @@ -54,7 +54,7 @@ export function TooltipPopup(componentProps: NTooltipPopup.Props) { } }); - const state: NTooltipPopup.State = React.useMemo( + const state: TooltipPopup.State = React.useMemo( () => ({ open, side, @@ -81,7 +81,7 @@ export function TooltipPopup(componentProps: NTooltipPopup.Props) { return element; } -export namespace NTooltipPopup { +export namespace TooltipPopup { export type State = { open: boolean; side: TSide; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/portal/TooltipPortal.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/portal/TooltipPortal.tsx index 7add6b1e..b863c565 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/portal/TooltipPortal.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/portal/TooltipPortal.tsx @@ -8,7 +8,7 @@ import { useTooltipRootContext } from '../root/TooltipRootContext'; import { TooltipPortalContext } from './TooltipPortalContext'; -export function TooltipPortal(props: NTooltipPortal.Props) { +export function TooltipPortal(props: TooltipPortal.Props) { const { children, keepMounted = false, container } = props; const { mounted } = useTooltipRootContext(); @@ -25,7 +25,7 @@ export function TooltipPortal(props: NTooltipPortal.Props) { ); } -export namespace NTooltipPortal { +export namespace TooltipPortal { export type Props = { children?: React.ReactNode; keepMounted?: boolean; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/TooltipPositioner.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/TooltipPositioner.tsx index df13cac9..76f08475 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/TooltipPositioner.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/TooltipPositioner.tsx @@ -16,7 +16,7 @@ import { TooltipPositionerContext } from './TooltipPositionerContext'; import { useTooltipPositioner } from './useTooltipPositioner'; import type { TTooltipPositionerContext } from './TooltipPositionerContext'; -import type { NUseTooltipPositioner } from './useTooltipPositioner'; +import type { UseTooltipPositioner } from './useTooltipPositioner'; /** * Positions the tooltip against the trigger. @@ -24,7 +24,7 @@ import type { NUseTooltipPositioner } from './useTooltipPositioner'; * * Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip) */ -export function TooltipPositioner({ ref: forwardedRef, ...componentProps }: NTooltipPositioner.Props) { +export function TooltipPositioner({ ref: forwardedRef, ...componentProps }: TooltipPositioner.Props) { const { /* eslint-disable unused-imports/no-unused-vars */ render, @@ -71,7 +71,7 @@ export function TooltipPositioner({ ref: forwardedRef, ...componentProps }: NToo collisionAvoidance }); - const state: NTooltipPositioner.State = React.useMemo( + const state: TooltipPositioner.State = React.useMemo( () => ({ open, side: positioner.side, @@ -115,7 +115,7 @@ export function TooltipPositioner({ ref: forwardedRef, ...componentProps }: NToo ); } -export namespace NTooltipPositioner { +export namespace TooltipPositioner { export type State = { open: boolean; side: TSide; @@ -123,5 +123,5 @@ export namespace NTooltipPositioner { anchorHidden: boolean; }; - export type Props = { ref?: React.Ref } & HeadlessUIComponentProps<'div', State> & NUseTooltipPositioner.SharedParameters; + export type Props = { ref?: React.Ref } & HeadlessUIComponentProps<'div', State> & UseTooltipPositioner.SharedParameters; } diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/useTooltipPositioner.ts b/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/useTooltipPositioner.ts index 4cc33bc2..456d4712 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/useTooltipPositioner.ts +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/positioner/useTooltipPositioner.ts @@ -4,14 +4,14 @@ import React from 'react'; import { useAnchorPositioning } from '@lib/hooks'; -import type { UseAnchorPositioning, TSide } from '@lib/hooks'; +import type { TSide, UseAnchorPositioning } from '@lib/hooks'; import type { HTMLProps } from '@lib/types'; import { useTooltipRootContext } from '../root/TooltipRootContext'; export function useTooltipPositioner( - params: NUseTooltipPositioner.Parameters -): NUseTooltipPositioner.ReturnValue { + params: UseTooltipPositioner.Parameters +): UseTooltipPositioner.ReturnValue { const { open, trackCursorAxis, @@ -53,7 +53,7 @@ export function useTooltipPositioner( ); } -export namespace NUseTooltipPositioner { +export namespace UseTooltipPositioner { export type Parameters = {} & UseAnchorPositioning.Parameters; export type SharedParameters = { diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProvider.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProvider.tsx index b02516dc..d3abdade 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProvider.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProvider.tsx @@ -6,7 +6,7 @@ import { NextFloatingDelayGroup } from '@floating-ui/react'; import { TooltipProviderContext } from './TooltipProviderContext'; -export function TooltipProvider(props: NTooltipProvider.Props) { +export function TooltipProvider(props: TooltipProvider.Props) { const { delay, closeDelay, @@ -29,7 +29,7 @@ export function TooltipProvider(props: NTooltipProvider.Props) { ); } -export namespace NTooltipProvider { +export namespace TooltipProvider { export type Props = React.PropsWithChildren<{ delay?: number; closeDelay?: number; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProviderContext.ts b/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProviderContext.ts index 411c14ff..49427f97 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProviderContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/provider/TooltipProviderContext.ts @@ -9,12 +9,8 @@ export type TTooltipProviderContext = { export const TooltipProviderContext = React.createContext(undefined); -export function useTooltipProviderContext(): TTooltipProviderContext { +export function useTooltipProviderContext(): TTooltipProviderContext | undefined { const context = React.use(TooltipProviderContext); - if (!context) { - throw new Error('TooltipProvider is not defined'); - } - return context; } diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRoot.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRoot.tsx index 54cfca17..54f883cc 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/root/TooltipRoot.tsx @@ -5,9 +5,9 @@ import React from 'react'; import { TooltipRootContext } from './TooltipRootContext'; import { useTooltipRoot } from './useTooltipRoot'; -import type { NUseTooltipRoot, TTooltipOpenChangeReason } from './useTooltipRoot'; +import type { TTooltipOpenChangeReason, UseTooltipRoot } from './useTooltipRoot'; -export function TooltipRoot(props: NTooltipRoot.Props) { +export function TooltipRoot(props: TooltipRoot.Props) { const { children, disabled = false, @@ -43,10 +43,10 @@ export function TooltipRoot(props: NTooltipRoot.Props) { ); } -export namespace NTooltipRoot { - export type Props = React.PropsWithChildren; +export namespace TooltipRoot { + export type Props = React.PropsWithChildren; - export type Actions = NUseTooltipRoot.Actions; + export type Actions = UseTooltipRoot.Actions; export type OpenChangeReason = TTooltipOpenChangeReason; } diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts b/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts index f7fefc14..88dc8f96 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/root/useTooltipRoot.ts @@ -33,7 +33,7 @@ import { useTooltipProviderContext } from '../provider/TooltipProviderContext'; export type TTooltipOpenChangeReason = TBaseOpenChangeReason | 'disabled'; -export function useTooltipRoot(params: NUseTooltipRoot.Params): NUseTooltipRoot.ReturnValue { +export function useTooltipRoot(params: UseTooltipRoot.Params): UseTooltipRoot.ReturnValue { const { open: externalOpen, defaultOpen = false, @@ -211,7 +211,7 @@ export function useTooltipRoot(params: NUseTooltipRoot.Params): NUseTooltipRoot. ); } -export namespace NUseTooltipRoot { +export namespace UseTooltipRoot { export type Params = { defaultOpen?: boolean; open?: boolean; diff --git a/packages/ui/uikit/headless/components/src/components/Tooltip/trigger/TooltipTrigger.tsx b/packages/ui/uikit/headless/components/src/components/Tooltip/trigger/TooltipTrigger.tsx index 2e4bf9a9..ec7a744b 100644 --- a/packages/ui/uikit/headless/components/src/components/Tooltip/trigger/TooltipTrigger.tsx +++ b/packages/ui/uikit/headless/components/src/components/Tooltip/trigger/TooltipTrigger.tsx @@ -10,7 +10,7 @@ import type { HeadlessUIComponentProps } from '@lib/types'; import { useTooltipRootContext } from '../root/TooltipRootContext'; export function TooltipTrigger( - componentProps: NTooltipTrigger.Props + componentProps: TooltipTrigger.Props ) { const { /* eslint-disable unused-imports/no-unused-vars */ @@ -23,7 +23,7 @@ export function TooltipTrigger( const { open, setTriggerElement, triggerProps } = useTooltipRootContext(); - const state: NTooltipTrigger.State = React.useMemo(() => ({ open }), [open]); + const state: TooltipTrigger.State = React.useMemo(() => ({ open }), [open]); const element = useRenderElement('button', componentProps, { state, @@ -35,7 +35,7 @@ export function TooltipTrigger( return element; } -export namespace NTooltipTrigger { +export namespace TooltipTrigger { export type State = { open: boolean; }; From 1832602b68d1563c42422f1ff5ec228fc2ff8fb0 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 25 Sep 2025 22:24:00 +0300 Subject: [PATCH 14/37] feat(flippo/components): add Checkbox component with subcomponents, styles, and stories --- .../src/components/Checkbox/index.parts.ts | 2 + .../src/components/Checkbox/index.ts | 1 + .../Checkbox/story/Checkbox.stories.tsx | 22 ++++++++ .../indicator/CheckboxIndicator.module.scss | 17 ++++++ .../ui/indicator/CheckboxIndicator.tsx | 28 ++++++++++ .../Checkbox/ui/root/CheckboxRoot.module.scss | 55 +++++++++++++++++++ .../Checkbox/ui/root/CheckboxRoot.tsx | 33 +++++++++++ 7 files changed, 158 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Checkbox/index.parts.ts new file mode 100644 index 00000000..e5144b6f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/index.parts.ts @@ -0,0 +1,2 @@ +export { CheckboxIndicator as Indicator } from './ui/indicator/CheckboxIndicator'; +export { CheckboxRoot as Root } from './ui/root/CheckboxRoot'; diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/index.ts b/packages/ui/uikit/flippo/components/src/components/Checkbox/index.ts new file mode 100644 index 00000000..4e96104e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/index.ts @@ -0,0 +1 @@ +export * as Checkbox from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx new file mode 100644 index 00000000..24189379 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Checkbox } from '..'; + +const meta: Meta = { + title: 'Input/Checkbox', + component: Checkbox.Root +}; + +export default meta; + +type CheckboxStory = StoryObj; + +export const Default: CheckboxStory = { + render: (args) => ( + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.module.scss new file mode 100644 index 00000000..2c97f266 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.module.scss @@ -0,0 +1,17 @@ +.CheckboxIndicator { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + color: var(--f-color-neutral-white); + + &[data-unchecked] { + display: none; + } +} + +.CheckIcon { + width: var(--f-spacing-3); + height: var(--f-spacing-3); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx new file mode 100644 index 00000000..d202f106 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import { Checkbox as CheckboxHeadless } from '@flippo-ui/headless-components/checkbox'; +import { cx } from 'class-variance-authority'; + +import styles from './CheckboxIndicator.module.scss'; + +export function CheckboxIndicator(props: CheckboxIndicator.Props) { + const { className, ...rest } = props; + + return ( + + ); +} + +CheckboxIndicator.Svg = CheckSvg; + +export namespace CheckboxIndicator { + export type Props = CheckboxHeadless.Indicator.Props; +} + +function CheckSvg() { + return ( + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.module.scss new file mode 100644 index 00000000..0e5e37f5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.module.scss @@ -0,0 +1,55 @@ +.CheckboxRoot { + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + outline: 0; + padding: 0; + margin: 0; + border: none; + + width: var(--f-spacing-5); + aspect-ratio: 1; + + border-radius: var(--f-spacing-1); + background-color: transparent; + + cursor: pointer; + transition: all 0.2s ease; + + &:focus-visible { + outline: 2px solid var(--f-color-brand-light); + outline-offset: 2px; + } + + &[data-unchecked] { + border: var(--f-spacing-0) solid var(--f-color-stroke-hover); + background-color: transparent; + + &:hover { + border-color: var(--f-color-text-2); + } + } + + &[data-checked] { + background-color: var(--f-color-brand-hover); + border-color: var(--f-color-brand-hover); + + &:hover { + background-color: var(--f-color-brand-light); + border-color: var(--f-color-brand-light); + } + } + + &[data-disabled] { + cursor: default; + + &[data-unchecked] { + border: var(--f-spacing-0) solid var(--f-color-stroke-muted); + } + + &[data-checked] { + border-color: var(--f-color-brand-disabled); + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx new file mode 100644 index 00000000..c202f4a3 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { Checkbox as CheckboxHeadless } from '@flippo-ui/headless-components/checkbox'; +import { cva } from 'class-variance-authority'; + +import styles from './CheckboxRoot.module.scss'; + +const CheckboxRootVariants = cva(styles.CheckboxRoot, { + variants: { + size: { + sm: styles.CheckboxRoot_sm, + md: styles.CheckboxRoot_md, + lg: styles.CheckboxRoot_lg + } + }, + defaultVariants: { + size: 'md' + } +}); + +export function CheckboxRoot(props: CheckboxRoot.Props) { + const { className, size, ...rest } = props; + + const checkboxClasses = CheckboxRootVariants({ size, className }); + + return ; +} + +export namespace CheckboxRoot { + export type Props = { + size?: 'sm' | 'md' | 'lg'; + } & CheckboxHeadless.Root.Props; +} From 5baab699e08c54837f6b6aeaf01d7db7d6d942ed Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 25 Sep 2025 22:34:02 +0300 Subject: [PATCH 15/37] feat(flippo/components): add CheckboxGroup component with styles and stories --- .../Checkbox/story/Checkbox.stories.tsx | 4 +- .../ui/indicator/CheckboxIndicator.tsx | 4 +- .../Checkbox/ui/root/CheckboxRoot.tsx | 25 ++------ .../src/components/CheckboxGroup/index.ts | 1 + .../story/CheckboxGroup.stories.tsx | 64 +++++++++++++++++++ .../ui/CheckboxGroup.module.scss | 5 ++ .../CheckboxGroup/ui/CheckboxGroup.tsx | 19 ++++++ 7 files changed, 98 insertions(+), 24 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/CheckboxGroup/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/CheckboxGroup/story/CheckboxGroup.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx index 24189379..e5c93acd 100644 --- a/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/story/Checkbox.stories.tsx @@ -16,7 +16,9 @@ type CheckboxStory = StoryObj; export const Default: CheckboxStory = { render: (args) => ( - + + + ) }; diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx index d202f106..a64ea1c4 100644 --- a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/indicator/CheckboxIndicator.tsx @@ -6,10 +6,10 @@ import { cx } from 'class-variance-authority'; import styles from './CheckboxIndicator.module.scss'; export function CheckboxIndicator(props: CheckboxIndicator.Props) { - const { className, ...rest } = props; + const { className, ...otherProps } = props; return ( - + ); } diff --git a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx index c202f4a3..95d1d5b0 100644 --- a/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Checkbox/ui/root/CheckboxRoot.tsx @@ -1,33 +1,16 @@ import React from 'react'; import { Checkbox as CheckboxHeadless } from '@flippo-ui/headless-components/checkbox'; -import { cva } from 'class-variance-authority'; +import { cx } from 'class-variance-authority'; import styles from './CheckboxRoot.module.scss'; -const CheckboxRootVariants = cva(styles.CheckboxRoot, { - variants: { - size: { - sm: styles.CheckboxRoot_sm, - md: styles.CheckboxRoot_md, - lg: styles.CheckboxRoot_lg - } - }, - defaultVariants: { - size: 'md' - } -}); - export function CheckboxRoot(props: CheckboxRoot.Props) { - const { className, size, ...rest } = props; - - const checkboxClasses = CheckboxRootVariants({ size, className }); + const { className, ...otherProps } = props; - return ; + return ; } export namespace CheckboxRoot { - export type Props = { - size?: 'sm' | 'md' | 'lg'; - } & CheckboxHeadless.Root.Props; + export type Props = CheckboxHeadless.Root.Props; } diff --git a/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/index.ts b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/index.ts new file mode 100644 index 00000000..80c23eca --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/index.ts @@ -0,0 +1 @@ +export { CheckboxGroup } from './ui/CheckboxGroup'; diff --git a/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/story/CheckboxGroup.stories.tsx b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/story/CheckboxGroup.stories.tsx new file mode 100644 index 00000000..159a66b7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/story/CheckboxGroup.stories.tsx @@ -0,0 +1,64 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { CheckboxGroup } from '..'; +import { Checkbox } from '../../Checkbox'; + +const meta: Meta = { + title: 'Input/CheckboxGroup', + component: CheckboxGroup +}; + +export default meta; + +type CheckboxGroupStory = StoryObj; + +export const Default: CheckboxGroupStory = { + render: (args) => ( + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.module.scss b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.module.scss new file mode 100644 index 00000000..effa37b2 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.module.scss @@ -0,0 +1,5 @@ +@use 'mixins/_flex' as flex; + +.CheckboxGroup { + @include flex.display(flex, column, null, null, var(--f-spacing-2)); +} diff --git a/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.tsx b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.tsx new file mode 100644 index 00000000..8d6bff96 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/CheckboxGroup/ui/CheckboxGroup.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { CheckboxGroup as CheckboxGroupHeadless } from '@flippo-ui/headless-components/checkbox-group'; +import { cx } from 'class-variance-authority'; + +import styles from './CheckboxGroup.module.scss'; + +export function CheckboxGroup(props: CheckboxGroup.Props) { + const { + className, + ...otherProps + } = props; + + return ; +} + +export namespace CheckboxGroup { + export type Props = CheckboxGroupHeadless.Props; +} From ae97584faef1384de536808de760ac386dc57d20 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 25 Sep 2025 22:56:09 +0300 Subject: [PATCH 16/37] feat(flippo/components): introduce Avatar component with subcomponents, styles, and stories --- .../src/components/Avatar/index.parts.ts | 3 +++ .../components/src/components/Avatar/index.ts | 1 + .../Avatar/story/Avatar.stories.tsx | 23 +++++++++++++++++++ .../ui/fallback/AvatarFallback.module.scss | 11 +++++++++ .../Avatar/ui/fallback/AvatarFallback.tsx | 16 +++++++++++++ .../Avatar/ui/image/AvatarImage.module.scss | 5 ++++ .../Avatar/ui/image/AvatarImage.tsx | 16 +++++++++++++ .../Avatar/ui/root/AvatarRoot.module.scss | 14 +++++++++++ .../components/Avatar/ui/root/AvatarRoot.tsx | 16 +++++++++++++ 9 files changed, 105 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/story/Avatar.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Avatar/index.parts.ts new file mode 100644 index 00000000..841b4489 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/index.parts.ts @@ -0,0 +1,3 @@ +export { AvatarFallback as Fallback } from './ui/fallback/AvatarFallback'; +export { AvatarImage as Image } from './ui/image/AvatarImage'; +export { AvatarRoot as Root } from './ui/root/AvatarRoot'; diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/index.ts b/packages/ui/uikit/flippo/components/src/components/Avatar/index.ts new file mode 100644 index 00000000..af3ac6cf --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/index.ts @@ -0,0 +1 @@ +export * as Avatar from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/story/Avatar.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Avatar/story/Avatar.stories.tsx new file mode 100644 index 00000000..fe0dce3e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/story/Avatar.stories.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Avatar } from '..'; + +const meta: Meta = { + title: 'Display/Avatar', + component: Avatar.Root +}; + +export default meta; + +type AvatarStory = StoryObj; + +export const Default: AvatarStory = { + render: (args) => ( + + + {'AB'} + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.module.scss b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.module.scss new file mode 100644 index 00000000..de13828b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_font.scss' as font; + +.AvatarFallback { + @include font.heading-3('stronger'); + + display: flex; + align-items: center; + justify-content: center; + height: 100%; + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.tsx b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.tsx new file mode 100644 index 00000000..4ef92797 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/fallback/AvatarFallback.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Avatar as AvatarHeadless } from '@flippo-ui/headless-components/avatar'; +import { cx } from 'class-variance-authority'; + +import styles from './AvatarFallback.module.scss'; + +export function AvatarFallback(props: AvatarFallback.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AvatarFallback { + export type Props = AvatarHeadless.Fallback.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.module.scss b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.module.scss new file mode 100644 index 00000000..6715ddfd --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.module.scss @@ -0,0 +1,5 @@ +.AvatarImage { + object-fit: cover; + height: 100%; + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.tsx b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.tsx new file mode 100644 index 00000000..985c9fcd --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/image/AvatarImage.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Avatar as AvatarHeadless } from '@flippo-ui/headless-components/avatar'; +import { cx } from 'class-variance-authority'; + +import styles from './AvatarImage.module.scss'; + +export function AvatarImage(props: AvatarImage.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AvatarImage { + export type Props = AvatarHeadless.Image.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.module.scss new file mode 100644 index 00000000..f4ed444b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.module.scss @@ -0,0 +1,14 @@ +@use 'mixins/_flex.scss' as flex; + +.AvatarRoot { + @include flex.display(inline-flex, row, center, center); + + vertical-align: middle; + border-radius: 100%; + user-select: none; + color: var(--f-color-text-primary); + background-color: var(--f-color-bg-primary); + overflow: hidden; + width: var(--f-spacing-7); + aspect-ratio: 1; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.tsx new file mode 100644 index 00000000..9547f796 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Avatar/ui/root/AvatarRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Avatar as AvatarHeadless } from '@flippo-ui/headless-components/avatar'; +import { cx } from 'class-variance-authority'; + +import styles from './AvatarRoot.module.scss'; + +export function AvatarRoot(props: AvatarRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AvatarRoot { + export type Props = AvatarHeadless.Root.Props; +} From f0834ddfb3721ea227c5f52d9bba37e79032172a Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 25 Sep 2025 23:00:40 +0300 Subject: [PATCH 17/37] feat(flippo/components): add Slot component with props and integration with headless version --- .../flippo/components/src/components/Slot/index.ts | 1 + .../flippo/components/src/components/Slot/ui/Slot.tsx | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Slot/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Slot/ui/Slot.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Slot/index.ts b/packages/ui/uikit/flippo/components/src/components/Slot/index.ts new file mode 100644 index 00000000..c9c3f7c7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slot/index.ts @@ -0,0 +1 @@ +export { Slot } from './ui/Slot'; diff --git a/packages/ui/uikit/flippo/components/src/components/Slot/ui/Slot.tsx b/packages/ui/uikit/flippo/components/src/components/Slot/ui/Slot.tsx new file mode 100644 index 00000000..3b80ec2f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slot/ui/Slot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Slot as SlotHeadless } from '@flippo-ui/headless-components/slot'; + +export function Slot(props: Slot.Props) { + return ; +} + +export namespace Slot { + export type Props = React.ComponentProps; +} From 262fe2f360e2c09868c73b2a5e47562374a6629e Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Thu, 25 Sep 2025 23:35:25 +0300 Subject: [PATCH 18/37] feat(flippo/components): add Radio and RadioGroup components with styles and stories --- .../src/components/Radio/index.parts.ts | 2 + .../components/src/components/Radio/index.ts | 1 + .../ui/indicator/RadioIndicator.module.scss | 17 ++++++ .../Radio/ui/indicator/RadioIndicator.tsx | 16 +++++ .../Radio/ui/root/RadioRoot.module.scss | 43 ++++++++++++++ .../components/Radio/ui/root/RadioRoot.tsx | 16 +++++ .../src/components/RadioGroup/index.ts | 1 + .../RadioGroup/story/RadioGroup.stories.tsx | 58 +++++++++++++++++++ .../RadioGroup/ui/RadioGroup.module.scss | 5 ++ .../components/RadioGroup/ui/RadioGroup.tsx | 16 +++++ 10 files changed, 175 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Radio/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Radio/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/RadioGroup/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/RadioGroup/story/RadioGroup.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Radio/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Radio/index.parts.ts new file mode 100644 index 00000000..ccfbc66c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Radio/index.parts.ts @@ -0,0 +1,2 @@ +export { RadioIndicator as Indicator } from './ui/indicator/RadioIndicator'; +export { RadioRoot as Root } from './ui/root/RadioRoot'; diff --git a/packages/ui/uikit/flippo/components/src/components/Radio/index.ts b/packages/ui/uikit/flippo/components/src/components/Radio/index.ts new file mode 100644 index 00000000..19f10139 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Radio/index.ts @@ -0,0 +1 @@ +export * as Radio from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.module.scss new file mode 100644 index 00000000..17302bd5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.module.scss @@ -0,0 +1,17 @@ +.RadioIndicator { + display: flex; + align-items: center; + justify-content: center; + + &[data-unchecked] { + display: none; + } + + &::before { + content: ''; + border-radius: 100%; + width: var(--f-spacing-2); + height: var(--f-spacing-2); + background-color: var(--f-color-bg-2); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.tsx new file mode 100644 index 00000000..f28ab15f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Radio/ui/indicator/RadioIndicator.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Radio as RadioHeadless } from '@flippo-ui/headless-components/radio'; +import { cx } from 'class-variance-authority'; + +import styles from './RadioIndicator.module.scss'; + +export function RadioIndicator(props: RadioIndicator.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace RadioIndicator { + export type Props = RadioHeadless.Indicator.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.module.scss new file mode 100644 index 00000000..3cb74ab0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.module.scss @@ -0,0 +1,43 @@ +.RadioRoot { + box-sizing: border-box; + display: flex; + width: 1.25rem; + height: 1.25rem; + align-items: center; + justify-content: center; + border-radius: 100%; + outline: 0; + padding: 0; + margin: 0; + border: none; + + cursor: pointer; + + &[data-unchecked] { + border: var(--f-spacing-0) solid var(--f-color-stroke-hover); + background-color: transparent; + } + + &[data-checked] { + background-color: var(--f-color-brand-hover); + border-color: var(--f-color-brand-hover); + } + + &:focus-visible { + outline: var(--f-spacing-0) solid var(--f-color-brand-light); + outline-offset: 2px; + } + + &:disabled { + cursor: default; + + &[data-unchecked] { + border-color: var(--f-color-stroke-muted); + } + + &[data-checked] { + border-color: var(--f-color-brand-disabled); + background-color: var(--f-color-brand-disabled); + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.tsx new file mode 100644 index 00000000..6c9ec925 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Radio/ui/root/RadioRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Radio as RadioHeadless } from '@flippo-ui/headless-components/radio'; +import { cx } from 'class-variance-authority'; + +import styles from './RadioRoot.module.scss'; + +export function RadioRoot(props: RadioRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace RadioRoot { + export type Props = RadioHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/RadioGroup/index.ts b/packages/ui/uikit/flippo/components/src/components/RadioGroup/index.ts new file mode 100644 index 00000000..efabad61 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/RadioGroup/index.ts @@ -0,0 +1 @@ +export { RadioGroup } from './ui/RadioGroup'; diff --git a/packages/ui/uikit/flippo/components/src/components/RadioGroup/story/RadioGroup.stories.tsx b/packages/ui/uikit/flippo/components/src/components/RadioGroup/story/RadioGroup.stories.tsx new file mode 100644 index 00000000..4e765d69 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/RadioGroup/story/RadioGroup.stories.tsx @@ -0,0 +1,58 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { RadioGroup } from '..'; +import { Radio } from '../../Radio'; + +const meta: Meta = { + title: 'Input/RadioGroup', + component: RadioGroup +}; + +export default meta; + +type RadioGroupStory = StoryObj; + +export const Default: RadioGroupStory = { + render: (args) => ( + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.module.scss b/packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.module.scss new file mode 100644 index 00000000..c6151c0a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.module.scss @@ -0,0 +1,5 @@ +@use 'mixins/_flex' as flex; + +.RadioGroup { + @include flex.display(flex, column, null, null, var(--f-spacing-2)); +} diff --git a/packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.tsx b/packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.tsx new file mode 100644 index 00000000..ad3d707d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/RadioGroup/ui/RadioGroup.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { RadioGroup as RadioGroupHeadless } from '@flippo-ui/headless-components/radio-group'; +import { cx } from 'class-variance-authority'; + +import styles from './RadioGroup.module.scss'; + +export function RadioGroup(props: RadioGroup.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace RadioGroup { + export type Props = RadioGroupHeadless.Props; +} From 1ea1a5ee2856878e5093dce5daf7d0748d3b49dd Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 27 Sep 2025 00:04:22 +0300 Subject: [PATCH 19/37] feat(flippo/components): add Switch component with subcomponents, styles, and stories --- .../src/components/Switch/index.parts.ts | 2 + .../components/src/components/Switch/index.ts | 1 + .../Switch/story/Switch.stories.tsx | 22 ++++++++++ .../Switch/ui/root/SwitchRoot.module.scss | 40 +++++++++++++++++++ .../components/Switch/ui/root/SwitchRoot.tsx | 33 +++++++++++++++ .../Switch/ui/thumb/SwitchThumb.module.scss | 15 +++++++ .../Switch/ui/thumb/SwitchThumb.tsx | 20 ++++++++++ 7 files changed, 133 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/story/Switch.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Switch/index.parts.ts new file mode 100644 index 00000000..02ea6384 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/index.parts.ts @@ -0,0 +1,2 @@ +export { SwitchRoot as Root } from './ui/root/SwitchRoot'; +export { SwitchThumb as Thumb } from './ui/thumb/SwitchThumb'; diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/index.ts b/packages/ui/uikit/flippo/components/src/components/Switch/index.ts new file mode 100644 index 00000000..4b7a983c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/index.ts @@ -0,0 +1 @@ +export * as Switch from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/story/Switch.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Switch/story/Switch.stories.tsx new file mode 100644 index 00000000..83f05f93 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/story/Switch.stories.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Switch } from '..'; + +const meta: Meta = { + title: 'Input/Switch', + component: Switch.Root +}; + +export default meta; + +type SwitchStory = StoryObj; + +export const Default: SwitchStory = { + render: (args) => ( + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.module.scss new file mode 100644 index 00000000..a19b741d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.module.scss @@ -0,0 +1,40 @@ +@use 'mixins/_common.scss' as common; + +.SwitchRoot { + @include common.reset-appearance; + + position: relative; + display: flex; + appearance: none; + border: 0; + margin: 0; + padding: 0; + width: var(--f-spacing-10); + height: var(--f-spacing-6); + border-radius: var(--f-spacing-6); + background-color: transparent; + background-image: linear-gradient(to right, var(--f-color-brand) 35%, var(--f-color-bg-2) 65%); + background-size: 6.5rem 100%; + background-position-x: 100%; + background-repeat: no-repeat; + transition-property: background-position, box-shadow; + transition-timing-function: cubic-bezier(0.26, 0.75, 0.38, 0.45); + transition-duration: 125ms; + + &:active { + background-color: var(--f-color-brand); + } + + &[data-checked] { + background-position-x: 0%; + } + + &[data-checked]:active { + background-color: var(--f-color-bg-area); + } + + &:focus-visible { + outline: 2px solid var(--f-color-brand-light); + outline-offset: 2px; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.tsx new file mode 100644 index 00000000..5b071538 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/ui/root/SwitchRoot.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { Switch as SwitchHeadless } from '@flippo-ui/headless-components/switch'; +import { cva } from 'class-variance-authority'; + +import styles from './SwitchRoot.module.scss'; + +const SwitchRootVariants = cva(styles.SwitchRoot, { + variants: { + size: { + sm: styles.SwitchRoot_sm, + md: styles.SwitchRoot_md, + lg: styles.SwitchRoot_lg + } + }, + defaultVariants: { + size: 'md' + } +}); + +export function SwitchRoot(props: SwitchRoot.Props) { + const { className, size, ...rest } = props; + + const switchClasses = SwitchRootVariants({ size, className }); + + return ; +} + +export namespace SwitchRoot { + export type Props = { + size?: 'sm' | 'md' | 'lg'; + } & SwitchHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.module.scss b/packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.module.scss new file mode 100644 index 00000000..26429861 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.module.scss @@ -0,0 +1,15 @@ +@use 'mixins/_common.scss' as common; + +.SwitchThumb { + @include common.reset-appearance; + + aspect-ratio: 1 / 1; + height: 100%; + border-radius: 100%; + background-color: var(--f-color-neutral-80); + transition: translate 150ms ease; + + &[data-checked] { + translate: 1rem 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.tsx b/packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.tsx new file mode 100644 index 00000000..2e2921c5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Switch/ui/thumb/SwitchThumb.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Switch as SwitchHeadless } from '@flippo-ui/headless-components/switch'; +import { cva } from 'class-variance-authority'; + +import styles from './SwitchThumb.module.scss'; + +const SwitchThumbVariants = cva(styles.SwitchThumb); + +export function SwitchThumb(props: SwitchThumb.Props) { + const { className, ...rest } = props; + + const thumbClasses = SwitchThumbVariants({ className }); + + return ; +} + +export namespace SwitchThumb { + export type Props = SwitchHeadless.Thumb.Props; +} From 5e271a8222b9ac94a0baae28f6af3be765e5d478 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 27 Sep 2025 09:38:12 +0300 Subject: [PATCH 20/37] feat(flippo/components): add Textarea component with subcomponents, styles, and stories --- .../src/components/Textarea/index.parts.ts | 3 + .../src/components/Textarea/index.ts | 1 + .../Textarea/story/Textarea.stories.tsx | 24 ++++ .../Textarea/ui/body/TextareaBody.module.scss | 114 ++++++++++++++++++ .../Textarea/ui/body/TextareaBody.tsx | 62 ++++++++++ .../Textarea/ui/root/TextareaRoot.tsx | 11 ++ .../Textarea/ui/slot/TextareaSlot.module.scss | 20 +++ .../Textarea/ui/slot/TextareaSlot.tsx | 16 +++ 8 files changed, 251 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/story/Textarea.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/ui/root/TextareaRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Textarea/index.parts.ts new file mode 100644 index 00000000..5bba9962 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/index.parts.ts @@ -0,0 +1,3 @@ +export { TextareaBody as Body } from './ui/body/TextareaBody'; +export { TextareaRoot as Root } from './ui/root/TextareaRoot'; +export { TextareaSlot as Slot } from './ui/slot/TextareaSlot'; diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/index.ts b/packages/ui/uikit/flippo/components/src/components/Textarea/index.ts new file mode 100644 index 00000000..86b17858 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/index.ts @@ -0,0 +1 @@ +export * as Textarea from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/story/Textarea.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Textarea/story/Textarea.stories.tsx new file mode 100644 index 00000000..8d82c7ff --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/story/Textarea.stories.tsx @@ -0,0 +1,24 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Textarea } from '..'; + +const meta: Meta = { + title: 'Input/Textarea', + component: Textarea.Root +}; + +export default meta; + +type TextareaStory = StoryObj; + +export const Default: TextareaStory = { + render: () => ( + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.module.scss b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.module.scss new file mode 100644 index 00000000..3af811f8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.module.scss @@ -0,0 +1,114 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_corners.scss' as corners; +@use 'mixins/_common.scss' as common; + +.TextareaBody { + @include common.reset-appearance; + @include font.body('weaker'); + @include flex.display(inline-flex, row, center, center, var(--f-spacing-3)); + + $ow: 1.5px; + $parent: &; + + outline-color: transparent; + + flex: 0 1 100%; + + fill: var(--f-color-text-6); + + padding: var(--f-spacing-4) var(--f-spacing-5); + + overflow: hidden; + + transition: + outline 0.3s ease, + background-color 0.3s ease; + + width: 100%; + + & > svg { + width: calc(var(--f-spacing-9) / 2); + aspect-ratio: 1; + } + + &:hover { + [data-slot]::placeholder { + color: var(--f-color-text-5); + } + + svg { + fill: var(--f-color-text-5); + } + } + + &:focus-within { + [data-slot]::placeholder { + color: var(--f-color-text-6); + } + + svg { + fill: var(--f-color-text-5); + } + } + + @include corners.corners((&, '::before', '::after'), var(--f-spacing-3)); + + &_light { + background: var(--f-color-bg-1); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke-hover); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-1); + color: var(--f-color-text-disabled); + } + } + + &_inverted { + background: var(--f-color-bg-area-muted); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.tsx b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.tsx new file mode 100644 index 00000000..12f76a0b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/body/TextareaBody.tsx @@ -0,0 +1,62 @@ +import type React from 'react'; + +import { Input as InputHeadless } from '@flippo-ui/headless-components/input'; +import { useRender } from '@flippo-ui/headless-components/use-render'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './TextareaBody.module.scss'; + +const TextareaBodyVariants = cva(styles.TextareaBody, { + variants: { + variant: { + inverted: styles.TextareaBody_inverted, + light: styles.TextareaBody_light + }, + corners: { + 'clear': styles['corners-clear-clear'], + 'circle': styles['corners-circle-circle'], + 'round': styles['corners-round-round'], + 'round-clear': styles['corners-round-clear'], + 'clear-round': styles['corners-clear-round'], + 'round-circle': styles['corners-round-circle'], + 'clear-circle': styles['corners-clear-circle'] + } + }, + defaultVariants: { + variant: 'inverted', + corners: 'round' + } +}); + +export function TextareaBody(props: TextareaBody.Props) { + const { + ref, + className, + variant = 'inverted', + corners = 'round', + ...otherProps + } = props; + + const { state } = InputHeadless.useInputControl(); + + const textareaBodyClassName = TextareaBodyVariants({ + variant, + corners, + className + }); + + const element = useRender({ + defaultTagName: 'span', + ref, + state, + props: [otherProps, { className: textareaBodyClassName }] + }); + + return element; +} + +export namespace TextareaBody { + export type Props = React.ComponentPropsWithRef<'span'> & VariantProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/ui/root/TextareaRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/root/TextareaRoot.tsx new file mode 100644 index 00000000..7d1582c4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/root/TextareaRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Textarea as TextareaHeadless } from '@flippo-ui/headless-components/textarea'; + +export function TextareaRoot(props: TextareaRoot.Props) { + return ; +} + +export namespace TextareaRoot { + export type Props = TextareaHeadless.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.module.scss b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.module.scss new file mode 100644 index 00000000..b5f13b7f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.module.scss @@ -0,0 +1,20 @@ +@use 'mixins/_text.scss' as text; + +.TextareaSlot { + @include text.overflow-ellipsis(); + + background: transparent; + outline: none; + border: none; + padding: 0; + width: 100%; + height: 100%; + + color: var(--f-color-text-primary); + + &::placeholder { + color: var(--f-color-text-6); + } + + caret-color: var(--f-color-text-white); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.tsx b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.tsx new file mode 100644 index 00000000..d2901625 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Textarea/ui/slot/TextareaSlot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Textarea as TextareaHeadless } from '@flippo-ui/headless-components/textarea'; +import { cx } from 'class-variance-authority'; + +import styles from './TextareaSlot.module.scss'; + +export function TextareaSlot(props: TextareaSlot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace TextareaSlot { + export type Props = TextareaHeadless.Props; +} From 34a766df3ed68061e315862de03da13898a97b06 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 27 Sep 2025 13:33:39 +0300 Subject: [PATCH 21/37] feat(flippo/components): add Form component with styles and stories --- .../components/src/components/Form/index.ts | 1 + .../components/Form/story/Form.stories.tsx | 41 +++++++++++++++++++ .../src/components/Form/ui/Form.module.scss | 10 +++++ .../src/components/Form/ui/Form.tsx | 16 ++++++++ 4 files changed, 68 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Form/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Form/story/Form.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Form/ui/Form.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Form/ui/Form.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Form/index.ts b/packages/ui/uikit/flippo/components/src/components/Form/index.ts new file mode 100644 index 00000000..dd81ad69 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Form/index.ts @@ -0,0 +1 @@ +export { Form } from './ui/Form'; diff --git a/packages/ui/uikit/flippo/components/src/components/Form/story/Form.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Form/story/Form.stories.tsx new file mode 100644 index 00000000..808c678a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Form/story/Form.stories.tsx @@ -0,0 +1,41 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Form } from '..'; +import { Button } from '../../Button'; +import { Field } from '../../Field'; +import { Input } from '../../Input'; + +const meta: Meta = { + title: 'Form/Form', + component: Form +}; + +export default meta; + +type FormStory = StoryObj; + +function handleSubmit(e: React.FormEvent) { + e.preventDefault(); +} + +export const Default: FormStory = { + render: (args) => ( +
    + + + {'Name'} + + + + + + + + +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Form/ui/Form.module.scss b/packages/ui/uikit/flippo/components/src/components/Form/ui/Form.module.scss new file mode 100644 index 00000000..fd2830e7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Form/ui/Form.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.Form { + @include common.reset-appearance; + + display: flex; + flex-direction: column; + gap: var(--f-spacing-4); + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Form/ui/Form.tsx b/packages/ui/uikit/flippo/components/src/components/Form/ui/Form.tsx new file mode 100644 index 00000000..bd92e913 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Form/ui/Form.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Form as FormHeadless } from '@flippo-ui/headless-components/form'; +import { cx } from 'class-variance-authority'; + +import styles from './Form.module.scss'; + +export function Form(props: Form.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace Form { + export type Props = FormHeadless.Props; +} From bee7be60554468e1bbb1d35a3d399d541f3b6e48 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 27 Sep 2025 14:01:59 +0300 Subject: [PATCH 22/37] feat(flippo/components): add Fieldset component with subcomponents, styles, and stories --- .../src/components/Fieldset/index.parts.ts | 2 ++ .../src/components/Fieldset/index.ts | 1 + .../Fieldset/story/Fieldset.stories.tsx | 33 +++++++++++++++++++ .../ui/legend/FieldsetLegend.module.scss | 11 +++++++ .../Fieldset/ui/legend/FieldsetLegend.tsx | 16 +++++++++ .../Fieldset/ui/root/FieldsetRoot.module.scss | 10 ++++++ .../Fieldset/ui/root/FieldsetRoot.tsx | 16 +++++++++ 7 files changed, 89 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Fieldset/index.parts.ts new file mode 100644 index 00000000..e06897c9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/index.parts.ts @@ -0,0 +1,2 @@ +export { FieldsetLegend as Legend } from './ui/legend/FieldsetLegend'; +export { FieldsetRoot as Root } from './ui/root/FieldsetRoot'; diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/index.ts b/packages/ui/uikit/flippo/components/src/components/Fieldset/index.ts new file mode 100644 index 00000000..1320ce19 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/index.ts @@ -0,0 +1 @@ +export * as Fieldset from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx new file mode 100644 index 00000000..89d22608 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Fieldset } from '..'; +import { Field } from '../../Field'; +import { Input } from '../../Input'; + +const meta: Meta = { + title: 'Form/Fieldset', + component: Fieldset.Root +}; + +export default meta; + +type FieldsetStory = StoryObj; + +export const Default: FieldsetStory = { + render: (args) => ( + + {'Personal Information'} + + + {'First Name'} + + + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss new file mode 100644 index 00000000..a87299bf --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.FieldsetLegend { + @include common.reset-appearance; + @include font.heading-1(default); + + border-bottom: 2px solid var(--f-color-stroke-transparent); + padding-bottom: var(--f-spacing-3); + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.tsx b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.tsx new file mode 100644 index 00000000..0a09be9a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Fieldset as FieldsetHeadless } from '@flippo-ui/headless-components/fieldset'; +import { cx } from 'class-variance-authority'; + +import styles from './FieldsetLegend.module.scss'; + +export function FieldsetLegend(props: FieldsetLegend.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace FieldsetLegend { + export type Props = FieldsetHeadless.Legend.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss new file mode 100644 index 00000000..03c9226a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.FieldsetRoot { + @include common.reset-appearance; + + display: flex; + flex-direction: column; + gap: var(--f-spacing-4); + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx new file mode 100644 index 00000000..8f9ff4fb --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Fieldset as FieldsetHeadless } from '@flippo-ui/headless-components/fieldset'; +import { cx } from 'class-variance-authority'; + +import styles from './FieldsetRoot.module.scss'; + +export function FieldsetRoot(props: FieldsetRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace FieldsetRoot { + export type Props = FieldsetHeadless.Root.Props; +} From 670de46ccac7bd211d3d6b35f3d68af127eee0f4 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 27 Sep 2025 17:48:39 +0300 Subject: [PATCH 23/37] feat(flippo/components): add Field component with subcomponents, styles, and stories --- .../src/components/Field/index.parts.ts | 6 + .../components/src/components/Field/index.ts | 1 + .../components/Field/story/Field.stories.tsx | 28 +++ .../control-slot/FieldControlSlot.module.scss | 179 ++++++++++++++++++ .../ui/control-slot/FieldControlSlot.tsx | 59 ++++++ .../Field/ui/control/FieldControl.module.scss | 178 +++++++++++++++++ .../Field/ui/control/FieldControl.tsx | 21 ++ .../description/FieldDescription.module.scss | 10 + .../Field/ui/description/FieldDescription.tsx | 20 ++ .../Field/ui/error/FieldError.module.scss | 9 + .../components/Field/ui/error/FieldError.tsx | 16 ++ .../Field/ui/label/FieldLabel.module.scss | 9 + .../components/Field/ui/label/FieldLabel.tsx | 16 ++ .../Field/ui/root/FieldRoot.module.scss | 11 ++ .../components/Field/ui/root/FieldRoot.tsx | 16 ++ .../ui/validity/FieldValidity.module.scss | 7 + .../Field/ui/validity/FieldValidity.tsx | 20 ++ .../Fieldset/story/Fieldset.stories.tsx | 2 +- .../ui/legend/FieldsetLegend.module.scss | 2 +- .../Fieldset/ui/root/FieldsetRoot.module.scss | 2 +- .../Fieldset/ui/root/FieldsetRoot.tsx | 2 +- .../components/Input/ui/body/InputBody.tsx | 1 + .../components/src/styles/mixins/_common.scss | 28 +++ 23 files changed, 639 insertions(+), 4 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/story/Field.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.tsx create mode 100644 packages/ui/uikit/flippo/components/src/styles/mixins/_common.scss diff --git a/packages/ui/uikit/flippo/components/src/components/Field/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Field/index.parts.ts new file mode 100644 index 00000000..b0a35507 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/index.parts.ts @@ -0,0 +1,6 @@ +export { FieldControl as Control } from './ui/control/FieldControl'; +export { FieldDescription as Description } from './ui/description/FieldDescription'; +export { FieldError as Error } from './ui/error/FieldError'; +export { FieldLabel as Label } from './ui/label/FieldLabel'; +export { FieldRoot as Root } from './ui/root/FieldRoot'; +export { FieldValidity as Validity } from './ui/validity/FieldValidity'; diff --git a/packages/ui/uikit/flippo/components/src/components/Field/index.ts b/packages/ui/uikit/flippo/components/src/components/Field/index.ts new file mode 100644 index 00000000..30549fd8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/index.ts @@ -0,0 +1 @@ +export * as Field from './index.parts'; \ No newline at end of file diff --git a/packages/ui/uikit/flippo/components/src/components/Field/story/Field.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Field/story/Field.stories.tsx new file mode 100644 index 00000000..795b17d4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/story/Field.stories.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Field } from '..'; + +const meta: Meta = { + title: 'Form/Field', + component: Field.Root +}; + +export default meta; + +type FieldStory = StoryObj; + +export const Default: FieldStory = { + render: (args) => ( + + {'Email Address'} + + + + + {'We\'ll never share your email with anyone else.'} + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.module.scss new file mode 100644 index 00000000..2e89acb8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.module.scss @@ -0,0 +1,179 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_corners.scss' as corners; +@use 'mixins/_common.scss' as common; + +.FieldControlSlot { + @include common.reset-appearance; + + $ow: 1.5px; + $parent: &; + + outline-color: transparent; + + flex: 0 1 100%; + + fill: var(--f-color-text-6); + + overflow: hidden; + color: var(--f-color-text-white); + + transition: + outline 0.3s ease, + background-color 0.3s ease; + + @include flex.display(inline-flex, row, center, center, var(--f-spacing-3)); + + width: 100%; + + & > svg { + width: calc(var(--f-spacing-9) / 2); + aspect-ratio: 1; + } + + &:hover { + [data-slot]::placeholder { + color: var(--f-color-text-5); + } + + svg { + fill: var(--f-color-text-5); + } + } + + &:focus-within { + [data-slot]::placeholder { + color: var(--f-color-text-6); + } + + svg { + fill: var(--f-color-text-5); + } + } + + @include corners.corners((&, '::before', '::after'), var(--f-spacing-3)); + + &_light { + background: var(--f-color-bg-1); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke-hover); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-1); + color: var(--f-color-text-disabled); + } + } + + &_inverted { + background: var(--f-color-bg-area-muted); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + } + } + + &_large { + height: var(--f-spacing-14); + + @include font.body('weaker'); + + padding: var(--f-spacing-4) var(--f-spacing-5); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-3); + } + + [data-input-clear] { + height: var(--f-spacing-9); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-6); + aspect-ratio: 1; + } + } + } + + &_medium { + height: var(--f-spacing-12); + + @include font.bodyMinus('weaker'); + + padding: var(--f-spacing-2) var(--f-spacing-5); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-2); + } + + [data-input-clear] { + height: var(--f-spacing-7); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-5); + aspect-ratio: 1; + } + } + } + + &_small { + height: var(--f-spacing-10); + + @include font.bodyMinus('weaker'); + + padding: calc(var(--f-spacing-4) / 2) calc(var(--f-spacing-9) / 2); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-2); + } + + [data-input-clear] { + height: var(--f-spacing-6); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-4); + aspect-ratio: 1; + } + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.tsx new file mode 100644 index 00000000..cc305aa2 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/control-slot/FieldControlSlot.tsx @@ -0,0 +1,59 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './FieldControlSlot.module.scss'; + +const FieldControlSlotVariants = cva(styles.FieldControlSlot, { + variants: { + variant: { + inverted: styles.FieldControlSlot_inverted, + light: styles.FieldControlSlot_light + }, + dimensions: { + small: styles.FieldControlSlot_small, + medium: styles.FieldControlSlot_medium, + large: styles.FieldControlSlot_large + }, + corners: { + 'clear': styles['corners-clear-clear'], + 'circle': styles['corners-circle-circle'], + 'round': styles['corners-round-round'], + 'round-clear': styles['corners-round-clear'], + 'clear-round': styles['corners-clear-round'], + 'round-circle': styles['corners-round-circle'], + 'clear-circle': styles['corners-clear-circle'] + } + }, + defaultVariants: { + variant: 'inverted', + dimensions: 'medium', + corners: 'round' + } +}); + +export function FieldControlSlot(props: FieldControlSlot.Props) { + const { + className, + variant, + dimensions, + corners, + ...otherProps + } = props; + + const fieldControlSlotClasses = FieldControlSlotVariants({ + variant, + dimensions, + corners, + className + }); + + return ; +} + +export namespace FieldControlSlot { + export type Props = FieldHeadless.Control.InputSlotProps & VariantProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.module.scss new file mode 100644 index 00000000..c1017d1c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.module.scss @@ -0,0 +1,178 @@ +@use 'mixins/_flex.scss' as flex; +@use 'mixins/_font.scss' as font; +@use 'mixins/_corners.scss' as corners; +@use 'mixins/_common.scss' as common; + +.FieldControl { + @include common.reset-appearance; + + $ow: 1.5px; + $parent: &; + + outline-color: transparent; + + flex: 0 1 100%; + + fill: var(--f-color-text-6); + + overflow: hidden; + + transition: + outline 0.3s ease, + background-color 0.3s ease; + + @include flex.display(inline-flex, row, center, center, var(--f-spacing-3)); + + width: 100%; + + & > svg { + width: calc(var(--f-spacing-9) / 2); + aspect-ratio: 1; + } + + &:hover { + [data-slot]::placeholder { + color: var(--f-color-text-5); + } + + svg { + fill: var(--f-color-text-5); + } + } + + &:focus-within { + [data-slot]::placeholder { + color: var(--f-color-text-6); + } + + svg { + fill: var(--f-color-text-5); + } + } + + @include corners.corners((&, '::before', '::after'), var(--f-spacing-3)); + + &_light { + background: var(--f-color-bg-1); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke-hover); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-1); + color: var(--f-color-text-disabled); + } + } + + &_inverted { + background: var(--f-color-bg-area-muted); + border-radius: var(--f-border-radius-input-field); + border: $ow solid transparent; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border-color: var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + } + } + + &_large { + height: var(--f-spacing-14); + + @include font.body('weaker'); + + padding: var(--f-spacing-4) var(--f-spacing-5); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-3); + } + + [data-input-clear] { + height: var(--f-spacing-9); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-6); + aspect-ratio: 1; + } + } + } + + &_medium { + height: var(--f-spacing-12); + + @include font.bodyMinus('weaker'); + + padding: var(--f-spacing-2) var(--f-spacing-5); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-2); + } + + [data-input-clear] { + height: var(--f-spacing-7); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-5); + aspect-ratio: 1; + } + } + } + + &_small { + height: var(--f-spacing-10); + + @include font.bodyMinus('weaker'); + + padding: calc(var(--f-spacing-4) / 2) calc(var(--f-spacing-9) / 2); + + &:has([data-input-clear]) { + padding-right: var(--f-spacing-2); + } + + [data-input-clear] { + height: var(--f-spacing-6); + aspect-ratio: 1; + + svg { + height: var(--f-spacing-4); + aspect-ratio: 1; + } + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.tsx new file mode 100644 index 00000000..796baa27 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/control/FieldControl.tsx @@ -0,0 +1,21 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; + +import { FieldControlSlot } from '../control-slot/FieldControlSlot'; + +export function FieldControl(props: FieldControl.Props) { + return ( + + ); +} + +FieldControl.Slot = FieldControlSlot; +FieldControl.useFieldControl = FieldHeadless.Control.useFieldControl; + +export namespace FieldControl { + export type Props = Omit; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.module.scss new file mode 100644 index 00000000..45d7cc0a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.FieldDescription { + @include common.reset-appearance; + @include font.label(weaker); + + color: var(--f-color-text-4); + margin: 0; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.tsx new file mode 100644 index 00000000..ce5c1ad5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/description/FieldDescription.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; +import { cva } from 'class-variance-authority'; + +import styles from './FieldDescription.module.scss'; + +const FieldDescriptionVariants = cva(styles.FieldDescription); + +export function FieldDescription(props: FieldDescription.Props) { + const { className, ...rest } = props; + + const descriptionClasses = FieldDescriptionVariants({ className }); + + return ; +} + +export namespace FieldDescription { + export type Props = FieldHeadless.Description.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.module.scss new file mode 100644 index 00000000..33505a08 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.FieldError { + @include common.reset-appearance; + @include font.label(weaker); + + color: var(--f-color-error); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.tsx new file mode 100644 index 00000000..053b2d4d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/error/FieldError.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; +import { cx } from 'class-variance-authority'; + +import styles from './FieldError.module.scss'; + +export function FieldError(props: FieldError.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace FieldError { + export type Props = FieldHeadless.Error.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.module.scss new file mode 100644 index 00000000..3b09ab1f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.FieldLabel { + @include common.reset-appearance; + @include font.label(default); + + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.tsx new file mode 100644 index 00000000..686fc6b9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/label/FieldLabel.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; +import { cx } from 'class-variance-authority'; + +import styles from './FieldLabel.module.scss'; + +export function FieldLabel(props: FieldLabel.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace FieldLabel { + export type Props = FieldHeadless.Label.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.module.scss new file mode 100644 index 00000000..3cdb7b3f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.FieldRoot { + @include common.reset-appearance; + + display: flex; + flex-direction: column; + align-items: start; + gap: var(--f-spacing-1); + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.tsx new file mode 100644 index 00000000..fbb061de --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/root/FieldRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; +import { cx } from 'class-variance-authority'; + +import styles from './FieldRoot.module.scss'; + +export function FieldRoot(props: FieldRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace FieldRoot { + export type Props = FieldHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.module.scss b/packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.module.scss new file mode 100644 index 00000000..0cd9a5da --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.module.scss @@ -0,0 +1,7 @@ +@use 'mixins/_common.scss' as common; + +.FieldValidity { + @include common.reset-appearance; + + // Validity indicator styling +} diff --git a/packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.tsx b/packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.tsx new file mode 100644 index 00000000..0ed7ecc9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Field/ui/validity/FieldValidity.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Field as FieldHeadless } from '@flippo-ui/headless-components/field'; +import { cva } from 'class-variance-authority'; + +import styles from './FieldValidity.module.scss'; + +const FieldValidityVariants = cva(styles.FieldValidity); + +export function FieldValidity(props: FieldValidity.Props) { + const { className, ...rest } = props; + + const validityClasses = FieldValidityVariants({ className }); + + return ; +} + +export namespace FieldValidity { + export type Props = FieldHeadless.Validity.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx index 89d22608..e243b4d4 100644 --- a/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/story/Fieldset.stories.tsx @@ -23,7 +23,7 @@ export const Default: FieldsetStory = { {'First Name'} - + diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss index a87299bf..cbdbed2e 100644 --- a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/legend/FieldsetLegend.module.scss @@ -3,7 +3,7 @@ .FieldsetLegend { @include common.reset-appearance; - @include font.heading-1(default); + @include font.bodyPlus(default); border-bottom: 2px solid var(--f-color-stroke-transparent); padding-bottom: var(--f-spacing-3); diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss index 03c9226a..14f74dee 100644 --- a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.module.scss @@ -1,7 +1,7 @@ @use 'mixins/_common.scss' as common; .FieldsetRoot { - @include common.reset-appearance; + @include common.reset-appearance(); display: flex; flex-direction: column; diff --git a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx index 8f9ff4fb..d2ac801e 100644 --- a/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Fieldset/ui/root/FieldsetRoot.tsx @@ -8,7 +8,7 @@ import styles from './FieldsetRoot.module.scss'; export function FieldsetRoot(props: FieldsetRoot.Props) { const { className, ...otherProps } = props; - return ; + return ; } export namespace FieldsetRoot { diff --git a/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx index 97c02de0..b1967556 100644 --- a/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Input/ui/body/InputBody.tsx @@ -22,6 +22,7 @@ const InputBodyInvertedVariants = cva(styles.InputBody, { corners: { 'clear': styles['corners-clear-clear'], 'circle': styles['corners-circle-circle'], + 'round': styles['corners-round-round'], 'round-clear': styles['corners-round-clear'], 'clear-round': styles['corners-clear-round'], 'round-circle': styles['corners-round-circle'], diff --git a/packages/ui/uikit/flippo/components/src/styles/mixins/_common.scss b/packages/ui/uikit/flippo/components/src/styles/mixins/_common.scss new file mode 100644 index 00000000..9ae9258f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/styles/mixins/_common.scss @@ -0,0 +1,28 @@ +// Common utility mixins + +@mixin reset-appearance() { + appearance: none; + background: none; + border: none; + outline: none; + margin: 0; + padding: 0; + box-sizing: border-box; +} + +@mixin focus-ring($color: var(--colors-primary-500), $width: 2px, $offset: 2px) { + outline: $width solid $color; + outline-offset: $offset; +} + +@mixin visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} From 48eb196a5cd6e0ffe4ef6fd44c83ea8ead695d56 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 27 Sep 2025 23:42:18 +0300 Subject: [PATCH 24/37] feat(flippo/components): add Slider component with subcomponents, styles, and stories --- .../src/components/Slider/index.parts.ts | 6 + .../components/src/components/Slider/index.ts | 1 + .../Slider/story/Slider.stories.tsx | 30 ++ .../ui/control/SliderControl.module.scss | 12 + .../Slider/ui/control/SliderControl.tsx | 20 + .../ui/indicator/SliderIndicator.module.scss | 9 + .../Slider/ui/indicator/SliderIndicator.tsx | 16 + .../components/Slider/ui/root/SliderRoot.tsx | 11 + .../Slider/ui/thumb/SliderThumb.module.scss | 17 + .../Slider/ui/thumb/SliderThumb.tsx | 16 + .../Slider/ui/track/SliderTrack.module.scss | 11 + .../Slider/ui/track/SliderTrack.tsx | 20 + .../Slider/ui/value/SliderValue.tsx | 11 + .../Slider/control/SliderControl.tsx | 368 +++++++++--------- .../src/components/Slider/root/SliderRoot.tsx | 95 +++-- .../Slider/root/SliderRootContext.ts | 8 +- .../components/Slider/thumb/SliderThumb.tsx | 284 +++++++------- .../components/Slider/utils/getMidpoint.ts | 9 + .../src/lib/createHeadlessUIEventDetails.ts | 78 ++++ 19 files changed, 639 insertions(+), 383 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/story/Slider.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/root/SliderRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Slider/ui/value/SliderValue.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/Slider/utils/getMidpoint.ts create mode 100644 packages/ui/uikit/headless/components/src/lib/createHeadlessUIEventDetails.ts diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Slider/index.parts.ts new file mode 100644 index 00000000..ba24c5c7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/index.parts.ts @@ -0,0 +1,6 @@ +export { SliderControl as Control } from './ui/control/SliderControl'; +export { SliderIndicator as Indicator } from './ui/indicator/SliderIndicator'; +export { SliderRoot as Root } from './ui/root/SliderRoot'; +export { SliderThumb as Thumb } from './ui/thumb/SliderThumb'; +export { SliderTrack as Track } from './ui/track/SliderTrack'; +export { SliderValue as Value } from './ui/value/SliderValue'; diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/index.ts b/packages/ui/uikit/flippo/components/src/components/Slider/index.ts new file mode 100644 index 00000000..953696ab --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/index.ts @@ -0,0 +1 @@ +export * as Slider from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/story/Slider.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/story/Slider.stories.tsx new file mode 100644 index 00000000..c159e394 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/story/Slider.stories.tsx @@ -0,0 +1,30 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Slider } from '..'; + +const meta: Meta = { + title: 'Input/Slider', + component: Slider.Root +}; + +export default meta; + +type SliderStory = StoryObj; + +export const Default: SliderStory = { + render: (args) => ( +
    + + + + + + + + + +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.module.scss b/packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.module.scss new file mode 100644 index 00000000..af94ecc4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.module.scss @@ -0,0 +1,12 @@ +@use 'mixins/_common.scss' as common; + +.SliderControl { + @include common.reset-appearance(); + + display: flex; + align-items: center; + width: 100%; + padding-block: var(--f-spacing-3); + touch-action: none; + user-select: none; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.tsx new file mode 100644 index 00000000..87f80f0b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/control/SliderControl.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Slider as SliderHeadless } from '@flippo-ui/headless-components/slider'; +import { cva } from 'class-variance-authority'; + +import styles from './SliderControl.module.scss'; + +const SliderControlVariants = cva(styles.SliderControl); + +export function SliderControl(props: SliderControl.Props) { + const { className, ...rest } = props; + + const controlClasses = SliderControlVariants({ className }); + + return ; +} + +export namespace SliderControl { + export type Props = SliderHeadless.Control.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.module.scss new file mode 100644 index 00000000..8311f568 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; + +.SliderIndicator { + @include common.reset-appearance; + + border-radius: var(--f-spacing-1); + background-color: var(--f-color-brand-light); + user-select: none; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.tsx new file mode 100644 index 00000000..4697138b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/indicator/SliderIndicator.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Slider as SliderHeadless } from '@flippo-ui/headless-components/slider'; +import { cx } from 'class-variance-authority'; + +import styles from './SliderIndicator.module.scss'; + +export function SliderIndicator(props: SliderIndicator.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace SliderIndicator { + export type Props = SliderHeadless.Indicator.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/root/SliderRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/ui/root/SliderRoot.tsx new file mode 100644 index 00000000..3d908cdd --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/root/SliderRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Slider as SliderHeadless } from '@flippo-ui/headless-components/slider'; + +export function SliderRoot(props: SliderRoot.Props) { + return ; +} + +export namespace SliderRoot { + export type Props = SliderHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.module.scss b/packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.module.scss new file mode 100644 index 00000000..43cd6301 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.module.scss @@ -0,0 +1,17 @@ +@use 'mixins/_common.scss' as common; + +.SliderThumb { + @include common.reset-appearance(); + + width: var(--f-spacing-4); + height: var(--f-spacing-4); + border-radius: 100%; + background-color: var(--f-color-neutral-90); + user-select: none; + outline: none; + + &:has(:focus-visible) { + outline: 2px solid var(--f-color-brand-light); + outline-offset: 2px; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.tsx new file mode 100644 index 00000000..6cfa5f06 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/thumb/SliderThumb.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Slider as SliderHeadless } from '@flippo-ui/headless-components/slider'; +import { cx } from 'class-variance-authority'; + +import styles from './SliderThumb.module.scss'; + +export function SliderThumb(props: SliderThumb.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace SliderThumb { + export type Props = SliderHeadless.Thumb.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.module.scss b/packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.module.scss new file mode 100644 index 00000000..bb77b380 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.SliderTrack { + @include common.reset-appearance(); + + width: 100%; + height: var(--f-spacing-1); + background-color: var(--f-color-bg-1-hover); + border-radius: var(--f-spacing-1); + user-select: none; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.tsx new file mode 100644 index 00000000..d2224d55 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/track/SliderTrack.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Slider as SliderHeadless } from '@flippo-ui/headless-components/slider'; +import { cva } from 'class-variance-authority'; + +import styles from './SliderTrack.module.scss'; + +const SliderTrackVariants = cva(styles.SliderTrack); + +export function SliderTrack(props: SliderTrack.Props) { + const { className, ...rest } = props; + + const trackClasses = SliderTrackVariants({ className }); + + return ; +} + +export namespace SliderTrack { + export type Props = SliderHeadless.Track.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Slider/ui/value/SliderValue.tsx b/packages/ui/uikit/flippo/components/src/components/Slider/ui/value/SliderValue.tsx new file mode 100644 index 00000000..aa3e808a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Slider/ui/value/SliderValue.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Slider as SliderHeadless } from '@flippo-ui/headless-components/slider'; + +export function SliderValue(props: SliderValue.Props) { + return ; +} + +export namespace SliderValue { + export type Props = SliderHeadless.Value.Props; +} diff --git a/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx b/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx index 11d5b2c0..389a706d 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx +++ b/packages/ui/uikit/headless/components/src/components/Slider/control/SliderControl.tsx @@ -2,18 +2,20 @@ import React from 'react'; -import { useEventCallback } from '@flippo-ui/hooks'; - +import { useAnimationFrame, useEventCallback } from '@flippo-ui/hooks'; +import { isElement } from '@floating-ui/utils/dom'; import { clamp } from '@lib/clamp'; +import { createHeadlessUiEventDetails } from '@lib/createHeadlessUIEventDetails'; import { useDirection, useRenderElement } from '@lib/hooks'; import { ownerDocument } from '@lib/owner'; -import { valueToPercent } from '@lib/valueToPercent'; -import { activeElement } from '@packages/floating-ui-react/utils'; +import { activeElement, contains } from '@packages/floating-ui-react/utils'; -import type { HeadlessUIComponentProps, Orientation } from '@lib/types'; +import type { HeadlessUIComponentProps } from '@lib/types'; +import type { Coords } from '@packages/floating-ui-react'; import { useSliderRootContext } from '../root/SliderRootContext'; import { sliderStyleHookMapping } from '../root/styleHooks'; +import { getMidpoint } from '../utils/getMidpoint'; import { replaceArrayItemAtIndex } from '../utils/replaceArrayItemAtIndex'; import { roundValueToStep } from '../utils/roundValueToStep'; import { validateMinimumDistance } from '../utils/validateMinimumDistance'; @@ -22,27 +24,7 @@ import type { SliderRoot } from '../root/SliderRoot'; const INTENTIONAL_DRAG_COUNT_THRESHOLD = 2; -function getClosestThumbIndex(values: readonly number[], currentValue: number, max: number) { - let closestIndex; - let minDistance; - for (const [i, value] of Object.entries(values)) { - const distance = Math.abs(currentValue - value); - if ( - minDistance === undefined - // when the value is at max, the lowest index thumb has to be dragged - // first or it will block higher index thumbs from moving - // otherwise consider higher index thumbs to be closest when their values are identical - || (value === max ? distance < minDistance : distance <= minDistance) - ) { - closestIndex = i; - minDistance = distance; - } - } - - return closestIndex; -} - -function getControlOffset(styles: CSSStyleDeclaration | null, orientation: Orientation) { +function getControlOffset(styles: CSSStyleDeclaration | null, vertical: boolean) { if (!styles) { return { start: 0, @@ -50,8 +32,8 @@ function getControlOffset(styles: CSSStyleDeclaration | null, orientation: Orien }; } - const start = orientation === 'horizontal' ? 'InlineStart' : 'Top'; - const end = orientation === 'horizontal' ? 'InlineEnd' : 'Bottom'; + const start = !vertical ? 'InlineStart' : 'Top'; + const end = !vertical ? 'InlineEnd' : 'Bottom'; return { start: Number.parseFloat(styles[`border${start}Width`]) + Number.parseFloat(styles[`padding${start}`]), @@ -59,19 +41,19 @@ function getControlOffset(styles: CSSStyleDeclaration | null, orientation: Orien }; } -function getFingerPosition( +function getFingerCoords( event: TouchEvent | PointerEvent | React.PointerEvent, - touchIdRef: React.RefObject -): FingerPosition | null { + touchIdRef: React.RefObject +): Coords | null { // The event is TouchEvent - if (touchIdRef.current !== undefined && (event as TouchEvent).changedTouches) { + if (touchIdRef.current != null && (event as TouchEvent).changedTouches) { const touchEvent = event as TouchEvent; for (let i = 0; i < touchEvent.changedTouches.length; i += 1) { - const touch = touchEvent.changedTouches[i] as Touch; - if (touch.identifier === touchIdRef.current) { + const touch = touchEvent.changedTouches[i]; + if (touch?.identifier === touchIdRef.current) { return { - x: touch.clientX, - y: touch.clientY + x: touch.clientX ?? 0, + y: touch.clientY ?? 0 }; } } @@ -94,16 +76,13 @@ function getFingerPosition( */ export function SliderControl(componentProps: SliderControl.Props) { const { - /* eslint-disable unused-imports/no-unused-vars */ + render: renderProp, className, - render, - /* eslint-enable unused-imports/no-unused-vars */ ref, ...elementProps } = componentProps; const { - active: activeThumbIndex, disabled, dragging, fieldControlValidation, @@ -113,7 +92,9 @@ export function SliderControl(componentProps: SliderControl.Props) { minStepsBetweenValues, onValueCommitted, orientation, - range, + pressedInputRef, + pressedThumbCenterOffsetRef, + pressedThumbIndexRef, registerFieldControlRef, setActive, setDragging, @@ -124,8 +105,12 @@ export function SliderControl(componentProps: SliderControl.Props) { values } = useSliderRootContext(); + const direction = useDirection(); + const range = values.length > 1; + const vertical = orientation === 'vertical'; + const controlRef = React.useRef(null); - const stylesRef = React.useRef(null); + const stylesRef = React.useRef(null); const setStylesRef = useEventCallback((element: HTMLElement | null) => { if (element && stylesRef.current == null) { if (stylesRef.current == null) { @@ -133,122 +118,118 @@ export function SliderControl(componentProps: SliderControl.Props) { } } }); - const closestThumbIndexRef = React.useRef(null); + // A number that uniquely identifies the current finger in the touch session. - const touchIdRef = React.useRef(null); + const touchIdRef = React.useRef(null); + // The number of touch/pointermove events that have fired. const moveCountRef = React.useRef(0); - /** - * The difference between the value at the finger origin and the value at - * the center of the thumb scaled down to fit the range [0, 1] - */ - const offsetRef = React.useRef(0); - const direction = useDirection(); + const getFingerState = useEventCallback((fingerCoords: Coords): FingerState | null => { + const control = controlRef.current; - const getFingerState = useEventCallback( - ( - fingerPosition: FingerPosition | null, - /** - * When `true`, closestThumbIndexRef is updated. - * It's `true` when called by touchstart or pointerdown. - */ - shouldCaptureThumbIndex: boolean = false, - /** - * The difference between the value at the finger origin and the value at - * the center of the thumb scaled down to fit the range [0, 1] - */ - thumbOffset: number = 0 - ): FingerState | null => { - if (fingerPosition == null) { - return null; - } + if (!control) { + return null; + } + + const { + width, + height, + bottom, + left, + right + } = control.getBoundingClientRect(); + + const controlOffset = getControlOffset(stylesRef.current, vertical); + const controlSize = (vertical ? height : width) - controlOffset.start - controlOffset.end; + const thumbCenterOffset = pressedThumbCenterOffsetRef.current ?? 0; + const fingerX = fingerCoords.x - thumbCenterOffset; + const fingerY = fingerCoords.y - thumbCenterOffset; + + const valueSize = vertical + ? bottom - fingerY - controlOffset.end + : (direction === 'rtl' ? right - fingerX : fingerX - left) - controlOffset.start; + // the value at the finger origin scaled down to fit the range [0, 1] + const valueRescaled = clamp(valueSize / controlSize, 0, 1); + + let newValue = (max - min) * valueRescaled + min; + newValue = roundValueToStep(newValue, step, min); + newValue = clamp(newValue, min, max); + + if (!range) { + return { + value: newValue, + thumbIndex: 0 + }; + } - const control = controlRef.current; + const minValueDifference = minStepsBetweenValues * step; - if (!control) { - return null; - } + // Bound the new value to the thumb's neighbours. + newValue = clamp( + newValue, + (values[pressedThumbIndexRef.current - 1] ?? min) + minValueDifference || -Infinity, + (values[pressedThumbIndexRef.current + 1] ?? max) - minValueDifference || Infinity + ); - const isRtl = direction === 'rtl'; - const isVertical = orientation === 'vertical'; - - const { - width, - height, - bottom, - left, - right - } = control.getBoundingClientRect(); - - const controlOffset = getControlOffset(stylesRef.current, orientation); - - // the value at the finger origin scaled down to fit the range [0, 1] - let valueRescaled = isVertical - ? (bottom - controlOffset.end - fingerPosition.y) - / (height - controlOffset.start - controlOffset.end) - + thumbOffset - : (isRtl - ? right - controlOffset.start - fingerPosition.x - : fingerPosition.x - left - controlOffset.start) - / (width - controlOffset.start - controlOffset.end) - + thumbOffset * (isRtl ? -1 : 1); - - valueRescaled = clamp(valueRescaled, 0, 1); - - let newValue = (max - min) * valueRescaled + min; - newValue = roundValueToStep(newValue, step, min); - newValue = clamp(newValue, min, max); - - if (!range) { - return { - value: newValue, - valueRescaled, - thumbIndex: 0 - }; - } + return { + value: replaceArrayItemAtIndex(values, pressedThumbIndexRef.current, newValue), + thumbIndex: pressedThumbIndexRef.current + }; + }); - if (shouldCaptureThumbIndex) { - closestThumbIndexRef.current = Number(getClosestThumbIndex(values, newValue, max) ?? 0); - } + const startPressing = useEventCallback((fingerCoords: Coords) => { + const pressedThumbIndex = pressedThumbIndexRef.current; + let closestThumbIndex = pressedThumbIndex; - const closestThumbIndex = closestThumbIndexRef.current ?? 0; - const minValueDifference = minStepsBetweenValues * step; + if (pressedThumbIndex > -1 && pressedThumbIndex < values.length) { + if (values[pressedThumbIndex] === max) { + let candidateIndex = pressedThumbIndex; - // Bound the new value to the thumb's neighbours. - newValue = clamp( - newValue, - (values[closestThumbIndex - 1] ?? min) + minValueDifference || -Infinity, - (values[closestThumbIndex + 1] ?? max) - minValueDifference || Infinity - ); + while (candidateIndex > 0 && values[candidateIndex - 1] === max) { + candidateIndex -= 1; + } - return { - value: replaceArrayItemAtIndex(values, closestThumbIndex, newValue), - valueRescaled, - thumbIndex: closestThumbIndex - }; + closestThumbIndex = candidateIndex; + } + } + else { + // pressed on control + const axis = !vertical ? 'x' : 'y'; + let minDistance: number | undefined; + + closestThumbIndex = -1; + + for (let i = 0; i < thumbRefs.current.length; i += 1) { + const thumbEl = thumbRefs.current[i]; + if (isElement(thumbEl)) { + const midpoint = getMidpoint(thumbEl); + const distance = Math.abs(fingerCoords[axis] - midpoint[axis]); + + if (minDistance === undefined || distance <= minDistance) { + closestThumbIndex = i; + minDistance = distance; + } + } + } } - ); - const focusThumb = useEventCallback((thumbIndex: number) => { - const control = controlRef.current; - if (!control) { - return; + if (closestThumbIndex > -1 && closestThumbIndex !== pressedThumbIndex) { + pressedThumbIndexRef.current = closestThumbIndex; } - const activeEl = activeElement(ownerDocument(control)); + return closestThumbIndex; + }); - if (activeEl == null || !control.contains(activeEl) || activeThumbIndex !== thumbIndex) { - setActive(thumbIndex); - thumbRefs.current?.[thumbIndex] - ?.querySelector('input[type="range"]') - ?.focus(); - } + const focusThumb = useEventCallback((thumbIndex: number) => { + thumbRefs.current?.[thumbIndex] + ?.querySelector('input[type="range"]') + ?.focus({ preventScroll: true }); }); const handleTouchMove = useEventCallback((nativeEvent: TouchEvent | PointerEvent) => { - const fingerPosition = getFingerPosition(nativeEvent, touchIdRef); + const fingerCoords = getFingerCoords(nativeEvent, touchIdRef); - if (fingerPosition == null) { + if (fingerCoords == null) { return; } @@ -261,14 +242,12 @@ export function SliderControl(componentProps: SliderControl.Props) { return; } - const finger = getFingerState(fingerPosition, false, offsetRef.current); + const finger = getFingerState(fingerCoords); if (finger == null) { return; } - focusThumb(finger.thumbIndex); - if (validateMinimumDistance(finger.value, step, minStepsBetweenValues)) { if (!dragging && moveCountRef.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) { setDragging(true); @@ -279,23 +258,30 @@ export function SliderControl(componentProps: SliderControl.Props) { }); const handleTouchEnd = useEventCallback((nativeEvent: TouchEvent | PointerEvent) => { - const fingerPosition = getFingerPosition(nativeEvent, touchIdRef); + setActive(-1); setDragging(false); - if (fingerPosition == null) { + pressedInputRef.current = null; + pressedThumbCenterOffsetRef.current = null; + pressedThumbIndexRef.current = -1; + + const fingerCoords = getFingerCoords(nativeEvent, touchIdRef); + + if (fingerCoords == null) { return; } - const finger = getFingerState(fingerPosition, false); + const finger = getFingerState(fingerCoords); if (finger == null) { return; } - setActive(-1); - fieldControlValidation.commitValidation(lastChangedValueRef.current ?? finger.value); - onValueCommitted(lastChangedValueRef.current ?? finger.value, nativeEvent); + onValueCommitted( + lastChangedValueRef.current ?? finger.value, + createHeadlessUiEventDetails('none', nativeEvent) + ); if ( 'pointerType' in nativeEvent @@ -305,7 +291,6 @@ export function SliderControl(componentProps: SliderControl.Props) { } touchIdRef.current = null; - // eslint-disable-next-line ts/no-use-before-define stopListening(); }); @@ -321,10 +306,12 @@ export function SliderControl(componentProps: SliderControl.Props) { touchIdRef.current = touch.identifier; } - const fingerPosition = getFingerPosition(nativeEvent, touchIdRef); + const fingerCoords = getFingerCoords(nativeEvent, touchIdRef); + + if (fingerCoords != null) { + startPressing(fingerCoords); - if (fingerPosition != null) { - const finger = getFingerState(fingerPosition, true); + const finger = getFingerState(fingerCoords); if (finger == null) { return; @@ -341,7 +328,6 @@ export function SliderControl(componentProps: SliderControl.Props) { }); const stopListening = useEventCallback(() => { - offsetRef.current = 0; const doc = ownerDocument(controlRef.current); doc.removeEventListener('pointermove', handleTouchMove); doc.removeEventListener('pointerup', handleTouchEnd); @@ -349,6 +335,8 @@ export function SliderControl(componentProps: SliderControl.Props) { doc.removeEventListener('touchend', handleTouchEnd); }); + const focusFrame = useAnimationFrame(); + React.useEffect(() => { const control = controlRef.current; if (!control) { @@ -361,10 +349,16 @@ export function SliderControl(componentProps: SliderControl.Props) { return () => { control.removeEventListener('touchstart', handleTouchStart); + focusFrame.cancel(); stopListening(); }; - }, [stopListening, handleTouchStart, controlRef]); + }, [ + stopListening, + handleTouchStart, + controlRef, + focusFrame + ]); React.useEffect(() => { if (disabled) { @@ -381,55 +375,63 @@ export function SliderControl(componentProps: SliderControl.Props) { setStylesRef ], props: [{ - onPointerDown(event: React.PointerEvent) { - if (disabled) { - return; - } - - if (event.defaultPrevented) { + onPointerDown(event) { + const control = controlRef.current; + + if ( + !control + || disabled + || event.defaultPrevented + || !isElement(event.target) + // Only handle left clicks + || event.button !== 0 + ) { return; } - // Only handle left clicks - if (event.button !== 0) { - return; - } + const fingerCoords = getFingerCoords(event, touchIdRef); - // Avoid text selection - event.preventDefault(); + if (fingerCoords != null) { + startPressing(fingerCoords); - const fingerPosition = getFingerPosition(event, touchIdRef); - - if (fingerPosition != null) { - const finger = getFingerState(fingerPosition, true); + const finger = getFingerState(fingerCoords); if (finger == null) { return; } - focusThumb(finger.thumbIndex); - setDragging(true); - // if the event lands on a thumb, don't change the value, just get the - // percentageValue difference represented by the distance between the click origin - // and the coordinates of the value on the track area - if (thumbRefs.current.includes(event.target as HTMLElement)) { - offsetRef.current - = valueToPercent(values[finger.thumbIndex] ?? 0, min, max) / 100 - finger.valueRescaled; + const pressedOnFocusedThumb = contains( + thumbRefs.current[finger.thumbIndex], + activeElement(ownerDocument(control)) + ); + + if (pressedOnFocusedThumb) { + event.preventDefault(); } else { + focusFrame.request(() => { + focusThumb(finger.thumbIndex); + }); + } + + setDragging(true); + + const pressedOnAnyThumb = pressedThumbCenterOffsetRef.current != null; + if (!pressedOnAnyThumb) { setValue(finger.value, finger.thumbIndex, event.nativeEvent); } } if (event.nativeEvent.pointerId) { - controlRef.current?.setPointerCapture(event.nativeEvent.pointerId); + control.setPointerCapture(event.nativeEvent.pointerId); } moveCountRef.current = 0; const doc = ownerDocument(controlRef.current); doc.addEventListener('pointermove', handleTouchMove, { passive: true }); doc.addEventListener('pointerup', handleTouchEnd); - } + }, + tabIndex: -1 }, elementProps], customStyleHookMapping: sliderStyleHookMapping }); @@ -437,17 +439,11 @@ export function SliderControl(componentProps: SliderControl.Props) { return element; } -export type FingerPosition = { - x: number; - y: number; -}; - type FingerState = { value: number | number[]; - valueRescaled: number; thumbIndex: number; }; export namespace SliderControl { - export type Props = HeadlessUIComponentProps<'div', SliderRoot.State>; + export type Props = { } & HeadlessUIComponentProps<'div', SliderRoot.State>; } diff --git a/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx b/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx index d2a07681..81b0cb70 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx +++ b/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRoot.tsx @@ -10,14 +10,15 @@ import { useMergedRef } from '@flippo-ui/hooks'; import { areArraysEqual } from '@lib/areArraysEqual'; - import { clamp } from '@lib/clamp'; +import { createHeadlessUiEventDetails } from '@lib/createHeadlessUIEventDetails'; import { useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { ownerDocument } from '@lib/owner'; import { visuallyHidden } from '@lib/visuallyHidden'; import { warn } from '@lib/warn'; import { activeElement } from '@packages/floating-ui-react/utils'; +import type { HeadlessUIEventDetails } from '@lib/createHeadlessUIEventDetails'; import type { HeadlessUIComponentProps, Orientation } from '@lib/types'; import { CompositeList } from '../../Composite/list/CompositeList'; @@ -89,10 +90,14 @@ export function SliderRoot< const id = useHeadlessUiId(idProp); const onValueChange = useEventCallback( - onValueChangeProp as (value: number | number[], event: Event, activeThumbIndex: number) => void + onValueChangeProp as ( + value: number | number[], + data: HeadlessUIEventDetails<'none'>, + activeThumbIndex: number, + ) => void ); const onValueCommitted = useEventCallback( - onValueCommittedProp as (value: number | readonly number[], event: Event) => void + onValueCommittedProp as (value: number | readonly number[], data: HeadlessUIEventDetails<'none'>,) => void ); const { clearErrors } = useFormContext(); @@ -124,7 +129,14 @@ export function SliderRoot< const sliderRef = React.useRef(null); const controlRef = React.useRef(null); const thumbRefs = React.useRef<(HTMLElement | null)[]>([]); - const inputRef = useMergedRef(inputRefProp, fieldControlValidation.inputRef); + // The input element nested in the pressed thumb. + const pressedInputRef = React.useRef(null); + // The px distance between the pointer and the center of a pressed thumb. + const pressedThumbCenterOffsetRef = React.useRef(null); + // The index of the pressed thumb, or the closest thumb if the `Control` was pressed. + // This is updated on pointerdown, which is sooner than the `active/activeIndex` + // state which is updated later when the nested `input` receives focus. + const pressedThumbIndexRef = React.useRef(-1); const lastChangedValueRef = React.useRef(null); const formatOptionsRef = useLatestRef(format); @@ -186,6 +198,19 @@ export function SliderRoot< }); lastChangedValueRef.current = newValue; + + const details = createHeadlessUiEventDetails('none', clonedEvent); + + onValueChange(newValue, details, thumbIndex); + + if (details.isCanceled) { + return; + } + + setValueUnwrapped(newValue as Value); + clearErrors(name); + fieldControlValidation.commitValidation(newValue, true); + onValueChange(newValue, clonedEvent, thumbIndex); clearErrors(name); fieldControlValidation.commitValidation(newValue, true); @@ -203,7 +228,7 @@ export function SliderRoot< setTouched(true); const nextValue = lastChangedValueRef.current ?? newValue; - onValueCommitted(nextValue, event.nativeEvent); + onValueCommitted(nextValue, createHeadlessUiEventDetails('none', event.nativeEvent)); clearErrors(name); if (validationMode === 'onChange') { @@ -216,11 +241,6 @@ export function SliderRoot< } ); - const handleHiddenInputFocus = useEventCallback(() => { - // focus the first thumb if the hidden input receives focus - thumbRefs.current?.[0]?.focus(); - }); - useIsoLayoutEffect(() => { if (valueProp === undefined || dragging) { return; @@ -279,12 +299,16 @@ export function SliderRoot< const contextValue: TSliderRootContext = React.useMemo( () => ({ + name, active, disabled, dragging, fieldControlValidation, formatOptionsRef, handleInputChange, + pressedInputRef, + pressedThumbCenterOffsetRef, + pressedThumbIndexRef, labelId: ariaLabelledby, largeStep, lastChangedValueRef, @@ -311,27 +335,27 @@ export function SliderRoot< ariaLabelledby, disabled, dragging, + pressedInputRef, + pressedThumbCenterOffsetRef, + pressedThumbIndexRef, externalTabIndex, fieldControlValidation, formatOptionsRef, handleInputChange, largeStep, - lastChangedValueRef, locale, max, min, minStepsBetweenValues, + name, onValueCommitted, orientation, range, registerFieldControlRef, - setActive, - setDragging, setValue, state, step, thumbMap, - thumbRefs, values ] ); @@ -351,47 +375,15 @@ export function SliderRoot< {element} - {range - ? ( - values.map((value, index) => { - return ( - - ); - }) - ) - : ( - - )} ); } export namespace SliderRoot { + export type ChangeEventReason = 'none'; + export type ChangeEventDetails = HeadlessUIEventDetails; + export type State = { /** * The index of the active thumb. @@ -510,7 +502,7 @@ export namespace SliderRoot { */ onValueChange?: ( value: Value extends number ? number : Value, - event: Event, + eventDetails: ChangeEventDetails, activeThumbIndex: number, ) => void; /** @@ -520,6 +512,7 @@ export namespace SliderRoot { * @param {Event} event The corresponding event that initiated the change. * **Warning**: This is a generic event not a change event. */ - onValueCommitted?: (value: Value extends number ? number : Value, event: Event) => void; + onValueCommitted?: (value: Value extends number ? number : Value, eventDetails: ChangeEventDetails, + ) => void; } & HeadlessUIComponentProps<'div', State>; } diff --git a/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRootContext.ts b/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRootContext.ts index ab64a171..ede0f59e 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRootContext.ts +++ b/packages/ui/uikit/headless/components/src/components/Slider/root/SliderRootContext.ts @@ -49,15 +49,19 @@ export type TSliderRootContext = { * The minimum steps between values in a range slider. */ minStepsBetweenValues: number; + name: string | undefined; /** * Function to be called when drag ends and the pointer is released. */ - onValueCommitted: (newValue: number | readonly number[], event: Event) => void; + onValueCommitted: (newValue: number | readonly number[], eventDetails: SliderRoot.ChangeEventDetails,) => void; /** * The component orientation. * @default 'horizontal' */ orientation: Orientation; + pressedInputRef: React.RefObject; + pressedThumbCenterOffsetRef: React.RefObject; + pressedThumbIndexRef: React.RefObject; /** * Whether the slider is a range slider. */ @@ -91,7 +95,7 @@ export function useSliderRootContext() { const context = React.use(SliderRootContext); if (context === undefined) { throw new Error( - 'Base UI: SliderRootContext is missing. Slider parts must be placed within .' + 'Headless UI: SliderRootContext is missing. Slider parts must be placed within .' ); } return context; diff --git a/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx b/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx index 6d0e1514..61d43cf2 100644 --- a/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx +++ b/packages/ui/uikit/headless/components/src/components/Slider/thumb/SliderThumb.tsx @@ -3,10 +3,9 @@ import React from 'react'; import { useIsoLayoutEffect, useMergedRef } from '@flippo-ui/hooks'; - import { formatNumber } from '@lib/formatNumber'; import { getStyleHookProps } from '@lib/getStyleHookProps'; -import { useDirection, useHeadlessUiId } from '@lib/hooks'; +import { useDirection, useHeadlessUiId, useRenderElement } from '@lib/hooks'; import { mergeProps } from '@lib/merge'; import { resolveClassName } from '@lib/resolveClassName'; import { visuallyHidden } from '@lib/visuallyHidden'; @@ -25,6 +24,8 @@ import { import { useCompositeListItem } from '../../Composite/list/useCompositeListItem'; import { useFieldRootContext } from '../../Field/root/FieldRootContext'; import { useSliderRootContext } from '../root/SliderRootContext'; +import { sliderStyleHookMapping } from '../root/styleHooks'; +import { getMidpoint } from '../utils/getMidpoint'; import { getSliderValue } from '../utils/getSliderValue'; import { roundValueToStep } from '../utils/roundValueToStep'; import { valueArrayToPercentages } from '../utils/valueArrayToPercentages'; @@ -47,19 +48,6 @@ const ALL_KEYS = new Set([ PAGE_DOWN ]); -function defaultRender( - props: React.ComponentPropsWithRef<'div'>, - inputProps: React.ComponentPropsWithRef<'input'> -) { - const { children, ...thumbProps } = props; - return ( -
    - {children} - -
    - ); -} - function getDefaultAriaValueText( values: readonly number[], index: number, @@ -93,18 +81,26 @@ function getNewValue( /** * The draggable part of the the slider at the tip of the indicator. - * Renders a `
    ` element. + * Renders a `
    ` element and a nested ``. * * Documentation: [Base UI Slider](https://base-ui.com/react/components/slider) */ export function SliderThumb(componentProps: SliderThumb.Props) { const { - render: renderProp, + /* eslint-disable unused-imports/no-unused-vars */ + render, className, + /* eslint-enable unused-imports/no-unused-vars */ + children: childrenProp, + 'aria-describedby': ariaDescribedByProp, + 'aria-label': ariaLabelProp, + 'aria-labelledby': ariaLabelledByProp, disabled: disabledProp = false, getAriaLabel: getAriaLabelProp, getAriaValueText: getAriaValueTextProp, id: idProp, + index: indexProp, + inputRef: inputRefProp, onBlur: onBlurProp, onFocus: onFocusProp, onKeyDown: onKeyDownProp, @@ -116,8 +112,6 @@ export function SliderThumb(componentProps: SliderThumb.Props) { const id = useHeadlessUiId(idProp); const inputId = `${id}-input`; - const render = renderProp ?? defaultRender; - const { active: activeIndex, disabled: contextDisabled, @@ -130,22 +124,19 @@ export function SliderThumb(componentProps: SliderThumb.Props) { max, min, minStepsBetweenValues, + name, orientation, + pressedInputRef, + pressedThumbCenterOffsetRef, + pressedThumbIndexRef, setActive, state, step, - tabIndex: contextTabIndex, values: sliderValues } = useSliderRootContext(); - let renderPropRef = null; - if (typeof render !== 'function') { - renderPropRef = (render.props as any).ref; - } - const disabled = disabledProp || contextDisabled; - - const externalTabIndex = tabIndexProp ?? contextTabIndex; + const range = sliderValues.length > 1; const direction = useDirection(); const { @@ -157,6 +148,7 @@ export function SliderThumb(componentProps: SliderThumb.Props) { } = useFieldRootContext(); const thumbRef = React.useRef(null); + const inputRef = React.useRef(null); useIsoLayoutEffect(() => { setControlId(inputId); @@ -173,13 +165,13 @@ export function SliderThumb(componentProps: SliderThumb.Props) { [inputId] ); - const { ref: listItemRef, index } = useCompositeListItem({ + const { ref: listItemRef, index: compositeIndex } = useCompositeListItem({ metadata: thumbMetadata }); - const mergedThumbRef = useMergedRef(renderPropRef, ref, listItemRef, thumbRef); + const index = !range ? 0 : (indexProp ?? compositeIndex); - const thumbValue = sliderValues[index] ?? min; + const thumbValue = sliderValues[index]; const percentageValues = valueArrayToPercentages(sliderValues.slice(), min, max); // for SSR, don't wait for the index if there's only one thumb @@ -199,7 +191,7 @@ export function SliderThumb(componentProps: SliderThumb.Props) { [{ horizontal: 'insetInlineStart', vertical: 'bottom' - }[orientation as Orientation]]: `${percent}%`, + }[orientation]]: `${percent}%`, [isVertical ? 'left' : 'top']: '50%', transform: `translate(${(isVertical || !isRtl ? -1 : 1) * 50}%, ${(isVertical ? 1 : -1) * 50}%)`, zIndex: activeIndex === index ? 1 : undefined @@ -212,23 +204,45 @@ export function SliderThumb(componentProps: SliderThumb.Props) { index ]); - const styleHooks = React.useMemo( - () => getStyleHookProps({ disabled, dragging: index !== -1 && activeIndex === index }), - [activeIndex, disabled, index] - ); + let cssWritingMode: React.CSSProperties['writingMode']; + if (orientation === 'vertical') { + cssWritingMode = isRtl ? 'vertical-rl' : 'vertical-lr'; + } - const thumbProps = mergeProps( + const inputProps = mergeProps<'input'>( { - [SliderThumbDataAttributes.index]: index, - className: resolveClassName(className, state), - id, - onFocus(event: HeadlessUIEvent>) { + 'aria-label': + typeof getAriaLabelProp === 'function' ? getAriaLabelProp(index) : ariaLabelProp, + 'aria-labelledby': ariaLabelledByProp ?? labelId, + 'aria-describedby': ariaDescribedByProp, + 'aria-orientation': orientation, + 'aria-valuenow': thumbValue, + 'aria-valuetext': + typeof getAriaValueTextProp === 'function' + ? getAriaValueTextProp( + formatNumber(thumbValue, locale, formatOptionsRef.current ?? undefined), + thumbValue ?? 0, + index + ) + : getDefaultAriaValueText( + sliderValues, + index, + formatOptionsRef.current ?? undefined, + locale + ), + disabled, + 'id': inputId, + max, + min, + name, + onChange(event: React.ChangeEvent) { + handleInputChange(event.target.valueAsNumber, index, event); + }, + onFocus() { setActive(index); setFocused(true); - - onFocusProp?.(event); }, - onBlur(event: HeadlessUIEvent>) { + onBlur() { if (!thumbRef.current) { return; } @@ -239,13 +253,11 @@ export function SliderThumb(componentProps: SliderThumb.Props) { if (validationMode === 'onBlur') { fieldControlValidation.commitValidation( - getSliderValue(thumbValue, index, min, max, sliderValues.length > 1, sliderValues) + getSliderValue(thumbValue ?? 0, index, min, max, range, sliderValues) ); } - - onBlurProp?.(event); }, - onKeyDown(event: HeadlessUIEvent>) { + onKeyDown(event: React.KeyboardEvent) { if (!ALL_KEYS.has(event.key)) { return; } @@ -254,8 +266,7 @@ export function SliderThumb(componentProps: SliderThumb.Props) { } let newValue = null; - const isRange = sliderValues.length > 1; - const roundedValue = roundValueToStep(thumbValue, step, min); + const roundedValue = roundValueToStep(thumbValue ?? 0, step, min); switch (event.key) { case ARROW_UP: newValue = getNewValue(roundedValue, event.shiftKey ? largeStep : step, 1, min, max); @@ -290,7 +301,7 @@ export function SliderThumb(componentProps: SliderThumb.Props) { case END: newValue = max; - if (isRange) { + if (range) { const value = sliderValues[index + 1]; newValue = Number.isFinite(value) && value ? value - step * minStepsBetweenValues @@ -300,7 +311,7 @@ export function SliderThumb(componentProps: SliderThumb.Props) { case HOME: newValue = min; - if (isRange) { + if (range) { const value = sliderValues[index + 1]; newValue = Number.isFinite(value) && value ? value + step * minStepsBetweenValues @@ -315,54 +326,6 @@ export function SliderThumb(componentProps: SliderThumb.Props) { handleInputChange(newValue, index, event); event.preventDefault(); } - - onKeyDownProp?.(event); - }, - ref: mergedThumbRef, - style: getThumbStyle(), - tabIndex: externalTabIndex ?? (disabled ? undefined : 0) - }, - styleHooks, - elementProps - ); - - let cssWritingMode: React.CSSProperties['writingMode']; - if (orientation === 'vertical') { - cssWritingMode = isRtl ? 'vertical-rl' : 'vertical-lr'; - } - - const inputProps = mergeProps<'input'>( - { - 'aria-label': - typeof getAriaLabelProp === 'function' - ? getAriaLabelProp(index) - : elementProps['aria-label'], - 'aria-labelledby': labelId, - 'aria-orientation': orientation, - 'aria-valuemax': max, - 'aria-valuemin': min, - 'aria-valuenow': thumbValue, - 'aria-valuetext': - typeof getAriaValueTextProp === 'function' - ? getAriaValueTextProp( - formatNumber(thumbValue, locale, formatOptionsRef.current ?? undefined), - thumbValue, - index - ) - : elementProps['aria-valuetext'] - || getDefaultAriaValueText( - sliderValues, - index, - formatOptionsRef.current ?? undefined, - locale - ), - [SliderThumbDataAttributes.index as string]: index, - disabled, - 'id': inputId, - max, - min, - onChange(event: React.ChangeEvent) { - handleInputChange(event.target.valueAsNumber, index, event); }, step, 'style': { @@ -372,41 +335,57 @@ export function SliderThumb(componentProps: SliderThumb.Props) { height: '100%', writingMode: cssWritingMode }, - 'tabIndex': -1, + 'tabIndex': tabIndexProp ?? undefined, 'type': 'range', 'value': thumbValue ?? '' }, - fieldControlValidation.getValidationProps + fieldControlValidation.getInputValidationProps ); - if (typeof render === 'function') { - return render(thumbProps, inputProps, state); - } + const mergedInputRef = useMergedRef(inputRef, fieldControlValidation.inputRef, inputRefProp); - const { children: renderPropsChildren, ...otherRenderProps } - = render.props as React.PropsWithChildren; + const children = childrenProp + ? ( + + {childrenProp} + + + ) + : ( + + ); - const children = thumbProps.children ?? renderPropsChildren; + const element = useRenderElement('div', componentProps, { + state, + ref: [ref, listItemRef, thumbRef], + props: [{ + [SliderThumbDataAttributes.index as string]: index, + children, + id, + onBlur: onBlurProp, + onFocus: onFocusProp, + onPointerDown(event) { + pressedThumbIndexRef.current = index; + + if (thumbRef.current != null) { + const axis = orientation === 'horizontal' ? 'x' : 'y'; + const midpoint = getMidpoint(thumbRef.current); + const offset + = (orientation === 'horizontal' ? event.clientX : event.clientY) - midpoint[axis]; + pressedThumbCenterOffsetRef.current = offset; + } - // eslint-disable-next-line react/no-clone-element - return React.cloneElement( - render, - mergeProps( - thumbProps, - { - children: ( - - {typeof children === 'function' ? children() : children} - - - ) + if (inputRef.current != null && pressedInputRef.current !== inputRef.current) { + pressedInputRef.current = inputRef.current; + } }, - otherRenderProps, - { - ref: thumbProps.ref - } - ) - ); + style: getThumbStyle(), + tabIndex: -1 + }, elementProps], + customStyleHookMapping: sliderStyleHookMapping + }); + + return element; } export type ThumbMetadata = { @@ -414,22 +393,22 @@ export type ThumbMetadata = { }; export namespace SliderThumb { - export type State = SliderRoot.State; + export type State = { } & SliderRoot.State; export type Props = { - /** - * Whether the thumb should ignore user interaction. - * @default false - */ + /** + * Whether the thumb should ignore user interaction. + * @default false + */ disabled?: boolean; /** - * Accepts a function which returns a string value that provides a user-friendly name for the input associated with the thumb + * A function which returns a string value for the [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label) attribute of the `input`. * @param {number} index The index of the input * @returns {string} */ getAriaLabel?: ((index: number) => string) | null; /** - * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider. + * A function which returns a string value for the [`aria-valuetext`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-valuetext) attribute of the `input`. * This is important for screen reader users. * @param {string} formattedValue The thumb's formatted value. * @param {number} value The thumb's numerical value. @@ -438,17 +417,34 @@ export namespace SliderThumb { */ getAriaValueText?: ((formattedValue: string, value: number, index: number) => string) | null; /** - * Allows you to replace the component’s HTML element - * with a different tag, or compose it with another component. - * - * Accepts a `ReactElement` or a function that returns the element to render. + * The index of the thumb which corresponds to the index of its value in the + * `value` or `defaultValue` array. + * This prop is required to support server-side rendering for range sliders + * with multiple thumbs. + * @example + * ```tsx + * + * + * + * + * ``` + */ + index?: number | undefined; + /** + * A ref to access the nested input element. + */ + inputRef?: React.Ref; + /** + * A blur handler forwarded to the `input`. + */ + onBlur?: React.FocusEventHandler; + /** + * A focus handler forwarded to the `input`. + */ + onFocus?: React.FocusEventHandler; + /** + * Optional tab index attribute forwarded to the `input`. */ - render?: - | (( - props: React.ComponentPropsWithRef<'div'>, - inputProps: React.ComponentPropsWithRef<'input'>, - state: State, - ) => React.ReactElement) - | (React.ReactElement & { ref: React.Ref }); - } & Omit, 'render'>; + tabIndex?: number; + } & Omit, 'onBlur' | 'onFocus'>; } diff --git a/packages/ui/uikit/headless/components/src/components/Slider/utils/getMidpoint.ts b/packages/ui/uikit/headless/components/src/components/Slider/utils/getMidpoint.ts new file mode 100644 index 00000000..82b22b46 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Slider/utils/getMidpoint.ts @@ -0,0 +1,9 @@ +import type { Coords } from '@packages/floating-ui-react/types'; + +export function getMidpoint(element: HTMLElement): Coords { + const rect = element.getBoundingClientRect(); + return { + x: (rect.left + rect.right) / 2, + y: (rect.top + rect.bottom) / 2 + }; +} diff --git a/packages/ui/uikit/headless/components/src/lib/createHeadlessUIEventDetails.ts b/packages/ui/uikit/headless/components/src/lib/createHeadlessUIEventDetails.ts new file mode 100644 index 00000000..5a76d3f4 --- /dev/null +++ b/packages/ui/uikit/headless/components/src/lib/createHeadlessUIEventDetails.ts @@ -0,0 +1,78 @@ +/** + * Maps an open-change `reason` string to the corresponding native event type. + */ +export type ReasonToEvent = Reason extends 'trigger-press' + ? MouseEvent | PointerEvent | TouchEvent | KeyboardEvent + : Reason extends 'trigger-hover' + ? MouseEvent + : Reason extends 'outside-press' + ? MouseEvent | PointerEvent + : Reason extends 'item-press' | 'close-press' + ? MouseEvent | KeyboardEvent | PointerEvent + : Reason extends 'cancel-open' + ? MouseEvent + : Reason extends 'trigger-focus' | 'focus-out' + ? FocusEvent + : Reason extends 'escape-key' | 'list-navigation' + ? KeyboardEvent + : Event; + +/** + * Details of custom events emitted by Base UI components. + */ +export type HeadlessUIEventDetails = { + [K in Reason]: { + /** + * The reason for the event. + */ + reason: K; + /** + * The native event associated with the custom event. + */ + event: ReasonToEvent; + /** + * Cancels Base UI from handling the event. + */ + cancel: () => void; + /** + * Allows the event to propagate in cases where Base UI will stop the propagation. + */ + allowPropagation: () => void; + /** + * Indicates whether the event has been canceled. + */ + isCanceled: boolean; + /** + * Indicates whether the event is allowed to propagate. + */ + isPropagationAllowed: boolean; + }; +}[Reason]; + +/** + * Creates a Base UI event details object with the given reason and utilities + * for preventing Base UI's internal event handling. + */ +export function createHeadlessUiEventDetails( + reason: Reason, + event?: ReasonToEvent +): HeadlessUIEventDetails { + let canceled = false; + let allowPropagation = false; + return { + reason, + event: (event ?? new Event('base-ui')) as ReasonToEvent, + cancel() { + canceled = true; + }, + allowPropagation() { + allowPropagation = true; + }, + get isCanceled() { + return canceled; + }, + get isPropagationAllowed() { + return allowPropagation; + } + }; +} From 1a85b7e7acd7997d86adeaceca2391ac85bba707 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 00:00:34 +0300 Subject: [PATCH 25/37] feat(flippo/components): add Progress component with subcomponents, styles, and stories --- .../src/components/Progress/index.parts.ts | 5 ++++ .../src/components/Progress/index.ts | 1 + .../Progress/story/Progress.stories.tsx | 26 +++++++++++++++++++ .../indicator/ProgressIndicator.module.scss | 10 +++++++ .../ui/indicator/ProgressIndicator.tsx | 16 ++++++++++++ .../ui/label/ProgressLabel.module.scss | 9 +++++++ .../Progress/ui/label/ProgressLabel.tsx | 16 ++++++++++++ .../Progress/ui/root/ProgressRoot.module.scss | 11 ++++++++ .../Progress/ui/root/ProgressRoot.tsx | 16 ++++++++++++ .../ui/track/ProgressTrack.module.scss | 11 ++++++++ .../Progress/ui/track/ProgressTrack.tsx | 20 ++++++++++++++ .../ui/value/ProgressValue.module.scss | 12 +++++++++ .../Progress/ui/value/ProgressValue.tsx | 16 ++++++++++++ 13 files changed, 169 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/story/Progress.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Progress/index.parts.ts new file mode 100644 index 00000000..1ca150f0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/index.parts.ts @@ -0,0 +1,5 @@ +export { ProgressIndicator as Indicator } from './ui/indicator/ProgressIndicator'; +export { ProgressLabel as Label } from './ui/label/ProgressLabel'; +export { ProgressRoot as Root } from './ui/root/ProgressRoot'; +export { ProgressTrack as Track } from './ui/track/ProgressTrack'; +export { ProgressValue as Value } from './ui/value/ProgressValue'; diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/index.ts b/packages/ui/uikit/flippo/components/src/components/Progress/index.ts new file mode 100644 index 00000000..ee913fe8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/index.ts @@ -0,0 +1 @@ +export * as Progress from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/story/Progress.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Progress/story/Progress.stories.tsx new file mode 100644 index 00000000..0bd3a8c9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/story/Progress.stories.tsx @@ -0,0 +1,26 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Progress } from '..'; + +const meta: Meta = { + title: 'Display/Progress', + component: Progress.Root +}; + +export default meta; + +type ProgressStory = StoryObj; + +export const Default: ProgressStory = { + render: (args) => ( + + {'Loading...'} + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.module.scss new file mode 100644 index 00000000..d0792653 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.ProgressIndicator { + @include common.reset-appearance; + + display: block; + background-color: var(--f-color-brand-light); + transition: width 500ms; + border-radius: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.tsx new file mode 100644 index 00000000..47c70af9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/indicator/ProgressIndicator.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Progress as ProgressHeadless } from '@flippo-ui/headless-components/progress'; +import { cx } from 'class-variance-authority'; + +import styles from './ProgressIndicator.module.scss'; + +export function ProgressIndicator(props: ProgressIndicator.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ProgressIndicator { + export type Props = ProgressHeadless.Indicator.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.module.scss b/packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.module.scss new file mode 100644 index 00000000..ad27d151 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ProgressLabel { + @include common.reset-appearance; + @include font.label(weaker); + + color: var(--f-color-text-5); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.tsx b/packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.tsx new file mode 100644 index 00000000..a28bc4bc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/label/ProgressLabel.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Progress as ProgressHeadless } from '@flippo-ui/headless-components/progress'; +import { cx } from 'class-variance-authority'; + +import styles from './ProgressLabel.module.scss'; + +export function ProgressLabel(props: ProgressLabel.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ProgressLabel { + export type Props = ProgressHeadless.Label.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.module.scss new file mode 100644 index 00000000..a3d1557f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.ProgressRoot { + @include common.reset-appearance; + + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: var(--f-spacing-1); + grid-row-gap: var(--f-spacing-2); + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.tsx new file mode 100644 index 00000000..ca3d7fbc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/root/ProgressRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Progress as ProgressHeadless } from '@flippo-ui/headless-components/progress'; +import { cx } from 'class-variance-authority'; + +import styles from './ProgressRoot.module.scss'; + +export function ProgressRoot(props: ProgressRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ProgressRoot { + export type Props = ProgressHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.module.scss b/packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.module.scss new file mode 100644 index 00000000..855450d1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.ProgressTrack { + @include common.reset-appearance; + + grid-column: 1 / 3; + overflow: hidden; + background-color: var(--f-color-bg-2-hover); + height: var(--f-spacing-1); + border-radius: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.tsx b/packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.tsx new file mode 100644 index 00000000..06ff6ea7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/track/ProgressTrack.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Progress as ProgressHeadless } from '@flippo-ui/headless-components/progress'; +import { cva } from 'class-variance-authority'; + +import styles from './ProgressTrack.module.scss'; + +const ProgressTrackVariants = cva(styles.ProgressTrack); + +export function ProgressTrack(props: ProgressTrack.Props) { + const { className, ...rest } = props; + + const trackClasses = ProgressTrackVariants({ className }); + + return ; +} + +export namespace ProgressTrack { + export type Props = ProgressHeadless.Track.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.module.scss b/packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.module.scss new file mode 100644 index 00000000..73580016 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.module.scss @@ -0,0 +1,12 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ProgressValue { + @include common.reset-appearance(); + @include font.label(weaker); + + grid-column-start: 2; + margin: 0; + color: var(--f-color-text-5); + text-align: right; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.tsx b/packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.tsx new file mode 100644 index 00000000..292f2cf9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Progress/ui/value/ProgressValue.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Progress as ProgressHeadless } from '@flippo-ui/headless-components/progress'; +import { cx } from 'class-variance-authority'; + +import styles from './ProgressValue.module.scss'; + +export function ProgressValue(props: ProgressValue.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ProgressValue { + export type Props = ProgressHeadless.Value.Props; +} From 58f484842c95df4733857d04a358ff8b52cb145f Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 00:09:10 +0300 Subject: [PATCH 26/37] feat(flippo/components): add Meter component with subcomponents, styles, and stories --- .../src/components/Meter/index.parts.ts | 5 ++++ .../components/src/components/Meter/index.ts | 1 + .../components/Meter/story/Meter.stories.tsx | 26 +++++++++++++++++++ .../ui/indicator/MeterIndicator.module.scss | 10 +++++++ .../Meter/ui/indicator/MeterIndicator.tsx | 16 ++++++++++++ .../Meter/ui/label/MeterLabel.module.scss | 9 +++++++ .../components/Meter/ui/label/MeterLabel.tsx | 16 ++++++++++++ .../Meter/ui/root/MeterRoot.module.scss | 11 ++++++++ .../components/Meter/ui/root/MeterRoot.tsx | 16 ++++++++++++ .../Meter/ui/track/MeterTrack.module.scss | 11 ++++++++ .../components/Meter/ui/track/MeterTrack.tsx | 16 ++++++++++++ .../Meter/ui/value/MeterValue.module.scss | 12 +++++++++ .../components/Meter/ui/value/MeterValue.tsx | 16 ++++++++++++ 13 files changed, 165 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/story/Meter.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Meter/index.parts.ts new file mode 100644 index 00000000..beddf598 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/index.parts.ts @@ -0,0 +1,5 @@ +export { MeterIndicator as Indicator } from './ui/indicator/MeterIndicator'; +export { MeterLabel as Label } from './ui/label/MeterLabel'; +export { MeterRoot as Root } from './ui/root/MeterRoot'; +export { MeterTrack as Track } from './ui/track/MeterTrack'; +export { MeterValue as Value } from './ui/value/MeterValue'; diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/index.ts b/packages/ui/uikit/flippo/components/src/components/Meter/index.ts new file mode 100644 index 00000000..170d463d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/index.ts @@ -0,0 +1 @@ +export * as Meter from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/story/Meter.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Meter/story/Meter.stories.tsx new file mode 100644 index 00000000..44ff6a0c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/story/Meter.stories.tsx @@ -0,0 +1,26 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Meter } from '..'; + +const meta: Meta = { + title: 'Display/Meter', + component: Meter.Root +}; + +export default meta; + +type MeterStory = StoryObj; + +export const Default: MeterStory = { + render: (args) => ( + + {'Storage Usage'} + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.module.scss new file mode 100644 index 00000000..f41048d7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.MeterIndicator { + @include common.reset-appearance; + + display: block; + background-color: var(--f-color-brand-light); + transition: width 500ms; + border-radius: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.tsx new file mode 100644 index 00000000..e0b1dcf8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/indicator/MeterIndicator.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Meter as MeterHeadless } from '@flippo-ui/headless-components/meter'; +import { cx } from 'class-variance-authority'; + +import styles from './MeterIndicator.module.scss'; + +export function MeterIndicator(props: MeterIndicator.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace MeterIndicator { + export type Props = MeterHeadless.Indicator.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.module.scss b/packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.module.scss new file mode 100644 index 00000000..b4a1422d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.MeterLabel { + @include common.reset-appearance; + @include font.label(weaker); + + color: var(--f-color-text-5); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.tsx b/packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.tsx new file mode 100644 index 00000000..1e815971 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/label/MeterLabel.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Meter as MeterHeadless } from '@flippo-ui/headless-components/meter'; +import { cx } from 'class-variance-authority'; + +import styles from './MeterLabel.module.scss'; + +export function MeterLabel(props: MeterLabel.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace MeterLabel { + export type Props = MeterHeadless.Label.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.module.scss new file mode 100644 index 00000000..f365a6eb --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.MeterRoot { + @include common.reset-appearance; + + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: var(--f-spacing-1); + grid-row-gap: var(--f-spacing-2); + width: 100%; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.tsx new file mode 100644 index 00000000..432b8b94 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/root/MeterRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Meter as MeterHeadless } from '@flippo-ui/headless-components/meter'; +import { cx } from 'class-variance-authority'; + +import styles from './MeterRoot.module.scss'; + +export function MeterRoot(props: MeterRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace MeterRoot { + export type Props = MeterHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.module.scss b/packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.module.scss new file mode 100644 index 00000000..40aad124 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.MeterTrack { + @include common.reset-appearance; + + grid-column: 1 / 3; + overflow: hidden; + background-color: var(--f-color-bg-2-hover); + height: var(--f-spacing-1); + border-radius: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.tsx b/packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.tsx new file mode 100644 index 00000000..2679c933 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/track/MeterTrack.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Meter as MeterHeadless } from '@flippo-ui/headless-components/meter'; +import { cx } from 'class-variance-authority'; + +import styles from './MeterTrack.module.scss'; + +export function MeterTrack(props: MeterTrack.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace MeterTrack { + export type Props = MeterHeadless.Track.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.module.scss b/packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.module.scss new file mode 100644 index 00000000..2c91f682 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.module.scss @@ -0,0 +1,12 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.MeterValue { + @include common.reset-appearance(); + @include font.label(weaker); + + grid-column-start: 2; + margin: 0; + color: var(--f-color-text-5); + text-align: right; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.tsx b/packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.tsx new file mode 100644 index 00000000..eebe76c7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Meter/ui/value/MeterValue.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Meter as MeterHeadless } from '@flippo-ui/headless-components/meter'; +import { cx } from 'class-variance-authority'; + +import styles from './MeterValue.module.scss'; + +export function MeterValue(props: MeterValue.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace MeterValue { + export type Props = MeterHeadless.Value.Props; +} From 79971208de316211f9f918358e8d455c869bf23c Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 16:01:43 +0300 Subject: [PATCH 27/37] feat(flippo/components): add Accordion component with subcomponents, styles, and stories --- .../src/components/Accordion/index.parts.ts | 5 ++ .../src/components/Accordion/index.ts | 1 + .../Accordion/story/Accordion.stories.tsx | 68 +++++++++++++++++++ .../ui/header/AccordionHeader.module.scss | 5 ++ .../Accordion/ui/header/AccordionHeader.tsx | 16 +++++ .../ui/item/AccordionItem.module.scss | 7 ++ .../Accordion/ui/item/AccordionItem.tsx | 16 +++++ .../ui/panel/AccordionPanel.module.scss | 20 ++++++ .../Accordion/ui/panel/AccordionPanel.tsx | 16 +++++ .../ui/root/AccordionRoot.module.scss | 10 +++ .../Accordion/ui/root/AccordionRoot.tsx | 16 +++++ .../ui/trigger/AccordionTrigger.module.scss | 47 +++++++++++++ .../Accordion/ui/trigger/AccordionTrigger.tsx | 27 ++++++++ .../Tooltip/story/Tooltip.stories.tsx | 2 +- .../ui/uikit/flippo/components/src/index.ts | 36 +++++++++- .../Accordion/panel/AccordionPanel.tsx | 8 +-- .../Collapsible/panel/useCollapsiblePanel.ts | 3 +- 17 files changed, 294 insertions(+), 9 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/story/Accordion.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Accordion/index.parts.ts new file mode 100644 index 00000000..e5d519b9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/index.parts.ts @@ -0,0 +1,5 @@ +export { AccordionHeader as Header } from './ui/header/AccordionHeader'; +export { AccordionItem as Item } from './ui/item/AccordionItem'; +export { AccordionPanel as Panel } from './ui/panel/AccordionPanel'; +export { AccordionRoot as Root } from './ui/root/AccordionRoot'; +export { AccordionTrigger as Trigger } from './ui/trigger/AccordionTrigger'; diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/index.ts b/packages/ui/uikit/flippo/components/src/components/Accordion/index.ts new file mode 100644 index 00000000..bc75beb6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/index.ts @@ -0,0 +1 @@ +export * as Accordion from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/story/Accordion.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Accordion/story/Accordion.stories.tsx new file mode 100644 index 00000000..6f0bd147 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/story/Accordion.stories.tsx @@ -0,0 +1,68 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Accordion } from '..'; + +const meta: Meta = { + title: 'Display/Accordion', + component: Accordion.Root +}; + +export default meta; + +type AccordionStory = StoryObj; + +export const Default: AccordionStory = { + render: (args) => ( + + + + + {'What is React?'} + + + + +
    + {'React is a JavaScript library for building user interfaces, '} + {'particularly web applications. It was developed by Facebook '} + {'and is now maintained by Meta and the community.'} +
    +
    +
    + + + + + {'What are React components?'} + + + + +
    + {'React components are independent, reusable pieces of UI. '} + {'They accept arbitrary inputs (called "props") and return '} + {'React elements describing what should appear on the screen.'} +
    +
    +
    + + + + + {'What is JSX?'} + + + + +
    + {'JSX is a syntax extension for JavaScript that looks similar to XML/HTML. '} + {'It allows you to write HTML-like code in your JavaScript files, '} + {'making it easier to create React components.'} +
    +
    +
    +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.module.scss b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.module.scss new file mode 100644 index 00000000..1615b95a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.module.scss @@ -0,0 +1,5 @@ +@use 'mixins/_common.scss' as common; + +.AccordionHeader { + @include common.reset-appearance; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.tsx b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.tsx new file mode 100644 index 00000000..558ab3cc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/header/AccordionHeader.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Accordion as AccordionHeadless } from '@flippo-ui/headless-components/accordion'; +import { cx } from 'class-variance-authority'; + +import styles from './AccordionHeader.module.scss'; + +export function AccordionHeader(props: AccordionHeader.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AccordionHeader { + export type Props = AccordionHeadless.Header.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.module.scss b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.module.scss new file mode 100644 index 00000000..a108553c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.module.scss @@ -0,0 +1,7 @@ +@use 'mixins/_common.scss' as common; + +.AccordionItem { + @include common.reset-appearance; + + border-bottom: 1px solid var(--f-color-stroke); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.tsx b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.tsx new file mode 100644 index 00000000..4b2fba2d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/item/AccordionItem.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Accordion as AccordionHeadless } from '@flippo-ui/headless-components/accordion'; +import { cx } from 'class-variance-authority'; + +import styles from './AccordionItem.module.scss'; + +export function AccordionItem(props: AccordionItem.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AccordionItem { + export type Props = AccordionHeadless.Item.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.module.scss b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.module.scss new file mode 100644 index 00000000..0e3cf702 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.module.scss @@ -0,0 +1,20 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.AccordionPanel { + @include common.reset-appearance(); + @include font.body(default); + + height: var(--accordion-panel-height); + overflow: hidden; + color: var(--f-color-text-5); + transition: height 150ms ease-out; + + padding-block: var(--f-spacing-2); + padding-inline: var(--f-spacing-3) var(--f-spacing-1); + + &[data-starting-style], + &[data-ending-style] { + height: 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.tsx b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.tsx new file mode 100644 index 00000000..07adeb15 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/panel/AccordionPanel.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Accordion as AccordionHeadless } from '@flippo-ui/headless-components/accordion'; +import { cx } from 'class-variance-authority'; + +import styles from './AccordionPanel.module.scss'; + +export function AccordionPanel(props: AccordionPanel.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AccordionPanel { + export type Props = AccordionHeadless.Panel.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.module.scss new file mode 100644 index 00000000..1e2b6883 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.AccordionRoot { + @include common.reset-appearance; + + display: flex; + flex-direction: column; + justify-content: center; + color: var(--f-color-bg-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.tsx new file mode 100644 index 00000000..fa98702a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/root/AccordionRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Accordion as AccordionHeadless } from '@flippo-ui/headless-components/accordion'; +import { cx } from 'class-variance-authority'; + +import styles from './AccordionRoot.module.scss'; + +export function AccordionRoot(props: AccordionRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace AccordionRoot { + export type Props = AccordionHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.module.scss b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.module.scss new file mode 100644 index 00000000..87372b63 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.module.scss @@ -0,0 +1,47 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.AccordionTrigger { + @include common.reset-appearance(); + @include font.body(default); + + position: relative; + display: flex; + width: 100%; + gap: var(--f-spacing-4); + align-items: baseline; + justify-content: space-between; + padding-block: var(--f-spacing-2); + padding-inline: var(--f-spacing-3) var(--f-spacing-1); + color: var(--f-color-text-primary); + font-family: inherit; + background: var(--f-color-bg-0); + text-align: left; + + @media (hover: hover) { + &:hover { + background-color: var(--f-color-bg-3); + } + } + + &:focus-visible { + outline: var(--f-spacing-0) solid var(--f-color-brand-light); + z-index: 1; + } +} + +.AccordionTriggerSvg { + @include common.reset-appearance(); + + width: var(--f-spacing-3); + height: var(--f-spacing-3); + color: var(--f-color-text-primary); + + flex-shrink: 0; + margin-right: var(--f-spacing-2); + transition: transform 150ms ease-out; + + [data-panel-open] > & { + transform: rotate(45deg) scale(1.1); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.tsx b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.tsx new file mode 100644 index 00000000..d57f5e86 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Accordion/ui/trigger/AccordionTrigger.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import { Accordion as AccordionHeadless } from '@flippo-ui/headless-components/accordion'; +import { cx } from 'class-variance-authority'; + +import styles from './AccordionTrigger.module.scss'; + +export function AccordionTrigger(props: AccordionTrigger.Props) { + const { className, ...otherProps } = props; + + return ; +} + +AccordionTrigger.Svg = AccordionTriggerSvg; + +export namespace AccordionTrigger { + export type Props = AccordionHeadless.Trigger.Props; +} + +function AccordionTriggerSvg(props: React.SVGProps) { + const { className, ...otherProps } = props; + return ( + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx index 55fb7e8a..547bdbba 100644 --- a/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/Tooltip/story/Tooltip.stories.tsx @@ -8,7 +8,7 @@ import { Tooltip } from '..'; import { Button } from '../../Button'; const meta: Meta = { - title: 'Overlays/Tooltip', + title: 'Overlay/Tooltip', component: Tooltip.Root }; diff --git a/packages/ui/uikit/flippo/components/src/index.ts b/packages/ui/uikit/flippo/components/src/index.ts index 949a631b..b5790129 100644 --- a/packages/ui/uikit/flippo/components/src/index.ts +++ b/packages/ui/uikit/flippo/components/src/index.ts @@ -1 +1,35 @@ -// Экспорт типов +// Components +export * as Accordion from './components/Accordion'; +export * as Avatar from './components/Avatar'; +export * as Button from './components/Button'; +export * as Checkbox from './components/Checkbox'; +export * as CheckboxGroup from './components/CheckboxGroup'; +export * as Collapsible from './components/Collapsible'; +export * as ContextMenu from './components/ContextMenu'; +export * as Dialog from './components/Dialog'; +export * as Field from './components/Field'; +export * as Fieldset from './components/Fieldset'; +export * as Form from './components/Form'; +export * as Input from './components/Input'; +export * as Link from './components/Link'; +export * as Menu from './components/Menu'; +export * as Menubar from './components/Menubar'; +export * as Meter from './components/Meter'; +export * as NumberField from './components/NumberField'; +export * as PinInput from './components/PinInput'; +export * as Popover from './components/Popover'; +export * as Progress from './components/Progress'; +export * as Radio from './components/Radio'; +export * as RadioGroup from './components/RadioGroup'; +export * as Select from './components/Select'; +export * as Separator from './components/Separator'; +export * as Slider from './components/Slider'; +export * as Slot from './components/Slot'; +export * as Switch from './components/Switch'; +export * as Tabs from './components/Tabs'; +export * as Textarea from './components/Textarea'; +export * as Toast from './components/Toast'; +export * as Toggle from './components/Toggle'; +export * as ToggleGroup from './components/ToggleGroup'; +export * as Toolbar from './components/Toolbar'; +export * as Tooltip from './components/Tooltip'; diff --git a/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx b/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx index 5996e665..158f481a 100644 --- a/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Accordion/panel/AccordionPanel.tsx @@ -3,12 +3,10 @@ import React from 'react'; import { useIsoLayoutEffect, useOpenChangeComplete } from '@flippo-ui/hooks'; - -import type { TransitionStatus } from '@flippo-ui/hooks'; - import { useRenderElement } from '@lib/hooks'; import { warn } from '@lib/warn'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { HeadlessUIComponentProps } from '@lib/types'; import { useCollapsiblePanel } from '../../Collapsible/panel/useCollapsiblePanel'; @@ -114,7 +112,7 @@ export function AccordionPanel(componentProps: AccordionPanel.Props) { const { props } = useCollapsiblePanel({ abortControllerRef, animationTypeRef, - externalRef: ref, + externalRef: ref as React.RefObject, height, hiddenUntilFound, id: idProp ?? panelId, @@ -172,5 +170,5 @@ export namespace AccordionPanel { transitionStatus: TransitionStatus; } & AccordionItem.State; - export type Props = { ref: React.RefObject } & Omit, 'ref'> & Pick; + export type Props = HeadlessUIComponentProps<'div', AccordionItem.State> & Pick; } diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts index 915ace16..b34451de 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/useCollapsiblePanel.ts @@ -9,7 +9,6 @@ import { useMergedRef, useOnMount } from '@flippo-ui/hooks'; - import { warn } from '@lib/warn'; import type { HTMLProps } from '@lib/types'; @@ -411,7 +410,7 @@ export namespace useCollapsiblePanel { export type Parameters = { abortControllerRef: React.RefObject; animationTypeRef: React.RefObject; - externalRef: React.RefObject; + externalRef?: React.RefObject; /** * The height of the panel. */ From b77b548a652f25664fe87511113e778e28be980a Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 16:31:22 +0300 Subject: [PATCH 28/37] feat(flippo/components): add Collapsible component with subcomponents, styles, and stories --- .../src/components/Collapsible/index.parts.ts | 3 ++ .../src/components/Collapsible/index.ts | 1 + .../Collapsible/story/Collapsible.stories.tsx | 34 ++++++++++++++ .../ui/panel/CollapsiblePanel.module.scss | 19 ++++++++ .../Collapsible/ui/panel/CollapsiblePanel.tsx | 16 +++++++ .../ui/root/CollapsibleRoot.module.scss | 10 ++++ .../Collapsible/ui/root/CollapsibleRoot.tsx | 16 +++++++ .../ui/trigger/CollapsibleTrigger.module.scss | 47 +++++++++++++++++++ .../ui/trigger/CollapsibleTrigger.tsx | 27 +++++++++++ .../Collapsible/panel/CollapsiblePanel.tsx | 9 ++-- 10 files changed, 176 insertions(+), 6 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/story/Collapsible.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Collapsible/index.parts.ts new file mode 100644 index 00000000..7dbcc202 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/index.parts.ts @@ -0,0 +1,3 @@ +export { CollapsiblePanel as Panel } from './ui/panel/CollapsiblePanel'; +export { CollapsibleRoot as Root } from './ui/root/CollapsibleRoot'; +export { CollapsibleTrigger as Trigger } from './ui/trigger/CollapsibleTrigger'; diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/index.ts b/packages/ui/uikit/flippo/components/src/components/Collapsible/index.ts new file mode 100644 index 00000000..6d2cba0c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/index.ts @@ -0,0 +1 @@ +export * as Collapsible from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/story/Collapsible.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Collapsible/story/Collapsible.stories.tsx new file mode 100644 index 00000000..ec94e515 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/story/Collapsible.stories.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Collapsible } from '..'; + +const meta: Meta = { + title: 'Display/Collapsible', + component: Collapsible.Root +}; + +export default meta; + +type CollapsibleStory = StoryObj; + +export const Default: CollapsibleStory = { + render: (args) => ( + + + {'Toggle Content'} + + + +
    +

    {'This content can be collapsed and expanded.'}

    +

    + {'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '} + {'Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'} +

    +
    +
    +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.module.scss b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.module.scss new file mode 100644 index 00000000..5cd72b7e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.module.scss @@ -0,0 +1,19 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.CollapsiblePanel { + @include common.reset-appearance(); + @include font.body(weaker); + + display: flex; + height: var(--collapsible-panel-height); + flex-direction: column; + justify-content: end; + overflow: hidden; + transition: all 150ms ease-out; + + &[data-starting-style], + &[data-ending-style] { + height: 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.tsx b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.tsx new file mode 100644 index 00000000..07623043 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/panel/CollapsiblePanel.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Collapsible as CollapsibleHeadless } from '@flippo-ui/headless-components/collapsible'; +import { cx } from 'class-variance-authority'; + +import styles from './CollapsiblePanel.module.scss'; + +export function CollapsiblePanel(props: CollapsiblePanel.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace CollapsiblePanel { + export type Props = CollapsibleHeadless.Panel.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.module.scss new file mode 100644 index 00000000..8b834b7d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.CollapsibleRoot { + @include common.reset-appearance(); + + display: flex; + flex-direction: column; + justify-content: center; + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.tsx new file mode 100644 index 00000000..748fbc0e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/root/CollapsibleRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Collapsible as CollapsibleHeadless } from '@flippo-ui/headless-components/collapsible'; +import { cx } from 'class-variance-authority'; + +import styles from './CollapsibleRoot.module.scss'; + +export function CollapsibleRoot(props: CollapsibleRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace CollapsibleRoot { + export type Props = CollapsibleHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.module.scss b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.module.scss new file mode 100644 index 00000000..78cdc47e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.module.scss @@ -0,0 +1,47 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.CollapsibleTrigger { + @include common.reset-appearance; + @include font.bodyMinus(weaker); + + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--f-spacing-2); + padding: var(--f-spacing-1) var(--f-spacing-2); + border-radius: var(--f-spacing-1); + background-color: var(--f-color-bg-0); + color: var(--f-color-text-primary); + font-family: inherit; + + @media (hover: hover) { + &:hover { + background-color: var(--f-color-bg-3); + } + } + + &:active { + background-color: var(--f-color-bg-3); + } + + &:focus-visible { + outline: var(--f-spacing-0) solid var(--f-color-brand-light); + } +} + +.CollapsibleTriggerSvg { + @include common.reset-appearance(); + + width: var(--f-spacing-3); + height: var(--f-spacing-3); + color: var(--f-color-text-primary); + + flex-shrink: 0; + margin-right: var(--f-spacing-2); + transition: transform 150ms ease-out; + + [data-panel-open] > & { + transform: rotate(90deg); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.tsx b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.tsx new file mode 100644 index 00000000..1413b712 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Collapsible/ui/trigger/CollapsibleTrigger.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import { Collapsible as CollapsibleHeadless } from '@flippo-ui/headless-components/collapsible'; +import { cx } from 'class-variance-authority'; + +import styles from './CollapsibleTrigger.module.scss'; + +export function CollapsibleTrigger(props: CollapsibleTrigger.Props) { + const { className, ...otherProps } = props; + + return ; +} + +CollapsibleTrigger.Svg = CollapsibleTriggerSvg; + +export namespace CollapsibleTrigger { + export type Props = CollapsibleHeadless.Trigger.Props; +} + +function CollapsibleTriggerSvg(props: React.SVGProps) { + const { className, ...otherProps } = props; + return ( + + + + ); +} diff --git a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx index 3a85f91a..338af3b2 100644 --- a/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx +++ b/packages/ui/uikit/headless/components/src/components/Collapsible/panel/CollapsiblePanel.tsx @@ -3,12 +3,10 @@ import React from 'react'; import { useIsoLayoutEffect, useOpenChangeComplete } from '@flippo-ui/hooks'; - -import type { TransitionStatus } from '@flippo-ui/hooks'; - import { useRenderElement } from '@lib/hooks'; import { warn } from '@lib/warn'; +import type { TransitionStatus } from '@flippo-ui/hooks'; import type { HeadlessUIComponentProps } from '@lib/types'; import { useCollapsibleRootContext } from '../root/CollapsibleRootContext'; @@ -97,7 +95,7 @@ export function CollapsiblePanel(componentProps: CollapsiblePanel.Props) { const { props } = useCollapsiblePanel({ abortControllerRef, animationTypeRef, - externalRef: ref, + externalRef: ref as React.RefObject | undefined, height, hiddenUntilFound, id: panelId, @@ -180,6 +178,5 @@ export namespace CollapsiblePanel { * @default false */ keepMounted?: boolean; - ref: React.RefObject; - } & Omit, 'ref'>; + } & HeadlessUIComponentProps<'div', CollapsibleRoot.State>; } From 48f1c7a00084fbd9941413ad8a52d1ecb2f8c4d6 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 19:35:50 +0300 Subject: [PATCH 29/37] feat(flippo/components): add Toolbar component with subcomponents, styles, and stories --- .../src/components/Toolbar/index.parts.ts | 6 +++ .../src/components/Toolbar/index.ts | 1 + .../Toolbar/story/Toolbar.stories.tsx | 27 +++++++++++ .../ui/button/ToolbarButton.module.scss | 48 +++++++++++++++++++ .../Toolbar/ui/button/ToolbarButton.tsx | 16 +++++++ .../Toolbar/ui/group/ToolbarGroup.module.scss | 8 ++++ .../Toolbar/ui/group/ToolbarGroup.tsx | 16 +++++++ .../Toolbar/ui/input/ToolbarInput.module.scss | 27 +++++++++++ .../Toolbar/ui/input/ToolbarInput.tsx | 16 +++++++ .../Toolbar/ui/link/ToolbarLink.module.scss | 26 ++++++++++ .../Toolbar/ui/link/ToolbarLink.tsx | 16 +++++++ .../Toolbar/ui/root/ToolbarRoot.module.scss | 13 +++++ .../Toolbar/ui/root/ToolbarRoot.tsx | 16 +++++++ .../ui/separator/ToolbarSeparator.module.scss | 19 ++++++++ .../Toolbar/ui/separator/ToolbarSeparator.tsx | 16 +++++++ 15 files changed, 271 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/story/Toolbar.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Toolbar/index.parts.ts new file mode 100644 index 00000000..f5ac215d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/index.parts.ts @@ -0,0 +1,6 @@ +export { ToolbarButton as Button } from './ui/button/ToolbarButton'; +export { ToolbarGroup as Group } from './ui/group/ToolbarGroup'; +export { ToolbarInput as Input } from './ui/input/ToolbarInput'; +export { ToolbarLink as Link } from './ui/link/ToolbarLink'; +export { ToolbarRoot as Root } from './ui/root/ToolbarRoot'; +export { ToolbarSeparator as Separator } from './ui/separator/ToolbarSeparator'; diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/index.ts b/packages/ui/uikit/flippo/components/src/components/Toolbar/index.ts new file mode 100644 index 00000000..01dbf1bc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/index.ts @@ -0,0 +1 @@ +export * as Toolbar from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/story/Toolbar.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/story/Toolbar.stories.tsx new file mode 100644 index 00000000..546ede1e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/story/Toolbar.stories.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Toolbar } from '..'; + +const meta: Meta = { + title: 'Layout/Toolbar', + component: Toolbar.Root +}; + +export default meta; + +type ToolbarStory = StoryObj; + +export const Default: ToolbarStory = { + render: (args) => ( + + {'📁 New'} + {'💾 Save'} + {'📋 Copy'} + + {'↶ Undo'} + {'↷ Redo'} + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.module.scss b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.module.scss new file mode 100644 index 00000000..40b938aa --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.module.scss @@ -0,0 +1,48 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ToolbarButton { + @include common.reset-appearance(); + @include font.bodyMinus(weaker); + + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--f-spacing-1); + background-color: transparent; + color: var(--f-color-text-primary); + user-select: none; + font-family: inherit; + padding: var(--f-spacing-1); + + &:focus-visible { + background-color: transparent; + outline: var(--f-spacing-0) solid var(--f-color-brand-light); + outline-offset: -1px; + } + + @media (hover: hover) { + &:hover { + background-color: var(--f-color-bg-2-hover); + } + } + + &:active { + background-color: var(--f-color-bg-2-hover); + } + + &[data-pressed] { + background-color: var(--f-color-bg-2); + color: var(--f-color-text-4); + } + + &[aria-pressed] { + padding: 0 var(--f-spacing-3); + } + + &[role='combobox'] { + min-width: 8rem; + justify-content: space-between; + padding: 0 var(--f-spacing-3); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.tsx new file mode 100644 index 00000000..64df8766 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/button/ToolbarButton.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toolbar as ToolbarHeadless } from '@flippo-ui/headless-components/toolbar'; +import { cx } from 'class-variance-authority'; + +import styles from './ToolbarButton.module.scss'; + +export function ToolbarButton(props: ToolbarButton.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToolbarButton { + export type Props = ToolbarHeadless.Button.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.module.scss b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.module.scss new file mode 100644 index 00000000..c5cbcaa5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.module.scss @@ -0,0 +1,8 @@ +@use 'mixins/_common.scss' as common; + +.ToolbarGroup { + @include common.reset-appearance(); + + display: flex; + gap: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.tsx new file mode 100644 index 00000000..739e55a9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/group/ToolbarGroup.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toolbar as ToolbarHeadless } from '@flippo-ui/headless-components/toolbar'; +import { cx } from 'class-variance-authority'; + +import styles from './ToolbarGroup.module.scss'; + +export function ToolbarGroup(props: ToolbarGroup.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToolbarGroup { + export type Props = ToolbarHeadless.Group.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.module.scss b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.module.scss new file mode 100644 index 00000000..221dae50 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.module.scss @@ -0,0 +1,27 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ToolbarInput { + @include common.reset-appearance(); + @include font.bodyMinus(weaker); + + padding: calc(var(--f-spacing-3) / 2) var(--f-spacing-2); + border: 1px solid var(--f-color-stroke-transparent); + border-radius: var(--f-spacing-1); + background-color: transparent; + transition: border-color 0.2s ease; + + &::placeholder { + color: var(--f-color-text-2); + } + + &:focus { + outline: none; + border-color: var(--f-color-stroke); + } + + &[disabled] { + cursor: not-allowed; + opacity: 0.5; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.tsx new file mode 100644 index 00000000..12312288 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/input/ToolbarInput.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toolbar as ToolbarHeadless } from '@flippo-ui/headless-components/toolbar'; +import { cx } from 'class-variance-authority'; + +import styles from './ToolbarInput.module.scss'; + +export function ToolbarInput(props: ToolbarInput.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToolbarInput { + export type Props = ToolbarHeadless.Input.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.module.scss b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.module.scss new file mode 100644 index 00000000..2f62ce1a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.module.scss @@ -0,0 +1,26 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ToolbarLink { + @include common.reset-appearance; + @include font.bodyMinus(weaker); + + color: var(--f-color-text-4); + font-family: inherit; + text-decoration: none; + align-self: center; + flex: 0 0 auto; + margin-inline: auto var(--f-spacing-3); + + &:focus-visible { + outline: var(--f-spacing-0) solid var(--f-color-brand-light); + outline-offset: -var(--f-spacing-0); + border-radius: var(--radius-sm); + } + + @media (hover: hover) { + &:hover { + color: var(--f-color-text-white); + } + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.tsx new file mode 100644 index 00000000..c0fd95d4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/link/ToolbarLink.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toolbar as ToolbarHeadless } from '@flippo-ui/headless-components/toolbar'; +import { cx } from 'class-variance-authority'; + +import styles from './ToolbarLink.module.scss'; + +export function ToolbarLink(props: ToolbarLink.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToolbarLink { + export type Props = ToolbarHeadless.Link.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.module.scss new file mode 100644 index 00000000..3af91e1e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.module.scss @@ -0,0 +1,13 @@ +@use 'mixins/_common.scss' as common; + +.ToolbarRoot { + @include common.reset-appearance(); + + display: flex; + align-items: center; + gap: var(--f-spacing-0); + border: 1px solid var(--f-color-stroke); + background-color: var(--f-color-bg-0); + border-radius: var(--f-spacing-2); + padding: var(--f-spacing-2); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.tsx new file mode 100644 index 00000000..b129ecb1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/root/ToolbarRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toolbar as ToolbarHeadless } from '@flippo-ui/headless-components/toolbar'; +import { cx } from 'class-variance-authority'; + +import styles from './ToolbarRoot.module.scss'; + +export function ToolbarRoot(props: ToolbarRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToolbarRoot { + export type Props = ToolbarHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.module.scss b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.module.scss new file mode 100644 index 00000000..3e630522 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.module.scss @@ -0,0 +1,19 @@ +@use 'mixins/_common.scss' as common; + +.ToolbarSeparator { + @include common.reset-appearance(); + + background-color: var(--f-color-stroke); + + [data-orientation='horizontal'] & { + width: 1px; + height: 100%; + margin: 0 var(--f-spacing-1); + } + + [data-orientation='vertical'] & { + height: 1px; + width: 100%; + margin: var(--f-spacing-1) 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.tsx b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.tsx new file mode 100644 index 00000000..68f725d0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toolbar/ui/separator/ToolbarSeparator.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toolbar as ToolbarHeadless } from '@flippo-ui/headless-components/toolbar'; +import { cx } from 'class-variance-authority'; + +import styles from './ToolbarSeparator.module.scss'; + +export function ToolbarSeparator(props: ToolbarSeparator.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToolbarSeparator { + export type Props = ToolbarHeadless.Separator.Props; +} From 65118484ca20ebbd6259495aab2f8b653735f280 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 19:40:09 +0300 Subject: [PATCH 30/37] feat(flippo/components): add ContextMenu component with subcomponents, styles, and stories --- .../src/components/ContextMenu/index.parts.ts | 23 +++++ .../src/components/ContextMenu/index.ts | 1 + .../ContextMenu/story/ContextMenu.stories.tsx | 90 +++++++++++++++++++ .../ContextMenu/ui/root/ContextMenuRoot.tsx | 11 +++ .../ui/trigger/ContextMenuTrigger.tsx | 11 +++ 5 files changed, 136 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/ContextMenu/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/ContextMenu/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/root/ContextMenuRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/trigger/ContextMenuTrigger.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/ContextMenu/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/ContextMenu/index.parts.ts new file mode 100644 index 00000000..828d38f1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ContextMenu/index.parts.ts @@ -0,0 +1,23 @@ +// Re-export Menu components for ContextMenu +export { MenuArrow as Arrow } from '../Menu/ui/arrow/MenuArrow'; +export { MenuBackdrop as Backdrop } from '../Menu/ui/backdrop/MenuBackdrop'; +export { MenuCheckboxItemIndicator as CheckboxItemIndicator } from '../Menu/ui/checkbox-item-indicator/MenuCheckboxItemIndicator'; +export { MenuCheckboxItem as CheckboxItem } from '../Menu/ui/checkbox-item/MenuCheckboxItem'; +export { MenuGroupLabel as GroupLabel } from '../Menu/ui/group-label/MenuGroupLabel'; +export { MenuGroup as Group } from '../Menu/ui/group/MenuGroup'; +export { MenuItem as Item } from '../Menu/ui/item/MenuItem'; +export { MenuPopup as Popup } from '../Menu/ui/popup/MenuPopup'; +export { MenuPortal as Portal } from '../Menu/ui/portal/MenuPortal'; +export { MenuPositioner as Positioner } from '../Menu/ui/positioner/MenuPositioner'; +export { MenuRadioGroup as RadioGroup } from '../Menu/ui/radio-group/MenuRadioGroup'; +export { MenuRadioItemIndicator as RadioItemIndicator } from '../Menu/ui/radio-item-indicator/MenuRadioItemIndicator'; +export { MenuRadioItem as RadioItem } from '../Menu/ui/radio-item/MenuRadioItem'; +export { MenuSubmenuRoot as SubmenuRoot } from '../Menu/ui/submenu-root/MenuSubmenuRoot'; +export { MenuSubmenuTrigger as SubmenuTrigger } from '../Menu/ui/submenu-trigger/MenuSubmenuTrigger'; + +// Import Separator from another component +export { Separator } from '../Separator'; + +// ContextMenu specific components +export { ContextMenuRoot as Root } from './ui/root/ContextMenuRoot'; +export { ContextMenuTrigger as Trigger } from './ui/trigger/ContextMenuTrigger'; diff --git a/packages/ui/uikit/flippo/components/src/components/ContextMenu/index.ts b/packages/ui/uikit/flippo/components/src/components/ContextMenu/index.ts new file mode 100644 index 00000000..2e7b002d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ContextMenu/index.ts @@ -0,0 +1 @@ +export * as ContextMenu from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx b/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx new file mode 100644 index 00000000..aba3fc07 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx @@ -0,0 +1,90 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { ContextMenu } from '../index'; + +const meta: Meta = { + title: 'components/ContextMenu', + component: ContextMenu.Root, + parameters: { + layout: 'centered' + }, + tags: ['autodocs'] +}; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + render: () => ( + + +
    + {'Right click me'} +
    +
    + + + + + + {'Cut'} + + + {'Copy'} + + + {'Paste'} + + + + {'Delete'} + + + + +
    + ) +}; + +export const WithGroups: Story = { + render: () => ( + + +
    + {'Right click for grouped menu'} +
    +
    + + + + + + {'Edit'} + {'Cut'} + {'Copy'} + {'Paste'} + + + + {'Actions'} + {'Rename'} + {'Delete'} + + + + +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/root/ContextMenuRoot.tsx b/packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/root/ContextMenuRoot.tsx new file mode 100644 index 00000000..3d4c76a7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/root/ContextMenuRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { ContextMenu as ContextMenuHeadless } from '@flippo-ui/headless-components/context-menu'; + +export function ContextMenuRoot(props: ContextMenuRoot.Props) { + return ; +} + +export namespace ContextMenuRoot { + export type Props = ContextMenuHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/trigger/ContextMenuTrigger.tsx b/packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/trigger/ContextMenuTrigger.tsx new file mode 100644 index 00000000..aaf9f439 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/ContextMenu/ui/trigger/ContextMenuTrigger.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { ContextMenu as ContextMenuHeadless } from '@flippo-ui/headless-components/context-menu'; + +export function ContextMenuTrigger(props: ContextMenuTrigger.Props) { + return ; +} + +export namespace ContextMenuTrigger { + export type Props = ContextMenuHeadless.Trigger.Props; +} From 69903bda96f093a840fa6d40d72db80cc79d9365 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 22:11:44 +0300 Subject: [PATCH 31/37] feat(flippo/components): add Dialog component with subcomponents, styles, and stories --- .../src/components/Dialog/index.parts.ts | 8 ++ .../components/src/components/Dialog/index.ts | 1 + .../Dialog/story/Dialog.stories.tsx | 74 +++++++++++++++++++ .../ui/backdrop/DialogBackdrop.module.scss | 20 +++++ .../Dialog/ui/backdrop/DialogBackdrop.tsx | 16 ++++ .../Dialog/ui/close/DialogClose.tsx | 11 +++ .../description/DialogDescription.module.scss | 10 +++ .../ui/description/DialogDescription.tsx | 16 ++++ .../Dialog/ui/popup/DialogPopup.module.scss | 35 +++++++++ .../Dialog/ui/popup/DialogPopup.tsx | 34 +++++++++ .../Dialog/ui/portal/DialogPortal.tsx | 11 +++ .../components/Dialog/ui/root/DialogRoot.tsx | 11 +++ .../Dialog/ui/title/DialogTitle.module.scss | 11 +++ .../Dialog/ui/title/DialogTitle.tsx | 16 ++++ .../Dialog/ui/trigger/DialogTrigger.tsx | 11 +++ 15 files changed, 285 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/story/Dialog.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/close/DialogClose.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/portal/DialogPortal.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/root/DialogRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Dialog/ui/trigger/DialogTrigger.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Dialog/index.parts.ts new file mode 100644 index 00000000..bfedba89 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/index.parts.ts @@ -0,0 +1,8 @@ +export { DialogBackdrop as Backdrop } from './ui/backdrop/DialogBackdrop'; +export { DialogClose as Close } from './ui/close/DialogClose'; +export { DialogDescription as Description } from './ui/description/DialogDescription'; +export { DialogPopup as Popup } from './ui/popup/DialogPopup'; +export { DialogPortal as Portal } from './ui/portal/DialogPortal'; +export { DialogRoot as Root } from './ui/root/DialogRoot'; +export { DialogTitle as Title } from './ui/title/DialogTitle'; +export { DialogTrigger as Trigger } from './ui/trigger/DialogTrigger'; diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/index.ts b/packages/ui/uikit/flippo/components/src/components/Dialog/index.ts new file mode 100644 index 00000000..823c17d2 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/index.ts @@ -0,0 +1 @@ +export * as Dialog from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/story/Dialog.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/story/Dialog.stories.tsx new file mode 100644 index 00000000..f2b10b5a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/story/Dialog.stories.tsx @@ -0,0 +1,74 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Dialog } from '..'; +import { Button } from '../../Button'; +import { Input } from '../../Input'; + +const meta: Meta = { + title: 'Overlay/Dialog', + component: Dialog.Root +}; + +export default meta; + +type DialogStory = StoryObj; + +export const Default: DialogStory = { + render: (args) => ( + + + + + + + + + {'Edit Profile'} + + + {'Make changes to your profile here. Click save when you\'re done.'} + + +
    + + + + + + +
    + +
    + + + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.module.scss b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.module.scss new file mode 100644 index 00000000..56f0400f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.module.scss @@ -0,0 +1,20 @@ +@use 'mixins/_common.scss' as common; + +.DialogBackdrop { + @include common.reset-appearance(); + + position: fixed; + inset: 0; + background-color: var(--f-color-bg-1); + opacity: 0.2; + transition: opacity 150ms cubic-bezier(0.45, 1.005, 0, 1.005); + + @media (prefers-color-scheme: dark) { + opacity: 0.7; + } + + &[data-starting-style], + &[data-ending-style] { + opacity: 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.tsx new file mode 100644 index 00000000..32b2eb75 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/backdrop/DialogBackdrop.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; +import { cx } from 'class-variance-authority'; + +import styles from './DialogBackdrop.module.scss'; + +export function DialogBackdrop(props: DialogBackdrop.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace DialogBackdrop { + export type Props = DialogHeadless.Backdrop.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/close/DialogClose.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/close/DialogClose.tsx new file mode 100644 index 00000000..9488af6e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/close/DialogClose.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; + +export function DialogClose(props: DialogClose.Props) { + return ; +} + +export namespace DialogClose { + export type Props = DialogHeadless.Close.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.module.scss b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.module.scss new file mode 100644 index 00000000..94854295 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.DialogDescription { + @include common.reset-appearance(); + @include font.body(default); + + color: var(--f-color-text-2); + margin-bottom: var(--f-spacing-5); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.tsx new file mode 100644 index 00000000..3f59a5de --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/description/DialogDescription.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; +import { cx } from 'class-variance-authority'; + +import styles from './DialogDescription.module.scss'; + +export function DialogDescription(props: DialogDescription.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace DialogDescription { + export type Props = DialogHeadless.Description.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.module.scss b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.module.scss new file mode 100644 index 00000000..710f9848 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.module.scss @@ -0,0 +1,35 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_effect.scss' as effect; + +.DialogPopup { + @include common.reset-appearance(); + @include effect.elevation-modal(); + + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + padding: var(--f-spacing-8); + border-radius: var(--f-spacing-6); + background-color: var(--f-color-bg-1); + color: var(--f-color-text-primary); + transition: all 150ms; + + &[data-starting-style], + &[data-ending-style] { + opacity: 0; + transform: translate(-50%, -50%) scale(0.9); + } + + &_small { + width: 420px; + } + + &_medium { + width: 732px; + } + + &_large { + width: 1064px; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.tsx new file mode 100644 index 00000000..f7d62ff5 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/popup/DialogPopup.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './DialogPopup.module.scss'; + +const DialogPopupVariants = cva(styles.DialogPopup, { + variants: { + dimension: { + small: styles.DialogPopup_small, + medium: styles.DialogPopup_medium, + large: styles.DialogPopup_large + + } + }, + defaultVariants: { + dimension: 'medium' + } +}); + +export function DialogPopup(props: DialogPopup.Props) { + const { className, dimension, ...otherProps } = props; + + const dialogPopupClasses = DialogPopupVariants({ dimension, className }); + + return ; +} + +export namespace DialogPopup { + export type Props = DialogHeadless.Popup.Props & VariantProps; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/portal/DialogPortal.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/portal/DialogPortal.tsx new file mode 100644 index 00000000..375776de --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/portal/DialogPortal.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; + +export function DialogPortal(props: DialogPortal.Props) { + return ; +} + +export namespace DialogPortal { + export type Props = DialogHeadless.Portal.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/root/DialogRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/root/DialogRoot.tsx new file mode 100644 index 00000000..0afc1463 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/root/DialogRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; + +export function DialogRoot(props: DialogRoot.Props) { + return ; +} + +export namespace DialogRoot { + export type Props = DialogHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.module.scss b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.module.scss new file mode 100644 index 00000000..b929e01f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.DialogTitle { + @include common.reset-appearance(); + @include font.title-3(default); + + color: var(--f-color-text-primary); + margin: 0; + margin-bottom: var(--f-spacing-6); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.tsx new file mode 100644 index 00000000..3bda2a3e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/title/DialogTitle.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; +import { cx } from 'class-variance-authority'; + +import styles from './DialogTitle.module.scss'; + +export function DialogTitle(props: DialogTitle.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace DialogTitle { + export type Props = DialogHeadless.Title.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Dialog/ui/trigger/DialogTrigger.tsx b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/trigger/DialogTrigger.tsx new file mode 100644 index 00000000..fd14639c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Dialog/ui/trigger/DialogTrigger.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Dialog as DialogHeadless } from '@flippo-ui/headless-components/dialog'; + +export function DialogTrigger(props: DialogTrigger.Props) { + return ; +} + +export namespace DialogTrigger { + export type Props = DialogHeadless.Trigger.Props; +} From e87b17dc75e45a53496ffd9fe0ba18a86f8c11ec Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 22:17:54 +0300 Subject: [PATCH 32/37] feat(flippo/components): add Menubar component with styles and stories --- .../src/components/Menubar/index.ts | 1 + .../Menubar/story/Menubar.stories.tsx | 62 +++++++++++++++++++ .../components/Menubar/ui/Menubar.module.scss | 11 ++++ .../src/components/Menubar/ui/Menubar.tsx | 16 +++++ 4 files changed, 90 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Menubar/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Menubar/story/Menubar.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Menubar/index.ts b/packages/ui/uikit/flippo/components/src/components/Menubar/index.ts new file mode 100644 index 00000000..54b08422 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Menubar/index.ts @@ -0,0 +1 @@ +export { Menubar } from './ui/Menubar'; diff --git a/packages/ui/uikit/flippo/components/src/components/Menubar/story/Menubar.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Menubar/story/Menubar.stories.tsx new file mode 100644 index 00000000..ceb055df --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Menubar/story/Menubar.stories.tsx @@ -0,0 +1,62 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Menubar } from '..'; + +const meta: Meta = { + title: 'Navigation/Menubar', + component: Menubar +}; + +export default meta; + +type MenubarStory = StoryObj; + +// Note: This is a simplified example. In a real app, you would use Menu components inside Menubar +export const Default: MenubarStory = { + render: (args) => ( + + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.module.scss b/packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.module.scss new file mode 100644 index 00000000..1676d8bf --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.module.scss @@ -0,0 +1,11 @@ +@use 'mixins/_common.scss' as common; + +.Menubar { + @include common.reset-appearance(); + + display: flex; + background-color: var(--f-color-bg-1); + border: 1px solid var(--f-color-stroke-transparent); + border-radius: var(--f-spacing-2); + padding: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.tsx b/packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.tsx new file mode 100644 index 00000000..20abb4a6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Menubar/ui/Menubar.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Menubar as MenubarHeadless } from '@flippo-ui/headless-components/menubar'; +import { cx } from 'class-variance-authority'; + +import styles from './Menubar.module.scss'; + +export function Menubar(props: Menubar.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace Menubar { + export type Props = MenubarHeadless.Props; +} From daaaf204ae8fce77ee3c8bb2cac541a0a9c87f47 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sun, 28 Sep 2025 22:42:25 +0300 Subject: [PATCH 33/37] feat(flippo/components): add Popover component with subcomponents, styles, and stories --- .../src/components/Popover/index.parts.ts | 10 ++++ .../src/components/Popover/index.ts | 1 + .../Popover/story/Popover.stories.tsx | 48 +++++++++++++++++++ .../Popover/ui/arrow/PopoverArrow.module.scss | 39 +++++++++++++++ .../Popover/ui/arrow/PopoverArrow.tsx | 33 +++++++++++++ .../ui/backdrop/PopoverBackdrop.module.scss | 20 ++++++++ .../Popover/ui/backdrop/PopoverBackdrop.tsx | 16 +++++++ .../Popover/ui/close/PopoverClose.tsx | 11 +++++ .../PopoverDescription.module.scss | 9 ++++ .../ui/description/PopoverDescription.tsx | 16 +++++++ .../Popover/ui/popup/PopoverPopup.module.scss | 31 ++++++++++++ .../Popover/ui/popup/PopoverPopup.tsx | 16 +++++++ .../Popover/ui/portal/PopoverPortal.tsx | 11 +++++ .../ui/positioner/PopoverPositioner.tsx | 13 +++++ .../Popover/ui/root/PopoverRoot.tsx | 11 +++++ .../Popover/ui/title/PopoverTitle.module.scss | 9 ++++ .../Popover/ui/title/PopoverTitle.tsx | 16 +++++++ .../Popover/ui/trigger/PopoverTrigger.tsx | 11 +++++ 18 files changed, 321 insertions(+) create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/story/Popover.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/close/PopoverClose.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/portal/PopoverPortal.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/positioner/PopoverPositioner.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/root/PopoverRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Popover/ui/trigger/PopoverTrigger.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Popover/index.parts.ts new file mode 100644 index 00000000..29244c88 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/index.parts.ts @@ -0,0 +1,10 @@ +export { PopoverArrow as Arrow } from './ui/arrow/PopoverArrow'; +export { PopoverBackdrop as Backdrop } from './ui/backdrop/PopoverBackdrop'; +export { PopoverClose as Close } from './ui/close/PopoverClose'; +export { PopoverDescription as Description } from './ui/description/PopoverDescription'; +export { PopoverPopup as Popup } from './ui/popup/PopoverPopup'; +export { PopoverPortal as Portal } from './ui/portal/PopoverPortal'; +export { PopoverPositioner as Positioner } from './ui/positioner/PopoverPositioner'; +export { PopoverRoot as Root } from './ui/root/PopoverRoot'; +export { PopoverTitle as Title } from './ui/title/PopoverTitle'; +export { PopoverTrigger as Trigger } from './ui/trigger/PopoverTrigger'; diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/index.ts b/packages/ui/uikit/flippo/components/src/components/Popover/index.ts new file mode 100644 index 00000000..9d2d8d70 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/index.ts @@ -0,0 +1 @@ +export * as Popover from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/story/Popover.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/story/Popover.stories.tsx new file mode 100644 index 00000000..15b06451 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/story/Popover.stories.tsx @@ -0,0 +1,48 @@ +import React from 'react'; + +import { NotificationsIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Popover } from '..'; +import { Button } from '../../Button'; + +const meta: Meta = { + title: 'Overlay/Popover', + component: Popover.Root +}; + +export default meta; + +type PopoverStory = StoryObj; + +export const Default: PopoverStory = { + render: (args) => ( +
    + + + + + + + + + + + + + {'Popover Title'} + + + {'This is a popover with some content. Popovers are great for '} + {'displaying additional information or actions.'} + + + + + +
    + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.module.scss b/packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.module.scss new file mode 100644 index 00000000..8cb20d97 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.module.scss @@ -0,0 +1,39 @@ +@use 'mixins/_common.scss' as common; + +.PopoverArrow { + @include common.reset-appearance(); + + display: flex; + + &[data-side='top'] { + bottom: -8px; + rotate: 180deg; + } + + &[data-side='bottom'] { + top: -8px; + rotate: 0deg; + } + + &[data-side='left'] { + right: -13px; + rotate: 90deg; + } + + &[data-side='right'] { + left: -13px; + rotate: -90deg; + } +} + +.ArrowFill { + fill: var(--f-color-bg-2-hover); +} + +.ArrowOuterStroke { + fill: var(--f-color-bg-2-hover); +} + +.ArrowInnerStroke { + fill: var(--f-color-bg-2-hover); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.tsx new file mode 100644 index 00000000..e0170784 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/arrow/PopoverArrow.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; +import { cx } from 'class-variance-authority'; + +import styles from './PopoverArrow.module.scss'; + +export function PopoverArrow(props: PopoverArrow.Props) { + const { className, ...otherProps } = props; + + return ; +} + +PopoverArrow.Svg = PopoverArrowSvg; + +export namespace PopoverArrow { + export type Props = PopoverHeadless.Arrow.Props; +} + +export function PopoverArrowSvg(props: React.ComponentProps<'svg'>) { + return ( + + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.module.scss b/packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.module.scss new file mode 100644 index 00000000..703e298f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.module.scss @@ -0,0 +1,20 @@ +@use 'mixins/_common.scss' as common; + +.PopoverBackdrop { + @include common.reset-appearance(); + + position: fixed; + inset: 0; + background-color: var(--f-color-bg-1); + opacity: 0.2; + transition: opacity 150ms cubic-bezier(0.45, 1.005, 0, 1.005); + + @media (prefers-color-scheme: dark) { + opacity: 0.7; + } + + &[data-starting-style], + &[data-ending-style] { + opacity: 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.tsx new file mode 100644 index 00000000..f57aa6ec --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/backdrop/PopoverBackdrop.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; +import { cx } from 'class-variance-authority'; + +import styles from './PopoverBackdrop.module.scss'; + +export function PopoverBackdrop(props: PopoverBackdrop.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace PopoverBackdrop { + export type Props = PopoverHeadless.Backdrop.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/close/PopoverClose.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/close/PopoverClose.tsx new file mode 100644 index 00000000..66b0c43c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/close/PopoverClose.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; + +export function PopoverClose(props: PopoverClose.Props) { + return ; +} + +export namespace PopoverClose { + export type Props = PopoverHeadless.Close.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.module.scss b/packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.module.scss new file mode 100644 index 00000000..e43b9b6d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.PopoverDescription { + @include common.reset-appearance; + @include font.body(default); + + color: var(--f-color-text-5); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.tsx new file mode 100644 index 00000000..7c5929f7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/description/PopoverDescription.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; +import { cx } from 'class-variance-authority'; + +import styles from './PopoverDescription.module.scss'; + +export function PopoverDescription(props: PopoverDescription.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace PopoverDescription { + export type Props = PopoverHeadless.Description.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.module.scss b/packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.module.scss new file mode 100644 index 00000000..40e26782 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.module.scss @@ -0,0 +1,31 @@ +@use 'mixins/_font.scss' as font; +@use 'mixins/_effect.scss' as effect; +@use 'mixins/_common.scss' as common; + +.PopoverPopup { + @include common.reset-appearance(); + @include effect.elevation-1(); + @include font.label('default'); + + max-width: 300px; + box-sizing: border-box; + display: flex; + flex-direction: column; + padding: calc(var(--f-spacing-3) / 2) var(--f-spacing-3); + border-radius: var(--f-spacing-2); + background-color: var(--f-color-bg-2-hover); + transform-origin: var(--transform-origin); + transition: + transform 150ms, + opacity 150ms; + + &[data-starting-style], + &[data-ending-style] { + opacity: 0; + transform: scale(0.9); + } + + &[data-instant] { + transition-duration: 0ms; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.tsx new file mode 100644 index 00000000..46673f98 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/popup/PopoverPopup.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; +import { cx } from 'class-variance-authority'; + +import styles from './PopoverPopup.module.scss'; + +export function PopoverPopup(props: PopoverPopup.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace PopoverPopup { + export type Props = PopoverHeadless.Popup.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/portal/PopoverPortal.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/portal/PopoverPortal.tsx new file mode 100644 index 00000000..46069035 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/portal/PopoverPortal.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; + +export function PopoverPortal(props: PopoverPortal.Props) { + return ; +} + +export namespace PopoverPortal { + export type Props = PopoverHeadless.Portal.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/positioner/PopoverPositioner.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/positioner/PopoverPositioner.tsx new file mode 100644 index 00000000..0c8c4733 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/positioner/PopoverPositioner.tsx @@ -0,0 +1,13 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; + +export function PopoverPositioner(props: PopoverPositioner.Props) { + const { sideOffset = 8, ...otherProps } = props; + + return ; +} + +export namespace PopoverPositioner { + export type Props = PopoverHeadless.Positioner.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/root/PopoverRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/root/PopoverRoot.tsx new file mode 100644 index 00000000..97636303 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/root/PopoverRoot.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; + +export function PopoverRoot(props: PopoverRoot.Props) { + return ; +} + +export namespace PopoverRoot { + export type Props = PopoverHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.module.scss b/packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.module.scss new file mode 100644 index 00000000..1f64642e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.PopoverTitle { + @include common.reset-appearance; + @include font.heading-3(default); + + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.tsx new file mode 100644 index 00000000..36627674 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/title/PopoverTitle.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; +import { cx } from 'class-variance-authority'; + +import styles from './PopoverTitle.module.scss'; + +export function PopoverTitle(props: PopoverTitle.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace PopoverTitle { + export type Props = PopoverHeadless.Title.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Popover/ui/trigger/PopoverTrigger.tsx b/packages/ui/uikit/flippo/components/src/components/Popover/ui/trigger/PopoverTrigger.tsx new file mode 100644 index 00000000..10093ccf --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Popover/ui/trigger/PopoverTrigger.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Popover as PopoverHeadless } from '@flippo-ui/headless-components/popover'; + +export function PopoverTrigger(props: PopoverTrigger.Props) { + return ; +} + +export namespace PopoverTrigger { + export type Props = PopoverHeadless.Trigger.Props; +} From f9a3714f8df3da57cae513bf20bf98935d14ed3b Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Mon, 29 Sep 2025 00:03:02 +0300 Subject: [PATCH 34/37] feat(flippo/components): add NumberField component with subcomponents, styles, and stories --- .../ContextMenu/story/ContextMenu.stories.tsx | 47 ++----------------- .../src/components/NumberField/index.parts.ts | 7 +++ .../src/components/NumberField/index.ts | 1 + .../NumberField/story/NumberField.stories.tsx | 26 ++++++++++ .../NumberFieldDecrement.module.scss | 38 +++++++++++++++ .../ui/decrement/NumberFieldDecrement.tsx | 35 ++++++++++++++ .../ui/group/NumberFieldGroup.module.scss | 7 +++ .../NumberField/ui/group/NumberFieldGroup.tsx | 16 +++++++ .../NumberFieldIncrement.module.scss | 38 +++++++++++++++ .../ui/increment/NumberFieldIncrement.tsx | 35 ++++++++++++++ .../ui/input/NumberFieldInput.module.scss | 45 ++++++++++++++++++ .../NumberField/ui/input/NumberFieldInput.tsx | 16 +++++++ .../ui/root/NumberFieldRoot.module.scss | 10 ++++ .../NumberField/ui/root/NumberFieldRoot.tsx | 16 +++++++ .../NumberFieldScrubAreaCursor.module.scss | 7 +++ .../NumberFieldScrubAreaCursor.tsx | 16 +++++++ .../NumberFieldScrubArea.module.scss | 9 ++++ .../ui/scrub-area/NumberFieldScrubArea.tsx | 16 +++++++ 18 files changed, 342 insertions(+), 43 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/story/NumberField.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.tsx diff --git a/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx b/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx index aba3fc07..bb7d9906 100644 --- a/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx +++ b/packages/ui/uikit/flippo/components/src/components/ContextMenu/story/ContextMenu.stories.tsx @@ -1,14 +1,12 @@ +import React from 'react'; + import type { Meta, StoryObj } from '@storybook/react'; import { ContextMenu } from '../index'; const meta: Meta = { - title: 'components/ContextMenu', - component: ContextMenu.Root, - parameters: { - layout: 'centered' - }, - tags: ['autodocs'] + title: 'Overlay/ContextMenu', + component: ContextMenu.Root }; export default meta; @@ -51,40 +49,3 @@ export const Default: Story = { ) }; - -export const WithGroups: Story = { - render: () => ( - - -
    - {'Right click for grouped menu'} -
    -
    - - - - - - {'Edit'} - {'Cut'} - {'Copy'} - {'Paste'} - - - - {'Actions'} - {'Rename'} - {'Delete'} - - - - -
    - ) -}; diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/NumberField/index.parts.ts new file mode 100644 index 00000000..dcdb83eb --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/index.parts.ts @@ -0,0 +1,7 @@ +export { NumberFieldDecrement as Decrement } from './ui/decrement/NumberFieldDecrement'; +export { NumberFieldGroup as Group } from './ui/group/NumberFieldGroup'; +export { NumberFieldIncrement as Increment } from './ui/increment/NumberFieldIncrement'; +export { NumberFieldInput as Input } from './ui/input/NumberFieldInput'; +export { NumberFieldRoot as Root } from './ui/root/NumberFieldRoot'; +export { NumberFieldScrubAreaCursor as ScrubAreaCursor } from './ui/scrub-area-cursor/NumberFieldScrubAreaCursor'; +export { NumberFieldScrubArea as ScrubArea } from './ui/scrub-area/NumberFieldScrubArea'; diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/index.ts b/packages/ui/uikit/flippo/components/src/components/NumberField/index.ts new file mode 100644 index 00000000..e97deaf6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/index.ts @@ -0,0 +1 @@ +export * as NumberField from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/story/NumberField.stories.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/story/NumberField.stories.tsx new file mode 100644 index 00000000..1ed0cf43 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/story/NumberField.stories.tsx @@ -0,0 +1,26 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { NumberField } from '..'; + +const meta: Meta = { + title: 'Input/NumberField', + component: NumberField.Root +}; + +export default meta; + +type NumberFieldStory = StoryObj; + +export const Default: NumberFieldStory = { + render: (args) => ( + + + + + + + + ) +}; diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.module.scss new file mode 100644 index 00000000..d8f102dc --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.module.scss @@ -0,0 +1,38 @@ +@use 'mixins/_common.scss' as common; + +.NumberFieldDecrement { + @include common.reset-appearance(); + + display: flex; + align-items: center; + justify-content: center; + width: var(--f-spacing-12); + height: var(--f-spacing-12); + border: 1.5px solid transparent; + border-radius: var(--f-spacing-max); + background-color: var(--f-color-bg-area-muted); + background-clip: padding-box; + color: var(--f-color-text-4); + user-select: none; + + border-top-right-radius: 0; + border-bottom-right-radius: 0; + + @media (hover: hover) { + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + color: var(--f-color-text-white); + } + } + + &:active { + background-color: var(--f-color-bg-2); + color: var(--f-color-text-4); + } +} + +.DecrementIcon { + width: var(--f-spacing-3); + height: var(--f-spacing-3); +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.tsx new file mode 100644 index 00000000..52c6beff --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/decrement/NumberFieldDecrement.tsx @@ -0,0 +1,35 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldDecrement.module.scss'; + +export function NumberFieldDecrement(props: NumberFieldDecrement.Props) { + const { className, ...otherProps } = props; + + return ; +} + +NumberFieldDecrement.Svg = DecrementSvg; + +export namespace NumberFieldDecrement { + export type Props = NumberFieldHeadless.Decrement.Props; +} + +function DecrementSvg(props: React.ComponentProps<'svg'>) { + return ( + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.module.scss new file mode 100644 index 00000000..fe1aae3d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.module.scss @@ -0,0 +1,7 @@ +@use 'mixins/_common.scss' as common; + +.NumberFieldGroup { + @include common.reset-appearance; + + display: flex; +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.tsx new file mode 100644 index 00000000..9807d55f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/group/NumberFieldGroup.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldGroup.module.scss'; + +export function NumberFieldGroup(props: NumberFieldGroup.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace NumberFieldGroup { + export type Props = NumberFieldHeadless.Group.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.module.scss new file mode 100644 index 00000000..f2e97b11 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.module.scss @@ -0,0 +1,38 @@ +@use 'mixins/_common.scss' as common; + +.NumberFieldIncrement { + @include common.reset-appearance(); + + display: flex; + align-items: center; + justify-content: center; + width: var(--f-spacing-12); + height: var(--f-spacing-12); + border: 1.5px solid transparent; + border-radius: var(--f-spacing-max); + background-color: var(--f-color-bg-area-muted); + background-clip: padding-box; + color: var(--f-color-text-4); + user-select: none; + + border-top-left-radius: 0; + border-bottom-left-radius: 0; + + @media (hover: hover) { + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + color: var(--f-color-text-white); + } + } + + &:active { + background-color: var(--f-color-bg-2); + color: var(--f-color-text-4); + } +} + +.IncrementIcon { + width: var(--f-spacing-3); + height: var(--f-spacing-3); +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.tsx new file mode 100644 index 00000000..13b84892 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/increment/NumberFieldIncrement.tsx @@ -0,0 +1,35 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldIncrement.module.scss'; + +export function NumberFieldIncrement(props: NumberFieldIncrement.Props) { + const { className, ...otherProps } = props; + + return ; +} + +NumberFieldIncrement.Svg = IncrementSvg; + +export namespace NumberFieldIncrement { + export type Props = NumberFieldHeadless.Increment.Props; +} + +function IncrementSvg(props: React.ComponentProps<'svg'>) { + return ( + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.module.scss new file mode 100644 index 00000000..c0b600b1 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.module.scss @@ -0,0 +1,45 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.NumberFieldInput { + @include common.reset-appearance(); + @include font.body(default); + + border-radius: 0; + border-top: 1.5px solid transparent; + border-bottom: 1.5px solid transparent; + + width: var(--f-spacing-18); + height: var(--f-spacing-12); + font-family: inherit; + color: var(--f-color-text-primary); + + text-align: center; + font-variant-numeric: tabular-nums; + + background: var(--f-color-bg-area-muted); + background-clip: padding-box; + + &:hover { + background: var(--f-color-bg-area-subtle); + border-color: var(--f-color-stroke); + + &[data-invalid] { + border-color: var(--f-color-error-hover); + } + } + + &[data-invalid] { + border-color: var(--f-color-error); + } + + &:is(:focus-within, [data-focused]) { + background: var(--f-color-bg-area-muted); + border: 1.5px solid var(--f-color-brand-light); + } + + &:is(:disabled, [data-disabled]) { + background: var(--f-color-bg-area-muted); + color: var(--f-color-text-disabled); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.tsx new file mode 100644 index 00000000..92fb6d49 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/input/NumberFieldInput.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldInput.module.scss'; + +export function NumberFieldInput(props: NumberFieldInput.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace NumberFieldInput { + export type Props = NumberFieldHeadless.Input.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.module.scss new file mode 100644 index 00000000..94fb685c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.module.scss @@ -0,0 +1,10 @@ +@use 'mixins/_common.scss' as common; + +.NumberFieldRoot { + @include common.reset-appearance(); + + display: flex; + flex-direction: column; + align-items: start; + gap: var(--f-spacing-1); +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.tsx new file mode 100644 index 00000000..203895ed --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/root/NumberFieldRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldRoot.module.scss'; + +export function NumberFieldRoot(props: NumberFieldRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace NumberFieldRoot { + export type Props = NumberFieldHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.module.scss new file mode 100644 index 00000000..07cfb88f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.module.scss @@ -0,0 +1,7 @@ +@use 'mixins/_common.scss' as common; + +.NumberFieldScrubAreaCursor { + @include common.reset-appearance; + + filter: drop-shadow(0 1px 1px var(--f-color-neutral-10)); +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.tsx new file mode 100644 index 00000000..e8d9b5ea --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area-cursor/NumberFieldScrubAreaCursor.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldScrubAreaCursor.module.scss'; + +export function NumberFieldScrubAreaCursor(props: NumberFieldScrubAreaCursor.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace NumberFieldScrubAreaCursor { + export type Props = NumberFieldHeadless.ScrubAreaCursor.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.module.scss b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.module.scss new file mode 100644 index 00000000..6cc2ffba --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; + +.NumberFieldScrubArea { + @include common.reset-appearance(); + + cursor: ew-resize; + font-weight: bold; + user-select: none; +} diff --git a/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.tsx b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.tsx new file mode 100644 index 00000000..bf1eb8b6 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/NumberField/ui/scrub-area/NumberFieldScrubArea.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { NumberField as NumberFieldHeadless } from '@flippo-ui/headless-components/number-field'; +import { cx } from 'class-variance-authority'; + +import styles from './NumberFieldScrubArea.module.scss'; + +export function NumberFieldScrubArea(props: NumberFieldScrubArea.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace NumberFieldScrubArea { + export type Props = NumberFieldHeadless.ScrubArea.Props; +} From 5cd0867a1cae971f1caafe45f178e2d9385fff21 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Tue, 30 Sep 2025 21:35:09 +0300 Subject: [PATCH 35/37] feat(flippo/components): add Toast component with subcomponents, styles, and stories --- .../src/components/Toast/index.parts.ts | 16 +++ .../components/src/components/Toast/index.ts | 1 + .../components/Toast/story/Toast.stories.tsx | 62 ++++++++++ .../Toast/ui/action/ToastAction.module.scss | 9 ++ .../Toast/ui/action/ToastAction.tsx | 16 +++ .../Toast/ui/close/ToastClose.module.scss | 45 +++++++ .../components/Toast/ui/close/ToastClose.tsx | 41 +++++++ .../description/ToastDescription.module.scss | 9 ++ .../Toast/ui/description/ToastDescription.tsx | 16 +++ .../Toast/ui/portal/ToastPortal.tsx | 11 ++ .../Toast/ui/provider/ToastProvider.tsx | 11 ++ .../Toast/ui/root/ToastRoot.module.scss | 74 +++++++++++ .../components/Toast/ui/root/ToastRoot.tsx | 16 +++ .../Toast/ui/title/ToastTitle.module.scss | 9 ++ .../components/Toast/ui/title/ToastTitle.tsx | 16 +++ .../ui/viewport/ToastViewport.module.scss | 29 +++++ .../Toast/ui/viewport/ToastViewport.tsx | 33 +++++ .../src/components/Toast/index.parts.ts | 2 + .../Toast/viewport/ToastViewport.tsx | 116 +++++++++++++++--- .../Toast/viewport/ToastViewportCssVars.ts | 7 ++ 20 files changed, 521 insertions(+), 18 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/story/Toast.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/portal/ToastPortal.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/provider/ToastProvider.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewportCssVars.ts diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Toast/index.parts.ts new file mode 100644 index 00000000..5818a36d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/index.parts.ts @@ -0,0 +1,16 @@ +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; + +export { ToastAction as Action } from './ui/action/ToastAction'; +export { ToastClose as Close } from './ui/close/ToastClose'; +export { ToastDescription as Description } from './ui/description/ToastDescription'; +export { ToastPortal as Portal } from './ui/portal/ToastPortal'; +export { ToastProvider as Provider } from './ui/provider/ToastProvider'; +export { ToastRoot as Root } from './ui/root/ToastRoot'; +export { ToastTitle as Title } from './ui/title/ToastTitle'; +export { ToastViewport as Viewport } from './ui/viewport/ToastViewport'; + +export const createToastManager = ToastHeadless.createToastManager; +export const useToastManager = ToastHeadless.useToastManager; + +export type ToastManagerEvent = ToastHeadless.ToastManagerEvent; +export type ToastObject = ToastHeadless.ToastObject; diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/index.ts b/packages/ui/uikit/flippo/components/src/components/Toast/index.ts new file mode 100644 index 00000000..e294d115 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/index.ts @@ -0,0 +1 @@ +export * as Toast from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/story/Toast.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/story/Toast.stories.tsx new file mode 100644 index 00000000..f1c6cd6b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/story/Toast.stories.tsx @@ -0,0 +1,62 @@ +import React from 'react'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Toast } from '..'; +import { Button } from '../../Button'; + +const meta: Meta = { + title: 'Feedback/Toast', + component: Toast.Root +}; + +export default meta; + +type ToastStory = StoryObj; + +// Basic example - Note: Real usage would involve ToastProvider and manager +export const Default: ToastStory = { + render: () => ( + + + + + + + + + ) +}; + +function ToastButton() { + const toastManager = Toast.useToastManager(); + const [count, setCount] = React.useState(0); + + function createToast() { + setCount((prev) => prev + 1); + toastManager.add({ + title: `Toast ${count + 1} created`, + description: 'This is a toast notification.' + }); + } + + return ( + + ); +} + +function ToastList() { + const { toasts } = Toast.useToastManager(); + + return toasts.map((toast) => ( + + + + + + + + )); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.module.scss b/packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.module.scss new file mode 100644 index 00000000..007eff04 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ToastAction { + @include common.reset-appearance; + @include font.bodyMinus(default); + + color: var(--f-color-text-4); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.tsx new file mode 100644 index 00000000..b255a838 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/action/ToastAction.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; +import { cx } from 'class-variance-authority'; + +import styles from './ToastAction.module.scss'; + +export function ToastAction(props: ToastAction.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToastAction { + export type Props = ToastHeadless.Action.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.module.scss b/packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.module.scss new file mode 100644 index 00000000..00d681a4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.module.scss @@ -0,0 +1,45 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_flex.scss' as flex; + +$ow: 1.5px; +@mixin stateToastClose($state, $bg: null, $color: null, $oc: null) { + &#{$state} { + @if $bg { + background-color: $bg; + } + + @if $color { + color: $color; + } + + @if $oc { + outline: $ow solid $oc; + } + } +} + +.ToastClose { + @include common.reset-appearance(); + @include flex.display(inline-flex, row, center, center, var(--f-spacing-2)); + + border-radius: var(--f-border-radius-button); + cursor: pointer; + + transition: 0.3s ease; + + width: var(--f-spacing-10); + height: var(--f-spacing-10); + + color: var(--f-color-text-4); + + @include stateToastClose(':hover', var(--f-color-bg-2-hover), var(--f-color-text-white)); + @include stateToastClose(':active', var(--f-color-bg-2), var(--f-color-text-4)); + @include stateToastClose(':focus-visible', $color: var(--f-color-text-3), $oc: var(--f-color-brand-light)); + @include stateToastClose(':disabled', $color: var(--f-color-text-disabled)); + @include stateToastClose('[data-disabled]', $color: var(--f-color-text-disabled)); +} + +.ToastCloseSvg { + width: var(--f-spacing-6); + height: var(--f-spacing-6); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.tsx new file mode 100644 index 00000000..ca012eb4 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/close/ToastClose.tsx @@ -0,0 +1,41 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; +import { cx } from 'class-variance-authority'; + +import styles from './ToastClose.module.scss'; + +export function ToastClose(props: ToastClose.Props) { + const { className, ...otherProps } = props; + + return ; +} + +ToastClose.Svg = ToastCloseSvg; + +export namespace ToastClose { + export type Props = ToastHeadless.Close.Props; +} + +function ToastCloseSvg(props: React.ComponentProps<'svg'>) { + const { className, ...otherProps } = props; + + return ( + + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.module.scss b/packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.module.scss new file mode 100644 index 00000000..198f3870 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ToastDescription { + @include common.reset-appearance(); + @include font.bodyMinus(default); + + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.tsx new file mode 100644 index 00000000..fe932e13 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/description/ToastDescription.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; +import { cx } from 'class-variance-authority'; + +import styles from './ToastDescription.module.scss'; + +export function ToastDescription(props: ToastDescription.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToastDescription { + export type Props = ToastHeadless.Description.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/portal/ToastPortal.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/portal/ToastPortal.tsx new file mode 100644 index 00000000..3242376e --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/portal/ToastPortal.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; + +export function ToastPortal(props: ToastPortal.Props) { + return ; +} + +export namespace ToastPortal { + export type Props = ToastHeadless.Portal.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/provider/ToastProvider.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/provider/ToastProvider.tsx new file mode 100644 index 00000000..ba5c9d50 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/provider/ToastProvider.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; + +export function ToastProvider(props: ToastProvider.Props) { + return ; +} + +export namespace ToastProvider { + export type Props = ToastHeadless.Provider.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.module.scss b/packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.module.scss new file mode 100644 index 00000000..b2048a46 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.module.scss @@ -0,0 +1,74 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_effect.scss' as effect; + +.ToastRoot { + @include common.reset-appearance(); + @include effect.elevation-1(); + + --gap: var(--f-spacing-3); + --offset-y: calc(var(--toast-offset-y) * -1 + (var(--toast-index) * var(--gap) * -1) + var(--toast-swipe-movement-y)); + position: absolute; + left: 0; + right: 0; + bottom: 0; + margin: 0 auto; + background: var(--f-color-bg-1); + color: var(--f-color-text-4); + padding: var(--f-spacing-4); + width: 100%; + + background-clip: padding-box; + border-radius: var(--f-spacing-6); + -webkit-user-select: none; + user-select: none; + transition: + transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), + opacity 0.5s; + cursor: default; + z-index: calc(1000 - var(--toast-index)); + transform: translateX(var(--toast-swipe-movement-x)) + translateY(calc(var(--toast-swipe-movement-y) + (min(var(--toast-index), 10) * -20%))) + scale(calc(max(0, 1 - (var(--toast-index) * 0.1)))); + + &::after { + top: 100%; + } + + &[data-expanded] { + transform: translateX(var(--toast-swipe-movement-x)) translateY(var(--offset-y)); + } + + &[data-starting-style], + &[data-ending-style] { + transform: translateY(150%); + } + + &[data-limited] { + opacity: 0; + } + + &[data-ending-style] { + opacity: 0; + + &[data-swipe-direction='up'] { + transform: translateY(calc(var(--toast-swipe-movement-y) - 150%)); + } + &[data-swipe-direction='left'] { + transform: translateX(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y)); + } + &[data-swipe-direction='right'] { + transform: translateX(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y)); + } + &[data-swipe-direction='down'] { + transform: translateY(calc(var(--toast-swipe-movement-y) + 150%)); + } + } + + &::after { + content: ''; + position: absolute; + width: 100%; + left: 0; + height: calc(var(--gap) + 1px); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.tsx new file mode 100644 index 00000000..97d77d2f --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/root/ToastRoot.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; +import { cx } from 'class-variance-authority'; + +import styles from './ToastRoot.module.scss'; + +export function ToastRoot(props: ToastRoot.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToastRoot { + export type Props = ToastHeadless.Root.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.module.scss b/packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.module.scss new file mode 100644 index 00000000..3d4951a7 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.ToastTitle { + @include common.reset-appearance(); + @include font.body(stronger); + + color: var(--f-color-text-primary); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.tsx new file mode 100644 index 00000000..23f4e202 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/title/ToastTitle.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; +import { cx } from 'class-variance-authority'; + +import styles from './ToastTitle.module.scss'; + +export function ToastTitle(props: ToastTitle.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace ToastTitle { + export type Props = ToastHeadless.Title.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.module.scss b/packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.module.scss new file mode 100644 index 00000000..10d655b2 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.module.scss @@ -0,0 +1,29 @@ +@use 'mixins/_common.scss' as common; + +.ToastViewport { + @include common.reset-appearance(); + + position: fixed; + z-index: 1; + width: 512px; + margin: 0 auto; + + &_bottom { + left: 0; + right: 0; + bottom: var(--f-spacing-4); + top: auto; + } + + &_bottom-right { + left: auto; + right: var(--f-spacing-4); + bottom: var(--f-spacing-4); + } + + &_bottom-left { + right: auto; + left: var(--f-spacing-4); + bottom: var(--f-spacing-4); + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.tsx b/packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.tsx new file mode 100644 index 00000000..871610f8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Toast/ui/viewport/ToastViewport.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { Toast as ToastHeadless } from '@flippo-ui/headless-components/toast'; +import { cva } from 'class-variance-authority'; + +import type { VariantProps } from 'class-variance-authority'; + +import styles from './ToastViewport.module.scss'; + +const ToastViewportVariants = cva(styles.ToastViewport, { + variants: { + position: { + 'bottom-left': styles['ToastViewport_bottom-left'], + 'bottom': styles.ToastViewport_bottom, + 'bottom-right': styles['ToastViewport_bottom-right'] + } + }, + defaultVariants: { + position: 'bottom' + } +}); + +export function ToastViewport(props: ToastViewport.Props) { + const { className, position = 'bottom', ...otherProps } = props; + + const toastViewportClasses = ToastViewportVariants({ position, className }); + + return ; +} + +export namespace ToastViewport { + export type Props = ToastHeadless.Viewport.Props & VariantProps; +} diff --git a/packages/ui/uikit/headless/components/src/components/Toast/index.parts.ts b/packages/ui/uikit/headless/components/src/components/Toast/index.parts.ts index b447b1bc..21f604a0 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/index.parts.ts +++ b/packages/ui/uikit/headless/components/src/components/Toast/index.parts.ts @@ -1,6 +1,7 @@ export { ToastAction as Action } from './action/ToastAction'; export { ToastClose as Close } from './close/ToastClose'; export { createToastManager } from './createToastManager'; +export type { ToastManagerEvent } from './createToastManager'; export { ToastDescription as Description } from './description/ToastDescription'; export { ToastPortal as Portal } from './portal/ToastPortal'; export { ToastProvider as Provider } from './provider/ToastProvider'; @@ -8,4 +9,5 @@ export { ToastRoot as Root } from './root/ToastRoot'; export { ToastTitle as Title } from './title/ToastTitle'; export { useToastManager } from './useToastManager'; +export type { ToastObject } from './useToastManager'; export { ToastViewport as Viewport } from './viewport/ToastViewport'; diff --git a/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx b/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx index 9fbfb3cb..e7b55d4f 100644 --- a/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx +++ b/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewport.tsx @@ -15,6 +15,7 @@ import { useToastContext } from '../provider/ToastProviderContext'; import { isFocusVisible } from '../utils/focusVisible'; import { ToastViewportContext } from './ToastViewportContext'; +import { ToastViewportCssVars } from './ToastViewportCssVars'; /** * A container viewport for toasts. @@ -50,7 +51,15 @@ export function ToastViewport(componentProps: ToastViewport.Props) { const handlingFocusGuardRef = React.useRef(false); const focusedRef = useLatestRef(focused); + const hoveringRef = useLatestRef(hovering); const numToasts = toasts.length; + const frontmostHeight = toasts[0]?.height ?? 0; + const markedReadyForMouseLeave = React.useRef(false); + + const hasTransitioningToasts = React.useMemo( + () => toasts.some((toast) => toast.transitionStatus === 'ending'), + [toasts] + ); // Listen globally for F6 so we can force-focus the viewport. React.useEffect(() => { @@ -146,6 +155,44 @@ export function ToastViewport(componentProps: ToastViewport.Props) { numToasts ]); + React.useEffect(() => { + const viewportNode = viewportRef.current; + if (!viewportNode || numToasts === 0) { + return undefined; + } + + const doc = ownerDocument(viewportNode); + + function handlePointerDown(event: PointerEvent) { + if (event.pointerType !== 'touch') { + return; + } + + const target = getTarget(event) as Element | null; + if (contains(viewportNode, target)) { + return; + } + + resumeTimers(); + setHovering(false); + setFocused(false); + } + + doc.addEventListener('pointerdown', handlePointerDown, true); + + return () => { + doc.removeEventListener('pointerdown', handlePointerDown, true); + }; + }, [ + focusedRef, + hoveringRef, + numToasts, + resumeTimers, + setFocused, + setHovering, + viewportRef + ]); + function handleFocusGuard(event: React.FocusEvent) { if (!viewportRef.current) { return; @@ -170,19 +217,40 @@ export function ToastViewport(componentProps: ToastViewport.Props) { } } + React.useEffect(() => { + if (!windowFocusedRef.current || hasTransitioningToasts || !markedReadyForMouseLeave.current) { + return; + } + + // Once transitions have finished, see if a mouseleave was already triggered + // but blocked from taking effect. If so, we can now safely resume timers and + // collapse the viewport. + resumeTimers(); + setHovering(false); + markedReadyForMouseLeave.current = false; + }, [ + hasTransitioningToasts, + resumeTimers, + setHovering, + windowFocusedRef + ]); + function handleMouseEnter() { pauseTimers(); setHovering(true); + markedReadyForMouseLeave.current = false; } function handleMouseLeave() { - const activeEl = activeElement(ownerDocument(viewportRef.current)); - if (contains(viewportRef.current, activeEl) && isFocusVisible(activeEl)) { - return; + if (toasts.some((toast) => toast.transitionStatus === 'ending')) { + // When swiping to dismiss, wait until the transitions have settled + // to avoid the viewport collapsing while the user is interacting. + markedReadyForMouseLeave.current = true; + } + else { + resumeTimers(); + setHovering(false); } - - resumeTimers(); - setHovering(false); } function handleFocus() { @@ -203,8 +271,10 @@ export function ToastViewport(componentProps: ToastViewport.Props) { return; } - setFocused(true); - pauseTimers(); + if (isFocusVisible(ownerDocument(viewportRef.current).activeElement)) { + setFocused(true); + pauseTimers(); + } } function handleBlur(event: React.FocusEvent) { @@ -242,16 +312,26 @@ export function ToastViewport(componentProps: ToastViewport.Props) { const element = useRenderElement('div', componentProps, { ref: [ref, viewportRef], state, - props: [defaultProps, { - ...elementProps, - children: ( - - {numToasts > 0 && prevFocusElement && } - {children} - {numToasts > 0 && prevFocusElement && } - - ) - }] + props: [ + defaultProps, + { + style: { + [ToastViewportCssVars.frontmostHeight as string]: frontmostHeight + ? `${frontmostHeight}px` + : undefined + } + }, + elementProps, + { + children: ( + + {numToasts > 0 && prevFocusElement && } + {children} + {numToasts > 0 && prevFocusElement && } + + ) + } + ] }); const contextValue = React.useMemo(() => ({ viewportRef }), [viewportRef]); diff --git a/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewportCssVars.ts b/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewportCssVars.ts new file mode 100644 index 00000000..945da40f --- /dev/null +++ b/packages/ui/uikit/headless/components/src/components/Toast/viewport/ToastViewportCssVars.ts @@ -0,0 +1,7 @@ +export enum ToastViewportCssVars { + /** + * Indicates the height of the frontmost toast. + * @type {number} + */ + frontmostHeight = '--toast-frontmost-height' +} From fd8e27fc1bda85757e1e9e66b62ca7dd379627a1 Mon Sep 17 00:00:00 2001 From: BlackPoretsky <20vinipuh02@gmail.com> Date: Sat, 4 Oct 2025 12:23:44 +0300 Subject: [PATCH 36/37] feat(flippo/components): add Select component with subcomponents, styles, and stories --- .../src/components/Select/index.parts.ts | 17 ++ .../components/src/components/Select/index.ts | 1 + .../Select/story/Select.stories.tsx | 153 ++++++++++ .../Select/ui/arrow/SelectArrow.module.scss | 35 +++ .../Select/ui/arrow/SelectArrow.tsx | 33 +++ .../ui/backdrop/SelectBackdrop.module.scss | 16 ++ .../Select/ui/backdrop/SelectBackdrop.tsx | 16 ++ .../group-label/SelectGroupLabel.module.scss | 13 + .../ui/group-label/SelectGroupLabel.tsx | 20 ++ .../Select/ui/group/SelectGroup.module.scss | 9 + .../Select/ui/group/SelectGroup.tsx | 16 ++ .../Select/ui/icon/SelectIcon.module.scss | 18 ++ .../components/Select/ui/icon/SelectIcon.tsx | 28 ++ .../SelectItemIndicator.module.scss | 19 ++ .../ui/item-indicator/SelectItemIndicator.tsx | 30 ++ .../ui/item-text/SelectItemText.module.scss | 11 + .../Select/ui/item-text/SelectItemText.tsx | 16 ++ .../Select/ui/item/SelectItem.module.scss | 38 +++ .../components/Select/ui/item/SelectItem.tsx | 16 ++ .../Select/ui/popup/SelectPopup.module.scss | 42 +++ .../Select/ui/popup/SelectPopup.tsx | 16 ++ .../Select/ui/portal/SelectPortal.tsx | 11 + .../positioner/SelectPositioner.module.scss | 12 + .../Select/ui/positioner/SelectPositioner.tsx | 16 ++ .../components/Select/ui/root/SelectRoot.tsx | 11 + .../SelectScrollDownArrow.module.scss | 39 +++ .../SelectScrollDownArrow.tsx | 16 ++ .../SelectScrollUpArrow.module.scss | 39 +++ .../scroll-up-arrow/SelectScrollUpArrow.tsx | 16 ++ .../ui/trigger/SelectTrigger.module.scss | 38 +++ .../Select/ui/trigger/SelectTrigger.tsx | 16 ++ .../Select/ui/value/SelectValue.module.scss | 13 + .../Select/ui/value/SelectValue.tsx | 16 ++ .../components/Select/arrow/SelectArrow.tsx | 3 - .../Select/backdrop/SelectBackdrop.tsx | 10 +- .../Select/group-label/SelectGroupLabel.tsx | 1 - .../components/Select/group/SelectGroup.tsx | 2 - .../src/components/Select/icon/SelectIcon.tsx | 21 +- .../Select/icon/SelectIconDataAttributes.ts | 8 + .../item-indicator/SelectItemIndicator.tsx | 4 +- .../src/components/Select/item/SelectItem.tsx | 50 ++-- .../src/components/Select/list/SelectList.tsx | 66 +++++ .../components/Select/popup/SelectPopup.tsx | 269 +++++++++--------- .../components/Select/portal/SelectPortal.tsx | 1 - .../Select/positioner/SelectPositioner.tsx | 60 ++-- .../positioner/SelectPositionerContext.ts | 6 +- .../src/components/Select/root/SelectRoot.tsx | 116 +++++--- .../Select/root/SelectRootContext.ts | 17 +- .../components/Select/root/useSelectRoot.ts | 113 ++++++-- .../Select/scroll-arrow/SelectScrollArrow.tsx | 103 ++++--- .../components/src/components/Select/store.ts | 16 +- .../Select/trigger/SelectTrigger.tsx | 30 +- .../Select/utils/clearPositionerStyles.ts | 6 - .../components/Select/utils/clearStyles.ts | 12 + .../components/Select/value/SelectValue.tsx | 37 +-- .../Slider/control/SliderControl.tsx | 4 +- .../src/components/Slider/root/SliderRoot.tsx | 14 +- .../src/lib/createHeadlessUIEventDetails.ts | 6 +- .../src/lib/hooks/useAnchorPositioning.ts | 267 ++++++++++++++--- .../components/src/lib/itemEquality.ts | 54 ++++ .../components/src/lib/resolveValueLabel.ts | 123 ++++++++ .../components/src/lib/serializeValue.ts | 14 + .../headless/components/src/lib/types.ts | 7 + .../hooks/useFloatingRootContext.ts | 69 +++-- .../src/packages/floating-ui-react/types.ts | 9 +- .../headless/hooks/src/hooks/useScrollLock.ts | 1 + 66 files changed, 1904 insertions(+), 421 deletions(-) create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/index.parts.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/index.ts create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/story/Select.stories.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/item-text/SelectItemText.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/item-text/SelectItemText.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/item/SelectItem.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/item/SelectItem.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/popup/SelectPopup.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/popup/SelectPopup.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/portal/SelectPortal.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/positioner/SelectPositioner.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/positioner/SelectPositioner.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/root/SelectRoot.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/scroll-down-arrow/SelectScrollDownArrow.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/scroll-down-arrow/SelectScrollDownArrow.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/scroll-up-arrow/SelectScrollUpArrow.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/scroll-up-arrow/SelectScrollUpArrow.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/trigger/SelectTrigger.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/trigger/SelectTrigger.tsx create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/value/SelectValue.module.scss create mode 100644 packages/ui/uikit/flippo/components/src/components/Select/ui/value/SelectValue.tsx create mode 100644 packages/ui/uikit/headless/components/src/components/Select/icon/SelectIconDataAttributes.ts create mode 100644 packages/ui/uikit/headless/components/src/components/Select/list/SelectList.tsx delete mode 100644 packages/ui/uikit/headless/components/src/components/Select/utils/clearPositionerStyles.ts create mode 100644 packages/ui/uikit/headless/components/src/components/Select/utils/clearStyles.ts create mode 100644 packages/ui/uikit/headless/components/src/lib/itemEquality.ts create mode 100644 packages/ui/uikit/headless/components/src/lib/resolveValueLabel.ts create mode 100644 packages/ui/uikit/headless/components/src/lib/serializeValue.ts diff --git a/packages/ui/uikit/flippo/components/src/components/Select/index.parts.ts b/packages/ui/uikit/flippo/components/src/components/Select/index.parts.ts new file mode 100644 index 00000000..acc51e79 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/index.parts.ts @@ -0,0 +1,17 @@ +export { Separator } from '../Separator'; +export { SelectArrow as Arrow } from './ui/arrow/SelectArrow'; +export { SelectBackdrop as Backdrop } from './ui/backdrop/SelectBackdrop'; +export { SelectGroupLabel as GroupLabel } from './ui/group-label/SelectGroupLabel'; +export { SelectGroup as Group } from './ui/group/SelectGroup'; +export { SelectIcon as Icon } from './ui/icon/SelectIcon'; +export { SelectItemIndicator as ItemIndicator } from './ui/item-indicator/SelectItemIndicator'; +export { SelectItemText as ItemText } from './ui/item-text/SelectItemText'; +export { SelectItem as Item } from './ui/item/SelectItem'; +export { SelectPopup as Popup } from './ui/popup/SelectPopup'; +export { SelectPortal as Portal } from './ui/portal/SelectPortal'; +export { SelectPositioner as Positioner } from './ui/positioner/SelectPositioner'; +export { SelectRoot as Root } from './ui/root/SelectRoot'; +export { SelectScrollDownArrow as ScrollDownArrow } from './ui/scroll-down-arrow/SelectScrollDownArrow'; +export { SelectScrollUpArrow as ScrollUpArrow } from './ui/scroll-up-arrow/SelectScrollUpArrow'; +export { SelectTrigger as Trigger } from './ui/trigger/SelectTrigger'; +export { SelectValue as Value } from './ui/value/SelectValue'; diff --git a/packages/ui/uikit/flippo/components/src/components/Select/index.ts b/packages/ui/uikit/flippo/components/src/components/Select/index.ts new file mode 100644 index 00000000..189ac83b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/index.ts @@ -0,0 +1 @@ +export * as Select from './index.parts'; diff --git a/packages/ui/uikit/flippo/components/src/components/Select/story/Select.stories.tsx b/packages/ui/uikit/flippo/components/src/components/Select/story/Select.stories.tsx new file mode 100644 index 00000000..e089cbf0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/story/Select.stories.tsx @@ -0,0 +1,153 @@ +import React from 'react'; + +import { CheckIcon } from '@flippo-ui/icons'; + +import type { Meta, StoryObj } from '@storybook/react'; + +import { Select } from '..'; + +const meta: Meta = { + title: 'Input/Select', + component: Select.Root +}; + +export default meta; + +type SelectStory = StoryObj; + +const fruits = [ + { value: 'apple', label: 'Apple' }, + { value: 'banana', label: 'Banana' }, + { value: 'orange', label: 'Orange' }, + { value: 'grape', label: 'Grape' }, + { value: 'pineapple', label: 'Pineapple' } +]; + +export const Default: SelectStory = { + render: (args) => ( +
    + + + + {(value) => { + if (value) { + return value; + } + + return 'Select a fruit...'; + }} + + + + + + + + + + + + + {'Fruits'} + {fruits.map((fruit) => ( + + + + + {fruit.label} + + ))} + + + + + +
    + ) +}; + +export const LongList: SelectStory = { + render: (args) => { + const countries = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Argentina', + 'Australia', + 'Separator', + 'Austria', + 'Bangladesh', + 'Belgium', + 'Brazil', + 'Canada', + 'Separator', + 'China', + 'Denmark', + 'Egypt', + 'Finland', + 'France', + 'Germany', + 'Greece', + 'Separator', + 'India', + 'Indonesia', + 'Italy', + 'Japan', + 'Mexico', + 'Separator', + 'Netherlands', + 'Norway', + 'Poland', + 'Portugal', + 'Russia', + 'Spain', + 'Separator', + 'Sweden', + 'Switzerland', + 'Turkey', + 'Ukraine', + 'United Kingdom', + 'United States' + ]; + + return ( +
    + + + + + {(value) => { + if (value) { + return value; + } + + return 'Choose a country...'; + }} + + + + + + + + {countries.map((country) => (country === 'Separator' + ? + : ( + + + + + {country} + + )))} + + + + + +
    + ); + } +}; diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.module.scss b/packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.module.scss new file mode 100644 index 00000000..afedf44b --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.module.scss @@ -0,0 +1,35 @@ +@use 'mixins/_common.scss' as common; + +.SelectArrow { + @include common.reset-appearance(); + + display: flex; + + &[data-side='top'] { + bottom: -8px; + rotate: 180deg; + } + + &[data-side='bottom'] { + top: -8px; + rotate: 0deg; + } + + &[data-side='left'] { + right: -13px; + rotate: 90deg; + } + + &[data-side='right'] { + left: -13px; + rotate: -90deg; + } +} + +.ArrowFill { + fill: var(--f-color-bg-2); +} + +.ArrowInnerStroke { + fill: var(--f-color-bg-2); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.tsx b/packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.tsx new file mode 100644 index 00000000..359dd154 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/arrow/SelectArrow.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { Select as SelectHeadless } from '@flippo-ui/headless-components/select'; +import { cx } from 'class-variance-authority'; + +import styles from './SelectArrow.module.scss'; + +export function SelectArrow(props: SelectArrow.Props) { + const { className, ...otherProps } = props; + + return ; +} + +SelectArrow.Svg = SelectArrowSvg; + +export namespace SelectArrow { + export type Props = SelectHeadless.Arrow.Props; +} + +function SelectArrowSvg(props: React.ComponentProps<'svg'>) { + return ( + + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.module.scss b/packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.module.scss new file mode 100644 index 00000000..039538a9 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.module.scss @@ -0,0 +1,16 @@ +@use 'mixins/_common.scss' as common; + +.SelectBackdrop { + @include common.reset-appearance(); + + position: fixed; + inset: 0; + background-color: var(--f-color-bg-1); + opacity: 0.2; + transition: opacity 150ms cubic-bezier(0.45, 1.005, 0, 1.005); + + &[data-starting-style], + &[data-ending-style] { + opacity: 0; + } +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.tsx b/packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.tsx new file mode 100644 index 00000000..558a585d --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/backdrop/SelectBackdrop.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Select as SelectHeadless } from '@flippo-ui/headless-components/select'; +import { cx } from 'class-variance-authority'; + +import styles from './SelectBackdrop.module.scss'; + +export function SelectBackdrop(props: SelectBackdrop.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace SelectBackdrop { + export type Props = SelectHeadless.Backdrop.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.module.scss b/packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.module.scss new file mode 100644 index 00000000..afe75ecb --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.module.scss @@ -0,0 +1,13 @@ +@use 'mixins/_common.scss' as common; +@use 'mixins/_font.scss' as font; + +.SelectGroupLabel { + @include common.reset-appearance; + @include font.label(default); + + display: flex; + align-items: center; + padding: var(--f-spacing-0) 0 var(--f-spacing-0) var(--f-spacing-5); + color: var(--f-color-text-5); + height: var(--f-spacing-7); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.tsx b/packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.tsx new file mode 100644 index 00000000..6c046db8 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/group-label/SelectGroupLabel.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import { Select as SelectHeadless } from '@flippo-ui/headless-components/select'; +import { cva } from 'class-variance-authority'; + +import styles from './SelectGroupLabel.module.scss'; + +const SelectGroupLabelVariants = cva(styles.SelectGroupLabel); + +export function SelectGroupLabel(props: SelectGroupLabel.Props) { + const { className, ...rest } = props; + + const labelClasses = SelectGroupLabelVariants({ className }); + + return ; +} + +export namespace SelectGroupLabel { + export type Props = SelectHeadless.GroupLabel.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.module.scss b/packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.module.scss new file mode 100644 index 00000000..44aebc4a --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.module.scss @@ -0,0 +1,9 @@ +@use 'mixins/_common.scss' as common; + +.SelectGroup { + @include common.reset-appearance(); + + display: flex; + flex-direction: column; + gap: var(--f-spacing-0); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.tsx b/packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.tsx new file mode 100644 index 00000000..63c6ba36 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/group/SelectGroup.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +import { Select as SelectHeadless } from '@flippo-ui/headless-components/select'; +import { cx } from 'class-variance-authority'; + +import styles from './SelectGroup.module.scss'; + +export function SelectGroup(props: SelectGroup.Props) { + const { className, ...otherProps } = props; + + return ; +} + +export namespace SelectGroup { + export type Props = SelectHeadless.Group.Props; +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.module.scss b/packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.module.scss new file mode 100644 index 00000000..ab4544f0 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.module.scss @@ -0,0 +1,18 @@ +@use 'mixins/_common.scss' as common; + +.SelectIcon { + @include common.reset-appearance(); + + display: flex; + + [data-popup-open] & { + transform: rotate(180deg); + color: var(--f-color-text-4); + } +} + +.ChevronIcon { + display: block; + width: var(--f-spacing-5); + height: var(--f-spacing-5); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.tsx b/packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.tsx new file mode 100644 index 00000000..0d7cc68c --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/icon/SelectIcon.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import { Select as SelectHeadless } from '@flippo-ui/headless-components/select'; +import { cx } from 'class-variance-authority'; + +import styles from './SelectIcon.module.scss'; + +export function SelectIcon(props: SelectIcon.Props) { + const { className, ...otherProps } = props; + + return ; +} + +SelectIcon.Svg = SelectIconSvg; + +export namespace SelectIcon { + export type Props = SelectHeadless.Icon.Props; +} + +function SelectIconSvg(props: React.ComponentProps<'svg'>) { + const { className, ...otherProps } = props; + + return ( + + + + ); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.module.scss b/packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.module.scss new file mode 100644 index 00000000..5e36a5f3 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.module.scss @@ -0,0 +1,19 @@ +@use 'mixins/_common.scss' as common; + +.SelectItemIndicator { + @include common.reset-appearance(); + + grid-column-start: 1; + + [data-selected] & { + color: var(--f-color-brand-light); + } +} + +.CheckIcon { + display: flex; + align-items: center; + justify-content: center; + width: var(--f-spacing-5); + height: var(--f-spacing-5); +} diff --git a/packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.tsx b/packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.tsx new file mode 100644 index 00000000..2557a075 --- /dev/null +++ b/packages/ui/uikit/flippo/components/src/components/Select/ui/item-indicator/SelectItemIndicator.tsx @@ -0,0 +1,30 @@ +import React from 'react'; + +import { Select as SelectHeadless } from '@flippo-ui/headless-components/select'; +import { cx } from 'class-variance-authority'; + +import styles from './SelectItemIndicator.module.scss'; + +export function SelectItemIndicator(props: SelectItemIndicator.Props) { + const { className, hidden = false, ...rest } = props; + + return ( +