@pk-design/react-tailwind 1.5.4 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Accordion/Accordion.js +61 -0
- package/dist/cjs/components/Accordion/Accordion.js.map +1 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +38 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -0
- package/dist/cjs/components/Alert/Alert.js +34 -0
- package/dist/cjs/components/Alert/Alert.js.map +1 -0
- package/dist/cjs/components/Badge/Badge.js +33 -0
- package/dist/cjs/components/Badge/Badge.js.map +1 -0
- package/dist/cjs/components/Banner/Banner.js +41 -0
- package/dist/cjs/components/Banner/Banner.js.map +1 -0
- package/dist/cjs/components/BodyText/BodyText.js +59 -0
- package/dist/cjs/components/BodyText/BodyText.js.map +1 -0
- package/dist/cjs/components/BottomNavigation/BottomNavigation.js +52 -0
- package/dist/cjs/components/BottomNavigation/BottomNavigation.js.map +1 -0
- package/dist/cjs/components/Breadcrumb/Breadcrumb.js +63 -0
- package/dist/cjs/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/cjs/components/Button/Button.js +118 -0
- package/dist/cjs/components/Button/Button.js.map +1 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js +100 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/cjs/components/Card/Card.js +65 -0
- package/dist/cjs/components/Card/Card.js.map +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.js +64 -0
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/cjs/components/CheckboxGroup/CheckboxGroup.js +82 -0
- package/dist/cjs/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/cjs/components/DataList/DataList.js +287 -0
- package/dist/cjs/components/DataList/DataList.js.map +1 -0
- package/dist/cjs/components/DataTable/DataTable.icons.js +20 -0
- package/dist/cjs/components/DataTable/DataTable.icons.js.map +1 -0
- package/dist/cjs/components/DataTable/DataTable.js +110 -0
- package/dist/cjs/components/DataTable/DataTable.js.map +1 -0
- package/dist/cjs/components/DataTable/DataTable.utils.js +87 -0
- package/dist/cjs/components/DataTable/DataTable.utils.js.map +1 -0
- package/dist/cjs/components/DetailedInformation/DetailedInformation.js +67 -0
- package/dist/cjs/components/DetailedInformation/DetailedInformation.js.map +1 -0
- package/dist/cjs/components/Dot/index.js +12 -0
- package/dist/cjs/components/Dot/index.js.map +1 -0
- package/dist/cjs/components/Drawer/Drawer.js +67 -0
- package/dist/cjs/components/Drawer/Drawer.js.map +1 -0
- package/dist/cjs/components/Dropdown/Dropdown.js +50 -0
- package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/cjs/components/EmptyState/index.js +14 -0
- package/dist/cjs/components/EmptyState/index.js.map +1 -0
- package/dist/cjs/components/Flex/Flex.js +25 -0
- package/dist/cjs/components/Flex/Flex.js.map +1 -0
- package/dist/cjs/components/FloatingActionButton/FloatingActionButton.js +71 -0
- package/dist/cjs/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/dist/cjs/components/Grid/Grid.js +33 -0
- package/dist/cjs/components/Grid/Grid.js.map +1 -0
- package/dist/cjs/components/HeadingText/HeadingText.js +89 -0
- package/dist/cjs/components/HeadingText/HeadingText.js.map +1 -0
- package/dist/cjs/components/Icons/ArrowDownAZ.svg.js +46 -0
- package/dist/cjs/components/Icons/ArrowDownAZ.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ArrowDownNarrowWide.svg.js +46 -0
- package/dist/cjs/components/Icons/ArrowDownNarrowWide.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ArrowDownWideNarrow.svg.js +46 -0
- package/dist/cjs/components/Icons/ArrowDownWideNarrow.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ArrowDownZA.svg.js +46 -0
- package/dist/cjs/components/Icons/ArrowDownZA.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ArrowUpDown.svg.js +46 -0
- package/dist/cjs/components/Icons/ArrowUpDown.svg.js.map +1 -0
- package/dist/cjs/components/Icons/BadgeCheck.svg.js +48 -0
- package/dist/cjs/components/Icons/BadgeCheck.svg.js.map +1 -0
- package/dist/cjs/components/Icons/Check.svg.js +46 -0
- package/dist/cjs/components/Icons/Check.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ChevronDown.svg.js +46 -0
- package/dist/cjs/components/Icons/ChevronDown.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ChevronLeft.svg.js +46 -0
- package/dist/cjs/components/Icons/ChevronLeft.svg.js.map +1 -0
- package/dist/cjs/components/Icons/ChevronRight.svg.js +46 -0
- package/dist/cjs/components/Icons/ChevronRight.svg.js.map +1 -0
- package/dist/cjs/components/Icons/CircleAlert.svg.js +50 -0
- package/dist/cjs/components/Icons/CircleAlert.svg.js.map +1 -0
- package/dist/cjs/components/Icons/CircleCheck.svg.js +50 -0
- package/dist/cjs/components/Icons/CircleCheck.svg.js.map +1 -0
- package/dist/cjs/components/Icons/CirclePlus.svg.js +50 -0
- package/dist/cjs/components/Icons/CirclePlus.svg.js.map +1 -0
- package/dist/cjs/components/Icons/CircleX.svg.js +50 -0
- package/dist/cjs/components/Icons/CircleX.svg.js.map +1 -0
- package/dist/cjs/components/Icons/FolderPlus.svg.js +46 -0
- package/dist/cjs/components/Icons/FolderPlus.svg.js.map +1 -0
- package/dist/cjs/components/Icons/Info.svg.js +50 -0
- package/dist/cjs/components/Icons/Info.svg.js.map +1 -0
- package/dist/cjs/components/Icons/Search.svg.js +50 -0
- package/dist/cjs/components/Icons/Search.svg.js.map +1 -0
- package/dist/cjs/components/Icons/Slash.svg.js +46 -0
- package/dist/cjs/components/Icons/Slash.svg.js.map +1 -0
- package/dist/cjs/components/Icons/TriangleAlert.svg.js +46 -0
- package/dist/cjs/components/Icons/TriangleAlert.svg.js.map +1 -0
- package/dist/cjs/components/Icons/X.svg.js +46 -0
- package/dist/cjs/components/Icons/X.svg.js.map +1 -0
- package/dist/cjs/components/Input/Input.js +85 -0
- package/dist/cjs/components/Input/Input.js.map +1 -0
- package/dist/cjs/components/Label/Label.js +14 -0
- package/dist/cjs/components/Label/Label.js.map +1 -0
- package/dist/cjs/components/Loader/index.js +18 -0
- package/dist/cjs/components/Loader/index.js.map +1 -0
- package/dist/cjs/components/MobileHeader/MobileHeader.js +45 -0
- package/dist/cjs/components/MobileHeader/MobileHeader.js.map +1 -0
- package/dist/cjs/components/MobilePicker/MobilePicker.js +368 -0
- package/dist/cjs/components/MobilePicker/MobilePicker.js.map +1 -0
- package/dist/cjs/components/MobileStepper/MobileStepper.js +33 -0
- package/dist/cjs/components/MobileStepper/MobileStepper.js.map +1 -0
- package/dist/cjs/components/Pagination/Pagination.js +33 -0
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -0
- package/dist/cjs/components/Pagination/usePagination.js +33 -0
- package/dist/cjs/components/Pagination/usePagination.js.map +1 -0
- package/dist/cjs/components/PasswordInput/PasswordInput.js +56 -0
- package/dist/cjs/components/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/cjs/components/PinInput/PinInput.js +98 -0
- package/dist/cjs/components/PinInput/PinInput.js.map +1 -0
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +83 -0
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -0
- package/dist/cjs/components/QuantityStepper/QuantityStepper.js +77 -0
- package/dist/cjs/components/QuantityStepper/QuantityStepper.js.map +1 -0
- package/dist/cjs/components/Radio/Radio.js +34 -0
- package/dist/cjs/components/Radio/Radio.js.map +1 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.js +50 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/cjs/components/RadioSwitch/RadioSwitch.js +116 -0
- package/dist/cjs/components/RadioSwitch/RadioSwitch.js.map +1 -0
- package/dist/cjs/components/RangeInput/RangeInput.js +66 -0
- package/dist/cjs/components/RangeInput/RangeInput.js.map +1 -0
- package/dist/cjs/components/RangeSlider/RangeSlider.js +167 -0
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js +64 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/cjs/components/SelectBox/SelectBox.js +305 -0
- package/dist/cjs/components/SelectBox/SelectBox.js.map +1 -0
- package/dist/cjs/components/Skeleton/Skeleton.js +36 -0
- package/dist/cjs/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/cjs/components/StatusPill/StatusPill.js +46 -0
- package/dist/cjs/components/StatusPill/StatusPill.js.map +1 -0
- package/dist/cjs/components/StickyActionBar/StickyActionBar.js +22 -0
- package/dist/cjs/components/StickyActionBar/StickyActionBar.js.map +1 -0
- package/dist/cjs/components/SwipeableRow/SwipeableRow.js +187 -0
- package/dist/cjs/components/SwipeableRow/SwipeableRow.js.map +1 -0
- package/dist/cjs/components/SwipeableTabs/SwipeableTabs.js +91 -0
- package/dist/cjs/components/SwipeableTabs/SwipeableTabs.js.map +1 -0
- package/dist/cjs/components/Table/Table.js +57 -0
- package/dist/cjs/components/Table/Table.js.map +1 -0
- package/dist/cjs/components/Tabs/Tabs.js +53 -0
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -0
- package/dist/cjs/components/TextContent/TextContent.js +47 -0
- package/dist/cjs/components/TextContent/TextContent.js.map +1 -0
- package/dist/cjs/components/Textarea/Textarea.js +64 -0
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -0
- package/dist/cjs/components/Toast/Toast.js +96 -0
- package/dist/cjs/components/Toast/Toast.js.map +1 -0
- package/dist/cjs/components/Toast/ToastProvider.js +151 -0
- package/dist/cjs/components/Toast/ToastProvider.js.map +1 -0
- package/dist/cjs/components/VirtualizedDataTable/VirtualizedDataTable.js +122 -0
- package/dist/cjs/components/VirtualizedDataTable/VirtualizedDataTable.js.map +1 -0
- package/dist/cjs/components/VirtualizedDataTable/VirtualizedRow.js +48 -0
- package/dist/cjs/components/VirtualizedDataTable/VirtualizedRow.js.map +1 -0
- package/dist/cjs/components/WheelPicker/WheelPicker.js +82 -0
- package/dist/cjs/components/WheelPicker/WheelPicker.js.map +1 -0
- package/dist/cjs/components/common-responsive.js +310 -0
- package/dist/cjs/components/common-responsive.js.map +1 -0
- package/dist/cjs/hooks/use-debounce.js +31 -0
- package/dist/cjs/hooks/use-debounce.js.map +1 -0
- package/dist/cjs/hooks/use-is-mobile.js +24 -0
- package/dist/cjs/hooks/use-is-mobile.js.map +1 -0
- package/dist/cjs/hooks/use-is-tablet-or-mobile.js +13 -0
- package/dist/cjs/hooks/use-is-tablet-or-mobile.js.map +1 -0
- package/dist/cjs/hooks/use-is-tablet.js +21 -0
- package/dist/cjs/hooks/use-is-tablet.js.map +1 -0
- package/dist/cjs/index.js +163 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/react-tailwind.css +2 -0
- package/dist/cjs/react-tailwind.css.map +1 -0
- package/dist/cjs/utils/build-classname.js +8 -0
- package/dist/cjs/utils/build-classname.js.map +1 -0
- package/dist/cjs/utils/get.js +20 -0
- package/dist/cjs/utils/get.js.map +1 -0
- package/dist/cjs/utils/is-array.js +12 -0
- package/dist/cjs/utils/is-array.js.map +1 -0
- package/dist/cjs/utils/is-empty.js +26 -0
- package/dist/cjs/utils/is-empty.js.map +1 -0
- package/dist/es/components/Accordion/Accordion.js +59 -0
- package/dist/es/components/Accordion/Accordion.js.map +1 -0
- package/dist/es/components/ActionSheet/ActionSheet.js +36 -0
- package/dist/es/components/ActionSheet/ActionSheet.js.map +1 -0
- package/dist/es/components/Alert/Alert.js +32 -0
- package/dist/es/components/Alert/Alert.js.map +1 -0
- package/dist/es/components/Badge/Badge.js +31 -0
- package/dist/es/components/Badge/Badge.js.map +1 -0
- package/dist/es/components/Banner/Banner.js +39 -0
- package/dist/es/components/Banner/Banner.js.map +1 -0
- package/dist/es/components/BodyText/BodyText.js +57 -0
- package/dist/es/components/BodyText/BodyText.js.map +1 -0
- package/dist/es/components/BottomNavigation/BottomNavigation.js +50 -0
- package/dist/es/components/BottomNavigation/BottomNavigation.js.map +1 -0
- package/dist/es/components/Breadcrumb/Breadcrumb.js +61 -0
- package/dist/es/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/es/components/Button/Button.js +116 -0
- package/dist/es/components/Button/Button.js.map +1 -0
- package/dist/es/components/ButtonGroup/ButtonGroup.js +98 -0
- package/dist/es/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/es/components/Card/Card.js +57 -0
- package/dist/es/components/Card/Card.js.map +1 -0
- package/dist/es/components/Checkbox/Checkbox.js +62 -0
- package/dist/es/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/es/components/CheckboxGroup/CheckboxGroup.js +80 -0
- package/dist/es/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/es/components/DataList/DataList.js +285 -0
- package/dist/es/components/DataList/DataList.js.map +1 -0
- package/dist/es/components/DataTable/DataTable.icons.js +17 -0
- package/dist/es/components/DataTable/DataTable.icons.js.map +1 -0
- package/dist/es/components/DataTable/DataTable.js +108 -0
- package/dist/es/components/DataTable/DataTable.js.map +1 -0
- package/dist/es/components/DataTable/DataTable.utils.js +83 -0
- package/dist/es/components/DataTable/DataTable.utils.js.map +1 -0
- package/dist/es/components/DetailedInformation/DetailedInformation.js +65 -0
- package/dist/es/components/DetailedInformation/DetailedInformation.js.map +1 -0
- package/dist/es/components/Dot/index.js +10 -0
- package/dist/es/components/Dot/index.js.map +1 -0
- package/dist/es/components/Drawer/Drawer.js +65 -0
- package/dist/es/components/Drawer/Drawer.js.map +1 -0
- package/dist/es/components/Dropdown/Dropdown.js +48 -0
- package/dist/es/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/es/components/EmptyState/index.js +12 -0
- package/dist/es/components/EmptyState/index.js.map +1 -0
- package/dist/es/components/Flex/Flex.js +22 -0
- package/dist/es/components/Flex/Flex.js.map +1 -0
- package/dist/es/components/FloatingActionButton/FloatingActionButton.js +69 -0
- package/dist/es/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/dist/es/components/Grid/Grid.js +30 -0
- package/dist/es/components/Grid/Grid.js.map +1 -0
- package/dist/es/components/HeadingText/HeadingText.js +87 -0
- package/dist/es/components/HeadingText/HeadingText.js.map +1 -0
- package/dist/es/components/Icons/ArrowDownAZ.svg.js +23 -0
- package/dist/es/components/Icons/ArrowDownAZ.svg.js.map +1 -0
- package/dist/es/components/Icons/ArrowDownNarrowWide.svg.js +23 -0
- package/dist/es/components/Icons/ArrowDownNarrowWide.svg.js.map +1 -0
- package/dist/es/components/Icons/ArrowDownWideNarrow.svg.js +23 -0
- package/dist/es/components/Icons/ArrowDownWideNarrow.svg.js.map +1 -0
- package/dist/es/components/Icons/ArrowDownZA.svg.js +23 -0
- package/dist/es/components/Icons/ArrowDownZA.svg.js.map +1 -0
- package/dist/es/components/Icons/ArrowUpDown.svg.js +23 -0
- package/dist/es/components/Icons/ArrowUpDown.svg.js.map +1 -0
- package/dist/es/components/Icons/BadgeCheck.svg.js +25 -0
- package/dist/es/components/Icons/BadgeCheck.svg.js.map +1 -0
- package/dist/es/components/Icons/Check.svg.js +23 -0
- package/dist/es/components/Icons/Check.svg.js.map +1 -0
- package/dist/es/components/Icons/ChevronDown.svg.js +23 -0
- package/dist/es/components/Icons/ChevronDown.svg.js.map +1 -0
- package/dist/es/components/Icons/ChevronLeft.svg.js +23 -0
- package/dist/es/components/Icons/ChevronLeft.svg.js.map +1 -0
- package/dist/es/components/Icons/ChevronRight.svg.js +23 -0
- package/dist/es/components/Icons/ChevronRight.svg.js.map +1 -0
- package/dist/es/components/Icons/CircleAlert.svg.js +27 -0
- package/dist/es/components/Icons/CircleAlert.svg.js.map +1 -0
- package/dist/es/components/Icons/CircleCheck.svg.js +27 -0
- package/dist/es/components/Icons/CircleCheck.svg.js.map +1 -0
- package/dist/es/components/Icons/CirclePlus.svg.js +27 -0
- package/dist/es/components/Icons/CirclePlus.svg.js.map +1 -0
- package/dist/es/components/Icons/CircleX.svg.js +27 -0
- package/dist/es/components/Icons/CircleX.svg.js.map +1 -0
- package/dist/es/components/Icons/FolderPlus.svg.js +23 -0
- package/dist/es/components/Icons/FolderPlus.svg.js.map +1 -0
- package/dist/es/components/Icons/Info.svg.js +27 -0
- package/dist/es/components/Icons/Info.svg.js.map +1 -0
- package/dist/es/components/Icons/Search.svg.js +27 -0
- package/dist/es/components/Icons/Search.svg.js.map +1 -0
- package/dist/es/components/Icons/Slash.svg.js +23 -0
- package/dist/es/components/Icons/Slash.svg.js.map +1 -0
- package/dist/es/components/Icons/TriangleAlert.svg.js +23 -0
- package/dist/es/components/Icons/TriangleAlert.svg.js.map +1 -0
- package/dist/es/components/Icons/X.svg.js +23 -0
- package/dist/es/components/Icons/X.svg.js.map +1 -0
- package/dist/es/components/Input/Input.js +82 -0
- package/dist/es/components/Input/Input.js.map +1 -0
- package/dist/es/components/Label/Label.js +12 -0
- package/dist/es/components/Label/Label.js.map +1 -0
- package/dist/es/components/Loader/index.js +16 -0
- package/dist/es/components/Loader/index.js.map +1 -0
- package/dist/es/components/MobileHeader/MobileHeader.js +43 -0
- package/dist/es/components/MobileHeader/MobileHeader.js.map +1 -0
- package/dist/es/components/MobilePicker/MobilePicker.js +366 -0
- package/dist/es/components/MobilePicker/MobilePicker.js.map +1 -0
- package/dist/es/components/MobileStepper/MobileStepper.js +31 -0
- package/dist/es/components/MobileStepper/MobileStepper.js.map +1 -0
- package/dist/es/components/Pagination/Pagination.js +31 -0
- package/dist/es/components/Pagination/Pagination.js.map +1 -0
- package/dist/es/components/Pagination/usePagination.js +30 -0
- package/dist/es/components/Pagination/usePagination.js.map +1 -0
- package/dist/es/components/PasswordInput/PasswordInput.js +51 -0
- package/dist/es/components/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/es/components/PinInput/PinInput.js +96 -0
- package/dist/es/components/PinInput/PinInput.js.map +1 -0
- package/dist/es/components/PullToRefresh/PullToRefresh.js +81 -0
- package/dist/es/components/PullToRefresh/PullToRefresh.js.map +1 -0
- package/dist/es/components/QuantityStepper/QuantityStepper.js +75 -0
- package/dist/es/components/QuantityStepper/QuantityStepper.js.map +1 -0
- package/dist/es/components/Radio/Radio.js +32 -0
- package/dist/es/components/Radio/Radio.js.map +1 -0
- package/dist/es/components/RadioGroup/RadioGroup.js +48 -0
- package/dist/es/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/es/components/RadioSwitch/RadioSwitch.js +114 -0
- package/dist/es/components/RadioSwitch/RadioSwitch.js.map +1 -0
- package/dist/es/components/RangeInput/RangeInput.js +64 -0
- package/dist/es/components/RangeInput/RangeInput.js.map +1 -0
- package/dist/es/components/RangeSlider/RangeSlider.js +165 -0
- package/dist/es/components/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/es/components/SegmentedControl/SegmentedControl.js +62 -0
- package/dist/es/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/es/components/SelectBox/SelectBox.js +303 -0
- package/dist/es/components/SelectBox/SelectBox.js.map +1 -0
- package/dist/es/components/Skeleton/Skeleton.js +34 -0
- package/dist/es/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/es/components/StatusPill/StatusPill.js +44 -0
- package/dist/es/components/StatusPill/StatusPill.js.map +1 -0
- package/dist/es/components/StickyActionBar/StickyActionBar.js +20 -0
- package/dist/es/components/StickyActionBar/StickyActionBar.js.map +1 -0
- package/dist/es/components/SwipeableRow/SwipeableRow.js +185 -0
- package/dist/es/components/SwipeableRow/SwipeableRow.js.map +1 -0
- package/dist/es/components/SwipeableTabs/SwipeableTabs.js +89 -0
- package/dist/es/components/SwipeableTabs/SwipeableTabs.js.map +1 -0
- package/dist/es/components/Table/Table.js +48 -0
- package/dist/es/components/Table/Table.js.map +1 -0
- package/dist/es/components/Tabs/Tabs.js +51 -0
- package/dist/es/components/Tabs/Tabs.js.map +1 -0
- package/dist/es/components/TextContent/TextContent.js +45 -0
- package/dist/es/components/TextContent/TextContent.js.map +1 -0
- package/dist/es/components/Textarea/Textarea.js +62 -0
- package/dist/es/components/Textarea/Textarea.js.map +1 -0
- package/dist/es/components/Toast/Toast.js +94 -0
- package/dist/es/components/Toast/Toast.js.map +1 -0
- package/dist/es/components/Toast/ToastProvider.js +148 -0
- package/dist/es/components/Toast/ToastProvider.js.map +1 -0
- package/dist/es/components/VirtualizedDataTable/VirtualizedDataTable.js +120 -0
- package/dist/es/components/VirtualizedDataTable/VirtualizedDataTable.js.map +1 -0
- package/dist/es/components/VirtualizedDataTable/VirtualizedRow.js +46 -0
- package/dist/es/components/VirtualizedDataTable/VirtualizedRow.js.map +1 -0
- package/dist/es/components/WheelPicker/WheelPicker.js +80 -0
- package/dist/es/components/WheelPicker/WheelPicker.js.map +1 -0
- package/dist/es/components/common-responsive.js +287 -0
- package/dist/es/components/common-responsive.js.map +1 -0
- package/dist/es/hooks/use-debounce.js +28 -0
- package/dist/es/hooks/use-debounce.js.map +1 -0
- package/dist/es/hooks/use-is-mobile.js +22 -0
- package/dist/es/hooks/use-is-mobile.js.map +1 -0
- package/dist/es/hooks/use-is-tablet-or-mobile.js +11 -0
- package/dist/es/hooks/use-is-tablet-or-mobile.js.map +1 -0
- package/dist/es/hooks/use-is-tablet.js +19 -0
- package/dist/es/hooks/use-is-tablet.js.map +1 -0
- package/dist/es/index.js +67 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/react-tailwind.css +2 -0
- package/dist/es/react-tailwind.css.map +1 -0
- package/dist/es/utils/build-classname.js +6 -0
- package/dist/es/utils/build-classname.js.map +1 -0
- package/dist/es/utils/get.js +18 -0
- package/dist/es/utils/get.js.map +1 -0
- package/dist/es/utils/is-array.js +10 -0
- package/dist/es/utils/is-array.js.map +1 -0
- package/dist/es/utils/is-empty.js +24 -0
- package/dist/es/utils/is-empty.js.map +1 -0
- package/dist/react-tailwind.cjs.js +3596 -630
- package/dist/react-tailwind.cjs.js.map +1 -1
- package/dist/react-tailwind.es.js +3561 -623
- package/dist/react-tailwind.es.js.map +1 -1
- package/dist/types/components/ActionSheet/ActionSheet.d.ts +5 -0
- package/dist/types/components/ActionSheet/ActionSheet.test.d.ts +1 -0
- package/dist/types/components/ActionSheet/ActionSheet.types.d.ts +44 -0
- package/dist/types/components/ActionSheet/index.d.ts +2 -0
- package/dist/types/components/Badge/Badge.types.d.ts +1 -1
- package/dist/types/components/BodyText/BodyText.d.ts +1 -1
- package/dist/types/components/BodyText/BodyText.types.d.ts +47 -8
- package/dist/types/components/BottomNavigation/BottomNavigation.d.ts +5 -0
- package/dist/types/components/BottomNavigation/BottomNavigation.test.d.ts +1 -0
- package/dist/types/components/BottomNavigation/BottomNavigation.types.d.ts +41 -0
- package/dist/types/components/BottomNavigation/index.d.ts +2 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +2 -3
- package/dist/types/components/Breadcrumb/Breadcrumb.types.d.ts +43 -10
- package/dist/types/components/Button/Button.types.d.ts +17 -63
- package/dist/types/components/ButtonGroup/ButtonGroup.types.d.ts +16 -0
- package/dist/types/components/Card/Card.d.ts +7 -1
- package/dist/types/components/Card/Card.types.d.ts +73 -42
- package/dist/types/components/Checkbox/Checkbox.types.d.ts +28 -1
- package/dist/types/components/CheckboxGroup/CheckboxGroup.types.d.ts +53 -1
- package/dist/types/components/DataList/DataList.d.ts +5 -0
- package/dist/types/components/DataList/DataList.test.d.ts +1 -0
- package/dist/types/components/DataList/DataList.types.d.ts +81 -0
- package/dist/types/components/DataList/index.d.ts +2 -0
- package/dist/types/components/DataTable/DataTable.d.ts +1 -1
- package/dist/types/components/DataTable/DataTable.types.d.ts +10 -0
- package/dist/types/components/DetailedInformation/DetailedInformation.d.ts +1 -1
- package/dist/types/components/DetailedInformation/DetailedInformation.types.d.ts +47 -3
- package/dist/types/components/Drawer/Drawer.types.d.ts +37 -13
- package/dist/types/components/Dropdown/Dropdown.types.d.ts +17 -1
- package/dist/types/components/Flex/Flex.d.ts +3 -0
- package/dist/types/components/Flex/Flex.test.d.ts +1 -0
- package/dist/types/components/Flex/Flex.types.d.ts +92 -0
- package/dist/types/components/Flex/index.d.ts +2 -0
- package/dist/types/components/FloatingActionButton/FloatingActionButton.d.ts +5 -0
- package/dist/types/components/FloatingActionButton/FloatingActionButton.test.d.ts +1 -0
- package/dist/types/components/FloatingActionButton/FloatingActionButton.types.d.ts +48 -0
- package/dist/types/components/FloatingActionButton/index.d.ts +2 -0
- package/dist/types/components/Grid/Grid.d.ts +3 -0
- package/dist/types/components/Grid/Grid.test.d.ts +1 -0
- package/dist/types/components/Grid/Grid.types.d.ts +136 -0
- package/dist/types/components/Grid/index.d.ts +2 -0
- package/dist/types/components/HeadingText/HeadingText.d.ts +7 -7
- package/dist/types/components/HeadingText/HeadingText.test.d.ts +1 -0
- package/dist/types/components/HeadingText/HeadingText.types.d.ts +56 -3
- package/dist/types/components/Input/Input.d.ts +4 -2
- package/dist/types/components/Input/Input.types.d.ts +36 -3
- package/dist/types/components/Loader/index.d.ts +1 -1
- package/dist/types/components/MobileHeader/MobileHeader.d.ts +5 -0
- package/dist/types/components/MobileHeader/MobileHeader.test.d.ts +1 -0
- package/dist/types/components/MobileHeader/MobileHeader.types.d.ts +49 -0
- package/dist/types/components/MobileHeader/index.d.ts +2 -0
- package/dist/types/components/MobilePicker/MobilePicker.d.ts +6 -0
- package/dist/types/components/MobilePicker/MobilePicker.test.d.ts +1 -0
- package/dist/types/components/MobilePicker/MobilePicker.types.d.ts +90 -0
- package/dist/types/components/MobilePicker/index.d.ts +2 -0
- package/dist/types/components/MobileStepper/MobileStepper.d.ts +5 -0
- package/dist/types/components/MobileStepper/MobileStepper.test.d.ts +1 -0
- package/dist/types/components/MobileStepper/MobileStepper.types.d.ts +28 -0
- package/dist/types/components/MobileStepper/index.d.ts +2 -0
- package/dist/types/components/PasswordInput/PasswordInput.d.ts +8 -4
- package/dist/types/components/PasswordInput/PasswordInput.types.d.ts +8 -0
- package/dist/types/components/PinInput/PinInput.d.ts +5 -0
- package/dist/types/components/PinInput/PinInput.test.d.ts +1 -0
- package/dist/types/components/PinInput/PinInput.types.d.ts +29 -0
- package/dist/types/components/PinInput/index.d.ts +2 -0
- package/dist/types/components/PullToRefresh/PullToRefresh.d.ts +5 -0
- package/dist/types/components/PullToRefresh/PullToRefresh.test.d.ts +1 -0
- package/dist/types/components/PullToRefresh/PullToRefresh.types.d.ts +23 -0
- package/dist/types/components/PullToRefresh/index.d.ts +2 -0
- package/dist/types/components/QuantityStepper/QuantityStepper.d.ts +3 -0
- package/dist/types/components/QuantityStepper/QuantityStepper.test.d.ts +1 -0
- package/dist/types/components/QuantityStepper/QuantityStepper.types.d.ts +66 -0
- package/dist/types/components/QuantityStepper/index.d.ts +2 -0
- package/dist/types/components/Radio/Radio.d.ts +1 -1
- package/dist/types/components/Radio/Radio.types.d.ts +12 -2
- package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/types/components/RadioGroup/RadioGroup.types.d.ts +41 -13
- package/dist/types/components/RadioSwitch/RadioSwitch.d.ts +0 -4
- package/dist/types/components/RadioSwitch/RadioSwitch.types.d.ts +6 -31
- package/dist/types/components/RangeInput/RangeInput.d.ts +1 -1
- package/dist/types/components/RangeInput/RangeInput.types.d.ts +14 -1
- package/dist/types/components/RangeSlider/RangeSlider.d.ts +1 -1
- package/dist/types/components/RangeSlider/RangeSlider.types.d.ts +28 -13
- package/dist/types/components/SegmentedControl/SegmentedControl.d.ts +3 -0
- package/dist/types/components/SegmentedControl/SegmentedControl.test.d.ts +1 -0
- package/dist/types/components/SegmentedControl/SegmentedControl.types.d.ts +53 -0
- package/dist/types/components/SegmentedControl/index.d.ts +2 -0
- package/dist/types/components/SelectBox/SelectBox.types.d.ts +32 -14
- package/dist/types/components/Skeleton/Skeleton.d.ts +2 -0
- package/dist/types/components/Skeleton/Skeleton.test.d.ts +1 -0
- package/dist/types/components/Skeleton/Skeleton.types.d.ts +38 -0
- package/dist/types/components/Skeleton/index.d.ts +2 -0
- package/dist/types/components/StatusPill/StatusPill.d.ts +2 -0
- package/dist/types/components/StatusPill/StatusPill.test.d.ts +1 -0
- package/dist/types/components/StatusPill/StatusPill.types.d.ts +29 -0
- package/dist/types/components/StatusPill/index.d.ts +2 -0
- package/dist/types/components/StickyActionBar/StickyActionBar.d.ts +2 -0
- package/dist/types/components/StickyActionBar/StickyActionBar.test.d.ts +1 -0
- package/dist/types/components/StickyActionBar/StickyActionBar.types.d.ts +30 -0
- package/dist/types/components/StickyActionBar/index.d.ts +2 -0
- package/dist/types/components/SwipeableRow/SwipeableRow.d.ts +3 -0
- package/dist/types/components/SwipeableRow/SwipeableRow.test.d.ts +1 -0
- package/dist/types/components/SwipeableRow/SwipeableRow.types.d.ts +42 -0
- package/dist/types/components/SwipeableRow/index.d.ts +2 -0
- package/dist/types/components/SwipeableTabs/SwipeableTabs.d.ts +5 -0
- package/dist/types/components/SwipeableTabs/SwipeableTabs.test.d.ts +1 -0
- package/dist/types/components/SwipeableTabs/SwipeableTabs.types.d.ts +38 -0
- package/dist/types/components/SwipeableTabs/index.d.ts +2 -0
- package/dist/types/components/TextContent/TextContent.d.ts +2 -2
- package/dist/types/components/TextContent/TextContent.types.d.ts +47 -7
- package/dist/types/components/Textarea/Textarea.types.d.ts +37 -3
- package/dist/types/components/Toast/Toast.d.ts +1 -1
- package/dist/types/components/Toast/Toast.types.d.ts +117 -43
- package/dist/types/components/Toast/ToastProvider.d.ts +3 -6
- package/dist/types/components/WheelPicker/WheelPicker.d.ts +5 -0
- package/dist/types/components/WheelPicker/WheelPicker.test.d.ts +1 -0
- package/dist/types/components/WheelPicker/WheelPicker.types.d.ts +35 -0
- package/dist/types/components/WheelPicker/index.d.ts +2 -0
- package/dist/types/components/common-responsive.d.ts +57 -0
- package/dist/types/index.d.ts +19 -0
- package/package.json +11 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualizedRow.js","sources":["../../../../../src/components/VirtualizedDataTable/VirtualizedRow.tsx"],"sourcesContent":["import React from 'react'\nimport { ListChildComponentProps } from 'react-window'\nimport { buildClassName } from '../../utils/build-classname'\nimport { get } from '../../utils/get'\nimport type { DataTableColumn, DataTableDensity } from '../DataTable'\nimport { Checkbox } from '../Checkbox'\nimport type { VirtualizedRowProps } from './VirtualizedDataTable.types'\n\nconst DENSITY_CELL_CLASS: Record<DataTableDensity, string> = {\n compact: 'px-2 py-1.5',\n default: 'px-3 py-3',\n spacious: 'px-4 py-4',\n}\n\nexport const VirtualizedRow = ({\n index,\n style,\n data,\n}: ListChildComponentProps<VirtualizedRowProps>) => {\n const {\n items,\n columns,\n gridTemplate,\n onRowClick,\n rowClass,\n density = 'default',\n striped,\n selectable,\n getKey,\n isSelected,\n toggleRow,\n isRowSelectable,\n } = data\n const item = items[index]\n const isStriped = striped && index % 2 === 1\n const key = getKey?.(item, index) ?? index\n const rowSelectable = !isRowSelectable || isRowSelectable(item)\n\n const resolvedRowClass = !rowClass\n ? ''\n : typeof rowClass === 'function'\n ? rowClass(item, index)\n : rowClass\n\n const getCellClass = (col: DataTableColumn): string => {\n if (!col.cellClass) return ''\n if (typeof col.cellClass === 'function') return col.cellClass(item)\n return col.cellClass\n }\n\n const densityCellClass = DENSITY_CELL_CLASS[density]\n\n return (\n <div\n role=\"row\"\n className={buildClassName(\n 'grid border-b border-[var(--ui-border)] bg-white dark:bg-gray-900 group',\n onRowClick && 'cursor-pointer',\n isStriped && 'bg-gray-50 dark:bg-gray-800/40',\n resolvedRowClass,\n )}\n style={{\n ...style,\n display: 'grid',\n gridTemplateColumns: gridTemplate,\n minWidth: 'fit-content',\n }}\n onClick={onRowClick ? () => onRowClick(item, index) : undefined}\n >\n {selectable && (\n <div\n role=\"cell\"\n className={buildClassName(\n 'flex items-center whitespace-nowrap border-r last:border-r-0 border-[var(--ui-border)]',\n densityCellClass,\n isStriped && 'bg-gray-50 dark:bg-gray-800/40',\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n aria-label=\"Select row\"\n checked={isSelected?.(key) ?? false}\n disabled={!rowSelectable}\n onChange={() => toggleRow?.(key)}\n />\n </div>\n )}\n {columns.map((col: DataTableColumn) => {\n const content = col.render ? col.render(item) : (get(item, col.name) ?? 'Not set')\n\n return (\n <div\n key={col.name}\n role=\"cell\"\n className={buildClassName(\n 'whitespace-nowrap border-r last:border-r-0 border-[var(--ui-border)]',\n densityCellClass,\n col.align === 'center' && 'text-center',\n col.align === 'right' && 'text-right',\n col.sticky === 'left' &&\n 'sticky left-0 z-10 bg-white dark:bg-gray-900 shadow-[2px_0_4px_rgba(0,0,0,0.05)]',\n col.sticky === 'right' &&\n 'sticky right-0 z-10 bg-white dark:bg-gray-900 shadow-[-2px_0_4px_rgba(0,0,0,0.05)]',\n isStriped && 'bg-gray-50 dark:bg-gray-800/40',\n getCellClass(col),\n )}\n >\n {content}\n </div>\n )\n })}\n </div>\n )\n}\n"],"names":["_jsxs","buildClassName","_jsx","Checkbox","get"],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var buildClassname = require('../../utils/build-classname.js');
|
|
6
|
+
|
|
7
|
+
function SingleWheelColumn({ column, itemHeight, height, disabled, onValueChange, }) {
|
|
8
|
+
var _a;
|
|
9
|
+
const containerRef = React.useRef(null);
|
|
10
|
+
const [selectedValue, setSelectedValue] = React.useState(column.value !== undefined
|
|
11
|
+
? column.value
|
|
12
|
+
: column.defaultValue !== undefined
|
|
13
|
+
? column.defaultValue
|
|
14
|
+
: (_a = column.options[0]) === null || _a === void 0 ? void 0 : _a.value);
|
|
15
|
+
const isControlled = column.value !== undefined;
|
|
16
|
+
const currentValue = isControlled ? column.value : selectedValue;
|
|
17
|
+
const selectedIndex = Math.max(0, column.options.findIndex((opt) => opt.value === currentValue));
|
|
18
|
+
const paddingY = (height - itemHeight) / 2;
|
|
19
|
+
// Sync scroll position when active value changes externally
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
if (containerRef.current) {
|
|
22
|
+
const targetScrollTop = selectedIndex * itemHeight;
|
|
23
|
+
if (Math.abs(containerRef.current.scrollTop - targetScrollTop) > 2) {
|
|
24
|
+
containerRef.current.scrollTop = targetScrollTop;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}, [selectedIndex, itemHeight]);
|
|
28
|
+
const handleScroll = () => {
|
|
29
|
+
var _a;
|
|
30
|
+
if (!containerRef.current || disabled)
|
|
31
|
+
return;
|
|
32
|
+
const scrollTop = containerRef.current.scrollTop;
|
|
33
|
+
const index = Math.round(scrollTop / itemHeight);
|
|
34
|
+
const targetOption = column.options[index];
|
|
35
|
+
if (targetOption && targetOption.value !== currentValue && !targetOption.disabled) {
|
|
36
|
+
if (!isControlled) {
|
|
37
|
+
setSelectedValue(targetOption.value);
|
|
38
|
+
}
|
|
39
|
+
(_a = column.onChange) === null || _a === void 0 ? void 0 : _a.call(column, targetOption.value);
|
|
40
|
+
onValueChange(targetOption.value);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
return (jsxRuntime.jsx("div", { ref: containerRef, onScroll: handleScroll, className: buildClassname.buildClassName('flex-1 h-full overflow-y-auto no-scrollbar snap-y snap-mandatory relative z-10 select-none text-center', disabled && 'pointer-events-none opacity-40'), style: {
|
|
44
|
+
paddingTop: `${paddingY}px`,
|
|
45
|
+
paddingBottom: `${paddingY}px`,
|
|
46
|
+
scrollSnapType: 'y mandatory',
|
|
47
|
+
}, "data-testid": `wheel-column-${column.id}`, children: column.options.map((opt, index) => {
|
|
48
|
+
const isSelected = opt.value === currentValue;
|
|
49
|
+
return (jsxRuntime.jsx("div", { onClick: () => {
|
|
50
|
+
if (disabled || opt.disabled || !containerRef.current)
|
|
51
|
+
return;
|
|
52
|
+
const targetTop = index * itemHeight;
|
|
53
|
+
if (typeof containerRef.current.scrollTo === 'function') {
|
|
54
|
+
containerRef.current.scrollTo({
|
|
55
|
+
top: targetTop,
|
|
56
|
+
behavior: 'smooth',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
containerRef.current.scrollTop = targetTop;
|
|
61
|
+
}
|
|
62
|
+
}, className: buildClassname.buildClassName('flex items-center justify-center font-semibold snap-center transition-all duration-150 cursor-pointer', opt.disabled && 'opacity-30 cursor-not-allowed', isSelected
|
|
63
|
+
? 'text-blue-600 dark:text-blue-400 text-sm font-bold scale-105'
|
|
64
|
+
: 'text-gray-500 dark:text-gray-400 text-xs hover:text-gray-800 dark:hover:text-gray-200'), style: { height: `${itemHeight}px` }, "data-testid": `wheel-item-${column.id}-${opt.value}`, children: opt.label }, `${opt.value}-${index}`));
|
|
65
|
+
}) }));
|
|
66
|
+
}
|
|
67
|
+
function WheelPicker({ columns, height = 200, itemHeight = 40, onChange, disabled = false, containerClass = '', }) {
|
|
68
|
+
const valuesRef = React.useRef({});
|
|
69
|
+
const handleColumnChange = (columnId, value) => {
|
|
70
|
+
valuesRef.current[columnId] = value;
|
|
71
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({ ...valuesRef.current });
|
|
72
|
+
};
|
|
73
|
+
const highlightTop = (height - itemHeight) / 2;
|
|
74
|
+
return (jsxRuntime.jsxs("div", { className: buildClassname.buildClassName('w-full bg-white dark:bg-gray-900 border border-[var(--ui-border)] rounded-2xl relative overflow-hidden flex items-center shadow-xs select-none', containerClass), style: { height: `${height}px` }, "data-testid": "wheel-picker", children: [jsxRuntime.jsx("div", { className: "absolute inset-x-2 rounded-xl bg-gray-100/90 dark:bg-gray-800/90 border border-blue-500/20 dark:border-blue-400/20 z-0 pointer-events-none", style: {
|
|
75
|
+
height: `${itemHeight}px`,
|
|
76
|
+
top: `${highlightTop}px`,
|
|
77
|
+
}, "data-testid": "wheel-highlight-window" }), jsxRuntime.jsx("div", { className: "absolute top-0 inset-x-0 bg-gradient-to-b from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20", style: { height: `${highlightTop}px` } }), jsxRuntime.jsx("div", { className: "absolute bottom-0 inset-x-0 bg-gradient-to-t from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20", style: { height: `${highlightTop}px` } }), jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-around relative z-10 px-2", children: columns.map((col) => (jsxRuntime.jsx(SingleWheelColumn, { column: col, itemHeight: itemHeight, height: height, disabled: disabled, onValueChange: (val) => handleColumnChange(col.id, val) }, col.id))) })] }));
|
|
78
|
+
}
|
|
79
|
+
WheelPicker.displayName = 'WheelPicker';
|
|
80
|
+
|
|
81
|
+
exports.WheelPicker = WheelPicker;
|
|
82
|
+
//# sourceMappingURL=WheelPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WheelPicker.js","sources":["../../../../../src/components/WheelPicker/WheelPicker.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react'\nimport type { WheelPickerProps, WheelPickerColumn, WheelPickerOption } from './WheelPicker.types'\nimport { buildClassName } from '../../utils/build-classname'\n\ninterface SingleColumnProps {\n column: WheelPickerColumn\n itemHeight: number\n height: number\n disabled?: boolean\n onValueChange: (val: string | number) => void\n}\n\nfunction SingleWheelColumn({\n column,\n itemHeight,\n height,\n disabled,\n onValueChange,\n}: SingleColumnProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const [selectedValue, setSelectedValue] = useState<string | number>(\n column.value !== undefined\n ? column.value\n : column.defaultValue !== undefined\n ? column.defaultValue\n : column.options[0]?.value,\n )\n\n const isControlled = column.value !== undefined\n const currentValue = isControlled ? column.value : selectedValue\n\n const selectedIndex = Math.max(\n 0,\n column.options.findIndex((opt) => opt.value === currentValue),\n )\n\n const paddingY = (height - itemHeight) / 2\n\n // Sync scroll position when active value changes externally\n useEffect(() => {\n if (containerRef.current) {\n const targetScrollTop = selectedIndex * itemHeight\n if (Math.abs(containerRef.current.scrollTop - targetScrollTop) > 2) {\n containerRef.current.scrollTop = targetScrollTop\n }\n }\n }, [selectedIndex, itemHeight])\n\n const handleScroll = () => {\n if (!containerRef.current || disabled) return\n const scrollTop = containerRef.current.scrollTop\n const index = Math.round(scrollTop / itemHeight)\n const targetOption = column.options[index]\n\n if (targetOption && targetOption.value !== currentValue && !targetOption.disabled) {\n if (!isControlled) {\n setSelectedValue(targetOption.value)\n }\n column.onChange?.(targetOption.value)\n onValueChange(targetOption.value)\n }\n }\n\n return (\n <div\n ref={containerRef}\n onScroll={handleScroll}\n className={buildClassName(\n 'flex-1 h-full overflow-y-auto no-scrollbar snap-y snap-mandatory relative z-10 select-none text-center',\n disabled && 'pointer-events-none opacity-40',\n )}\n style={{\n paddingTop: `${paddingY}px`,\n paddingBottom: `${paddingY}px`,\n scrollSnapType: 'y mandatory',\n }}\n data-testid={`wheel-column-${column.id}`}\n >\n {column.options.map((opt: WheelPickerOption, index: number) => {\n const isSelected = opt.value === currentValue\n\n return (\n <div\n key={`${opt.value}-${index}`}\n onClick={() => {\n if (disabled || opt.disabled || !containerRef.current) return\n const targetTop = index * itemHeight\n if (typeof containerRef.current.scrollTo === 'function') {\n containerRef.current.scrollTo({\n top: targetTop,\n behavior: 'smooth',\n })\n } else {\n containerRef.current.scrollTop = targetTop\n }\n }}\n className={buildClassName(\n 'flex items-center justify-center font-semibold snap-center transition-all duration-150 cursor-pointer',\n opt.disabled && 'opacity-30 cursor-not-allowed',\n isSelected\n ? 'text-blue-600 dark:text-blue-400 text-sm font-bold scale-105'\n : 'text-gray-500 dark:text-gray-400 text-xs hover:text-gray-800 dark:hover:text-gray-200',\n )}\n style={{ height: `${itemHeight}px` }}\n data-testid={`wheel-item-${column.id}-${opt.value}`}\n >\n {opt.label}\n </div>\n )\n })}\n </div>\n )\n}\n\nexport function WheelPicker({\n columns,\n height = 200,\n itemHeight = 40,\n onChange,\n disabled = false,\n containerClass = '',\n}: WheelPickerProps) {\n const valuesRef = useRef<Record<string, string | number>>({})\n\n const handleColumnChange = (columnId: string, value: string | number) => {\n valuesRef.current[columnId] = value\n onChange?.({ ...valuesRef.current })\n }\n\n const highlightTop = (height - itemHeight) / 2\n\n return (\n <div\n className={buildClassName(\n 'w-full bg-white dark:bg-gray-900 border border-[var(--ui-border)] rounded-2xl relative overflow-hidden flex items-center shadow-xs select-none',\n containerClass,\n )}\n style={{ height: `${height}px` }}\n data-testid=\"wheel-picker\"\n >\n {/* Center Highlight Selection Window */}\n <div\n className=\"absolute inset-x-2 rounded-xl bg-gray-100/90 dark:bg-gray-800/90 border border-blue-500/20 dark:border-blue-400/20 z-0 pointer-events-none\"\n style={{\n height: `${itemHeight}px`,\n top: `${highlightTop}px`,\n }}\n data-testid=\"wheel-highlight-window\"\n />\n\n {/* Top Gradient Blur Mask */}\n <div\n className=\"absolute top-0 inset-x-0 bg-gradient-to-b from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20\"\n style={{ height: `${highlightTop}px` }}\n />\n\n {/* Bottom Gradient Blur Mask */}\n <div\n className=\"absolute bottom-0 inset-x-0 bg-gradient-to-t from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20\"\n style={{ height: `${highlightTop}px` }}\n />\n\n {/* Wheel Columns Container */}\n <div className=\"w-full h-full flex items-center justify-around relative z-10 px-2\">\n {columns.map((col) => (\n <SingleWheelColumn\n key={col.id}\n column={col}\n itemHeight={itemHeight}\n height={height}\n disabled={disabled}\n onValueChange={(val) => handleColumnChange(col.id, val)}\n />\n ))}\n </div>\n </div>\n )\n}\n\nWheelPicker.displayName = 'WheelPicker'\n"],"names":["useRef","useState","useEffect","_jsx","buildClassName","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const GAP_MAP = {
|
|
4
|
+
none: 'gap-0',
|
|
5
|
+
xs: 'gap-1',
|
|
6
|
+
sm: 'gap-2',
|
|
7
|
+
md: 'gap-4',
|
|
8
|
+
lg: 'gap-6',
|
|
9
|
+
xl: 'gap-8',
|
|
10
|
+
'2xl': 'gap-12',
|
|
11
|
+
};
|
|
12
|
+
const GAP_X_MAP = {
|
|
13
|
+
none: 'gap-x-0',
|
|
14
|
+
xs: 'gap-x-1',
|
|
15
|
+
sm: 'gap-x-2',
|
|
16
|
+
md: 'gap-x-4',
|
|
17
|
+
lg: 'gap-x-6',
|
|
18
|
+
xl: 'gap-x-8',
|
|
19
|
+
'2xl': 'gap-x-12',
|
|
20
|
+
};
|
|
21
|
+
const GAP_Y_MAP = {
|
|
22
|
+
none: 'gap-y-0',
|
|
23
|
+
xs: 'gap-y-1',
|
|
24
|
+
sm: 'gap-y-2',
|
|
25
|
+
md: 'gap-y-4',
|
|
26
|
+
lg: 'gap-y-6',
|
|
27
|
+
xl: 'gap-y-8',
|
|
28
|
+
'2xl': 'gap-y-12',
|
|
29
|
+
};
|
|
30
|
+
const ALIGN_MAP = {
|
|
31
|
+
start: 'items-start',
|
|
32
|
+
center: 'items-center',
|
|
33
|
+
end: 'items-end',
|
|
34
|
+
baseline: 'items-baseline',
|
|
35
|
+
stretch: 'items-stretch',
|
|
36
|
+
};
|
|
37
|
+
const JUSTIFY_MAP = {
|
|
38
|
+
start: 'justify-start',
|
|
39
|
+
center: 'justify-center',
|
|
40
|
+
end: 'justify-end',
|
|
41
|
+
between: 'justify-between',
|
|
42
|
+
around: 'justify-around',
|
|
43
|
+
evenly: 'justify-evenly',
|
|
44
|
+
};
|
|
45
|
+
const DIRECTION_MAP = {
|
|
46
|
+
row: 'flex-row',
|
|
47
|
+
'row-reverse': 'flex-row-reverse',
|
|
48
|
+
col: 'flex-col',
|
|
49
|
+
'col-reverse': 'flex-col-reverse',
|
|
50
|
+
};
|
|
51
|
+
const WRAP_MAP = {
|
|
52
|
+
wrap: 'flex-wrap',
|
|
53
|
+
nowrap: 'flex-nowrap',
|
|
54
|
+
'wrap-reverse': 'flex-wrap-reverse',
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Resolves the `order` prop to inline styles when it's a raw number.
|
|
58
|
+
*
|
|
59
|
+
* `'first'` / `'last'` map to the static `order-first`/`order-last` Tailwind
|
|
60
|
+
* utilities (safe, since those exact class names are literal elsewhere).
|
|
61
|
+
* Arbitrary numeric orders can't be expressed as a safe literal class (the
|
|
62
|
+
* value is unbounded), so they're applied as an inline `order` style instead
|
|
63
|
+
* — that works regardless of what the consuming app's Tailwind build scans.
|
|
64
|
+
*/
|
|
65
|
+
const resolveOrderStyle = (order) => typeof order === 'number' ? { order } : undefined;
|
|
66
|
+
const resolveOrderClassName = (order) => {
|
|
67
|
+
if (order === 'first')
|
|
68
|
+
return '-order-1';
|
|
69
|
+
if (order === 'last')
|
|
70
|
+
return 'order-last';
|
|
71
|
+
return undefined;
|
|
72
|
+
};
|
|
73
|
+
/** Width-fraction span classes used by `Flex.Item` (unprefixed / base breakpoint). */
|
|
74
|
+
const FLEX_SPAN_MAP = {
|
|
75
|
+
1: 'w-1/12 flex-none',
|
|
76
|
+
2: 'w-2/12 flex-none',
|
|
77
|
+
3: 'w-3/12 flex-none',
|
|
78
|
+
4: 'w-4/12 flex-none',
|
|
79
|
+
5: 'w-5/12 flex-none',
|
|
80
|
+
6: 'w-6/12 flex-none',
|
|
81
|
+
7: 'w-7/12 flex-none',
|
|
82
|
+
8: 'w-8/12 flex-none',
|
|
83
|
+
9: 'w-9/12 flex-none',
|
|
84
|
+
10: 'w-10/12 flex-none',
|
|
85
|
+
11: 'w-11/12 flex-none',
|
|
86
|
+
12: 'w-full flex-none',
|
|
87
|
+
auto: 'w-auto flex-none',
|
|
88
|
+
full: 'w-full flex-none',
|
|
89
|
+
};
|
|
90
|
+
const FLEX_SM_SPAN_MAP = {
|
|
91
|
+
1: 'sm:w-1/12',
|
|
92
|
+
2: 'sm:w-2/12',
|
|
93
|
+
3: 'sm:w-3/12',
|
|
94
|
+
4: 'sm:w-4/12',
|
|
95
|
+
5: 'sm:w-5/12',
|
|
96
|
+
6: 'sm:w-6/12',
|
|
97
|
+
7: 'sm:w-7/12',
|
|
98
|
+
8: 'sm:w-8/12',
|
|
99
|
+
9: 'sm:w-9/12',
|
|
100
|
+
10: 'sm:w-10/12',
|
|
101
|
+
11: 'sm:w-11/12',
|
|
102
|
+
12: 'sm:w-full',
|
|
103
|
+
auto: 'sm:w-auto',
|
|
104
|
+
full: 'sm:w-full',
|
|
105
|
+
};
|
|
106
|
+
const FLEX_MD_SPAN_MAP = {
|
|
107
|
+
1: 'md:w-1/12',
|
|
108
|
+
2: 'md:w-2/12',
|
|
109
|
+
3: 'md:w-3/12',
|
|
110
|
+
4: 'md:w-4/12',
|
|
111
|
+
5: 'md:w-5/12',
|
|
112
|
+
6: 'md:w-6/12',
|
|
113
|
+
7: 'md:w-7/12',
|
|
114
|
+
8: 'md:w-8/12',
|
|
115
|
+
9: 'md:w-9/12',
|
|
116
|
+
10: 'md:w-10/12',
|
|
117
|
+
11: 'md:w-11/12',
|
|
118
|
+
12: 'md:w-full',
|
|
119
|
+
auto: 'md:w-auto',
|
|
120
|
+
full: 'md:w-full',
|
|
121
|
+
};
|
|
122
|
+
const FLEX_LG_SPAN_MAP = {
|
|
123
|
+
1: 'lg:w-1/12',
|
|
124
|
+
2: 'lg:w-2/12',
|
|
125
|
+
3: 'lg:w-3/12',
|
|
126
|
+
4: 'lg:w-4/12',
|
|
127
|
+
5: 'lg:w-5/12',
|
|
128
|
+
6: 'lg:w-6/12',
|
|
129
|
+
7: 'lg:w-7/12',
|
|
130
|
+
8: 'lg:w-8/12',
|
|
131
|
+
9: 'lg:w-9/12',
|
|
132
|
+
10: 'lg:w-10/12',
|
|
133
|
+
11: 'lg:w-11/12',
|
|
134
|
+
12: 'lg:w-full',
|
|
135
|
+
auto: 'lg:w-auto',
|
|
136
|
+
full: 'lg:w-full',
|
|
137
|
+
};
|
|
138
|
+
const FLEX_XL_SPAN_MAP = {
|
|
139
|
+
1: 'xl:w-1/12',
|
|
140
|
+
2: 'xl:w-2/12',
|
|
141
|
+
3: 'xl:w-3/12',
|
|
142
|
+
4: 'xl:w-4/12',
|
|
143
|
+
5: 'xl:w-5/12',
|
|
144
|
+
6: 'xl:w-6/12',
|
|
145
|
+
7: 'xl:w-7/12',
|
|
146
|
+
8: 'xl:w-8/12',
|
|
147
|
+
9: 'xl:w-9/12',
|
|
148
|
+
10: 'xl:w-10/12',
|
|
149
|
+
11: 'xl:w-11/12',
|
|
150
|
+
12: 'xl:w-full',
|
|
151
|
+
auto: 'xl:w-auto',
|
|
152
|
+
full: 'xl:w-full',
|
|
153
|
+
};
|
|
154
|
+
const FLEX_XXL_SPAN_MAP = {
|
|
155
|
+
1: '2xl:w-1/12',
|
|
156
|
+
2: '2xl:w-2/12',
|
|
157
|
+
3: '2xl:w-3/12',
|
|
158
|
+
4: '2xl:w-4/12',
|
|
159
|
+
5: '2xl:w-5/12',
|
|
160
|
+
6: '2xl:w-6/12',
|
|
161
|
+
7: '2xl:w-7/12',
|
|
162
|
+
8: '2xl:w-8/12',
|
|
163
|
+
9: '2xl:w-9/12',
|
|
164
|
+
10: '2xl:w-10/12',
|
|
165
|
+
11: '2xl:w-11/12',
|
|
166
|
+
12: '2xl:w-full',
|
|
167
|
+
auto: '2xl:w-auto',
|
|
168
|
+
full: '2xl:w-full',
|
|
169
|
+
};
|
|
170
|
+
/** `col-span-*` classes used by `Grid.Col` (unprefixed / base breakpoint). */
|
|
171
|
+
const GRID_SPAN_MAP = {
|
|
172
|
+
1: 'col-span-1',
|
|
173
|
+
2: 'col-span-2',
|
|
174
|
+
3: 'col-span-3',
|
|
175
|
+
4: 'col-span-4',
|
|
176
|
+
5: 'col-span-5',
|
|
177
|
+
6: 'col-span-6',
|
|
178
|
+
7: 'col-span-7',
|
|
179
|
+
8: 'col-span-8',
|
|
180
|
+
9: 'col-span-9',
|
|
181
|
+
10: 'col-span-10',
|
|
182
|
+
11: 'col-span-11',
|
|
183
|
+
12: 'col-span-12',
|
|
184
|
+
auto: 'col-auto',
|
|
185
|
+
full: 'col-span-full',
|
|
186
|
+
};
|
|
187
|
+
const GRID_SM_SPAN_MAP = {
|
|
188
|
+
1: 'sm:col-span-1',
|
|
189
|
+
2: 'sm:col-span-2',
|
|
190
|
+
3: 'sm:col-span-3',
|
|
191
|
+
4: 'sm:col-span-4',
|
|
192
|
+
5: 'sm:col-span-5',
|
|
193
|
+
6: 'sm:col-span-6',
|
|
194
|
+
7: 'sm:col-span-7',
|
|
195
|
+
8: 'sm:col-span-8',
|
|
196
|
+
9: 'sm:col-span-9',
|
|
197
|
+
10: 'sm:col-span-10',
|
|
198
|
+
11: 'sm:col-span-11',
|
|
199
|
+
12: 'sm:col-span-12',
|
|
200
|
+
auto: 'sm:col-auto',
|
|
201
|
+
full: 'sm:col-span-full',
|
|
202
|
+
};
|
|
203
|
+
const GRID_MD_SPAN_MAP = {
|
|
204
|
+
1: 'md:col-span-1',
|
|
205
|
+
2: 'md:col-span-2',
|
|
206
|
+
3: 'md:col-span-3',
|
|
207
|
+
4: 'md:col-span-4',
|
|
208
|
+
5: 'md:col-span-5',
|
|
209
|
+
6: 'md:col-span-6',
|
|
210
|
+
7: 'md:col-span-7',
|
|
211
|
+
8: 'md:col-span-8',
|
|
212
|
+
9: 'md:col-span-9',
|
|
213
|
+
10: 'md:col-span-10',
|
|
214
|
+
11: 'md:col-span-11',
|
|
215
|
+
12: 'md:col-span-12',
|
|
216
|
+
auto: 'md:col-auto',
|
|
217
|
+
full: 'md:col-span-full',
|
|
218
|
+
};
|
|
219
|
+
const GRID_LG_SPAN_MAP = {
|
|
220
|
+
1: 'lg:col-span-1',
|
|
221
|
+
2: 'lg:col-span-2',
|
|
222
|
+
3: 'lg:col-span-3',
|
|
223
|
+
4: 'lg:col-span-4',
|
|
224
|
+
5: 'lg:col-span-5',
|
|
225
|
+
6: 'lg:col-span-6',
|
|
226
|
+
7: 'lg:col-span-7',
|
|
227
|
+
8: 'lg:col-span-8',
|
|
228
|
+
9: 'lg:col-span-9',
|
|
229
|
+
10: 'lg:col-span-10',
|
|
230
|
+
11: 'lg:col-span-11',
|
|
231
|
+
12: 'lg:col-span-12',
|
|
232
|
+
auto: 'lg:col-auto',
|
|
233
|
+
full: 'lg:col-span-full',
|
|
234
|
+
};
|
|
235
|
+
const GRID_XL_SPAN_MAP = {
|
|
236
|
+
1: 'xl:col-span-1',
|
|
237
|
+
2: 'xl:col-span-2',
|
|
238
|
+
3: 'xl:col-span-3',
|
|
239
|
+
4: 'xl:col-span-4',
|
|
240
|
+
5: 'xl:col-span-5',
|
|
241
|
+
6: 'xl:col-span-6',
|
|
242
|
+
7: 'xl:col-span-7',
|
|
243
|
+
8: 'xl:col-span-8',
|
|
244
|
+
9: 'xl:col-span-9',
|
|
245
|
+
10: 'xl:col-span-10',
|
|
246
|
+
11: 'xl:col-span-11',
|
|
247
|
+
12: 'xl:col-span-12',
|
|
248
|
+
auto: 'xl:col-auto',
|
|
249
|
+
full: 'xl:col-span-full',
|
|
250
|
+
};
|
|
251
|
+
const GRID_XXL_SPAN_MAP = {
|
|
252
|
+
1: '2xl:col-span-1',
|
|
253
|
+
2: '2xl:col-span-2',
|
|
254
|
+
3: '2xl:col-span-3',
|
|
255
|
+
4: '2xl:col-span-4',
|
|
256
|
+
5: '2xl:col-span-5',
|
|
257
|
+
6: '2xl:col-span-6',
|
|
258
|
+
7: '2xl:col-span-7',
|
|
259
|
+
8: '2xl:col-span-8',
|
|
260
|
+
9: '2xl:col-span-9',
|
|
261
|
+
10: '2xl:col-span-10',
|
|
262
|
+
11: '2xl:col-span-11',
|
|
263
|
+
12: '2xl:col-span-12',
|
|
264
|
+
auto: '2xl:col-auto',
|
|
265
|
+
full: '2xl:col-span-full',
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Preset track-count classes for `Grid`'s `cols` prop. Each preset
|
|
269
|
+
* progressively reveals more columns at wider breakpoints so a grid is
|
|
270
|
+
* responsive out of the box without the caller specifying per-item spans.
|
|
271
|
+
*/
|
|
272
|
+
const GRID_COLS_MAP = {
|
|
273
|
+
1: 'grid-cols-1',
|
|
274
|
+
2: 'grid-cols-1 sm:grid-cols-2',
|
|
275
|
+
3: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3',
|
|
276
|
+
4: 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-4',
|
|
277
|
+
5: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5',
|
|
278
|
+
6: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6',
|
|
279
|
+
7: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-7',
|
|
280
|
+
8: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-8',
|
|
281
|
+
9: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-9',
|
|
282
|
+
10: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-5 lg:grid-cols-10',
|
|
283
|
+
11: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-6 lg:grid-cols-11',
|
|
284
|
+
12: 'grid-cols-12',
|
|
285
|
+
auto: 'grid-cols-none auto-cols-auto',
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
exports.ALIGN_MAP = ALIGN_MAP;
|
|
289
|
+
exports.DIRECTION_MAP = DIRECTION_MAP;
|
|
290
|
+
exports.FLEX_LG_SPAN_MAP = FLEX_LG_SPAN_MAP;
|
|
291
|
+
exports.FLEX_MD_SPAN_MAP = FLEX_MD_SPAN_MAP;
|
|
292
|
+
exports.FLEX_SM_SPAN_MAP = FLEX_SM_SPAN_MAP;
|
|
293
|
+
exports.FLEX_SPAN_MAP = FLEX_SPAN_MAP;
|
|
294
|
+
exports.FLEX_XL_SPAN_MAP = FLEX_XL_SPAN_MAP;
|
|
295
|
+
exports.FLEX_XXL_SPAN_MAP = FLEX_XXL_SPAN_MAP;
|
|
296
|
+
exports.GAP_MAP = GAP_MAP;
|
|
297
|
+
exports.GAP_X_MAP = GAP_X_MAP;
|
|
298
|
+
exports.GAP_Y_MAP = GAP_Y_MAP;
|
|
299
|
+
exports.GRID_COLS_MAP = GRID_COLS_MAP;
|
|
300
|
+
exports.GRID_LG_SPAN_MAP = GRID_LG_SPAN_MAP;
|
|
301
|
+
exports.GRID_MD_SPAN_MAP = GRID_MD_SPAN_MAP;
|
|
302
|
+
exports.GRID_SM_SPAN_MAP = GRID_SM_SPAN_MAP;
|
|
303
|
+
exports.GRID_SPAN_MAP = GRID_SPAN_MAP;
|
|
304
|
+
exports.GRID_XL_SPAN_MAP = GRID_XL_SPAN_MAP;
|
|
305
|
+
exports.GRID_XXL_SPAN_MAP = GRID_XXL_SPAN_MAP;
|
|
306
|
+
exports.JUSTIFY_MAP = JUSTIFY_MAP;
|
|
307
|
+
exports.WRAP_MAP = WRAP_MAP;
|
|
308
|
+
exports.resolveOrderClassName = resolveOrderClassName;
|
|
309
|
+
exports.resolveOrderStyle = resolveOrderStyle;
|
|
310
|
+
//# sourceMappingURL=common-responsive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-responsive.js","sources":["../../../../src/components/common-responsive.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\n\n/**\n * Shared class-name lookup tables for `Flex`/`Grid` (and their `.Item`/`.Col`\n * sub-components).\n *\n * These are intentionally plain object literals with fully spelled-out class\n * names (e.g. `'sm:col-span-6'`) rather than strings built with template\n * interpolation (e.g. `` `sm:col-span-${n}` ``). Tailwind's JIT compiler\n * discovers classes by statically scanning file text for literal substrings —\n * it does not execute this code — so any class name assembled at runtime\n * would never be generated into the final stylesheet. Keep every entry here\n * fully literal.\n */\n\nexport type ResponsiveGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\nexport type ResponsiveAlign = 'start' | 'center' | 'end' | 'baseline' | 'stretch'\nexport type ResponsiveJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\nexport type ResponsiveDirection = 'row' | 'row-reverse' | 'col' | 'col-reverse'\nexport type ResponsiveWrap = 'wrap' | 'nowrap' | 'wrap-reverse'\nexport type ResponsiveOrder = 'first' | 'last' | number\n\nexport const GAP_MAP: Record<ResponsiveGap, string> = {\n none: 'gap-0',\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n '2xl': 'gap-12',\n}\n\nexport const GAP_X_MAP: Record<ResponsiveGap, string> = {\n none: 'gap-x-0',\n xs: 'gap-x-1',\n sm: 'gap-x-2',\n md: 'gap-x-4',\n lg: 'gap-x-6',\n xl: 'gap-x-8',\n '2xl': 'gap-x-12',\n}\n\nexport const GAP_Y_MAP: Record<ResponsiveGap, string> = {\n none: 'gap-y-0',\n xs: 'gap-y-1',\n sm: 'gap-y-2',\n md: 'gap-y-4',\n lg: 'gap-y-6',\n xl: 'gap-y-8',\n '2xl': 'gap-y-12',\n}\n\nexport const ALIGN_MAP: Record<ResponsiveAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n}\n\nexport const JUSTIFY_MAP: Record<ResponsiveJustify, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n}\n\nexport const DIRECTION_MAP: Record<ResponsiveDirection, string> = {\n row: 'flex-row',\n 'row-reverse': 'flex-row-reverse',\n col: 'flex-col',\n 'col-reverse': 'flex-col-reverse',\n}\n\nexport const WRAP_MAP: Record<ResponsiveWrap, string> = {\n wrap: 'flex-wrap',\n nowrap: 'flex-nowrap',\n 'wrap-reverse': 'flex-wrap-reverse',\n}\n\n/**\n * Resolves the `order` prop to inline styles when it's a raw number.\n *\n * `'first'` / `'last'` map to the static `order-first`/`order-last` Tailwind\n * utilities (safe, since those exact class names are literal elsewhere).\n * Arbitrary numeric orders can't be expressed as a safe literal class (the\n * value is unbounded), so they're applied as an inline `order` style instead\n * — that works regardless of what the consuming app's Tailwind build scans.\n */\nexport const resolveOrderStyle = (order?: ResponsiveOrder): CSSProperties | undefined =>\n typeof order === 'number' ? { order } : undefined\n\nexport const resolveOrderClassName = (order?: ResponsiveOrder): string | undefined => {\n if (order === 'first') return '-order-1'\n if (order === 'last') return 'order-last'\n return undefined\n}\n\n/** Width-fraction span classes used by `Flex.Item` (unprefixed / base breakpoint). */\nexport const FLEX_SPAN_MAP: Record<string, string> = {\n 1: 'w-1/12 flex-none',\n 2: 'w-2/12 flex-none',\n 3: 'w-3/12 flex-none',\n 4: 'w-4/12 flex-none',\n 5: 'w-5/12 flex-none',\n 6: 'w-6/12 flex-none',\n 7: 'w-7/12 flex-none',\n 8: 'w-8/12 flex-none',\n 9: 'w-9/12 flex-none',\n 10: 'w-10/12 flex-none',\n 11: 'w-11/12 flex-none',\n 12: 'w-full flex-none',\n auto: 'w-auto flex-none',\n full: 'w-full flex-none',\n}\n\nexport const FLEX_SM_SPAN_MAP: Record<string, string> = {\n 1: 'sm:w-1/12',\n 2: 'sm:w-2/12',\n 3: 'sm:w-3/12',\n 4: 'sm:w-4/12',\n 5: 'sm:w-5/12',\n 6: 'sm:w-6/12',\n 7: 'sm:w-7/12',\n 8: 'sm:w-8/12',\n 9: 'sm:w-9/12',\n 10: 'sm:w-10/12',\n 11: 'sm:w-11/12',\n 12: 'sm:w-full',\n auto: 'sm:w-auto',\n full: 'sm:w-full',\n}\n\nexport const FLEX_MD_SPAN_MAP: Record<string, string> = {\n 1: 'md:w-1/12',\n 2: 'md:w-2/12',\n 3: 'md:w-3/12',\n 4: 'md:w-4/12',\n 5: 'md:w-5/12',\n 6: 'md:w-6/12',\n 7: 'md:w-7/12',\n 8: 'md:w-8/12',\n 9: 'md:w-9/12',\n 10: 'md:w-10/12',\n 11: 'md:w-11/12',\n 12: 'md:w-full',\n auto: 'md:w-auto',\n full: 'md:w-full',\n}\n\nexport const FLEX_LG_SPAN_MAP: Record<string, string> = {\n 1: 'lg:w-1/12',\n 2: 'lg:w-2/12',\n 3: 'lg:w-3/12',\n 4: 'lg:w-4/12',\n 5: 'lg:w-5/12',\n 6: 'lg:w-6/12',\n 7: 'lg:w-7/12',\n 8: 'lg:w-8/12',\n 9: 'lg:w-9/12',\n 10: 'lg:w-10/12',\n 11: 'lg:w-11/12',\n 12: 'lg:w-full',\n auto: 'lg:w-auto',\n full: 'lg:w-full',\n}\n\nexport const FLEX_XL_SPAN_MAP: Record<string, string> = {\n 1: 'xl:w-1/12',\n 2: 'xl:w-2/12',\n 3: 'xl:w-3/12',\n 4: 'xl:w-4/12',\n 5: 'xl:w-5/12',\n 6: 'xl:w-6/12',\n 7: 'xl:w-7/12',\n 8: 'xl:w-8/12',\n 9: 'xl:w-9/12',\n 10: 'xl:w-10/12',\n 11: 'xl:w-11/12',\n 12: 'xl:w-full',\n auto: 'xl:w-auto',\n full: 'xl:w-full',\n}\n\nexport const FLEX_XXL_SPAN_MAP: Record<string, string> = {\n 1: '2xl:w-1/12',\n 2: '2xl:w-2/12',\n 3: '2xl:w-3/12',\n 4: '2xl:w-4/12',\n 5: '2xl:w-5/12',\n 6: '2xl:w-6/12',\n 7: '2xl:w-7/12',\n 8: '2xl:w-8/12',\n 9: '2xl:w-9/12',\n 10: '2xl:w-10/12',\n 11: '2xl:w-11/12',\n 12: '2xl:w-full',\n auto: '2xl:w-auto',\n full: '2xl:w-full',\n}\n\n/** `col-span-*` classes used by `Grid.Col` (unprefixed / base breakpoint). */\nexport const GRID_SPAN_MAP: Record<string, string> = {\n 1: 'col-span-1',\n 2: 'col-span-2',\n 3: 'col-span-3',\n 4: 'col-span-4',\n 5: 'col-span-5',\n 6: 'col-span-6',\n 7: 'col-span-7',\n 8: 'col-span-8',\n 9: 'col-span-9',\n 10: 'col-span-10',\n 11: 'col-span-11',\n 12: 'col-span-12',\n auto: 'col-auto',\n full: 'col-span-full',\n}\n\nexport const GRID_SM_SPAN_MAP: Record<string, string> = {\n 1: 'sm:col-span-1',\n 2: 'sm:col-span-2',\n 3: 'sm:col-span-3',\n 4: 'sm:col-span-4',\n 5: 'sm:col-span-5',\n 6: 'sm:col-span-6',\n 7: 'sm:col-span-7',\n 8: 'sm:col-span-8',\n 9: 'sm:col-span-9',\n 10: 'sm:col-span-10',\n 11: 'sm:col-span-11',\n 12: 'sm:col-span-12',\n auto: 'sm:col-auto',\n full: 'sm:col-span-full',\n}\n\nexport const GRID_MD_SPAN_MAP: Record<string, string> = {\n 1: 'md:col-span-1',\n 2: 'md:col-span-2',\n 3: 'md:col-span-3',\n 4: 'md:col-span-4',\n 5: 'md:col-span-5',\n 6: 'md:col-span-6',\n 7: 'md:col-span-7',\n 8: 'md:col-span-8',\n 9: 'md:col-span-9',\n 10: 'md:col-span-10',\n 11: 'md:col-span-11',\n 12: 'md:col-span-12',\n auto: 'md:col-auto',\n full: 'md:col-span-full',\n}\n\nexport const GRID_LG_SPAN_MAP: Record<string, string> = {\n 1: 'lg:col-span-1',\n 2: 'lg:col-span-2',\n 3: 'lg:col-span-3',\n 4: 'lg:col-span-4',\n 5: 'lg:col-span-5',\n 6: 'lg:col-span-6',\n 7: 'lg:col-span-7',\n 8: 'lg:col-span-8',\n 9: 'lg:col-span-9',\n 10: 'lg:col-span-10',\n 11: 'lg:col-span-11',\n 12: 'lg:col-span-12',\n auto: 'lg:col-auto',\n full: 'lg:col-span-full',\n}\n\nexport const GRID_XL_SPAN_MAP: Record<string, string> = {\n 1: 'xl:col-span-1',\n 2: 'xl:col-span-2',\n 3: 'xl:col-span-3',\n 4: 'xl:col-span-4',\n 5: 'xl:col-span-5',\n 6: 'xl:col-span-6',\n 7: 'xl:col-span-7',\n 8: 'xl:col-span-8',\n 9: 'xl:col-span-9',\n 10: 'xl:col-span-10',\n 11: 'xl:col-span-11',\n 12: 'xl:col-span-12',\n auto: 'xl:col-auto',\n full: 'xl:col-span-full',\n}\n\nexport const GRID_XXL_SPAN_MAP: Record<string, string> = {\n 1: '2xl:col-span-1',\n 2: '2xl:col-span-2',\n 3: '2xl:col-span-3',\n 4: '2xl:col-span-4',\n 5: '2xl:col-span-5',\n 6: '2xl:col-span-6',\n 7: '2xl:col-span-7',\n 8: '2xl:col-span-8',\n 9: '2xl:col-span-9',\n 10: '2xl:col-span-10',\n 11: '2xl:col-span-11',\n 12: '2xl:col-span-12',\n auto: '2xl:col-auto',\n full: '2xl:col-span-full',\n}\n\n/**\n * Preset track-count classes for `Grid`'s `cols` prop. Each preset\n * progressively reveals more columns at wider breakpoints so a grid is\n * responsive out of the box without the caller specifying per-item spans.\n */\nexport const GRID_COLS_MAP: Record<string, string> = {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 sm:grid-cols-2',\n 3: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3',\n 4: 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-4',\n 5: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5',\n 6: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6',\n 7: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-7',\n 8: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-8',\n 9: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-9',\n 10: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-5 lg:grid-cols-10',\n 11: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-6 lg:grid-cols-11',\n 12: 'grid-cols-12',\n auto: 'grid-cols-none auto-cols-auto',\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
const useDebounce = (value, delay) => {
|
|
6
|
+
const [debouncedValue, setDebouncedValue] = React.useState(value);
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
const handler = setTimeout(() => {
|
|
9
|
+
setDebouncedValue(value);
|
|
10
|
+
}, delay);
|
|
11
|
+
// Cancel the timeout if value or delay changes
|
|
12
|
+
return () => {
|
|
13
|
+
clearTimeout(handler);
|
|
14
|
+
};
|
|
15
|
+
}, [value, delay]);
|
|
16
|
+
return debouncedValue;
|
|
17
|
+
};
|
|
18
|
+
const useDebounceFn = (fn, ms) => {
|
|
19
|
+
const timeout = React.useRef(null);
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
return () => clearTimeout(timeout.current);
|
|
22
|
+
}, []);
|
|
23
|
+
return React.useCallback((...args) => {
|
|
24
|
+
clearTimeout(timeout.current);
|
|
25
|
+
timeout.current = setTimeout(() => fn(...args), ms);
|
|
26
|
+
}, [fn, ms]);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.useDebounce = useDebounce;
|
|
30
|
+
exports.useDebounceFn = useDebounceFn;
|
|
31
|
+
//# sourceMappingURL=use-debounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-debounce.js","sources":["../../../../src/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport const useDebounce = <T,>(value: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value)\n }, delay)\n\n // Cancel the timeout if value or delay changes\n return () => {\n clearTimeout(handler)\n }\n }, [value, delay])\n\n return debouncedValue\n}\n\nexport const useDebounceFn = (fn: (...args: any[]) => void, ms: number) => {\n const timeout = useRef<any>(null)\n\n useEffect(() => {\n return () => clearTimeout(timeout.current)\n }, [])\n\n return useCallback(\n (...args: any[]) => {\n clearTimeout(timeout.current)\n timeout.current = setTimeout(() => fn(...args), ms)\n },\n [fn, ms],\n )\n}\n"],"names":["useState","useEffect","useRef","useCallback"],"mappings":";;;;MAEa,WAAW,GAAG,CAAK,KAAQ,EAAE,KAAa,KAAO;IAC5D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,cAAQ,CAAI,KAAK,CAAC;IAE9DC,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;YAC9B,iBAAiB,CAAC,KAAK,CAAC;QAC1B,CAAC,EAAE,KAAK,CAAC;;AAGT,QAAA,OAAO,MAAK;YACV,YAAY,CAAC,OAAO,CAAC;AACvB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElB,IAAA,OAAO,cAAc;AACvB;MAEa,aAAa,GAAG,CAAC,EAA4B,EAAE,EAAU,KAAI;AACxE,IAAA,MAAM,OAAO,GAAGC,YAAM,CAAM,IAAI,CAAC;IAEjCD,eAAS,CAAC,MAAK;QACb,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAOE,iBAAW,CAChB,CAAC,GAAG,IAAW,KAAI;AACjB,QAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;AAC7B,QAAA,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrD,IAAA,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT;AACH;;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
const useIsMobile = () => {
|
|
6
|
+
const [isMobile, setIsMobile] = React.useState(false);
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
const detect = () => {
|
|
9
|
+
const width = window.innerWidth;
|
|
10
|
+
const isTouch = (typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1) ||
|
|
11
|
+
(typeof window !== 'undefined' &&
|
|
12
|
+
typeof window.matchMedia === 'function' &&
|
|
13
|
+
window.matchMedia('(pointer: coarse)').matches);
|
|
14
|
+
setIsMobile(width < 600 && isTouch);
|
|
15
|
+
};
|
|
16
|
+
detect();
|
|
17
|
+
window.addEventListener('resize', detect);
|
|
18
|
+
return () => window.removeEventListener('resize', detect);
|
|
19
|
+
}, []);
|
|
20
|
+
return isMobile;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.useIsMobile = useIsMobile;
|
|
24
|
+
//# sourceMappingURL=use-is-mobile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-mobile.js","sources":["../../../../src/hooks/use-is-mobile.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(false)\n\n useEffect(() => {\n const detect = () => {\n const width = window.innerWidth\n\n const isTouch =\n (typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1) ||\n (typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(pointer: coarse)').matches)\n\n setIsMobile(width < 600 && isTouch)\n }\n\n detect()\n window.addEventListener('resize', detect)\n return () => window.removeEventListener('resize', detect)\n }, [])\n\n return isMobile\n}\n"],"names":["useState","useEffect"],"mappings":";;;;AAEO,MAAM,WAAW,GAAG,MAAK;IAC9B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAE/CC,eAAS,CAAC,MAAK;QACb,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAE/B,YAAA,MAAM,OAAO,GACX,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC;iBAChE,OAAO,MAAM,KAAK,WAAW;AAC5B,oBAAA,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;oBACvC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;AAEnD,YAAA,WAAW,CAAC,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC;AACrC,QAAA,CAAC;AAED,QAAA,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ;AACjB;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var useIsMobile = require('./use-is-mobile.js');
|
|
4
|
+
var useIsTablet = require('./use-is-tablet.js');
|
|
5
|
+
|
|
6
|
+
const useIsTabletOrMobile = () => {
|
|
7
|
+
const isMobile = useIsMobile.useIsMobile();
|
|
8
|
+
const isTablet = useIsTablet.useIsTablet();
|
|
9
|
+
return isMobile || isTablet;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports.useIsTabletOrMobile = useIsTabletOrMobile;
|
|
13
|
+
//# sourceMappingURL=use-is-tablet-or-mobile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-tablet-or-mobile.js","sources":["../../../../src/hooks/use-is-tablet-or-mobile.tsx"],"sourcesContent":["import { useIsMobile } from './use-is-mobile'\nimport { useIsTablet } from './use-is-tablet'\n\nexport const useIsTabletOrMobile = () => {\n const isMobile = useIsMobile()\n const isTablet = useIsTablet()\n\n return isMobile || isTablet\n}\n"],"names":["useIsMobile","useIsTablet"],"mappings":";;;;;AAGO,MAAM,mBAAmB,GAAG,MAAK;AACtC,IAAA,MAAM,QAAQ,GAAGA,uBAAW,EAAE;AAC9B,IAAA,MAAM,QAAQ,GAAGC,uBAAW,EAAE;IAE9B,OAAO,QAAQ,IAAI,QAAQ;AAC7B;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
const useIsTablet = () => {
|
|
6
|
+
const [isTablet, setIsTablet] = React.useState(false);
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
const detect = () => {
|
|
9
|
+
const width = window.innerWidth;
|
|
10
|
+
const isTouch = navigator.maxTouchPoints > 1 || window.matchMedia('(pointer: coarse)').matches;
|
|
11
|
+
setIsTablet(width >= 600 && width <= 1024 && isTouch);
|
|
12
|
+
};
|
|
13
|
+
detect();
|
|
14
|
+
window.addEventListener('resize', detect);
|
|
15
|
+
return () => window.removeEventListener('resize', detect);
|
|
16
|
+
}, []);
|
|
17
|
+
return isTablet;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.useIsTablet = useIsTablet;
|
|
21
|
+
//# sourceMappingURL=use-is-tablet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-tablet.js","sources":["../../../../src/hooks/use-is-tablet.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport const useIsTablet = () => {\n const [isTablet, setIsTablet] = useState(false)\n\n useEffect(() => {\n const detect = () => {\n const width = window.innerWidth\n\n const isTouch = navigator.maxTouchPoints > 1 || window.matchMedia('(pointer: coarse)').matches\n\n setIsTablet(width >= 600 && width <= 1024 && isTouch)\n }\n\n detect()\n window.addEventListener('resize', detect)\n return () => window.removeEventListener('resize', detect)\n }, [])\n\n return isTablet\n}\n"],"names":["useState","useEffect"],"mappings":";;;;AAEO,MAAM,WAAW,GAAG,MAAK;IAC9B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAE/CC,eAAS,CAAC,MAAK;QACb,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAE/B,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO;YAE9F,WAAW,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC;AACvD,QAAA,CAAC;AAED,QAAA,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ;AACjB;;;;"}
|