@forgedevstack/bear 1.0.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/README.md +279 -0
- package/dist/components/Accordion/Accordion.cjs +1 -0
- package/dist/components/Accordion/Accordion.d.ts +22 -0
- package/dist/components/Accordion/Accordion.js +79 -0
- package/dist/components/Accordion/Accordion.types.d.ts +32 -0
- package/dist/components/Accordion/index.d.ts +2 -0
- package/dist/components/Alert/Alert.cjs +1 -0
- package/dist/components/Alert/Alert.d.ts +16 -0
- package/dist/components/Alert/Alert.js +109 -0
- package/dist/components/Alert/Alert.types.d.ts +23 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/AppBar/AppBar.cjs +1 -0
- package/dist/components/AppBar/AppBar.d.ts +3 -0
- package/dist/components/AppBar/AppBar.js +49 -0
- package/dist/components/AppBar/AppBar.types.d.ts +12 -0
- package/dist/components/AppBar/index.d.ts +2 -0
- package/dist/components/Autocomplete/Autocomplete.cjs +1 -0
- package/dist/components/Autocomplete/Autocomplete.d.ts +17 -0
- package/dist/components/Autocomplete/Autocomplete.js +137 -0
- package/dist/components/Autocomplete/Autocomplete.types.d.ts +36 -0
- package/dist/components/Autocomplete/index.d.ts +2 -0
- package/dist/components/Avatar/Avatar.cjs +1 -0
- package/dist/components/Avatar/Avatar.d.ts +16 -0
- package/dist/components/Avatar/Avatar.js +102 -0
- package/dist/components/Avatar/Avatar.types.d.ts +31 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Badge/Badge.cjs +1 -0
- package/dist/components/Badge/Badge.d.ts +13 -0
- package/dist/components/Badge/Badge.js +67 -0
- package/dist/components/Badge/Badge.types.d.ts +14 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/BearLoader/BearLoader.cjs +40 -0
- package/dist/components/BearLoader/BearLoader.d.ts +14 -0
- package/dist/components/BearLoader/BearLoader.js +183 -0
- package/dist/components/BearLoader/BearLoader.types.d.ts +16 -0
- package/dist/components/BearLoader/index.d.ts +2 -0
- package/dist/components/BearLogo/BearLogo.cjs +1 -0
- package/dist/components/BearLogo/BearLogo.d.ts +18 -0
- package/dist/components/BearLogo/BearLogo.js +134 -0
- package/dist/components/BearLogo/EmberLogo.d.ts +14 -0
- package/dist/components/BearLogo/index.d.ts +2 -0
- package/dist/components/BottomNavigation/BottomNavigation.cjs +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.d.ts +3 -0
- package/dist/components/BottomNavigation/BottomNavigation.js +49 -0
- package/dist/components/BottomNavigation/BottomNavigation.types.d.ts +16 -0
- package/dist/components/BottomNavigation/index.d.ts +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js +41 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +17 -0
- package/dist/components/Breadcrumbs/index.d.ts +2 -0
- package/dist/components/Button/Button.cjs +57 -0
- package/dist/components/Button/Button.d.ts +20 -0
- package/dist/components/Button/Button.js +125 -0
- package/dist/components/Button/Button.types.d.ts +18 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/ButtonGroup/ButtonGroup.cjs +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +16 -0
- package/dist/components/ButtonGroup/ButtonGroup.js +51 -0
- package/dist/components/ButtonGroup/ButtonGroup.types.d.ts +18 -0
- package/dist/components/ButtonGroup/index.d.ts +2 -0
- package/dist/components/Card/Card.cjs +1 -0
- package/dist/components/Card/Card.d.ts +31 -0
- package/dist/components/Card/Card.js +113 -0
- package/dist/components/Card/Card.types.d.ts +28 -0
- package/dist/components/Card/index.d.ts +2 -0
- package/dist/components/Carousel/Carousel.cjs +1 -0
- package/dist/components/Carousel/Carousel.d.ts +15 -0
- package/dist/components/Carousel/Carousel.js +122 -0
- package/dist/components/Carousel/Carousel.types.d.ts +25 -0
- package/dist/components/Carousel/index.d.ts +2 -0
- package/dist/components/Checkbox/Checkbox.cjs +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +13 -0
- package/dist/components/Checkbox/Checkbox.js +139 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts +28 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Chip/Chip.cjs +1 -0
- package/dist/components/Chip/Chip.d.ts +3 -0
- package/dist/components/Chip/Chip.js +85 -0
- package/dist/components/Chip/Chip.types.d.ts +13 -0
- package/dist/components/Chip/index.d.ts +2 -0
- package/dist/components/Collapsible/Collapsible.cjs +1 -0
- package/dist/components/Collapsible/Collapsible.d.ts +3 -0
- package/dist/components/Collapsible/Collapsible.js +59 -0
- package/dist/components/Collapsible/Collapsible.types.d.ts +13 -0
- package/dist/components/Collapsible/index.d.ts +2 -0
- package/dist/components/ColorPicker/ColorPicker.cjs +1 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +3 -0
- package/dist/components/ColorPicker/ColorPicker.js +113 -0
- package/dist/components/ColorPicker/ColorPicker.types.d.ts +11 -0
- package/dist/components/ColorPicker/index.d.ts +2 -0
- package/dist/components/Container/Container.cjs +1 -0
- package/dist/components/Container/Container.d.ts +12 -0
- package/dist/components/Container/Container.js +40 -0
- package/dist/components/Container/Container.types.d.ts +12 -0
- package/dist/components/Container/index.d.ts +2 -0
- package/dist/components/CopyButton/CopyButton.cjs +1 -0
- package/dist/components/CopyButton/CopyButton.d.ts +3 -0
- package/dist/components/CopyButton/CopyButton.js +52 -0
- package/dist/components/CopyButton/CopyButton.types.d.ts +13 -0
- package/dist/components/CopyButton/index.d.ts +2 -0
- package/dist/components/DataTable/DataTable.cjs +1 -0
- package/dist/components/DataTable/DataTable.d.ts +22 -0
- package/dist/components/DataTable/DataTable.js +120 -0
- package/dist/components/DataTable/DataTable.types.d.ts +53 -0
- package/dist/components/DataTable/index.d.ts +2 -0
- package/dist/components/DatePicker/DatePicker.cjs +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +3 -0
- package/dist/components/DatePicker/DatePicker.js +111 -0
- package/dist/components/DatePicker/DatePicker.types.d.ts +25 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/Divider/Divider.cjs +1 -0
- package/dist/components/Divider/Divider.d.ts +22 -0
- package/dist/components/Divider/Divider.js +99 -0
- package/dist/components/Divider/Divider.types.d.ts +19 -0
- package/dist/components/Divider/index.d.ts +2 -0
- package/dist/components/Drawer/Drawer.cjs +1 -0
- package/dist/components/Drawer/Drawer.d.ts +3 -0
- package/dist/components/Drawer/Drawer.js +113 -0
- package/dist/components/Drawer/Drawer.types.d.ts +23 -0
- package/dist/components/Drawer/index.d.ts +2 -0
- package/dist/components/Dropdown/Dropdown.cjs +1 -0
- package/dist/components/Dropdown/Dropdown.d.ts +19 -0
- package/dist/components/Dropdown/Dropdown.js +171 -0
- package/dist/components/Dropdown/Dropdown.types.d.ts +56 -0
- package/dist/components/Dropdown/index.d.ts +2 -0
- package/dist/components/EmptyState/EmptyState.cjs +1 -0
- package/dist/components/EmptyState/EmptyState.d.ts +3 -0
- package/dist/components/EmptyState/EmptyState.js +35 -0
- package/dist/components/EmptyState/EmptyState.types.d.ts +11 -0
- package/dist/components/EmptyState/index.d.ts +2 -0
- package/dist/components/Fab/Fab.cjs +1 -0
- package/dist/components/Fab/Fab.d.ts +17 -0
- package/dist/components/Fab/Fab.js +70 -0
- package/dist/components/Fab/Fab.types.d.ts +24 -0
- package/dist/components/Fab/index.d.ts +2 -0
- package/dist/components/FileUpload/FileUpload.cjs +1 -0
- package/dist/components/FileUpload/FileUpload.d.ts +3 -0
- package/dist/components/FileUpload/FileUpload.js +112 -0
- package/dist/components/FileUpload/FileUpload.types.d.ts +25 -0
- package/dist/components/FileUpload/index.d.ts +2 -0
- package/dist/components/Flex/Flex.cjs +1 -0
- package/dist/components/Flex/Flex.d.ts +13 -0
- package/dist/components/Flex/Flex.js +79 -0
- package/dist/components/Flex/Flex.types.d.ts +23 -0
- package/dist/components/Flex/index.d.ts +2 -0
- package/dist/components/Grid/Grid.cjs +1 -0
- package/dist/components/Grid/Grid.d.ts +20 -0
- package/dist/components/Grid/Grid.js +99 -0
- package/dist/components/Grid/Grid.types.d.ts +29 -0
- package/dist/components/Grid/index.d.ts +2 -0
- package/dist/components/Icon/Icon.cjs +1 -0
- package/dist/components/Icon/Icon.d.ts +39 -0
- package/dist/components/Icon/Icon.js +44 -0
- package/dist/components/Icon/Icon.types.d.ts +16 -0
- package/dist/components/Icon/icons/action.cjs +1 -0
- package/dist/components/Icon/icons/action.d.ts +85 -0
- package/dist/components/Icon/icons/action.js +351 -0
- package/dist/components/Icon/icons/communication.cjs +1 -0
- package/dist/components/Icon/icons/communication.d.ts +48 -0
- package/dist/components/Icon/icons/communication.js +184 -0
- package/dist/components/Icon/icons/content.cjs +1 -0
- package/dist/components/Icon/icons/content.d.ts +53 -0
- package/dist/components/Icon/icons/content.js +231 -0
- package/dist/components/Icon/icons/editor.cjs +1 -0
- package/dist/components/Icon/icons/editor.d.ts +53 -0
- package/dist/components/Icon/icons/editor.js +280 -0
- package/dist/components/Icon/icons/index.d.ts +9 -0
- package/dist/components/Icon/icons/media.cjs +1 -0
- package/dist/components/Icon/icons/media.d.ts +64 -0
- package/dist/components/Icon/icons/media.js +306 -0
- package/dist/components/Icon/icons/misc.cjs +1 -0
- package/dist/components/Icon/icons/misc.d.ts +80 -0
- package/dist/components/Icon/icons/misc.js +367 -0
- package/dist/components/Icon/icons/navigation.cjs +1 -0
- package/dist/components/Icon/icons/navigation.d.ts +56 -0
- package/dist/components/Icon/icons/navigation.js +215 -0
- package/dist/components/Icon/icons/status.cjs +1 -0
- package/dist/components/Icon/icons/status.d.ts +61 -0
- package/dist/components/Icon/icons/status.js +271 -0
- package/dist/components/Icon/index.cjs +1 -0
- package/dist/components/Icon/index.d.ts +506 -0
- package/dist/components/Icon/index.js +38 -0
- package/dist/components/Image/Image.cjs +1 -0
- package/dist/components/Image/Image.d.ts +3 -0
- package/dist/components/Image/Image.js +99 -0
- package/dist/components/Image/Image.types.d.ts +16 -0
- package/dist/components/Image/index.d.ts +2 -0
- package/dist/components/Input/Input.cjs +1 -0
- package/dist/components/Input/Input.d.ts +3 -0
- package/dist/components/Input/Input.js +64 -0
- package/dist/components/Input/Input.types.d.ts +17 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Kbd/Kbd.cjs +1 -0
- package/dist/components/Kbd/Kbd.d.ts +3 -0
- package/dist/components/Kbd/Kbd.js +58 -0
- package/dist/components/Kbd/Kbd.types.d.ts +8 -0
- package/dist/components/Kbd/index.d.ts +2 -0
- package/dist/components/Link/Link.cjs +1 -0
- package/dist/components/Link/Link.d.ts +13 -0
- package/dist/components/Link/Link.js +81 -0
- package/dist/components/Link/Link.types.d.ts +18 -0
- package/dist/components/Link/index.d.ts +2 -0
- package/dist/components/List/List.cjs +1 -0
- package/dist/components/List/List.d.ts +35 -0
- package/dist/components/List/List.js +204 -0
- package/dist/components/List/List.types.d.ts +72 -0
- package/dist/components/List/index.d.ts +2 -0
- package/dist/components/Menu/Menu.cjs +1 -0
- package/dist/components/Menu/Menu.d.ts +29 -0
- package/dist/components/Menu/Menu.js +111 -0
- package/dist/components/Menu/Menu.types.d.ts +39 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Modal/Modal.cjs +1 -0
- package/dist/components/Modal/Modal.d.ts +3 -0
- package/dist/components/Modal/Modal.js +86 -0
- package/dist/components/Modal/Modal.types.d.ts +23 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/MultiSelect/MultiSelect.cjs +1 -0
- package/dist/components/MultiSelect/MultiSelect.d.ts +20 -0
- package/dist/components/MultiSelect/MultiSelect.js +140 -0
- package/dist/components/MultiSelect/MultiSelect.types.d.ts +33 -0
- package/dist/components/MultiSelect/index.d.ts +2 -0
- package/dist/components/NumberInput/NumberInput.cjs +1 -0
- package/dist/components/NumberInput/NumberInput.d.ts +3 -0
- package/dist/components/NumberInput/NumberInput.js +109 -0
- package/dist/components/NumberInput/NumberInput.types.d.ts +18 -0
- package/dist/components/NumberInput/index.d.ts +2 -0
- package/dist/components/OTPInput/OTPInput.cjs +1 -0
- package/dist/components/OTPInput/OTPInput.d.ts +3 -0
- package/dist/components/OTPInput/OTPInput.js +83 -0
- package/dist/components/OTPInput/OTPInput.types.d.ts +13 -0
- package/dist/components/OTPInput/index.d.ts +2 -0
- package/dist/components/Pagination/Pagination.cjs +1 -0
- package/dist/components/Pagination/Pagination.d.ts +13 -0
- package/dist/components/Pagination/Pagination.js +156 -0
- package/dist/components/Pagination/Pagination.types.d.ts +34 -0
- package/dist/components/Pagination/index.d.ts +2 -0
- package/dist/components/Paper/Paper.cjs +1 -0
- package/dist/components/Paper/Paper.d.ts +17 -0
- package/dist/components/Paper/Paper.js +67 -0
- package/dist/components/Paper/Paper.types.d.ts +19 -0
- package/dist/components/Paper/index.d.ts +2 -0
- package/dist/components/Popover/Popover.cjs +1 -0
- package/dist/components/Popover/Popover.d.ts +3 -0
- package/dist/components/Popover/Popover.js +93 -0
- package/dist/components/Popover/Popover.types.d.ts +16 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Progress/Progress.cjs +1 -0
- package/dist/components/Progress/Progress.d.ts +13 -0
- package/dist/components/Progress/Progress.js +74 -0
- package/dist/components/Progress/Progress.types.d.ts +24 -0
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Radio/Radio.cjs +1 -0
- package/dist/components/Radio/Radio.d.ts +11 -0
- package/dist/components/Radio/Radio.js +172 -0
- package/dist/components/Radio/Radio.types.d.ts +52 -0
- package/dist/components/Radio/index.d.ts +2 -0
- package/dist/components/Rating/Rating.cjs +1 -0
- package/dist/components/Rating/Rating.d.ts +19 -0
- package/dist/components/Rating/Rating.js +99 -0
- package/dist/components/Rating/Rating.types.d.ts +38 -0
- package/dist/components/Rating/index.d.ts +2 -0
- package/dist/components/ScrollArea/ScrollArea.cjs +1 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts +3 -0
- package/dist/components/ScrollArea/ScrollArea.js +44 -0
- package/dist/components/ScrollArea/ScrollArea.types.d.ts +10 -0
- package/dist/components/ScrollArea/index.d.ts +2 -0
- package/dist/components/Select/Select.cjs +1 -0
- package/dist/components/Select/Select.d.ts +3 -0
- package/dist/components/Select/Select.js +105 -0
- package/dist/components/Select/Select.types.d.ts +27 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Skeleton/Skeleton.cjs +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +27 -0
- package/dist/components/Skeleton/Skeleton.js +116 -0
- package/dist/components/Skeleton/Skeleton.types.d.ts +21 -0
- package/dist/components/Skeleton/index.d.ts +2 -0
- package/dist/components/Slider/Slider.cjs +1 -0
- package/dist/components/Slider/Slider.d.ts +14 -0
- package/dist/components/Slider/Slider.js +191 -0
- package/dist/components/Slider/Slider.types.d.ts +41 -0
- package/dist/components/Slider/index.d.ts +2 -0
- package/dist/components/SpeedDial/SpeedDial.cjs +1 -0
- package/dist/components/SpeedDial/SpeedDial.d.ts +20 -0
- package/dist/components/SpeedDial/SpeedDial.js +150 -0
- package/dist/components/SpeedDial/SpeedDial.types.d.ts +48 -0
- package/dist/components/SpeedDial/index.d.ts +2 -0
- package/dist/components/Spinner/Spinner.cjs +1 -0
- package/dist/components/Spinner/Spinner.d.ts +12 -0
- package/dist/components/Spinner/Spinner.js +51 -0
- package/dist/components/Spinner/Spinner.types.d.ts +11 -0
- package/dist/components/Spinner/index.d.ts +2 -0
- package/dist/components/Statistic/Statistic.cjs +1 -0
- package/dist/components/Statistic/Statistic.d.ts +3 -0
- package/dist/components/Statistic/Statistic.js +55 -0
- package/dist/components/Statistic/Statistic.types.d.ts +18 -0
- package/dist/components/Statistic/index.d.ts +2 -0
- package/dist/components/Stepper/Stepper.cjs +1 -0
- package/dist/components/Stepper/Stepper.d.ts +3 -0
- package/dist/components/Stepper/Stepper.js +100 -0
- package/dist/components/Stepper/Stepper.types.d.ts +20 -0
- package/dist/components/Stepper/index.d.ts +2 -0
- package/dist/components/Switch/Switch.cjs +1 -0
- package/dist/components/Switch/Switch.d.ts +3 -0
- package/dist/components/Switch/Switch.js +81 -0
- package/dist/components/Switch/Switch.types.d.ts +13 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Tabs/Tabs.cjs +1 -0
- package/dist/components/Tabs/Tabs.d.ts +30 -0
- package/dist/components/Tabs/Tabs.js +80 -0
- package/dist/components/Tabs/Tabs.types.d.ts +44 -0
- package/dist/components/Tabs/index.d.ts +2 -0
- package/dist/components/TimePicker/TimePicker.cjs +1 -0
- package/dist/components/TimePicker/TimePicker.d.ts +3 -0
- package/dist/components/TimePicker/TimePicker.js +124 -0
- package/dist/components/TimePicker/TimePicker.types.d.ts +17 -0
- package/dist/components/TimePicker/index.d.ts +2 -0
- package/dist/components/Timeline/Timeline.cjs +1 -0
- package/dist/components/Timeline/Timeline.d.ts +3 -0
- package/dist/components/Timeline/Timeline.js +71 -0
- package/dist/components/Timeline/Timeline.types.d.ts +18 -0
- package/dist/components/Timeline/index.d.ts +2 -0
- package/dist/components/Toast/Toast.cjs +1 -0
- package/dist/components/Toast/Toast.d.ts +9 -0
- package/dist/components/Toast/Toast.js +158 -0
- package/dist/components/Toast/Toast.types.d.ts +49 -0
- package/dist/components/Toast/index.d.ts +2 -0
- package/dist/components/Tooltip/Tooltip.cjs +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +3 -0
- package/dist/components/Tooltip/Tooltip.js +86 -0
- package/dist/components/Tooltip/Tooltip.types.d.ts +17 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/TransferList/TransferList.cjs +1 -0
- package/dist/components/TransferList/TransferList.d.ts +21 -0
- package/dist/components/TransferList/TransferList.js +210 -0
- package/dist/components/TransferList/TransferList.types.d.ts +45 -0
- package/dist/components/TransferList/index.d.ts +2 -0
- package/dist/components/TreeView/TreeView.cjs +1 -0
- package/dist/components/TreeView/TreeView.d.ts +3 -0
- package/dist/components/TreeView/TreeView.js +76 -0
- package/dist/components/TreeView/TreeView.types.d.ts +25 -0
- package/dist/components/TreeView/index.d.ts +2 -0
- package/dist/components/Typography/Typography.cjs +1 -0
- package/dist/components/Typography/Typography.d.ts +14 -0
- package/dist/components/Typography/Typography.js +114 -0
- package/dist/components/Typography/Typography.types.d.ts +37 -0
- package/dist/components/Typography/index.d.ts +2 -0
- package/dist/components/index.cjs +1 -0
- package/dist/components/index.d.ts +132 -0
- package/dist/components/index.js +171 -0
- package/dist/context/BearProvider.cjs +1 -0
- package/dist/context/BearProvider.d.ts +59 -0
- package/dist/context/BearProvider.js +67 -0
- package/dist/context/defaultTheme.cjs +1 -0
- package/dist/context/defaultTheme.d.ts +9 -0
- package/dist/context/defaultTheme.js +215 -0
- package/dist/context/index.cjs +1 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.js +10 -0
- package/dist/hooks/index.cjs +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +13 -0
- package/dist/hooks/useClickOutside.cjs +1 -0
- package/dist/hooks/useClickOutside.d.ts +13 -0
- package/dist/hooks/useClickOutside.js +15 -0
- package/dist/hooks/useDisclosure.cjs +1 -0
- package/dist/hooks/useDisclosure.d.ts +26 -0
- package/dist/hooks/useDisclosure.js +14 -0
- package/dist/hooks/useMediaQuery.cjs +1 -0
- package/dist/hooks/useMediaQuery.d.ts +15 -0
- package/dist/hooks/useMediaQuery.js +21 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +195 -0
- package/dist/types/component.types.d.ts +39 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/theme.types.d.ts +126 -0
- package/dist/utils/cn.cjs +1 -0
- package/dist/utils/cn.d.ts +17 -0
- package/dist/utils/cn.js +19 -0
- package/dist/utils/deepMerge.cjs +1 -0
- package/dist/utils/deepMerge.d.ts +9 -0
- package/dist/utils/deepMerge.js +13 -0
- package/dist/utils/index.cjs +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +7 -0
- package/package.json +108 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsxs as x, jsx as b } from "react/jsx-runtime";
|
|
2
|
+
import { useState as y, useRef as R, useEffect as S } from "react";
|
|
3
|
+
import { cn as i } from "../../utils/cn.js";
|
|
4
|
+
const q = ({
|
|
5
|
+
options: w,
|
|
6
|
+
value: k,
|
|
7
|
+
defaultValue: V = [],
|
|
8
|
+
onChange: l,
|
|
9
|
+
placeholder: j = "Select options...",
|
|
10
|
+
label: v,
|
|
11
|
+
helperText: N,
|
|
12
|
+
error: c,
|
|
13
|
+
disabled: t = !1,
|
|
14
|
+
maxSelections: d,
|
|
15
|
+
searchable: D = !0,
|
|
16
|
+
className: z,
|
|
17
|
+
testId: B
|
|
18
|
+
}) => {
|
|
19
|
+
const [f, o] = y(!1), [u, m] = y(""), [I, L] = y(V), g = R(null), h = R(null), p = k !== void 0, a = p ? k : I;
|
|
20
|
+
S(() => {
|
|
21
|
+
const e = (r) => {
|
|
22
|
+
g.current && !g.current.contains(r.target) && (o(!1), m(""));
|
|
23
|
+
};
|
|
24
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
25
|
+
}, []);
|
|
26
|
+
const s = w.filter(
|
|
27
|
+
(e) => e.label.toLowerCase().includes(u.toLowerCase()) && !a.includes(e.value)
|
|
28
|
+
), E = (e) => {
|
|
29
|
+
var n;
|
|
30
|
+
if (t || d && a.length >= d) return;
|
|
31
|
+
const r = [...a, e];
|
|
32
|
+
p || L(r), l == null || l(r), m(""), (n = h.current) == null || n.focus();
|
|
33
|
+
}, O = (e) => {
|
|
34
|
+
if (t) return;
|
|
35
|
+
const r = a.filter((n) => n !== e);
|
|
36
|
+
p || L(r), l == null || l(r);
|
|
37
|
+
}, K = (e) => {
|
|
38
|
+
e.key === "Backspace" && u === "" && a.length > 0 && O(a[a.length - 1]), e.key === "Escape" && (o(!1), m("")), e.key === "Enter" && s.length > 0 && (e.preventDefault(), E(s[0].value));
|
|
39
|
+
}, M = a.map(
|
|
40
|
+
(e) => {
|
|
41
|
+
var r;
|
|
42
|
+
return ((r = w.find((n) => n.value === e)) == null ? void 0 : r.label) || e;
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
return /* @__PURE__ */ x("div", { className: i("bear-w-full", z), ref: g, "data-testid": B, children: [
|
|
46
|
+
v && /* @__PURE__ */ b("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200 bear-mb-1.5", children: v }),
|
|
47
|
+
/* @__PURE__ */ x(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
className: i(
|
|
51
|
+
"bear-relative bear-flex bear-flex-wrap bear-items-center bear-gap-1.5 bear-min-h-[42px] bear-px-3 bear-py-2",
|
|
52
|
+
"bear-rounded-lg bear-border bear-bg-white dark:bear-bg-gray-900",
|
|
53
|
+
"bear-transition-colors bear-cursor-text",
|
|
54
|
+
c ? "bear-border-red-500 focus-within:bear-ring-2 focus-within:bear-ring-red-500/20" : "bear-border-gray-300 dark:bear-border-gray-600 focus-within:bear-border-amber-500 focus-within:bear-ring-2 focus-within:bear-ring-amber-500/20",
|
|
55
|
+
t && "bear-opacity-50 bear-cursor-not-allowed bear-bg-gray-100 dark:bear-bg-gray-800"
|
|
56
|
+
),
|
|
57
|
+
onClick: () => {
|
|
58
|
+
var e;
|
|
59
|
+
t || (o(!0), (e = h.current) == null || e.focus());
|
|
60
|
+
},
|
|
61
|
+
children: [
|
|
62
|
+
M.map((e, r) => /* @__PURE__ */ x(
|
|
63
|
+
"span",
|
|
64
|
+
{
|
|
65
|
+
className: "bear-inline-flex bear-items-center bear-gap-1 bear-px-2 bear-py-0.5 bear-text-sm bear-rounded-md bear-bg-amber-100 dark:bear-bg-amber-900/30 bear-text-amber-800 dark:bear-text-amber-200",
|
|
66
|
+
children: [
|
|
67
|
+
e,
|
|
68
|
+
!t && /* @__PURE__ */ b(
|
|
69
|
+
"button",
|
|
70
|
+
{
|
|
71
|
+
type: "button",
|
|
72
|
+
onClick: (n) => {
|
|
73
|
+
n.stopPropagation(), O(a[r]);
|
|
74
|
+
},
|
|
75
|
+
className: "bear-ml-0.5 bear-text-amber-600 hover:bear-text-amber-800 dark:bear-text-amber-400 dark:hover:bear-text-amber-200",
|
|
76
|
+
children: "×"
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
a[r]
|
|
82
|
+
)),
|
|
83
|
+
D && !t && /* @__PURE__ */ b(
|
|
84
|
+
"input",
|
|
85
|
+
{
|
|
86
|
+
ref: h,
|
|
87
|
+
type: "text",
|
|
88
|
+
value: u,
|
|
89
|
+
onChange: (e) => {
|
|
90
|
+
m(e.target.value), o(!0);
|
|
91
|
+
},
|
|
92
|
+
onFocus: () => o(!0),
|
|
93
|
+
onKeyDown: K,
|
|
94
|
+
placeholder: a.length === 0 ? j : "",
|
|
95
|
+
disabled: t || d !== void 0 && a.length >= d,
|
|
96
|
+
className: "bear-flex-1 bear-min-w-[80px] bear-bg-transparent bear-outline-none bear-text-sm bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400"
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
/* @__PURE__ */ b(
|
|
100
|
+
"svg",
|
|
101
|
+
{
|
|
102
|
+
className: i(
|
|
103
|
+
"bear-w-4 bear-h-4 bear-text-gray-400 bear-transition-transform bear-ml-auto",
|
|
104
|
+
f && "bear-rotate-180"
|
|
105
|
+
),
|
|
106
|
+
fill: "none",
|
|
107
|
+
viewBox: "0 0 24 24",
|
|
108
|
+
stroke: "currentColor",
|
|
109
|
+
children: /* @__PURE__ */ b("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
f && !t && s.length > 0 && /* @__PURE__ */ b("div", { className: "bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-1 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-max-h-60 bear-overflow-auto", children: s.map((e) => /* @__PURE__ */ b(
|
|
116
|
+
"button",
|
|
117
|
+
{
|
|
118
|
+
type: "button",
|
|
119
|
+
disabled: e.disabled,
|
|
120
|
+
onClick: () => E(e.value),
|
|
121
|
+
className: i(
|
|
122
|
+
"bear-w-full bear-px-3 bear-py-2 bear-text-left bear-text-sm",
|
|
123
|
+
"hover:bear-bg-amber-50 dark:hover:bear-bg-amber-900/20",
|
|
124
|
+
"bear-text-gray-900 dark:bear-text-white",
|
|
125
|
+
e.disabled && "bear-opacity-50 bear-cursor-not-allowed"
|
|
126
|
+
),
|
|
127
|
+
children: e.label
|
|
128
|
+
},
|
|
129
|
+
e.value
|
|
130
|
+
)) }),
|
|
131
|
+
f && !t && s.length === 0 && u && /* @__PURE__ */ b("div", { className: "bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-3 bear-px-4 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-text-sm bear-text-gray-500", children: "No options found" }),
|
|
132
|
+
(N || c) && /* @__PURE__ */ b("p", { className: i(
|
|
133
|
+
"bear-mt-1.5 bear-text-xs",
|
|
134
|
+
c ? "bear-text-red-500" : "bear-text-gray-500 dark:bear-text-gray-400"
|
|
135
|
+
), children: c || N })
|
|
136
|
+
] });
|
|
137
|
+
};
|
|
138
|
+
export {
|
|
139
|
+
q as MultiSelect
|
|
140
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface MultiSelectOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface MultiSelectProps {
|
|
7
|
+
/** Available options */
|
|
8
|
+
options: MultiSelectOption[];
|
|
9
|
+
/** Selected values */
|
|
10
|
+
value?: string[];
|
|
11
|
+
/** Default selected values (uncontrolled) */
|
|
12
|
+
defaultValue?: string[];
|
|
13
|
+
/** Called when selection changes */
|
|
14
|
+
onChange?: (values: string[]) => void;
|
|
15
|
+
/** Placeholder text */
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
/** Label text */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** Helper text below the select */
|
|
20
|
+
helperText?: string;
|
|
21
|
+
/** Error message */
|
|
22
|
+
error?: string;
|
|
23
|
+
/** Whether the select is disabled */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Maximum number of selections */
|
|
26
|
+
maxSelections?: number;
|
|
27
|
+
/** Whether to show search input */
|
|
28
|
+
searchable?: boolean;
|
|
29
|
+
/** Custom class name */
|
|
30
|
+
className?: string;
|
|
31
|
+
/** Test ID */
|
|
32
|
+
testId?: string;
|
|
33
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),k=require("react"),x=require("../../utils/cn.cjs"),E=({value:b,onChange:o,min:s,max:n,step:p=1,disabled:i=!1,label:m,helperText:f,error:c,placeholder:w="0",size:v="md",variant:C="default",showButtons:u=!0,buttonPosition:d="sides",className:I,precision:M=0})=>{const[q,g]=k.useState(b??0),t=b!==void 0?b:q;k.useEffect(()=>{b!==void 0&&g(b)},[b]);const S=a=>{let e=a;return s!==void 0&&(e=Math.max(s,e)),n!==void 0&&(e=Math.min(n,e)),Number(e.toFixed(M))},l=a=>{const e=S(a);g(e),o==null||o(e)},h=()=>l(t+p),y=()=>l(t-p),F=a=>{const e=parseFloat(a.target.value);isNaN(e)?a.target.value===""&&l(0):l(e)},j={sm:{input:"bear-py-1.5 bear-text-sm",button:"bear-w-7 bear-h-7 bear-text-sm"},md:{input:"bear-py-2",button:"bear-w-9 bear-h-9"},lg:{input:"bear-py-2.5 bear-text-lg",button:"bear-w-11 bear-h-11 bear-text-lg"}},R={default:"bear-bg-zinc-800 bear-border-zinc-600",filled:"bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-500"},z=({onClick:a,children:e,disabled:N})=>r.jsx("button",{type:"button",onClick:a,disabled:i||N,className:x.cn("bear-flex bear-items-center bear-justify-center bear-rounded bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-transition-colors",j[v].button,(i||N)&&"bear-opacity-50 bear-cursor-not-allowed"),children:e});return r.jsxs("div",{className:I,children:[m&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:m}),r.jsxs("div",{className:x.cn("bear-flex bear-items-center bear-gap-2",d==="right"&&"bear-flex-row-reverse"),children:[u&&d==="sides"&&r.jsx(z,{onClick:y,disabled:s!==void 0&&t<=s,children:"−"}),r.jsx("input",{type:"text",inputMode:"decimal",value:t,onChange:F,placeholder:w,disabled:i,className:x.cn("bear-flex-1 bear-px-4 bear-rounded-lg bear-border bear-text-center bear-text-white bear-outline-none bear-transition-colors focus:bear-border-pink-500",j[v].input,R[C],c&&"bear-border-red-500",i&&"bear-opacity-50 bear-cursor-not-allowed")}),u&&d==="sides"&&r.jsx(z,{onClick:h,disabled:n!==void 0&&t>=n,children:"+"}),u&&d==="right"&&r.jsxs("div",{className:"bear-flex bear-flex-col bear-gap-0.5",children:[r.jsx("button",{type:"button",onClick:h,disabled:i||n!==void 0&&t>=n,className:"bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-t bear-text-xs disabled:bear-opacity-50",children:"▲"}),r.jsx("button",{type:"button",onClick:y,disabled:i||s!==void 0&&t<=s,className:"bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-b bear-text-xs disabled:bear-opacity-50",children:"▼"})]})]}),c&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:c}),f&&!c&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:f})]})};exports.NumberInput=E;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsxs as u, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as A, useEffect as G } from "react";
|
|
3
|
+
import { cn as x } from "../../utils/cn.js";
|
|
4
|
+
const L = ({
|
|
5
|
+
value: b,
|
|
6
|
+
onChange: l,
|
|
7
|
+
min: i,
|
|
8
|
+
max: n,
|
|
9
|
+
step: m = 1,
|
|
10
|
+
disabled: s = !1,
|
|
11
|
+
label: f,
|
|
12
|
+
helperText: v,
|
|
13
|
+
error: c,
|
|
14
|
+
placeholder: C = "0",
|
|
15
|
+
size: g = "md",
|
|
16
|
+
variant: j = "default",
|
|
17
|
+
showButtons: p = !0,
|
|
18
|
+
buttonPosition: d = "sides",
|
|
19
|
+
className: I,
|
|
20
|
+
precision: M = 0
|
|
21
|
+
}) => {
|
|
22
|
+
const [F, h] = A(b ?? 0), t = b !== void 0 ? b : F;
|
|
23
|
+
G(() => {
|
|
24
|
+
b !== void 0 && h(b);
|
|
25
|
+
}, [b]);
|
|
26
|
+
const E = (a) => {
|
|
27
|
+
let e = a;
|
|
28
|
+
return i !== void 0 && (e = Math.max(i, e)), n !== void 0 && (e = Math.min(n, e)), Number(e.toFixed(M));
|
|
29
|
+
}, o = (a) => {
|
|
30
|
+
const e = E(a);
|
|
31
|
+
h(e), l == null || l(e);
|
|
32
|
+
}, z = () => o(t + m), y = () => o(t - m), S = (a) => {
|
|
33
|
+
const e = parseFloat(a.target.value);
|
|
34
|
+
isNaN(e) ? a.target.value === "" && o(0) : o(e);
|
|
35
|
+
}, N = {
|
|
36
|
+
sm: { input: "bear-py-1.5 bear-text-sm", button: "bear-w-7 bear-h-7 bear-text-sm" },
|
|
37
|
+
md: { input: "bear-py-2", button: "bear-w-9 bear-h-9" },
|
|
38
|
+
lg: { input: "bear-py-2.5 bear-text-lg", button: "bear-w-11 bear-h-11 bear-text-lg" }
|
|
39
|
+
}, q = {
|
|
40
|
+
default: "bear-bg-zinc-800 bear-border-zinc-600",
|
|
41
|
+
filled: "bear-bg-zinc-700 bear-border-transparent",
|
|
42
|
+
outline: "bear-bg-transparent bear-border-zinc-500"
|
|
43
|
+
}, k = ({ onClick: a, children: e, disabled: w }) => /* @__PURE__ */ r(
|
|
44
|
+
"button",
|
|
45
|
+
{
|
|
46
|
+
type: "button",
|
|
47
|
+
onClick: a,
|
|
48
|
+
disabled: s || w,
|
|
49
|
+
className: x(
|
|
50
|
+
"bear-flex bear-items-center bear-justify-center bear-rounded bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-transition-colors",
|
|
51
|
+
N[g].button,
|
|
52
|
+
(s || w) && "bear-opacity-50 bear-cursor-not-allowed"
|
|
53
|
+
),
|
|
54
|
+
children: e
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
return /* @__PURE__ */ u("div", { className: I, children: [
|
|
58
|
+
f && /* @__PURE__ */ r("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5", children: f }),
|
|
59
|
+
/* @__PURE__ */ u("div", { className: x("bear-flex bear-items-center bear-gap-2", d === "right" && "bear-flex-row-reverse"), children: [
|
|
60
|
+
p && d === "sides" && /* @__PURE__ */ r(k, { onClick: y, disabled: i !== void 0 && t <= i, children: "−" }),
|
|
61
|
+
/* @__PURE__ */ r(
|
|
62
|
+
"input",
|
|
63
|
+
{
|
|
64
|
+
type: "text",
|
|
65
|
+
inputMode: "decimal",
|
|
66
|
+
value: t,
|
|
67
|
+
onChange: S,
|
|
68
|
+
placeholder: C,
|
|
69
|
+
disabled: s,
|
|
70
|
+
className: x(
|
|
71
|
+
"bear-flex-1 bear-px-4 bear-rounded-lg bear-border bear-text-center bear-text-white bear-outline-none bear-transition-colors focus:bear-border-pink-500",
|
|
72
|
+
N[g].input,
|
|
73
|
+
q[j],
|
|
74
|
+
c && "bear-border-red-500",
|
|
75
|
+
s && "bear-opacity-50 bear-cursor-not-allowed"
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
p && d === "sides" && /* @__PURE__ */ r(k, { onClick: z, disabled: n !== void 0 && t >= n, children: "+" }),
|
|
80
|
+
p && d === "right" && /* @__PURE__ */ u("div", { className: "bear-flex bear-flex-col bear-gap-0.5", children: [
|
|
81
|
+
/* @__PURE__ */ r(
|
|
82
|
+
"button",
|
|
83
|
+
{
|
|
84
|
+
type: "button",
|
|
85
|
+
onClick: z,
|
|
86
|
+
disabled: s || n !== void 0 && t >= n,
|
|
87
|
+
className: "bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-t bear-text-xs disabled:bear-opacity-50",
|
|
88
|
+
children: "▲"
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
/* @__PURE__ */ r(
|
|
92
|
+
"button",
|
|
93
|
+
{
|
|
94
|
+
type: "button",
|
|
95
|
+
onClick: y,
|
|
96
|
+
disabled: s || i !== void 0 && t <= i,
|
|
97
|
+
className: "bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-b bear-text-xs disabled:bear-opacity-50",
|
|
98
|
+
children: "▼"
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
] })
|
|
102
|
+
] }),
|
|
103
|
+
c && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-red-400", children: c }),
|
|
104
|
+
v && !c && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-zinc-500", children: v })
|
|
105
|
+
] });
|
|
106
|
+
};
|
|
107
|
+
export {
|
|
108
|
+
L as NumberInput
|
|
109
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface NumberInputProps {
|
|
2
|
+
value?: number;
|
|
3
|
+
onChange?: (value: number) => void;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
step?: number;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
label?: string;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
error?: string;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
variant?: 'default' | 'filled' | 'outline';
|
|
14
|
+
showButtons?: boolean;
|
|
15
|
+
buttonPosition?: 'sides' | 'right';
|
|
16
|
+
className?: string;
|
|
17
|
+
precision?: number;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),i=require("react"),j=require("../../utils/cn.cjs"),z=({length:t=6,value:f,onChange:l,onComplete:o,disabled:m=!1,error:k=!1,autoFocus:w=!0,mask:D=!1,size:x="md",separator:v,className:A})=>{const[u,d]=i.useState(Array(t).fill("")),s=i.useRef([]);i.useEffect(()=>{f!==void 0&&d(f.split("").concat(Array(t-f.length).fill("")).slice(0,t))},[f,t]),i.useEffect(()=>{w&&s.current[0]&&s.current[0].focus()},[w]);const p=i.useCallback(e=>{d(e);const r=e.join("");l==null||l(r),r.length===t&&e.every(a=>a!=="")&&(o==null||o(r))},[l,o,t]),P=(e,r)=>{var b;const a=r.target.value.slice(-1);if(!/^\d*$/.test(a)&&a!=="")return;const c=[...u];c[e]=a,p(c),a&&e<t-1&&((b=s.current[e+1])==null||b.focus())},R=(e,r)=>{var a,c,b;if(r.key==="Backspace")if(u[e]===""&&e>0){(a=s.current[e-1])==null||a.focus();const n=[...u];n[e-1]="",p(n)}else{const n=[...u];n[e]="",p(n)}else r.key==="ArrowLeft"&&e>0?(c=s.current[e-1])==null||c.focus():r.key==="ArrowRight"&&e<t-1&&((b=s.current[e+1])==null||b.focus())},g=e=>{var c;e.preventDefault();const r=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,t),a=r.split("").concat(Array(t-r.length).fill(""));p(a),(c=s.current[Math.min(r.length,t-1)])==null||c.focus()},h={sm:"bear-w-8 bear-h-10 bear-text-lg",md:"bear-w-10 bear-h-12 bear-text-xl",lg:"bear-w-12 bear-h-14 bear-text-2xl"};return y.jsx("div",{className:j.cn("bear-flex bear-items-center bear-gap-2",A),children:u.map((e,r)=>y.jsxs("div",{className:"bear-flex bear-items-center",children:[y.jsx("input",{ref:a=>{s.current[r]=a},type:D?"password":"text",inputMode:"numeric",maxLength:1,value:e,onChange:a=>P(r,a),onKeyDown:a=>R(r,a),onPaste:g,disabled:m,className:j.cn("bear-text-center bear-font-semibold bear-rounded-lg bear-border bear-bg-zinc-800 bear-text-white bear-outline-none bear-transition-all",h[x],k?"bear-border-red-500":"bear-border-zinc-600 focus:bear-border-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/30",m&&"bear-opacity-50 bear-cursor-not-allowed")}),v&&(r+1)%v===0&&r<t-1&&y.jsx("span",{className:"bear-mx-2 bear-text-zinc-500 bear-text-xl",children:"-"})]},r))})};exports.OTPInput=z;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsx as p, jsxs as R } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g, useRef as K, useEffect as d, useCallback as L } from "react";
|
|
3
|
+
import { cn as k } from "../../utils/cn.js";
|
|
4
|
+
const I = ({
|
|
5
|
+
length: t = 6,
|
|
6
|
+
value: o,
|
|
7
|
+
onChange: i,
|
|
8
|
+
onComplete: l,
|
|
9
|
+
disabled: m = !1,
|
|
10
|
+
error: D = !1,
|
|
11
|
+
autoFocus: w = !0,
|
|
12
|
+
mask: A = !1,
|
|
13
|
+
size: h = "md",
|
|
14
|
+
separator: y,
|
|
15
|
+
className: j
|
|
16
|
+
}) => {
|
|
17
|
+
const [b, v] = g(Array(t).fill("")), s = K([]);
|
|
18
|
+
d(() => {
|
|
19
|
+
o !== void 0 && v(o.split("").concat(Array(t - o.length).fill("")).slice(0, t));
|
|
20
|
+
}, [o, t]), d(() => {
|
|
21
|
+
w && s.current[0] && s.current[0].focus();
|
|
22
|
+
}, [w]);
|
|
23
|
+
const n = L((e) => {
|
|
24
|
+
v(e);
|
|
25
|
+
const r = e.join("");
|
|
26
|
+
i == null || i(r), r.length === t && e.every((a) => a !== "") && (l == null || l(r));
|
|
27
|
+
}, [i, l, t]), x = (e, r) => {
|
|
28
|
+
var f;
|
|
29
|
+
const a = r.target.value.slice(-1);
|
|
30
|
+
if (!/^\d*$/.test(a) && a !== "") return;
|
|
31
|
+
const c = [...b];
|
|
32
|
+
c[e] = a, n(c), a && e < t - 1 && ((f = s.current[e + 1]) == null || f.focus());
|
|
33
|
+
}, z = (e, r) => {
|
|
34
|
+
var a, c, f;
|
|
35
|
+
if (r.key === "Backspace")
|
|
36
|
+
if (b[e] === "" && e > 0) {
|
|
37
|
+
(a = s.current[e - 1]) == null || a.focus();
|
|
38
|
+
const u = [...b];
|
|
39
|
+
u[e - 1] = "", n(u);
|
|
40
|
+
} else {
|
|
41
|
+
const u = [...b];
|
|
42
|
+
u[e] = "", n(u);
|
|
43
|
+
}
|
|
44
|
+
else r.key === "ArrowLeft" && e > 0 ? (c = s.current[e - 1]) == null || c.focus() : r.key === "ArrowRight" && e < t - 1 && ((f = s.current[e + 1]) == null || f.focus());
|
|
45
|
+
}, N = (e) => {
|
|
46
|
+
var c;
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
const r = e.clipboardData.getData("text").replace(/\D/g, "").slice(0, t), a = r.split("").concat(Array(t - r.length).fill(""));
|
|
49
|
+
n(a), (c = s.current[Math.min(r.length, t - 1)]) == null || c.focus();
|
|
50
|
+
}, P = {
|
|
51
|
+
sm: "bear-w-8 bear-h-10 bear-text-lg",
|
|
52
|
+
md: "bear-w-10 bear-h-12 bear-text-xl",
|
|
53
|
+
lg: "bear-w-12 bear-h-14 bear-text-2xl"
|
|
54
|
+
};
|
|
55
|
+
return /* @__PURE__ */ p("div", { className: k("bear-flex bear-items-center bear-gap-2", j), children: b.map((e, r) => /* @__PURE__ */ R("div", { className: "bear-flex bear-items-center", children: [
|
|
56
|
+
/* @__PURE__ */ p(
|
|
57
|
+
"input",
|
|
58
|
+
{
|
|
59
|
+
ref: (a) => {
|
|
60
|
+
s.current[r] = a;
|
|
61
|
+
},
|
|
62
|
+
type: A ? "password" : "text",
|
|
63
|
+
inputMode: "numeric",
|
|
64
|
+
maxLength: 1,
|
|
65
|
+
value: e,
|
|
66
|
+
onChange: (a) => x(r, a),
|
|
67
|
+
onKeyDown: (a) => z(r, a),
|
|
68
|
+
onPaste: N,
|
|
69
|
+
disabled: m,
|
|
70
|
+
className: k(
|
|
71
|
+
"bear-text-center bear-font-semibold bear-rounded-lg bear-border bear-bg-zinc-800 bear-text-white bear-outline-none bear-transition-all",
|
|
72
|
+
P[h],
|
|
73
|
+
D ? "bear-border-red-500" : "bear-border-zinc-600 focus:bear-border-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/30",
|
|
74
|
+
m && "bear-opacity-50 bear-cursor-not-allowed"
|
|
75
|
+
)
|
|
76
|
+
}
|
|
77
|
+
),
|
|
78
|
+
y && (r + 1) % y === 0 && r < t - 1 && /* @__PURE__ */ p("span", { className: "bear-mx-2 bear-text-zinc-500 bear-text-xl", children: "-" })
|
|
79
|
+
] }, r)) });
|
|
80
|
+
};
|
|
81
|
+
export {
|
|
82
|
+
I as OTPInput
|
|
83
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface OTPInputProps {
|
|
2
|
+
length?: number;
|
|
3
|
+
value?: string;
|
|
4
|
+
onChange?: (value: string) => void;
|
|
5
|
+
onComplete?: (value: string) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
error?: boolean;
|
|
8
|
+
autoFocus?: boolean;
|
|
9
|
+
mask?: boolean;
|
|
10
|
+
size?: 'sm' | 'md' | 'lg';
|
|
11
|
+
separator?: number;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),v=require("react"),b=require("../../utils/cn.cjs"),I=()=>r.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:r.jsx("polyline",{points:"15 18 9 12 15 6"})}),B=()=>r.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:r.jsx("polyline",{points:"9 18 15 12 9 6"})}),E=()=>r.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[r.jsx("polyline",{points:"11 18 5 12 11 6"}),r.jsx("line",{x1:"19",y1:"6",x2:"19",y2:"18"})]}),L=()=>r.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[r.jsx("polyline",{points:"13 18 19 12 13 6"}),r.jsx("line",{x1:"5",y1:"6",x2:"5",y2:"18"})]}),R={xs:"bear-h-6 bear-min-w-6 bear-text-xs",sm:"bear-h-8 bear-min-w-8 bear-text-sm",md:"bear-h-10 bear-min-w-10 bear-text-base",lg:"bear-h-12 bear-min-w-12 bear-text-lg",xl:"bear-h-14 bear-min-w-14 bear-text-xl"},W={text:(e,a)=>b.cn("bear-bg-transparent",a&&e==="primary"&&"bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",a&&e==="secondary"&&"bear-text-gray-600 bear-bg-gray-100 dark:bear-bg-gray-800",!a&&"hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800"),outlined:(e,a)=>b.cn("bear-border",a&&e==="primary"&&"bear-border-bear-500 bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",a&&e==="secondary"&&"bear-border-gray-400 bear-text-gray-600 bear-bg-gray-100",!a&&"bear-border-gray-300 dark:bear-border-gray-600 hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800"),contained:(e,a)=>b.cn(a&&e==="primary"&&"bear-bg-bear-500 bear-text-white",a&&e==="secondary"&&"bear-bg-gray-600 bear-text-white",!a&&"bear-bg-gray-100 dark:bear-bg-gray-800 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700")},q=(e,a,t,c)=>v.useMemo(()=>{const o=(l,s)=>Array.from({length:s-l+1},(m,j)=>l+j),k=o(1,Math.min(t,e)),h=o(Math.max(e-t+1,t+1),e),d=Math.max(Math.min(a-c,e-t-c*2-1),t+2),y=Math.min(Math.max(a+c,t+c*2+2),h.length>0?h[0]-2:e-1),i=[];return i.push(...k),d>t+2?i.push("ellipsis"):t+1<e-t&&i.push(t+1),i.push(...o(d,y)),y<e-t-1?i.push("ellipsis"):e-t>t&&i.push(e-t),i.push(...h),[...new Set(i)].sort((l,s)=>l==="ellipsis"||s==="ellipsis"?0:l-s)},[e,a,t,c]),_=({count:e,page:a,defaultPage:t=1,boundaryCount:c=1,siblingCount:o=1,size:k="md",variant:h="text",color:d="primary",shape:y="circular",showFirstLast:i=!1,showPrevNext:l=!0,disabled:s=!1,onChange:m,className:j,testId:w,...S})=>{const[u,P]=v.useState(t),g=a??u,M=q(e,g,c,o),p=n=>{n<1||n>e||s||(P(n),m==null||m(n))},x=b.cn("bear-inline-flex bear-items-center bear-justify-center bear-transition-colors","bear-cursor-pointer bear-select-none",y==="circular"?"bear-rounded-full":"bear-rounded-lg",R[k],s&&"bear-opacity-50 bear-cursor-not-allowed");return r.jsxs("nav",{"aria-label":"Pagination",className:b.cn("bear-flex bear-items-center bear-gap-1",j),"data-testid":w,...S,children:[i&&r.jsx("button",{type:"button",onClick:()=>p(1),disabled:g===1||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"First page",children:r.jsx(E,{})}),l&&r.jsx("button",{type:"button",onClick:()=>p(g-1),disabled:g===1||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"Previous page",children:r.jsx(I,{})}),M.map((n,N)=>{if(n==="ellipsis")return r.jsx("span",{className:b.cn(x,"bear-cursor-default bear-text-gray-400"),children:"..."},`ellipsis-${N}`);const f=n===g;return r.jsx("button",{type:"button",onClick:()=>p(n),disabled:s,className:b.cn(x,W[h](d,f),"bear-text-gray-700 dark:bear-text-gray-300"),"aria-current":f?"page":void 0,children:n},n)}),l&&r.jsx("button",{type:"button",onClick:()=>p(g+1),disabled:g===e||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"Next page",children:r.jsx(B,{})}),i&&r.jsx("button",{type:"button",onClick:()=>p(e),disabled:g===e||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"Last page",children:r.jsx(L,{})})]})};exports.Pagination=_;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { PaginationProps } from './Pagination.types';
|
|
3
|
+
/**
|
|
4
|
+
* Pagination component for navigating through pages
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Pagination count={10} page={1} onChange={(page) => console.log(page)} />
|
|
9
|
+
* <Pagination count={20} variant="outlined" showFirstLast />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare const Pagination: FC<PaginationProps>;
|
|
13
|
+
export default Pagination;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsxs as v, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as E, useMemo as L } from "react";
|
|
3
|
+
import { cn as i } from "../../utils/cn.js";
|
|
4
|
+
const W = () => /* @__PURE__ */ r("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ r("polyline", { points: "15 18 9 12 15 6" }) }), j = () => /* @__PURE__ */ r("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ r("polyline", { points: "9 18 15 12 9 6" }) }), u = () => /* @__PURE__ */ v("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
5
|
+
/* @__PURE__ */ r("polyline", { points: "11 18 5 12 11 6" }),
|
|
6
|
+
/* @__PURE__ */ r("line", { x1: "19", y1: "6", x2: "19", y2: "18" })
|
|
7
|
+
] }), _ = () => /* @__PURE__ */ v("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
8
|
+
/* @__PURE__ */ r("polyline", { points: "13 18 19 12 13 6" }),
|
|
9
|
+
/* @__PURE__ */ r("line", { x1: "5", y1: "6", x2: "5", y2: "18" })
|
|
10
|
+
] }), R = {
|
|
11
|
+
xs: "bear-h-6 bear-min-w-6 bear-text-xs",
|
|
12
|
+
sm: "bear-h-8 bear-min-w-8 bear-text-sm",
|
|
13
|
+
md: "bear-h-10 bear-min-w-10 bear-text-base",
|
|
14
|
+
lg: "bear-h-12 bear-min-w-12 bear-text-lg",
|
|
15
|
+
xl: "bear-h-14 bear-min-w-14 bear-text-xl"
|
|
16
|
+
}, F = {
|
|
17
|
+
text: (e, a) => i(
|
|
18
|
+
"bear-bg-transparent",
|
|
19
|
+
a && e === "primary" && "bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",
|
|
20
|
+
a && e === "secondary" && "bear-text-gray-600 bear-bg-gray-100 dark:bear-bg-gray-800",
|
|
21
|
+
!a && "hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800"
|
|
22
|
+
),
|
|
23
|
+
outlined: (e, a) => i(
|
|
24
|
+
"bear-border",
|
|
25
|
+
a && e === "primary" && "bear-border-bear-500 bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",
|
|
26
|
+
a && e === "secondary" && "bear-border-gray-400 bear-text-gray-600 bear-bg-gray-100",
|
|
27
|
+
!a && "bear-border-gray-300 dark:bear-border-gray-600 hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800"
|
|
28
|
+
),
|
|
29
|
+
contained: (e, a) => i(
|
|
30
|
+
a && e === "primary" && "bear-bg-bear-500 bear-text-white",
|
|
31
|
+
a && e === "secondary" && "bear-bg-gray-600 bear-text-white",
|
|
32
|
+
!a && "bear-bg-gray-100 dark:bear-bg-gray-800 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700"
|
|
33
|
+
)
|
|
34
|
+
}, T = (e, a, t, o) => L(() => {
|
|
35
|
+
const c = (n, s) => Array.from({ length: s - n + 1 }, (m, f) => n + f), k = c(1, Math.min(t, e)), p = c(Math.max(e - t + 1, t + 1), e), d = Math.max(
|
|
36
|
+
Math.min(a - o, e - t - o * 2 - 1),
|
|
37
|
+
t + 2
|
|
38
|
+
), y = Math.min(
|
|
39
|
+
Math.max(a + o, t + o * 2 + 2),
|
|
40
|
+
p.length > 0 ? p[0] - 2 : e - 1
|
|
41
|
+
), b = [];
|
|
42
|
+
return b.push(...k), d > t + 2 ? b.push("ellipsis") : t + 1 < e - t && b.push(t + 1), b.push(...c(d, y)), y < e - t - 1 ? b.push("ellipsis") : e - t > t && b.push(e - t), b.push(...p), [...new Set(b)].sort((n, s) => n === "ellipsis" || s === "ellipsis" ? 0 : n - s);
|
|
43
|
+
}, [e, a, t, o]), q = ({
|
|
44
|
+
count: e,
|
|
45
|
+
page: a,
|
|
46
|
+
defaultPage: t = 1,
|
|
47
|
+
boundaryCount: o = 1,
|
|
48
|
+
siblingCount: c = 1,
|
|
49
|
+
size: k = "md",
|
|
50
|
+
variant: p = "text",
|
|
51
|
+
color: d = "primary",
|
|
52
|
+
shape: y = "circular",
|
|
53
|
+
showFirstLast: b = !1,
|
|
54
|
+
showPrevNext: n = !0,
|
|
55
|
+
disabled: s = !1,
|
|
56
|
+
onChange: m,
|
|
57
|
+
className: f,
|
|
58
|
+
testId: S,
|
|
59
|
+
...N
|
|
60
|
+
}) => {
|
|
61
|
+
const [I, M] = E(t), g = a ?? I, P = T(e, g, o, c), x = (l) => {
|
|
62
|
+
l < 1 || l > e || s || (M(l), m == null || m(l));
|
|
63
|
+
}, h = i(
|
|
64
|
+
"bear-inline-flex bear-items-center bear-justify-center bear-transition-colors",
|
|
65
|
+
"bear-cursor-pointer bear-select-none",
|
|
66
|
+
y === "circular" ? "bear-rounded-full" : "bear-rounded-lg",
|
|
67
|
+
R[k],
|
|
68
|
+
s && "bear-opacity-50 bear-cursor-not-allowed"
|
|
69
|
+
);
|
|
70
|
+
return /* @__PURE__ */ v(
|
|
71
|
+
"nav",
|
|
72
|
+
{
|
|
73
|
+
"aria-label": "Pagination",
|
|
74
|
+
className: i("bear-flex bear-items-center bear-gap-1", f),
|
|
75
|
+
"data-testid": S,
|
|
76
|
+
...N,
|
|
77
|
+
children: [
|
|
78
|
+
b && /* @__PURE__ */ r(
|
|
79
|
+
"button",
|
|
80
|
+
{
|
|
81
|
+
type: "button",
|
|
82
|
+
onClick: () => x(1),
|
|
83
|
+
disabled: g === 1 || s,
|
|
84
|
+
className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
|
|
85
|
+
"aria-label": "First page",
|
|
86
|
+
children: /* @__PURE__ */ r(u, {})
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
n && /* @__PURE__ */ r(
|
|
90
|
+
"button",
|
|
91
|
+
{
|
|
92
|
+
type: "button",
|
|
93
|
+
onClick: () => x(g - 1),
|
|
94
|
+
disabled: g === 1 || s,
|
|
95
|
+
className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
|
|
96
|
+
"aria-label": "Previous page",
|
|
97
|
+
children: /* @__PURE__ */ r(W, {})
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
P.map((l, B) => {
|
|
101
|
+
if (l === "ellipsis")
|
|
102
|
+
return /* @__PURE__ */ r(
|
|
103
|
+
"span",
|
|
104
|
+
{
|
|
105
|
+
className: i(h, "bear-cursor-default bear-text-gray-400"),
|
|
106
|
+
children: "..."
|
|
107
|
+
},
|
|
108
|
+
`ellipsis-${B}`
|
|
109
|
+
);
|
|
110
|
+
const w = l === g;
|
|
111
|
+
return /* @__PURE__ */ r(
|
|
112
|
+
"button",
|
|
113
|
+
{
|
|
114
|
+
type: "button",
|
|
115
|
+
onClick: () => x(l),
|
|
116
|
+
disabled: s,
|
|
117
|
+
className: i(
|
|
118
|
+
h,
|
|
119
|
+
F[p](d, w),
|
|
120
|
+
"bear-text-gray-700 dark:bear-text-gray-300"
|
|
121
|
+
),
|
|
122
|
+
"aria-current": w ? "page" : void 0,
|
|
123
|
+
children: l
|
|
124
|
+
},
|
|
125
|
+
l
|
|
126
|
+
);
|
|
127
|
+
}),
|
|
128
|
+
n && /* @__PURE__ */ r(
|
|
129
|
+
"button",
|
|
130
|
+
{
|
|
131
|
+
type: "button",
|
|
132
|
+
onClick: () => x(g + 1),
|
|
133
|
+
disabled: g === e || s,
|
|
134
|
+
className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
|
|
135
|
+
"aria-label": "Next page",
|
|
136
|
+
children: /* @__PURE__ */ r(j, {})
|
|
137
|
+
}
|
|
138
|
+
),
|
|
139
|
+
b && /* @__PURE__ */ r(
|
|
140
|
+
"button",
|
|
141
|
+
{
|
|
142
|
+
type: "button",
|
|
143
|
+
onClick: () => x(e),
|
|
144
|
+
disabled: g === e || s,
|
|
145
|
+
className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
|
|
146
|
+
"aria-label": "Last page",
|
|
147
|
+
children: /* @__PURE__ */ r(_, {})
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
};
|
|
154
|
+
export {
|
|
155
|
+
q as Pagination
|
|
156
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { BearSize, BearVariant } from '../../types';
|
|
3
|
+
export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
|
|
4
|
+
/** Total number of pages */
|
|
5
|
+
count: number;
|
|
6
|
+
/** Current page (1-indexed) */
|
|
7
|
+
page?: number;
|
|
8
|
+
/** Default page for uncontrolled mode */
|
|
9
|
+
defaultPage?: number;
|
|
10
|
+
/** Number of pages to show at the boundaries */
|
|
11
|
+
boundaryCount?: number;
|
|
12
|
+
/** Number of pages to show around current page */
|
|
13
|
+
siblingCount?: number;
|
|
14
|
+
/** Size of pagination buttons */
|
|
15
|
+
size?: BearSize;
|
|
16
|
+
/** Variant style */
|
|
17
|
+
variant?: 'text' | 'outlined' | 'contained';
|
|
18
|
+
/** Color theme */
|
|
19
|
+
color?: BearVariant;
|
|
20
|
+
/** Shape of buttons */
|
|
21
|
+
shape?: 'circular' | 'rounded';
|
|
22
|
+
/** Show first/last buttons */
|
|
23
|
+
showFirstLast?: boolean;
|
|
24
|
+
/** Show previous/next buttons */
|
|
25
|
+
showPrevNext?: boolean;
|
|
26
|
+
/** Disabled state */
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/** Callback when page changes */
|
|
29
|
+
onChange?: (page: number) => void;
|
|
30
|
+
/** Additional CSS class */
|
|
31
|
+
className?: string;
|
|
32
|
+
/** Test ID */
|
|
33
|
+
testId?: string;
|
|
34
|
+
}
|