@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,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface CopyButtonProps {
|
|
3
|
+
value: string;
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
onCopy?: (value: string) => void;
|
|
6
|
+
timeout?: number;
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
variant?: 'default' | 'ghost' | 'outline';
|
|
9
|
+
className?: string;
|
|
10
|
+
copiedText?: string;
|
|
11
|
+
copyText?: string;
|
|
12
|
+
showText?: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("../../utils/cn.cjs"),S=({columns:t,data:i,rowKey:h,variant:l="simple",loading:o=!1,emptyContent:x="No data available",onRowClick:d,clickable:c=!1,sortColumn:y,sortDirection:p="asc",onSort:n,compact:g=!1,stickyHeader:j=!1,maxHeight:f,className:k,testId:N})=>{const v=e=>{const b=t.find(a=>a.key===e);b!=null&&b.sortable&&n&&n(e)},m=g?"bear-px-3 bear-py-2":"bear-px-4 bear-py-3",M=g?"bear-px-3 bear-py-2":"bear-px-4 bear-py-3";return r.jsx("div",{className:s.cn("bear-w-full bear-overflow-hidden bear-rounded-lg bear-border bear-border-gray-200 dark:bear-border-gray-700",k),"data-testid":N,children:r.jsx("div",{className:"bear-overflow-auto",style:{maxHeight:f},children:r.jsxs("table",{className:"bear-w-full bear-border-collapse bear-text-sm",children:[r.jsx("thead",{className:s.cn("bear-bg-gray-50 dark:bear-bg-gray-800",j&&"bear-sticky bear-top-0 bear-z-10"),children:r.jsx("tr",{children:t.map(e=>r.jsx("th",{className:s.cn(M,"bear-text-left bear-font-semibold bear-text-gray-700 dark:bear-text-gray-200","bear-border-b bear-border-gray-200 dark:bear-border-gray-700",e.align==="center"&&"bear-text-center",e.align==="right"&&"bear-text-right",e.sortable&&"bear-cursor-pointer hover:bear-bg-gray-100 dark:hover:bear-bg-gray-700",e.hideOnMobile&&"bear-hidden md:bear-table-cell"),style:{width:e.width},onClick:()=>e.sortable&&v(e.key),children:r.jsxs("div",{className:"bear-flex bear-items-center bear-gap-1",children:[e.header,e.sortable&&y===e.key&&r.jsx("svg",{className:s.cn("bear-w-4 bear-h-4 bear-transition-transform",p==="desc"&&"bear-rotate-180"),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 15l7-7 7 7"})})]})},e.key))})}),r.jsx("tbody",{className:"bear-bg-white dark:bear-bg-gray-900",children:o?r.jsx("tr",{children:r.jsx("td",{colSpan:t.length,className:"bear-py-12 bear-text-center",children:r.jsx("div",{className:"bear-flex bear-justify-center",children:r.jsxs("svg",{className:"bear-animate-spin bear-w-6 bear-h-6 bear-text-amber-500",viewBox:"0 0 24 24",fill:"none",children:[r.jsx("circle",{className:"bear-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"bear-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})})})}):i.length===0?r.jsx("tr",{children:r.jsx("td",{colSpan:t.length,className:"bear-py-12 bear-text-center bear-text-gray-500 dark:bear-text-gray-400",children:x})}):i.map((e,b)=>r.jsx("tr",{onClick:()=>(c||d)&&(d==null?void 0:d(e,b)),className:s.cn(l==="striped"&&b%2===1&&"bear-bg-gray-50 dark:bear-bg-gray-800/50",l==="bordered"&&"bear-border-b bear-border-gray-200 dark:bear-border-gray-700",(c||d)&&"bear-cursor-pointer hover:bear-bg-amber-50 dark:hover:bear-bg-amber-900/10",l!=="bordered"&&"bear-border-b bear-border-gray-100 dark:bear-border-gray-800"),children:t.map(a=>r.jsx("td",{className:s.cn(m,"bear-text-gray-900 dark:bear-text-white",a.align==="center"&&"bear-text-center",a.align==="right"&&"bear-text-right",a.hideOnMobile&&"bear-hidden md:bear-table-cell"),children:a.cell?a.cell(e,b):a.accessor?a.accessor(e):String(e[a.key]??"")},a.key))},h(e,b)))})]})})})},z=t=>t;exports.DataTable=S;exports.createColumns=z;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DataTableColumn, DataTableProps } from './DataTable.types';
|
|
2
|
+
/**
|
|
3
|
+
* DataTable - A flexible data table component
|
|
4
|
+
*
|
|
5
|
+
* This is a wrapper that provides Bear styling. For more advanced features,
|
|
6
|
+
* consider using @forgedevstack/grid-table directly.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <DataTable
|
|
11
|
+
* columns={[
|
|
12
|
+
* { key: 'name', header: 'Name', accessor: (row) => row.name },
|
|
13
|
+
* { key: 'email', header: 'Email', accessor: (row) => row.email },
|
|
14
|
+
* { key: 'status', header: 'Status', cell: (row) => <Badge>{row.status}</Badge> },
|
|
15
|
+
* ]}
|
|
16
|
+
* data={users}
|
|
17
|
+
* rowKey={(row) => row.id}
|
|
18
|
+
* />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const DataTable: <T extends Record<string, unknown>>({ columns, data, rowKey, variant, loading, emptyContent, onRowClick, clickable, sortColumn, sortDirection, onSort, compact, stickyHeader, maxHeight, className, testId, }: DataTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare const createColumns: <T extends Record<string, unknown>>(columns: DataTableColumn<T>[]) => DataTableColumn<T>[];
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { cn as d } from "../../utils/cn.js";
|
|
3
|
+
const B = ({
|
|
4
|
+
columns: t,
|
|
5
|
+
data: h,
|
|
6
|
+
rowKey: n,
|
|
7
|
+
variant: l = "simple",
|
|
8
|
+
loading: y = !1,
|
|
9
|
+
emptyContent: p = "No data available",
|
|
10
|
+
onRowClick: s,
|
|
11
|
+
clickable: g = !1,
|
|
12
|
+
sortColumn: x,
|
|
13
|
+
sortDirection: f = "asc",
|
|
14
|
+
onSort: c,
|
|
15
|
+
compact: o = !1,
|
|
16
|
+
stickyHeader: k = !1,
|
|
17
|
+
maxHeight: N,
|
|
18
|
+
className: v,
|
|
19
|
+
testId: m
|
|
20
|
+
}) => {
|
|
21
|
+
const j = (e) => {
|
|
22
|
+
const b = t.find((a) => a.key === e);
|
|
23
|
+
b != null && b.sortable && c && c(e);
|
|
24
|
+
}, M = o ? "bear-px-3 bear-py-2" : "bear-px-4 bear-py-3", z = o ? "bear-px-3 bear-py-2" : "bear-px-4 bear-py-3";
|
|
25
|
+
return /* @__PURE__ */ r(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: d(
|
|
29
|
+
"bear-w-full bear-overflow-hidden bear-rounded-lg bear-border bear-border-gray-200 dark:bear-border-gray-700",
|
|
30
|
+
v
|
|
31
|
+
),
|
|
32
|
+
"data-testid": m,
|
|
33
|
+
children: /* @__PURE__ */ r(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
className: "bear-overflow-auto",
|
|
37
|
+
style: { maxHeight: N },
|
|
38
|
+
children: /* @__PURE__ */ i("table", { className: "bear-w-full bear-border-collapse bear-text-sm", children: [
|
|
39
|
+
/* @__PURE__ */ r(
|
|
40
|
+
"thead",
|
|
41
|
+
{
|
|
42
|
+
className: d(
|
|
43
|
+
"bear-bg-gray-50 dark:bear-bg-gray-800",
|
|
44
|
+
k && "bear-sticky bear-top-0 bear-z-10"
|
|
45
|
+
),
|
|
46
|
+
children: /* @__PURE__ */ r("tr", { children: t.map((e) => /* @__PURE__ */ r(
|
|
47
|
+
"th",
|
|
48
|
+
{
|
|
49
|
+
className: d(
|
|
50
|
+
z,
|
|
51
|
+
"bear-text-left bear-font-semibold bear-text-gray-700 dark:bear-text-gray-200",
|
|
52
|
+
"bear-border-b bear-border-gray-200 dark:bear-border-gray-700",
|
|
53
|
+
e.align === "center" && "bear-text-center",
|
|
54
|
+
e.align === "right" && "bear-text-right",
|
|
55
|
+
e.sortable && "bear-cursor-pointer hover:bear-bg-gray-100 dark:hover:bear-bg-gray-700",
|
|
56
|
+
e.hideOnMobile && "bear-hidden md:bear-table-cell"
|
|
57
|
+
),
|
|
58
|
+
style: { width: e.width },
|
|
59
|
+
onClick: () => e.sortable && j(e.key),
|
|
60
|
+
children: /* @__PURE__ */ i("div", { className: "bear-flex bear-items-center bear-gap-1", children: [
|
|
61
|
+
e.header,
|
|
62
|
+
e.sortable && x === e.key && /* @__PURE__ */ r(
|
|
63
|
+
"svg",
|
|
64
|
+
{
|
|
65
|
+
className: d(
|
|
66
|
+
"bear-w-4 bear-h-4 bear-transition-transform",
|
|
67
|
+
f === "desc" && "bear-rotate-180"
|
|
68
|
+
),
|
|
69
|
+
fill: "none",
|
|
70
|
+
viewBox: "0 0 24 24",
|
|
71
|
+
stroke: "currentColor",
|
|
72
|
+
children: /* @__PURE__ */ r("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" })
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
] })
|
|
76
|
+
},
|
|
77
|
+
e.key
|
|
78
|
+
)) })
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
/* @__PURE__ */ r("tbody", { className: "bear-bg-white dark:bear-bg-gray-900", children: y ? /* @__PURE__ */ r("tr", { children: /* @__PURE__ */ r("td", { colSpan: t.length, className: "bear-py-12 bear-text-center", children: /* @__PURE__ */ r("div", { className: "bear-flex bear-justify-center", children: /* @__PURE__ */ i("svg", { className: "bear-animate-spin bear-w-6 bear-h-6 bear-text-amber-500", viewBox: "0 0 24 24", fill: "none", children: [
|
|
82
|
+
/* @__PURE__ */ r("circle", { className: "bear-opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
|
|
83
|
+
/* @__PURE__ */ r("path", { className: "bear-opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })
|
|
84
|
+
] }) }) }) }) : h.length === 0 ? /* @__PURE__ */ r("tr", { children: /* @__PURE__ */ r("td", { colSpan: t.length, className: "bear-py-12 bear-text-center bear-text-gray-500 dark:bear-text-gray-400", children: p }) }) : h.map((e, b) => /* @__PURE__ */ r(
|
|
85
|
+
"tr",
|
|
86
|
+
{
|
|
87
|
+
onClick: () => (g || s) && (s == null ? void 0 : s(e, b)),
|
|
88
|
+
className: d(
|
|
89
|
+
l === "striped" && b % 2 === 1 && "bear-bg-gray-50 dark:bear-bg-gray-800/50",
|
|
90
|
+
l === "bordered" && "bear-border-b bear-border-gray-200 dark:bear-border-gray-700",
|
|
91
|
+
(g || s) && "bear-cursor-pointer hover:bear-bg-amber-50 dark:hover:bear-bg-amber-900/10",
|
|
92
|
+
l !== "bordered" && "bear-border-b bear-border-gray-100 dark:bear-border-gray-800"
|
|
93
|
+
),
|
|
94
|
+
children: t.map((a) => /* @__PURE__ */ r(
|
|
95
|
+
"td",
|
|
96
|
+
{
|
|
97
|
+
className: d(
|
|
98
|
+
M,
|
|
99
|
+
"bear-text-gray-900 dark:bear-text-white",
|
|
100
|
+
a.align === "center" && "bear-text-center",
|
|
101
|
+
a.align === "right" && "bear-text-right",
|
|
102
|
+
a.hideOnMobile && "bear-hidden md:bear-table-cell"
|
|
103
|
+
),
|
|
104
|
+
children: a.cell ? a.cell(e, b) : a.accessor ? a.accessor(e) : String(e[a.key] ?? "")
|
|
105
|
+
},
|
|
106
|
+
a.key
|
|
107
|
+
))
|
|
108
|
+
},
|
|
109
|
+
n(e, b)
|
|
110
|
+
)) })
|
|
111
|
+
] })
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
}, L = (t) => t;
|
|
117
|
+
export {
|
|
118
|
+
B as DataTable,
|
|
119
|
+
L as createColumns
|
|
120
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface DataTableColumn<T> {
|
|
3
|
+
/** Unique key for the column */
|
|
4
|
+
key: string;
|
|
5
|
+
/** Header text */
|
|
6
|
+
header: ReactNode;
|
|
7
|
+
/** Accessor function to get cell value */
|
|
8
|
+
accessor?: (row: T) => ReactNode;
|
|
9
|
+
/** Cell renderer */
|
|
10
|
+
cell?: (row: T, index: number) => ReactNode;
|
|
11
|
+
/** Column width */
|
|
12
|
+
width?: string | number;
|
|
13
|
+
/** Text alignment */
|
|
14
|
+
align?: 'left' | 'center' | 'right';
|
|
15
|
+
/** Whether column is sortable */
|
|
16
|
+
sortable?: boolean;
|
|
17
|
+
/** Whether to hide on mobile */
|
|
18
|
+
hideOnMobile?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface DataTableProps<T> {
|
|
21
|
+
/** Column definitions */
|
|
22
|
+
columns: DataTableColumn<T>[];
|
|
23
|
+
/** Table data */
|
|
24
|
+
data: T[];
|
|
25
|
+
/** Unique key accessor for rows */
|
|
26
|
+
rowKey: (row: T, index: number) => string | number;
|
|
27
|
+
/** Table variant */
|
|
28
|
+
variant?: 'simple' | 'striped' | 'bordered';
|
|
29
|
+
/** Whether table is loading */
|
|
30
|
+
loading?: boolean;
|
|
31
|
+
/** Empty state content */
|
|
32
|
+
emptyContent?: ReactNode;
|
|
33
|
+
/** Row click handler */
|
|
34
|
+
onRowClick?: (row: T, index: number) => void;
|
|
35
|
+
/** Whether rows are clickable */
|
|
36
|
+
clickable?: boolean;
|
|
37
|
+
/** Current sort column key */
|
|
38
|
+
sortColumn?: string;
|
|
39
|
+
/** Sort direction */
|
|
40
|
+
sortDirection?: 'asc' | 'desc';
|
|
41
|
+
/** Sort change handler */
|
|
42
|
+
onSort?: (column: string) => void;
|
|
43
|
+
/** Whether to use compact spacing */
|
|
44
|
+
compact?: boolean;
|
|
45
|
+
/** Whether header is sticky */
|
|
46
|
+
stickyHeader?: boolean;
|
|
47
|
+
/** Max height for scrollable body */
|
|
48
|
+
maxHeight?: string | number;
|
|
49
|
+
/** Custom class name */
|
|
50
|
+
className?: string;
|
|
51
|
+
/** Test ID */
|
|
52
|
+
testId?: string;
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("react"),h=require("../../utils/cn.cjs"),V=["Su","Mo","Tu","We","Th","Fr","Sa"],W=["January","February","March","April","May","June","July","August","September","October","November","December"],q=(r,t="MM/DD/YYYY")=>{if(!r)return"";const l=r.getDate().toString().padStart(2,"0"),i=(r.getMonth()+1).toString().padStart(2,"0"),b=r.getFullYear().toString();return t.replace("DD",l).replace("MM",i).replace("YYYY",b)},A=(r,t)=>!r||!t?!1:r.getDate()===t.getDate()&&r.getMonth()===t.getMonth()&&r.getFullYear()===t.getFullYear(),B=(r,t)=>new Date(r,t+1,0).getDate(),E=(r,t)=>new Date(r,t,1).getDay(),I=({value:r,onChange:t,minDate:l,maxDate:i,disabled:b=!1,placeholder:j="Select date",label:p,error:d,helperText:g,format:M="MM/DD/YYYY",clearable:k=!0,className:v,size:z="md",variant:N="default"})=>{const[f,u]=c.useState(!1),[n,w]=c.useState(r||new Date),x=c.useRef(null);c.useEffect(()=>{const s=o=>{x.current&&!x.current.contains(o.target)&&u(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[]);const Y=c.useCallback(s=>{const o=new Date(n.getFullYear(),n.getMonth(),s);t==null||t(o),u(!1)},[n,t]),y=()=>w(new Date(n.getFullYear(),n.getMonth()-1,1)),S=()=>w(new Date(n.getFullYear(),n.getMonth()+1,1)),D=s=>{const o=new Date(n.getFullYear(),n.getMonth(),s);return!!(l&&o<l||i&&o>i)},F=()=>{const s=n.getFullYear(),o=n.getMonth(),C=B(s,o),P=E(s,o),m=[];for(let a=0;a<P;a++)m.push(null);for(let a=1;a<=C;a++)m.push(a);return e.jsxs("div",{className:"bear-absolute bear-z-50 bear-mt-1 bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-72",children:[e.jsxs("div",{className:"bear-flex bear-items-center bear-justify-between bear-mb-3",children:[e.jsx("button",{onClick:y,className:"bear-p-1 bear-rounded hover:bear-bg-zinc-700 bear-text-zinc-400",children:e.jsx("svg",{className:"bear-w-5 bear-h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),e.jsxs("span",{className:"bear-font-medium bear-text-white",children:[W[o]," ",s]}),e.jsx("button",{onClick:S,className:"bear-p-1 bear-rounded hover:bear-bg-zinc-700 bear-text-zinc-400",children:e.jsx("svg",{className:"bear-w-5 bear-h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),e.jsx("div",{className:"bear-grid bear-grid-cols-7 bear-gap-1 bear-mb-2",children:V.map(a=>e.jsx("div",{className:"bear-text-center bear-text-xs bear-text-zinc-500 bear-font-medium",children:a},a))}),e.jsx("div",{className:"bear-grid bear-grid-cols-7 bear-gap-1",children:m.map((a,R)=>a===null?e.jsx("div",{},`empty-${R}`):e.jsx("button",{onClick:()=>Y(a),disabled:D(a),className:h.cn("bear-w-8 bear-h-8 bear-rounded bear-text-sm bear-transition-colors",A(r??null,new Date(s,o,a))?"bear-bg-pink-500 bear-text-white":"bear-text-zinc-300 hover:bear-bg-zinc-700",D(a)&&"bear-opacity-30 bear-cursor-not-allowed"),children:a},a))}),k&&r&&e.jsx("button",{onClick:()=>{t==null||t(null),u(!1)},className:"bear-w-full bear-mt-3 bear-py-1.5 bear-text-sm bear-text-zinc-400 hover:bear-text-white bear-border-t bear-border-zinc-700",children:"Clear"})]})},L={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4",lg:"bear-py-2.5 bear-px-5 bear-text-lg"},O={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"};return e.jsxs("div",{ref:x,className:h.cn("bear-relative",v),children:[p&&e.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:p}),e.jsxs("button",{type:"button",onClick:()=>!b&&u(!f),disabled:b,className:h.cn("bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",L[z],O[N],d?"bear-border-red-500":"focus:bear-border-pink-500",b&&"bear-opacity-50 bear-cursor-not-allowed",r?"bear-text-white":"bear-text-zinc-500"),children:[e.jsx("span",{children:r?q(r,M):j}),e.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-zinc-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})})]}),d&&e.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:d}),g&&!d&&e.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:g}),f&&F()]})};exports.DatePicker=I;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useState as M, useRef as B, useEffect as E, useCallback as I } from "react";
|
|
3
|
+
import { cn as p } from "../../utils/cn.js";
|
|
4
|
+
const J = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], H = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], P = (e, r = "MM/DD/YYYY") => {
|
|
5
|
+
if (!e) return "";
|
|
6
|
+
const c = e.getDate().toString().padStart(2, "0"), i = (e.getMonth() + 1).toString().padStart(2, "0"), b = e.getFullYear().toString();
|
|
7
|
+
return r.replace("DD", c).replace("MM", i).replace("YYYY", b);
|
|
8
|
+
}, R = (e, r) => !e || !r ? !1 : e.getDate() === r.getDate() && e.getMonth() === r.getMonth() && e.getFullYear() === r.getFullYear(), T = (e, r) => new Date(e, r + 1, 0).getDate(), $ = (e, r) => new Date(e, r, 1).getDay(), Q = ({
|
|
9
|
+
value: e,
|
|
10
|
+
onChange: r,
|
|
11
|
+
minDate: c,
|
|
12
|
+
maxDate: i,
|
|
13
|
+
disabled: b = !1,
|
|
14
|
+
placeholder: k = "Select date",
|
|
15
|
+
label: f,
|
|
16
|
+
error: d,
|
|
17
|
+
helperText: g,
|
|
18
|
+
format: z = "MM/DD/YYYY",
|
|
19
|
+
clearable: v = !0,
|
|
20
|
+
className: N,
|
|
21
|
+
size: Y = "md",
|
|
22
|
+
variant: y = "default"
|
|
23
|
+
}) => {
|
|
24
|
+
const [x, u] = M(!1), [n, w] = M(e || /* @__PURE__ */ new Date()), m = B(null);
|
|
25
|
+
E(() => {
|
|
26
|
+
const s = (o) => {
|
|
27
|
+
m.current && !m.current.contains(o.target) && u(!1);
|
|
28
|
+
};
|
|
29
|
+
return document.addEventListener("mousedown", s), () => document.removeEventListener("mousedown", s);
|
|
30
|
+
}, []);
|
|
31
|
+
const S = I((s) => {
|
|
32
|
+
const o = new Date(n.getFullYear(), n.getMonth(), s);
|
|
33
|
+
r == null || r(o), u(!1);
|
|
34
|
+
}, [n, r]), F = () => w(new Date(n.getFullYear(), n.getMonth() - 1, 1)), L = () => w(new Date(n.getFullYear(), n.getMonth() + 1, 1)), D = (s) => {
|
|
35
|
+
const o = new Date(n.getFullYear(), n.getMonth(), s);
|
|
36
|
+
return !!(c && o < c || i && o > i);
|
|
37
|
+
}, j = () => {
|
|
38
|
+
const s = n.getFullYear(), o = n.getMonth(), V = T(s, o), W = $(s, o), h = [];
|
|
39
|
+
for (let a = 0; a < W; a++) h.push(null);
|
|
40
|
+
for (let a = 1; a <= V; a++) h.push(a);
|
|
41
|
+
return /* @__PURE__ */ l("div", { className: "bear-absolute bear-z-50 bear-mt-1 bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-72", children: [
|
|
42
|
+
/* @__PURE__ */ l("div", { className: "bear-flex bear-items-center bear-justify-between bear-mb-3", children: [
|
|
43
|
+
/* @__PURE__ */ t("button", { onClick: F, className: "bear-p-1 bear-rounded hover:bear-bg-zinc-700 bear-text-zinc-400", children: /* @__PURE__ */ t("svg", { className: "bear-w-5 bear-h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ t("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }) }),
|
|
44
|
+
/* @__PURE__ */ l("span", { className: "bear-font-medium bear-text-white", children: [
|
|
45
|
+
H[o],
|
|
46
|
+
" ",
|
|
47
|
+
s
|
|
48
|
+
] }),
|
|
49
|
+
/* @__PURE__ */ t("button", { onClick: L, className: "bear-p-1 bear-rounded hover:bear-bg-zinc-700 bear-text-zinc-400", children: /* @__PURE__ */ t("svg", { className: "bear-w-5 bear-h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ t("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) }) })
|
|
50
|
+
] }),
|
|
51
|
+
/* @__PURE__ */ t("div", { className: "bear-grid bear-grid-cols-7 bear-gap-1 bear-mb-2", children: J.map((a) => /* @__PURE__ */ t("div", { className: "bear-text-center bear-text-xs bear-text-zinc-500 bear-font-medium", children: a }, a)) }),
|
|
52
|
+
/* @__PURE__ */ t("div", { className: "bear-grid bear-grid-cols-7 bear-gap-1", children: h.map((a, A) => a === null ? /* @__PURE__ */ t("div", {}, `empty-${A}`) : /* @__PURE__ */ t(
|
|
53
|
+
"button",
|
|
54
|
+
{
|
|
55
|
+
onClick: () => S(a),
|
|
56
|
+
disabled: D(a),
|
|
57
|
+
className: p(
|
|
58
|
+
"bear-w-8 bear-h-8 bear-rounded bear-text-sm bear-transition-colors",
|
|
59
|
+
R(e ?? null, new Date(s, o, a)) ? "bear-bg-pink-500 bear-text-white" : "bear-text-zinc-300 hover:bear-bg-zinc-700",
|
|
60
|
+
D(a) && "bear-opacity-30 bear-cursor-not-allowed"
|
|
61
|
+
),
|
|
62
|
+
children: a
|
|
63
|
+
},
|
|
64
|
+
a
|
|
65
|
+
)) }),
|
|
66
|
+
v && e && /* @__PURE__ */ t(
|
|
67
|
+
"button",
|
|
68
|
+
{
|
|
69
|
+
onClick: () => {
|
|
70
|
+
r == null || r(null), u(!1);
|
|
71
|
+
},
|
|
72
|
+
className: "bear-w-full bear-mt-3 bear-py-1.5 bear-text-sm bear-text-zinc-400 hover:bear-text-white bear-border-t bear-border-zinc-700",
|
|
73
|
+
children: "Clear"
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
] });
|
|
77
|
+
}, O = { sm: "bear-py-1.5 bear-px-3 bear-text-sm", md: "bear-py-2 bear-px-4", lg: "bear-py-2.5 bear-px-5 bear-text-lg" }, C = {
|
|
78
|
+
default: "bear-bg-zinc-800 bear-border-zinc-600",
|
|
79
|
+
filled: "bear-bg-zinc-700 bear-border-transparent",
|
|
80
|
+
outline: "bear-bg-transparent bear-border-zinc-500"
|
|
81
|
+
};
|
|
82
|
+
return /* @__PURE__ */ l("div", { ref: m, className: p("bear-relative", N), children: [
|
|
83
|
+
f && /* @__PURE__ */ t("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5", children: f }),
|
|
84
|
+
/* @__PURE__ */ l(
|
|
85
|
+
"button",
|
|
86
|
+
{
|
|
87
|
+
type: "button",
|
|
88
|
+
onClick: () => !b && u(!x),
|
|
89
|
+
disabled: b,
|
|
90
|
+
className: p(
|
|
91
|
+
"bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",
|
|
92
|
+
O[Y],
|
|
93
|
+
C[y],
|
|
94
|
+
d ? "bear-border-red-500" : "focus:bear-border-pink-500",
|
|
95
|
+
b && "bear-opacity-50 bear-cursor-not-allowed",
|
|
96
|
+
e ? "bear-text-white" : "bear-text-zinc-500"
|
|
97
|
+
),
|
|
98
|
+
children: [
|
|
99
|
+
/* @__PURE__ */ t("span", { children: e ? P(e, z) : k }),
|
|
100
|
+
/* @__PURE__ */ t("svg", { className: "bear-w-5 bear-h-5 bear-text-zinc-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ t("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
d && /* @__PURE__ */ t("p", { className: "bear-mt-1 bear-text-xs bear-text-red-400", children: d }),
|
|
105
|
+
g && !d && /* @__PURE__ */ t("p", { className: "bear-mt-1 bear-text-xs bear-text-zinc-500", children: g }),
|
|
106
|
+
x && j()
|
|
107
|
+
] });
|
|
108
|
+
};
|
|
109
|
+
export {
|
|
110
|
+
Q as DatePicker
|
|
111
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface DatePickerProps {
|
|
3
|
+
value?: Date | null;
|
|
4
|
+
onChange?: (date: Date | null) => void;
|
|
5
|
+
onRangeChange?: (range: [Date | null, Date | null]) => void;
|
|
6
|
+
minDate?: Date;
|
|
7
|
+
maxDate?: Date;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
helperText?: string;
|
|
13
|
+
format?: string;
|
|
14
|
+
locale?: string;
|
|
15
|
+
range?: boolean;
|
|
16
|
+
rangeValue?: [Date | null, Date | null];
|
|
17
|
+
clearable?: boolean;
|
|
18
|
+
className?: string;
|
|
19
|
+
showWeekNumbers?: boolean;
|
|
20
|
+
disabledDates?: Date[];
|
|
21
|
+
highlightedDates?: Date[];
|
|
22
|
+
size?: 'sm' | 'md' | 'lg';
|
|
23
|
+
variant?: 'default' | 'filled' | 'outline';
|
|
24
|
+
leftIcon?: ReactNode;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),m=require("../../utils/cn.cjs"),l={solid:"ember-border-solid",dashed:"ember-border-dashed",dotted:"ember-border-dotted"},u={left:"before:ember-w-4 after:ember-flex-1",center:"before:ember-flex-1 after:ember-flex-1",right:"before:ember-flex-1 after:ember-w-4"},c=({children:a,orientation:n="horizontal",variant:b="solid",color:d,textAlign:x="center",thickness:r=1,spacing:o=4,className:i,testId:s,style:f,...h})=>{const e=n==="horizontal";return a?t.jsxs("div",{className:m.cn("ember-flex ember-items-center ember-gap-4",e?"ember-w-full":"ember-flex-col ember-h-full",u[x],i),role:"separator",style:{marginTop:e?`${o*.25}rem`:0,marginBottom:e?`${o*.25}rem`:0,...f},"data-testid":s,children:[t.jsx("span",{className:m.cn("ember-flex-shrink-0",l[b]),style:{borderTopWidth:e?r:0,borderLeftWidth:e?0:r,borderColor:d||"#e5e7eb"}}),t.jsx("span",{className:"ember-text-sm ember-text-gray-500 ember-whitespace-nowrap ember-px-2",children:a}),t.jsx("span",{className:m.cn("ember-flex-shrink-0",l[b]),style:{borderTopWidth:e?r:0,borderLeftWidth:e?0:r,borderColor:d||"#e5e7eb"}})]}):t.jsx("hr",{className:m.cn("ember-border-0",e?"ember-w-full":"ember-h-full ember-w-px",l[b],i),style:{borderTopWidth:e?r:0,borderLeftWidth:e?0:r,borderColor:d||"#e5e7eb",marginTop:e?`${o*.25}rem`:0,marginBottom:e?`${o*.25}rem`:0,marginLeft:e?0:`${o*.25}rem`,marginRight:e?0:`${o*.25}rem`,...f},"data-testid":s,...h})};exports.Divider=c;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { DividerProps } from './Divider.types';
|
|
3
|
+
/**
|
|
4
|
+
* Divider component for separating content
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* // Simple divider
|
|
9
|
+
* <Divider />
|
|
10
|
+
*
|
|
11
|
+
* // With text
|
|
12
|
+
* <Divider>OR</Divider>
|
|
13
|
+
*
|
|
14
|
+
* // Vertical divider
|
|
15
|
+
* <Divider orientation="vertical" />
|
|
16
|
+
*
|
|
17
|
+
* // Dashed with custom color
|
|
18
|
+
* <Divider variant="dashed" color="#ec4899" />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const Divider: FC<DividerProps>;
|
|
22
|
+
export default Divider;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { jsx as m, jsxs as p } from "react/jsx-runtime";
|
|
2
|
+
import { cn as t } from "../../utils/cn.js";
|
|
3
|
+
const l = {
|
|
4
|
+
solid: "ember-border-solid",
|
|
5
|
+
dashed: "ember-border-dashed",
|
|
6
|
+
dotted: "ember-border-dotted"
|
|
7
|
+
}, T = {
|
|
8
|
+
left: "before:ember-w-4 after:ember-flex-1",
|
|
9
|
+
center: "before:ember-flex-1 after:ember-flex-1",
|
|
10
|
+
right: "before:ember-flex-1 after:ember-w-4"
|
|
11
|
+
}, u = ({
|
|
12
|
+
children: a,
|
|
13
|
+
orientation: x = "horizontal",
|
|
14
|
+
variant: b = "solid",
|
|
15
|
+
color: d,
|
|
16
|
+
textAlign: h = "center",
|
|
17
|
+
thickness: r = 1,
|
|
18
|
+
spacing: o = 4,
|
|
19
|
+
className: f,
|
|
20
|
+
testId: i,
|
|
21
|
+
style: s,
|
|
22
|
+
...n
|
|
23
|
+
}) => {
|
|
24
|
+
const e = x === "horizontal";
|
|
25
|
+
return a ? /* @__PURE__ */ p(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: t(
|
|
29
|
+
"ember-flex ember-items-center ember-gap-4",
|
|
30
|
+
e ? "ember-w-full" : "ember-flex-col ember-h-full",
|
|
31
|
+
T[h],
|
|
32
|
+
f
|
|
33
|
+
),
|
|
34
|
+
role: "separator",
|
|
35
|
+
style: {
|
|
36
|
+
marginTop: e ? `${o * 0.25}rem` : 0,
|
|
37
|
+
marginBottom: e ? `${o * 0.25}rem` : 0,
|
|
38
|
+
...s
|
|
39
|
+
},
|
|
40
|
+
"data-testid": i,
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ m(
|
|
43
|
+
"span",
|
|
44
|
+
{
|
|
45
|
+
className: t(
|
|
46
|
+
"ember-flex-shrink-0",
|
|
47
|
+
l[b]
|
|
48
|
+
),
|
|
49
|
+
style: {
|
|
50
|
+
borderTopWidth: e ? r : 0,
|
|
51
|
+
borderLeftWidth: e ? 0 : r,
|
|
52
|
+
borderColor: d || "#e5e7eb"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
),
|
|
56
|
+
/* @__PURE__ */ m("span", { className: "ember-text-sm ember-text-gray-500 ember-whitespace-nowrap ember-px-2", children: a }),
|
|
57
|
+
/* @__PURE__ */ m(
|
|
58
|
+
"span",
|
|
59
|
+
{
|
|
60
|
+
className: t(
|
|
61
|
+
"ember-flex-shrink-0",
|
|
62
|
+
l[b]
|
|
63
|
+
),
|
|
64
|
+
style: {
|
|
65
|
+
borderTopWidth: e ? r : 0,
|
|
66
|
+
borderLeftWidth: e ? 0 : r,
|
|
67
|
+
borderColor: d || "#e5e7eb"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
) : /* @__PURE__ */ m(
|
|
74
|
+
"hr",
|
|
75
|
+
{
|
|
76
|
+
className: t(
|
|
77
|
+
"ember-border-0",
|
|
78
|
+
e ? "ember-w-full" : "ember-h-full ember-w-px",
|
|
79
|
+
l[b],
|
|
80
|
+
f
|
|
81
|
+
),
|
|
82
|
+
style: {
|
|
83
|
+
borderTopWidth: e ? r : 0,
|
|
84
|
+
borderLeftWidth: e ? 0 : r,
|
|
85
|
+
borderColor: d || "#e5e7eb",
|
|
86
|
+
marginTop: e ? `${o * 0.25}rem` : 0,
|
|
87
|
+
marginBottom: e ? `${o * 0.25}rem` : 0,
|
|
88
|
+
marginLeft: e ? 0 : `${o * 0.25}rem`,
|
|
89
|
+
marginRight: e ? 0 : `${o * 0.25}rem`,
|
|
90
|
+
...s
|
|
91
|
+
},
|
|
92
|
+
"data-testid": i,
|
|
93
|
+
...n
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
};
|
|
97
|
+
export {
|
|
98
|
+
u as Divider
|
|
99
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface DividerProps extends HTMLAttributes<HTMLHRElement> {
|
|
3
|
+
/** Text to display in the middle of the divider */
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
/** Orientation of the divider */
|
|
6
|
+
orientation?: 'horizontal' | 'vertical';
|
|
7
|
+
/** Variant style */
|
|
8
|
+
variant?: 'solid' | 'dashed' | 'dotted';
|
|
9
|
+
/** Color of the divider */
|
|
10
|
+
color?: string;
|
|
11
|
+
/** Text alignment when children present */
|
|
12
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
13
|
+
/** Thickness of the divider line */
|
|
14
|
+
thickness?: number;
|
|
15
|
+
/** Spacing around the divider */
|
|
16
|
+
spacing?: number;
|
|
17
|
+
/** Test ID */
|
|
18
|
+
testId?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),f=require("react-dom"),w=require("../../utils/cn.cjs"),x=require("../Icon/index.cjs"),g={left:{sm:"bear-w-64",md:"bear-w-80",lg:"bear-w-96",xl:"bear-w-[32rem]"},right:{sm:"bear-w-64",md:"bear-w-80",lg:"bear-w-96",xl:"bear-w-[32rem]"},top:{sm:"bear-h-32",md:"bear-h-48",lg:"bear-h-64",xl:"bear-h-96"},bottom:{sm:"bear-h-32",md:"bear-h-48",lg:"bear-h-64",xl:"bear-h-96"}},y={left:"bear-left-0 bear-top-0 bear-h-full",right:"bear-right-0 bear-top-0 bear-h-full",top:"bear-top-0 bear-left-0 bear-w-full",bottom:"bear-bottom-0 bear-left-0 bear-w-full"},v=({isOpen:t,onClose:a,title:b,children:n,side:r="right",size:i="md",showCloseButton:l=!0,closeOnBackdrop:c=!0,closeOnEscape:s=!0,className:m})=>{const o=d.useCallback(h=>{s&&h.key==="Escape"&&a()},[s,a]);if(d.useEffect(()=>(t&&(document.addEventListener("keydown",o),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",o),document.body.style.overflow=""}),[t,o]),!t)return null;const u=e.jsxs("div",{className:"bear-fixed bear-inset-0 bear-z-50",children:[e.jsx("div",{className:"bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm",onClick:c?a:void 0,"aria-hidden":"true"}),e.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":b?"drawer-title":void 0,className:w.cn("bear-absolute bear-bg-gray-900 bear-shadow-2xl","bear-border-gray-700 bear-overflow-hidden","bear-transform bear-transition-transform bear-duration-300",r==="left"&&"bear-border-r",r==="right"&&"bear-border-l",r==="top"&&"bear-border-b",r==="bottom"&&"bear-border-t",y[r],g[r][i],m),children:[(b||l)&&e.jsxs("div",{className:"bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3 bear-border-b bear-border-gray-700",children:[b&&e.jsx("h2",{id:"drawer-title",className:"bear-text-lg bear-font-semibold bear-text-white",children:b}),l&&e.jsx("button",{onClick:a,className:"bear-p-1 bear-rounded-lg bear-text-gray-400 hover:bear-text-white hover:bear-bg-gray-700 bear-transition-colors","aria-label":"Close drawer",children:e.jsx(x.XIcon,{className:"bear-w-5 bear-h-5"})})]}),e.jsx("div",{className:"bear-flex-1 bear-overflow-y-auto bear-p-4 bear-text-gray-300",children:n})]})]});return f.createPortal(u,document.body)};exports.Drawer=v;
|