@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,99 @@
|
|
|
1
|
+
import { jsxs as d, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useState as y, useCallback as S, useMemo as A } from "react";
|
|
3
|
+
import { cn as R } from "../../utils/cn.js";
|
|
4
|
+
const q = {
|
|
5
|
+
xs: 14,
|
|
6
|
+
sm: 18,
|
|
7
|
+
md: 24,
|
|
8
|
+
lg: 30,
|
|
9
|
+
xl: 36
|
|
10
|
+
}, I = "#fbbf24", J = "#d1d5db", V = ({
|
|
11
|
+
value: h,
|
|
12
|
+
defaultValue: $ = 0,
|
|
13
|
+
max: a = 5,
|
|
14
|
+
size: B = "md",
|
|
15
|
+
readOnly: s = !1,
|
|
16
|
+
disabled: r = !1,
|
|
17
|
+
precision: v = 1,
|
|
18
|
+
color: k = I,
|
|
19
|
+
emptyColor: x = J,
|
|
20
|
+
filledIcon: E,
|
|
21
|
+
emptyIcon: g,
|
|
22
|
+
halfIcon: w,
|
|
23
|
+
highlightOnHover: l = !0,
|
|
24
|
+
showLabel: C = !1,
|
|
25
|
+
formatLabel: z,
|
|
26
|
+
onChange: c,
|
|
27
|
+
className: G,
|
|
28
|
+
testId: N,
|
|
29
|
+
...T
|
|
30
|
+
}) => {
|
|
31
|
+
const [j, D] = y($), [M, F] = y(null), m = h !== void 0, L = m ? h : j, f = M !== null && !s && !r ? M : L, u = q[B], H = S((e) => {
|
|
32
|
+
s || r || (m || D(e), c == null || c(e));
|
|
33
|
+
}, [m, c, s, r]), P = S((e) => {
|
|
34
|
+
s || r || !l || F(e);
|
|
35
|
+
}, [s, r, l]), U = S(() => {
|
|
36
|
+
s || r || !l || F(null);
|
|
37
|
+
}, [s, r, l]), p = A(() => ({ FilledStar: ({ size: o, color: i }) => /* @__PURE__ */ t("svg", { width: o, height: o, viewBox: "0 0 24 24", fill: i, stroke: "none", children: /* @__PURE__ */ t("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }) }), EmptyStar: ({ size: o, color: i }) => /* @__PURE__ */ t("svg", { width: o, height: o, viewBox: "0 0 24 24", fill: "none", stroke: i, strokeWidth: "2", children: /* @__PURE__ */ t("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }) }), HalfStar: ({ size: o, color: i, emptyColor: _ }) => /* @__PURE__ */ d("svg", { width: o, height: o, viewBox: "0 0 24 24", children: [
|
|
38
|
+
/* @__PURE__ */ t("defs", { children: /* @__PURE__ */ d("linearGradient", { id: "halfGrad", children: [
|
|
39
|
+
/* @__PURE__ */ t("stop", { offset: "50%", stopColor: i }),
|
|
40
|
+
/* @__PURE__ */ t("stop", { offset: "50%", stopColor: _, stopOpacity: "0" })
|
|
41
|
+
] }) }),
|
|
42
|
+
/* @__PURE__ */ t(
|
|
43
|
+
"polygon",
|
|
44
|
+
{
|
|
45
|
+
points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",
|
|
46
|
+
fill: "url(#halfGrad)",
|
|
47
|
+
stroke: _,
|
|
48
|
+
strokeWidth: "2"
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
] }) }), []), W = (e) => {
|
|
52
|
+
const n = f - e, b = n >= 1, o = v === 0.5 && n >= 0.5 && n < 1, i = n < (v === 0.5 ? 0.5 : 1);
|
|
53
|
+
return E && b ? E : w && o ? w : g && i ? g : b ? /* @__PURE__ */ t(p.FilledStar, { size: u, color: k }) : o ? /* @__PURE__ */ t(p.HalfStar, { size: u, color: k, emptyColor: x }) : /* @__PURE__ */ t(p.EmptyStar, { size: u, color: x });
|
|
54
|
+
}, Y = A(
|
|
55
|
+
() => Array.from({ length: a }, (e, n) => n + 1),
|
|
56
|
+
[a]
|
|
57
|
+
), Z = z ? z(f) : `${f} out of ${a}`;
|
|
58
|
+
return /* @__PURE__ */ d(
|
|
59
|
+
"div",
|
|
60
|
+
{
|
|
61
|
+
className: R(
|
|
62
|
+
"ember-inline-flex ember-items-center ember-gap-1",
|
|
63
|
+
r && "ember-opacity-50 ember-cursor-not-allowed",
|
|
64
|
+
G
|
|
65
|
+
),
|
|
66
|
+
role: "radiogroup",
|
|
67
|
+
"aria-label": "Rating",
|
|
68
|
+
"data-testid": N,
|
|
69
|
+
onMouseLeave: U,
|
|
70
|
+
...T,
|
|
71
|
+
children: [
|
|
72
|
+
Y.map((e) => /* @__PURE__ */ t(
|
|
73
|
+
"button",
|
|
74
|
+
{
|
|
75
|
+
type: "button",
|
|
76
|
+
role: "radio",
|
|
77
|
+
"aria-checked": L >= e,
|
|
78
|
+
"aria-label": `${e} star${e > 1 ? "s" : ""}`,
|
|
79
|
+
className: R(
|
|
80
|
+
"ember-p-0.5 ember-rounded ember-transition-transform ember-bg-transparent ember-border-none",
|
|
81
|
+
!s && !r && "hover:ember-scale-110 ember-cursor-pointer",
|
|
82
|
+
s && "ember-cursor-default",
|
|
83
|
+
r && "ember-cursor-not-allowed"
|
|
84
|
+
),
|
|
85
|
+
onClick: () => H(e),
|
|
86
|
+
onMouseEnter: () => P(e),
|
|
87
|
+
disabled: r || s,
|
|
88
|
+
children: W(e - 1)
|
|
89
|
+
},
|
|
90
|
+
e
|
|
91
|
+
)),
|
|
92
|
+
C && /* @__PURE__ */ t("span", { className: "ember-ml-2 ember-text-sm ember-text-gray-600 dark:ember-text-gray-400", children: Z })
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
};
|
|
97
|
+
export {
|
|
98
|
+
V as Rating
|
|
99
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { BearSize } from '../../types';
|
|
3
|
+
export interface RatingProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
4
|
+
/** Current rating value */
|
|
5
|
+
value?: number;
|
|
6
|
+
/** Default rating value (uncontrolled) */
|
|
7
|
+
defaultValue?: number;
|
|
8
|
+
/** Maximum rating value */
|
|
9
|
+
max?: number;
|
|
10
|
+
/** Rating size */
|
|
11
|
+
size?: BearSize;
|
|
12
|
+
/** Whether rating is read-only */
|
|
13
|
+
readOnly?: boolean;
|
|
14
|
+
/** Whether rating is disabled */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** Precision for half stars (1 or 0.5) */
|
|
17
|
+
precision?: 1 | 0.5;
|
|
18
|
+
/** Color of filled stars */
|
|
19
|
+
color?: string;
|
|
20
|
+
/** Empty star color */
|
|
21
|
+
emptyColor?: string;
|
|
22
|
+
/** Custom filled icon */
|
|
23
|
+
filledIcon?: React.ReactNode;
|
|
24
|
+
/** Custom empty icon */
|
|
25
|
+
emptyIcon?: React.ReactNode;
|
|
26
|
+
/** Custom half icon */
|
|
27
|
+
halfIcon?: React.ReactNode;
|
|
28
|
+
/** Whether to highlight on hover */
|
|
29
|
+
highlightOnHover?: boolean;
|
|
30
|
+
/** Change handler */
|
|
31
|
+
onChange?: (value: number) => void;
|
|
32
|
+
/** Show rating label */
|
|
33
|
+
showLabel?: boolean;
|
|
34
|
+
/** Custom label formatter */
|
|
35
|
+
formatLabel?: (value: number) => string;
|
|
36
|
+
/** Test ID */
|
|
37
|
+
testId?: string;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),u=require("../../utils/cn.cjs"),w=({children:b,className:l,orientation:a="vertical",scrollbarSize:o="md",scrollbarVariant:t="default",maxHeight:r,maxWidth:e})=>{const s={sm:"[&::-webkit-scrollbar]:bear-w-1 [&::-webkit-scrollbar]:bear-h-1",md:"[&::-webkit-scrollbar]:bear-w-2 [&::-webkit-scrollbar]:bear-h-2",lg:"[&::-webkit-scrollbar]:bear-w-3 [&::-webkit-scrollbar]:bear-h-3"},c={default:"[&::-webkit-scrollbar-track]:bear-bg-zinc-800 [&::-webkit-scrollbar-thumb]:bear-bg-zinc-600 [&::-webkit-scrollbar-thumb]:bear-rounded-full [&::-webkit-scrollbar-thumb]:hover:bear-bg-zinc-500",minimal:"[&::-webkit-scrollbar-track]:bear-bg-transparent [&::-webkit-scrollbar-thumb]:bear-bg-zinc-700 [&::-webkit-scrollbar-thumb]:bear-rounded-full",hidden:"[&::-webkit-scrollbar]:bear-hidden bear-scrollbar-none"},i={vertical:"bear-overflow-y-auto bear-overflow-x-hidden",horizontal:"bear-overflow-x-auto bear-overflow-y-hidden",both:"bear-overflow-auto"};return n.jsx("div",{className:u.cn(i[a],s[o],c[t],l),style:{maxHeight:typeof r=="number"?`${r}px`:r,maxWidth:typeof e=="number"?`${e}px`:e},children:b})};exports.ScrollArea=w;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { cn as n } from "../../utils/cn.js";
|
|
3
|
+
const k = ({
|
|
4
|
+
children: b,
|
|
5
|
+
className: l,
|
|
6
|
+
orientation: a = "vertical",
|
|
7
|
+
scrollbarSize: o = "md",
|
|
8
|
+
scrollbarVariant: t = "default",
|
|
9
|
+
maxHeight: r,
|
|
10
|
+
maxWidth: e
|
|
11
|
+
}) => {
|
|
12
|
+
const s = {
|
|
13
|
+
sm: "[&::-webkit-scrollbar]:bear-w-1 [&::-webkit-scrollbar]:bear-h-1",
|
|
14
|
+
md: "[&::-webkit-scrollbar]:bear-w-2 [&::-webkit-scrollbar]:bear-h-2",
|
|
15
|
+
lg: "[&::-webkit-scrollbar]:bear-w-3 [&::-webkit-scrollbar]:bear-h-3"
|
|
16
|
+
}, c = {
|
|
17
|
+
default: "[&::-webkit-scrollbar-track]:bear-bg-zinc-800 [&::-webkit-scrollbar-thumb]:bear-bg-zinc-600 [&::-webkit-scrollbar-thumb]:bear-rounded-full [&::-webkit-scrollbar-thumb]:hover:bear-bg-zinc-500",
|
|
18
|
+
minimal: "[&::-webkit-scrollbar-track]:bear-bg-transparent [&::-webkit-scrollbar-thumb]:bear-bg-zinc-700 [&::-webkit-scrollbar-thumb]:bear-rounded-full",
|
|
19
|
+
hidden: "[&::-webkit-scrollbar]:bear-hidden bear-scrollbar-none"
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ i(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
className: n(
|
|
25
|
+
{
|
|
26
|
+
vertical: "bear-overflow-y-auto bear-overflow-x-hidden",
|
|
27
|
+
horizontal: "bear-overflow-x-auto bear-overflow-y-hidden",
|
|
28
|
+
both: "bear-overflow-auto"
|
|
29
|
+
}[a],
|
|
30
|
+
s[o],
|
|
31
|
+
c[t],
|
|
32
|
+
l
|
|
33
|
+
),
|
|
34
|
+
style: {
|
|
35
|
+
maxHeight: typeof r == "number" ? `${r}px` : r,
|
|
36
|
+
maxWidth: typeof e == "number" ? `${e}px` : e
|
|
37
|
+
},
|
|
38
|
+
children: b
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
k as ScrollArea
|
|
44
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ScrollAreaProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
orientation?: 'vertical' | 'horizontal' | 'both';
|
|
6
|
+
scrollbarSize?: 'sm' | 'md' | 'lg';
|
|
7
|
+
scrollbarVariant?: 'default' | 'minimal' | 'hidden';
|
|
8
|
+
maxHeight?: number | string;
|
|
9
|
+
maxWidth?: number | string;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),d=require("react"),a=require("../../utils/cn.cjs"),x=require("../Icon/index.cjs"),N={sm:"bear-h-8 bear-text-sm bear-px-3",md:"bear-h-10 bear-text-base bear-px-4",lg:"bear-h-12 bear-text-lg bear-px-5"},p=({options:i,value:b,onChange:s,placeholder:m="Select an option",label:f,error:l,disabled:n=!1,size:g="md",fullWidth:h=!1,className:y})=>{const[c,o]=d.useState(!1),u=d.useRef(null),w=!!l,t=i.find(e=>e.value===b);d.useEffect(()=>{const e=j=>{u.current&&!u.current.contains(j.target)&&o(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const v=e=>{s==null||s(e),o(!1)};return r.jsxs("div",{ref:u,className:a.cn("bear-relative bear-flex bear-flex-col bear-gap-1.5",h&&"bear-w-full"),children:[f&&r.jsx("label",{className:"bear-text-sm bear-font-medium bear-text-gray-300",children:f}),r.jsxs("button",{type:"button",disabled:n,onClick:()=>!n&&o(!c),className:a.cn("bear-flex bear-items-center bear-justify-between bear-w-full","bear-rounded-lg bear-border bear-bg-gray-800 bear-text-left","bear-outline-none bear-transition-all bear-duration-200","focus:bear-ring-2 focus:bear-ring-offset-2 focus:bear-ring-offset-gray-900",w?"bear-border-red-500 focus:bear-ring-red-500":"bear-border-gray-600 focus:bear-border-bear-500 focus:bear-ring-bear-500",n&&"bear-opacity-50 bear-cursor-not-allowed",N[g],y),children:[r.jsx("span",{className:t?"bear-text-white":"bear-text-gray-500",children:(t==null?void 0:t.label)||m}),r.jsx(x.ChevronDownIcon,{className:a.cn("bear-w-4 bear-h-4 bear-text-gray-400 bear-transition-transform",c&&"bear-rotate-180")})]}),c&&r.jsx("div",{className:a.cn("bear-absolute bear-z-50 bear-w-full bear-mt-1","bear-rounded-lg bear-border bear-border-gray-600 bear-bg-gray-800","bear-shadow-lg bear-overflow-hidden","bear-top-full"),children:r.jsx("div",{className:"bear-max-h-60 bear-overflow-y-auto",children:i.map(e=>r.jsxs("button",{type:"button",disabled:e.disabled,onClick:()=>!e.disabled&&v(e.value),className:a.cn("bear-flex bear-items-center bear-justify-between bear-w-full bear-px-4 bear-py-2","bear-text-left bear-transition-colors",e.disabled?"bear-text-gray-500 bear-cursor-not-allowed":"bear-text-gray-300 hover:bear-bg-gray-700 hover:bear-text-white",e.value===b&&"bear-bg-bear-600/20 bear-text-bear-400"),children:[e.label,e.value===b&&r.jsx(x.CheckIcon,{className:"bear-w-4 bear-h-4 bear-text-bear-400"})]},e.value))})}),l&&r.jsx("p",{className:"bear-text-sm bear-text-red-500",children:l})]})};exports.Select=p;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jsxs as f, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as p, useRef as N, useEffect as j } from "react";
|
|
3
|
+
import { cn as a } from "../../utils/cn.js";
|
|
4
|
+
import { ChevronDownIcon as k, CheckIcon as E } from "../Icon/index.js";
|
|
5
|
+
const S = {
|
|
6
|
+
sm: "bear-h-8 bear-text-sm bear-px-3",
|
|
7
|
+
md: "bear-h-10 bear-text-base bear-px-4",
|
|
8
|
+
lg: "bear-h-12 bear-text-lg bear-px-5"
|
|
9
|
+
}, O = ({
|
|
10
|
+
options: i,
|
|
11
|
+
value: t,
|
|
12
|
+
onChange: s,
|
|
13
|
+
placeholder: m = "Select an option",
|
|
14
|
+
label: u,
|
|
15
|
+
error: l,
|
|
16
|
+
disabled: o = !1,
|
|
17
|
+
size: x = "md",
|
|
18
|
+
fullWidth: g = !1,
|
|
19
|
+
className: h
|
|
20
|
+
}) => {
|
|
21
|
+
const [n, c] = p(!1), d = N(null), w = !!l, b = i.find((e) => e.value === t);
|
|
22
|
+
j(() => {
|
|
23
|
+
const e = (v) => {
|
|
24
|
+
d.current && !d.current.contains(v.target) && c(!1);
|
|
25
|
+
};
|
|
26
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
27
|
+
}, []);
|
|
28
|
+
const y = (e) => {
|
|
29
|
+
s == null || s(e), c(!1);
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ f(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
ref: d,
|
|
35
|
+
className: a("bear-relative bear-flex bear-flex-col bear-gap-1.5", g && "bear-w-full"),
|
|
36
|
+
children: [
|
|
37
|
+
u && /* @__PURE__ */ r("label", { className: "bear-text-sm bear-font-medium bear-text-gray-300", children: u }),
|
|
38
|
+
/* @__PURE__ */ f(
|
|
39
|
+
"button",
|
|
40
|
+
{
|
|
41
|
+
type: "button",
|
|
42
|
+
disabled: o,
|
|
43
|
+
onClick: () => !o && c(!n),
|
|
44
|
+
className: a(
|
|
45
|
+
"bear-flex bear-items-center bear-justify-between bear-w-full",
|
|
46
|
+
"bear-rounded-lg bear-border bear-bg-gray-800 bear-text-left",
|
|
47
|
+
"bear-outline-none bear-transition-all bear-duration-200",
|
|
48
|
+
"focus:bear-ring-2 focus:bear-ring-offset-2 focus:bear-ring-offset-gray-900",
|
|
49
|
+
w ? "bear-border-red-500 focus:bear-ring-red-500" : "bear-border-gray-600 focus:bear-border-bear-500 focus:bear-ring-bear-500",
|
|
50
|
+
o && "bear-opacity-50 bear-cursor-not-allowed",
|
|
51
|
+
S[x],
|
|
52
|
+
h
|
|
53
|
+
),
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ r("span", { className: b ? "bear-text-white" : "bear-text-gray-500", children: (b == null ? void 0 : b.label) || m }),
|
|
56
|
+
/* @__PURE__ */ r(
|
|
57
|
+
k,
|
|
58
|
+
{
|
|
59
|
+
className: a(
|
|
60
|
+
"bear-w-4 bear-h-4 bear-text-gray-400 bear-transition-transform",
|
|
61
|
+
n && "bear-rotate-180"
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
n && /* @__PURE__ */ r(
|
|
69
|
+
"div",
|
|
70
|
+
{
|
|
71
|
+
className: a(
|
|
72
|
+
"bear-absolute bear-z-50 bear-w-full bear-mt-1",
|
|
73
|
+
"bear-rounded-lg bear-border bear-border-gray-600 bear-bg-gray-800",
|
|
74
|
+
"bear-shadow-lg bear-overflow-hidden",
|
|
75
|
+
"bear-top-full"
|
|
76
|
+
),
|
|
77
|
+
children: /* @__PURE__ */ r("div", { className: "bear-max-h-60 bear-overflow-y-auto", children: i.map((e) => /* @__PURE__ */ f(
|
|
78
|
+
"button",
|
|
79
|
+
{
|
|
80
|
+
type: "button",
|
|
81
|
+
disabled: e.disabled,
|
|
82
|
+
onClick: () => !e.disabled && y(e.value),
|
|
83
|
+
className: a(
|
|
84
|
+
"bear-flex bear-items-center bear-justify-between bear-w-full bear-px-4 bear-py-2",
|
|
85
|
+
"bear-text-left bear-transition-colors",
|
|
86
|
+
e.disabled ? "bear-text-gray-500 bear-cursor-not-allowed" : "bear-text-gray-300 hover:bear-bg-gray-700 hover:bear-text-white",
|
|
87
|
+
e.value === t && "bear-bg-bear-600/20 bear-text-bear-400"
|
|
88
|
+
),
|
|
89
|
+
children: [
|
|
90
|
+
e.label,
|
|
91
|
+
e.value === t && /* @__PURE__ */ r(E, { className: "bear-w-4 bear-h-4 bear-text-bear-400" })
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
e.value
|
|
95
|
+
)) })
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
l && /* @__PURE__ */ r("p", { className: "bear-text-sm bear-text-red-500", children: l })
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
export {
|
|
104
|
+
O as Select
|
|
105
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface SelectOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface SelectProps {
|
|
7
|
+
/** Select options */
|
|
8
|
+
options: SelectOption[];
|
|
9
|
+
/** Current value */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** Callback when value changes */
|
|
12
|
+
onChange?: (value: string) => void;
|
|
13
|
+
/** Placeholder text */
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
/** Select label */
|
|
16
|
+
label?: string;
|
|
17
|
+
/** Error message */
|
|
18
|
+
error?: string;
|
|
19
|
+
/** Whether select is disabled */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Select size */
|
|
22
|
+
size?: 'sm' | 'md' | 'lg';
|
|
23
|
+
/** Whether select is full width */
|
|
24
|
+
fullWidth?: boolean;
|
|
25
|
+
/** Additional class names */
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../../utils/cn.cjs"),b={text:"bear-rounded",circular:"bear-rounded-full",rectangular:"bear-rounded-none",rounded:"bear-rounded-lg"},g={pulse:"bear-animate-pulse",wave:"bear-skeleton-wave",none:""},a=({variant:t="text",animation:r="pulse",width:s,height:d,count:l=1,gap:j=8,className:i,testId:o,style:m,...u})=>{const n={width:s||(t==="circular"?40:"100%"),height:(()=>{if(d)return d;switch(t){case"text":return"1em";case"circular":return s||40;default:return"auto"}})(),...m};return l>1&&t==="text"?e.jsx("div",{className:"bear-flex bear-flex-col",style:{gap:j},"data-testid":o,children:Array.from({length:l}).map((v,x)=>e.jsx("div",{className:c.cn("bear-bg-gray-200 dark:bear-bg-gray-700",b[t],g[r],i),style:{...n,width:x===l-1?"80%":n.width},...u},x))}):e.jsx("div",{className:c.cn("bear-bg-gray-200 dark:bear-bg-gray-700",b[t],g[r],i),style:n,"data-testid":o,...u})},h=({size:t=40,className:r})=>e.jsx(a,{variant:"circular",width:t,height:t,className:r}),S=({lines:t=3,width:r="100%",className:s})=>e.jsx(a,{variant:"text",count:t,width:r,className:s}),f=({className:t})=>e.jsxs("div",{className:c.cn("bear-p-4 bear-space-y-4",t),children:[e.jsx(a,{variant:"rectangular",height:200}),e.jsxs("div",{className:"bear-flex bear-items-center bear-gap-3",children:[e.jsx(h,{}),e.jsxs("div",{className:"bear-flex-1",children:[e.jsx(a,{variant:"text",width:"60%"}),e.jsx(a,{variant:"text",width:"40%",className:"bear-mt-2"})]})]}),e.jsx(S,{lines:3})]});exports.Skeleton=a;exports.SkeletonAvatar=h;exports.SkeletonCard=f;exports.SkeletonText=S;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { SkeletonProps } from './Skeleton.types';
|
|
3
|
+
/**
|
|
4
|
+
* Skeleton component for loading placeholders
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Skeleton variant="text" width={200} />
|
|
9
|
+
* <Skeleton variant="circular" width={40} height={40} />
|
|
10
|
+
* <Skeleton variant="rectangular" width="100%" height={200} />
|
|
11
|
+
* <Skeleton variant="text" count={3} />
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare const Skeleton: FC<SkeletonProps>;
|
|
15
|
+
export declare const SkeletonAvatar: FC<{
|
|
16
|
+
size?: number;
|
|
17
|
+
className?: string;
|
|
18
|
+
}>;
|
|
19
|
+
export declare const SkeletonText: FC<{
|
|
20
|
+
lines?: number;
|
|
21
|
+
width?: number | string;
|
|
22
|
+
className?: string;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const SkeletonCard: FC<{
|
|
25
|
+
className?: string;
|
|
26
|
+
}>;
|
|
27
|
+
export default Skeleton;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as r, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { cn as d } from "../../utils/cn.js";
|
|
3
|
+
const h = {
|
|
4
|
+
text: "bear-rounded",
|
|
5
|
+
circular: "bear-rounded-full",
|
|
6
|
+
rectangular: "bear-rounded-none",
|
|
7
|
+
rounded: "bear-rounded-lg"
|
|
8
|
+
}, m = {
|
|
9
|
+
pulse: "bear-animate-pulse",
|
|
10
|
+
wave: "bear-skeleton-wave",
|
|
11
|
+
none: ""
|
|
12
|
+
}, a = ({
|
|
13
|
+
variant: e = "text",
|
|
14
|
+
animation: t = "pulse",
|
|
15
|
+
width: l,
|
|
16
|
+
height: i,
|
|
17
|
+
count: n = 1,
|
|
18
|
+
gap: x = 8,
|
|
19
|
+
className: o,
|
|
20
|
+
testId: u,
|
|
21
|
+
style: f,
|
|
22
|
+
...b
|
|
23
|
+
}) => {
|
|
24
|
+
const s = {
|
|
25
|
+
width: l || (e === "circular" ? 40 : "100%"),
|
|
26
|
+
height: (() => {
|
|
27
|
+
if (i) return i;
|
|
28
|
+
switch (e) {
|
|
29
|
+
case "text":
|
|
30
|
+
return "1em";
|
|
31
|
+
case "circular":
|
|
32
|
+
return l || 40;
|
|
33
|
+
default:
|
|
34
|
+
return "auto";
|
|
35
|
+
}
|
|
36
|
+
})(),
|
|
37
|
+
...f
|
|
38
|
+
};
|
|
39
|
+
return n > 1 && e === "text" ? /* @__PURE__ */ r(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
className: "bear-flex bear-flex-col",
|
|
43
|
+
style: { gap: x },
|
|
44
|
+
"data-testid": u,
|
|
45
|
+
children: Array.from({ length: n }).map((N, g) => /* @__PURE__ */ r(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: d(
|
|
49
|
+
"bear-bg-gray-200 dark:bear-bg-gray-700",
|
|
50
|
+
h[e],
|
|
51
|
+
m[t],
|
|
52
|
+
o
|
|
53
|
+
),
|
|
54
|
+
style: {
|
|
55
|
+
...s,
|
|
56
|
+
width: g === n - 1 ? "80%" : s.width
|
|
57
|
+
},
|
|
58
|
+
...b
|
|
59
|
+
},
|
|
60
|
+
g
|
|
61
|
+
))
|
|
62
|
+
}
|
|
63
|
+
) : /* @__PURE__ */ r(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
className: d(
|
|
67
|
+
"bear-bg-gray-200 dark:bear-bg-gray-700",
|
|
68
|
+
h[e],
|
|
69
|
+
m[t],
|
|
70
|
+
o
|
|
71
|
+
),
|
|
72
|
+
style: s,
|
|
73
|
+
"data-testid": u,
|
|
74
|
+
...b
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
}, S = ({
|
|
78
|
+
size: e = 40,
|
|
79
|
+
className: t
|
|
80
|
+
}) => /* @__PURE__ */ r(
|
|
81
|
+
a,
|
|
82
|
+
{
|
|
83
|
+
variant: "circular",
|
|
84
|
+
width: e,
|
|
85
|
+
height: e,
|
|
86
|
+
className: t
|
|
87
|
+
}
|
|
88
|
+
), v = ({
|
|
89
|
+
lines: e = 3,
|
|
90
|
+
width: t = "100%",
|
|
91
|
+
className: l
|
|
92
|
+
}) => /* @__PURE__ */ r(
|
|
93
|
+
a,
|
|
94
|
+
{
|
|
95
|
+
variant: "text",
|
|
96
|
+
count: e,
|
|
97
|
+
width: t,
|
|
98
|
+
className: l
|
|
99
|
+
}
|
|
100
|
+
), w = ({ className: e }) => /* @__PURE__ */ c("div", { className: d("bear-p-4 bear-space-y-4", e), children: [
|
|
101
|
+
/* @__PURE__ */ r(a, { variant: "rectangular", height: 200 }),
|
|
102
|
+
/* @__PURE__ */ c("div", { className: "bear-flex bear-items-center bear-gap-3", children: [
|
|
103
|
+
/* @__PURE__ */ r(S, {}),
|
|
104
|
+
/* @__PURE__ */ c("div", { className: "bear-flex-1", children: [
|
|
105
|
+
/* @__PURE__ */ r(a, { variant: "text", width: "60%" }),
|
|
106
|
+
/* @__PURE__ */ r(a, { variant: "text", width: "40%", className: "bear-mt-2" })
|
|
107
|
+
] })
|
|
108
|
+
] }),
|
|
109
|
+
/* @__PURE__ */ r(v, { lines: 3 })
|
|
110
|
+
] });
|
|
111
|
+
export {
|
|
112
|
+
a as Skeleton,
|
|
113
|
+
S as SkeletonAvatar,
|
|
114
|
+
w as SkeletonCard,
|
|
115
|
+
v as SkeletonText
|
|
116
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
export type SkeletonVariant = 'text' | 'circular' | 'rectangular' | 'rounded';
|
|
3
|
+
export type SkeletonAnimation = 'pulse' | 'wave' | 'none';
|
|
4
|
+
export interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/** The variant of the skeleton */
|
|
6
|
+
variant?: SkeletonVariant;
|
|
7
|
+
/** Animation type */
|
|
8
|
+
animation?: SkeletonAnimation;
|
|
9
|
+
/** Width of the skeleton */
|
|
10
|
+
width?: number | string;
|
|
11
|
+
/** Height of the skeleton */
|
|
12
|
+
height?: number | string;
|
|
13
|
+
/** Number of skeleton lines to render (for text variant) */
|
|
14
|
+
count?: number;
|
|
15
|
+
/** Gap between skeleton lines */
|
|
16
|
+
gap?: number | string;
|
|
17
|
+
/** Additional CSS class */
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Test ID for testing */
|
|
20
|
+
testId?: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react/jsx-runtime"),u=require("react"),g=require("../../utils/cn.cjs"),U={xs:{track:"bear-h-1",thumb:"bear-w-3 bear-h-3",height:"bear-h-6"},sm:{track:"bear-h-1.5",thumb:"bear-w-4 bear-h-4",height:"bear-h-8"},md:{track:"bear-h-2",thumb:"bear-w-5 bear-h-5",height:"bear-h-10"},lg:{track:"bear-h-2.5",thumb:"bear-w-6 bear-h-6",height:"bear-h-12"},xl:{track:"bear-h-3",thumb:"bear-w-7 bear-h-7",height:"bear-h-14"}},X={primary:{track:"bear-bg-bear-500",thumb:"bear-bg-bear-500 bear-border-bear-600"},secondary:{track:"bear-bg-gray-500",thumb:"bear-bg-gray-500 bear-border-gray-600"},success:{track:"bear-bg-green-500",thumb:"bear-bg-green-500 bear-border-green-600"},warning:{track:"bear-bg-amber-500",thumb:"bear-bg-amber-500 bear-border-amber-600"},error:{track:"bear-bg-red-500",thumb:"bear-bg-red-500 bear-border-red-600"},danger:{track:"bear-bg-red-500",thumb:"bear-bg-red-500 bear-border-red-600"},info:{track:"bear-bg-blue-500",thumb:"bear-bg-blue-500 bear-border-blue-600"},ghost:{track:"bear-bg-gray-400",thumb:"bear-bg-gray-400 bear-border-gray-500"},outline:{track:"bear-bg-gray-600",thumb:"bear-bg-white bear-border-gray-600"}},Y=({value:N,defaultValue:L=0,min:r=0,max:t=100,step:c=1,size:A="md",color:R="primary",showValue:V=!1,marks:f=!1,disabled:s=!1,orientation:F="horizontal",onChange:n,onChangeCommitted:h,valueFormatter:T=y=>String(y),ariaLabel:I="Slider",className:q,testId:O,..._})=>{const[y,p]=u.useState(L),[l,S]=u.useState(!1),[$,d]=u.useState(!1),w=u.useRef(null),o=N??y,M=(o-r)/(t-r)*100,m=U[A],j=X[R],v=u.useCallback(a=>{if(!w.current||s)return;const e=w.current.getBoundingClientRect(),i=Math.max(0,Math.min(1,(a-e.left)/e.width)),K=r+i*(t-r),P=Math.round(K/c)*c,E=Math.max(r,Math.min(t,P));p(E),n==null||n(E)},[r,t,c,s,n]),D=a=>{s||(a.preventDefault(),S(!0),d(!0),v(a.clientX))},k=u.useCallback(a=>{l&&v(a.clientX)},[l,v]),x=u.useCallback(()=>{l&&(S(!1),d(!1),h==null||h(o))},[l,o,h]);u.useEffect(()=>{if(l)return document.addEventListener("mousemove",k),document.addEventListener("mouseup",x),()=>{document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",x)}},[l,k,x]);const z=a=>{if(s)return;let e=o;switch(a.key){case"ArrowRight":case"ArrowUp":e=Math.min(t,o+c);break;case"ArrowLeft":case"ArrowDown":e=Math.max(r,o-c);break;case"Home":e=r;break;case"End":e=t;break;default:return}a.preventDefault(),p(e),n==null||n(e)},B=()=>{if(!f)return null;const a=Array.isArray(f)?f:Array.from({length:(t-r)/c+1},(e,i)=>({value:r+i*c}));return b.jsx("div",{className:"bear-absolute bear-inset-x-0 bear-top-1/2 bear--translate-y-1/2 bear-flex bear-justify-between",children:a.map(e=>{const i=(e.value-r)/(t-r)*100;return b.jsxs("div",{className:"bear-absolute bear-flex bear-flex-col bear-items-center",style:{left:`${i}%`},children:[b.jsx("div",{className:"bear-w-0.5 bear-h-2 bear-bg-gray-400 dark:bear-bg-gray-500"}),e.label&&b.jsx("span",{className:"bear-mt-1 bear-text-xs bear-text-gray-500",children:e.label})]},e.value)})})};return b.jsx("div",{className:g.cn("bear-relative bear-w-full bear-flex bear-items-center",m.height,s&&"bear-opacity-50 bear-cursor-not-allowed",q),"data-testid":O,..._,children:b.jsxs("div",{ref:w,className:g.cn("bear-relative bear-w-full bear-rounded-full bear-bg-gray-200 dark:bear-bg-gray-700",m.track,!s&&"bear-cursor-pointer"),onMouseDown:D,children:[b.jsx("div",{className:g.cn("bear-absolute bear-inset-y-0 bear-left-0 bear-rounded-full",j.track),style:{width:`${M}%`}}),B(),b.jsx("div",{role:"slider",tabIndex:s?-1:0,"aria-label":I,"aria-valuemin":r,"aria-valuemax":t,"aria-valuenow":o,className:g.cn("bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full","bear-border-2 bear-shadow-md bear-transition-transform","focus:bear-outline-none focus:bear-ring-2 focus:bear-ring-bear-500 focus:bear-ring-offset-2",m.thumb,j.thumb,!s&&"bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",l&&"bear-scale-125"),style:{left:`${M}%`},onMouseDown:D,onKeyDown:z,onFocus:()=>d(!0),onBlur:()=>!l&&d(!1),children:V&&$&&b.jsx("div",{className:"bear-absolute bear-bottom-full bear-left-1/2 bear--translate-x-1/2 bear-mb-2 bear-px-2 bear-py-1 bear-bg-gray-900 bear-text-white bear-text-xs bear-rounded bear-whitespace-nowrap",children:T(o)})})]})})};exports.Slider=Y;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { SliderProps } from './Slider.types';
|
|
3
|
+
/**
|
|
4
|
+
* Slider component for range input
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Slider value={50} onChange={(val) => console.log(val)} />
|
|
9
|
+
* <Slider min={0} max={100} step={10} marks />
|
|
10
|
+
* <Slider color="success" showValue />
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare const Slider: FC<SliderProps>;
|
|
14
|
+
export default Slider;
|