@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 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("react"),f=require("../../utils/cn.cjs"),z=(g,b)=>{const t=b.toLowerCase();return g.filter(l=>{var i;return l.label.toLowerCase().includes(t)||l.value.toLowerCase().includes(t)||((i=l.description)==null?void 0:i.toLowerCase().includes(t))})},I=({options:g,value:b="",onChange:t,onSelect:l,placeholder:i="Start typing...",label:w,helperText:k,error:d,disabled:u=!1,freeSolo:p=!1,loading:v=!1,filterOptions:D=z,className:E,testId:L})=>{const[x,n]=s.useState(!1),[o,m]=s.useState(-1),y=s.useRef(null),j=s.useRef(null),h=s.useRef(null),c=D(g,b);s.useEffect(()=>{const e=a=>{y.current&&!y.current.contains(a.target)&&n(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s.useEffect(()=>{m(-1)},[b]),s.useEffect(()=>{if(o>=0&&h.current){const e=h.current.children[o];e&&e.scrollIntoView({block:"nearest"})}},[o]);const R=e=>{const a=e.target.value;t==null||t(a),n(!0)},N=e=>{var a;t==null||t(e.label),l==null||l(e),n(!1),(a=j.current)==null||a.blur()},A=e=>{if(!x){(e.key==="ArrowDown"||e.key==="ArrowUp")&&(n(!0),e.preventDefault());return}switch(e.key){case"ArrowDown":e.preventDefault(),m(a=>a<c.length-1?a+1:0);break;case"ArrowUp":e.preventDefault(),m(a=>a>0?a-1:c.length-1);break;case"Enter":e.preventDefault(),o>=0&&c[o]?N(c[o]):p&&b&&n(!1);break;case"Escape":n(!1);break}};return r.jsxs("div",{className:f.cn("bear-w-full bear-relative",E),ref:y,"data-testid":L,children:[w&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200 bear-mb-1.5",children:w}),r.jsxs("div",{className:"bear-relative",children:[r.jsx("input",{ref:j,type:"text",value:b,onChange:R,onFocus:()=>n(!0),onKeyDown:A,placeholder:i,disabled:u,className:f.cn("bear-w-full bear-px-4 bear-py-2.5 bear-pr-10 bear-rounded-lg bear-border","bear-bg-white dark:bear-bg-gray-900","bear-text-sm bear-text-gray-900 dark:bear-text-white","placeholder:bear-text-gray-400","bear-transition-colors bear-outline-none",d?"bear-border-red-500 focus:bear-ring-2 focus:bear-ring-red-500/20":"bear-border-gray-300 dark:bear-border-gray-600 focus:bear-border-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/20",u&&"bear-opacity-50 bear-cursor-not-allowed bear-bg-gray-100 dark:bear-bg-gray-800")}),r.jsx("div",{className:"bear-absolute bear-right-3 bear-top-1/2 bear-transform bear--translate-y-1/2",children:v?r.jsxs("svg",{className:"bear-animate-spin bear-w-4 bear-h-4 bear-text-gray-400",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"})]}):r.jsx("svg",{className:"bear-w-4 bear-h-4 bear-text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})})]}),x&&!u&&c.length>0&&r.jsx("div",{ref:h,className:"bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-1 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-max-h-60 bear-overflow-auto",children:c.map((e,a)=>r.jsxs("button",{type:"button",disabled:e.disabled,onClick:()=>N(e),className:f.cn("bear-w-full bear-px-4 bear-py-2 bear-text-left bear-text-sm bear-transition-colors","bear-text-gray-900 dark:bear-text-white",a===o?"bear-bg-amber-50 dark:bear-bg-amber-900/20":"hover:bear-bg-gray-50 dark:hover:bear-bg-gray-700",e.disabled&&"bear-opacity-50 bear-cursor-not-allowed"),children:[r.jsx("div",{className:"bear-font-medium",children:e.label}),e.description&&r.jsx("div",{className:"bear-text-xs bear-text-gray-500 dark:bear-text-gray-400 bear-mt-0.5",children:e.description})]},e.value))}),x&&!u&&c.length===0&&b&&!v&&r.jsx("div",{className:"bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-3 bear-px-4 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-text-sm bear-text-gray-500",children:p?"Press Enter to use this value":"No results found"}),(k||d)&&r.jsx("p",{className:f.cn("bear-mt-1.5 bear-text-xs",d?"bear-text-red-500":"bear-text-gray-500 dark:bear-text-gray-400"),children:d||k})]})};exports.Autocomplete=I;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AutocompleteProps } from './Autocomplete.types';
|
|
3
|
+
/**
|
|
4
|
+
* Autocomplete - Text input with suggestions
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Autocomplete
|
|
9
|
+
* label="Country"
|
|
10
|
+
* options={countries}
|
|
11
|
+
* value={country}
|
|
12
|
+
* onChange={setCountry}
|
|
13
|
+
* onSelect={(opt) => console.log('Selected:', opt)}
|
|
14
|
+
* />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare const Autocomplete: FC<AutocompleteProps>;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { jsxs as u, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useState as E, useRef as x, useEffect as p } from "react";
|
|
3
|
+
import { cn as f } from "../../utils/cn.js";
|
|
4
|
+
const C = (g, b) => {
|
|
5
|
+
const t = b.toLowerCase();
|
|
6
|
+
return g.filter(
|
|
7
|
+
(s) => {
|
|
8
|
+
var i;
|
|
9
|
+
return s.label.toLowerCase().includes(t) || s.value.toLowerCase().includes(t) || ((i = s.description) == null ? void 0 : i.toLowerCase().includes(t));
|
|
10
|
+
}
|
|
11
|
+
);
|
|
12
|
+
}, H = ({
|
|
13
|
+
options: g,
|
|
14
|
+
value: b = "",
|
|
15
|
+
onChange: t,
|
|
16
|
+
onSelect: s,
|
|
17
|
+
placeholder: i = "Start typing...",
|
|
18
|
+
label: k,
|
|
19
|
+
helperText: v,
|
|
20
|
+
error: c,
|
|
21
|
+
disabled: d = !1,
|
|
22
|
+
freeSolo: N = !1,
|
|
23
|
+
loading: D = !1,
|
|
24
|
+
filterOptions: z = C,
|
|
25
|
+
className: I,
|
|
26
|
+
testId: O
|
|
27
|
+
}) => {
|
|
28
|
+
const [m, l] = E(!1), [o, y] = E(-1), h = x(null), L = x(null), w = x(null), n = z(g, b);
|
|
29
|
+
p(() => {
|
|
30
|
+
const e = (r) => {
|
|
31
|
+
h.current && !h.current.contains(r.target) && l(!1);
|
|
32
|
+
};
|
|
33
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
34
|
+
}, []), p(() => {
|
|
35
|
+
y(-1);
|
|
36
|
+
}, [b]), p(() => {
|
|
37
|
+
if (o >= 0 && w.current) {
|
|
38
|
+
const e = w.current.children[o];
|
|
39
|
+
e && e.scrollIntoView({ block: "nearest" });
|
|
40
|
+
}
|
|
41
|
+
}, [o]);
|
|
42
|
+
const R = (e) => {
|
|
43
|
+
const r = e.target.value;
|
|
44
|
+
t == null || t(r), l(!0);
|
|
45
|
+
}, A = (e) => {
|
|
46
|
+
var r;
|
|
47
|
+
t == null || t(e.label), s == null || s(e), l(!1), (r = L.current) == null || r.blur();
|
|
48
|
+
}, j = (e) => {
|
|
49
|
+
if (!m) {
|
|
50
|
+
(e.key === "ArrowDown" || e.key === "ArrowUp") && (l(!0), e.preventDefault());
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
switch (e.key) {
|
|
54
|
+
case "ArrowDown":
|
|
55
|
+
e.preventDefault(), y(
|
|
56
|
+
(r) => r < n.length - 1 ? r + 1 : 0
|
|
57
|
+
);
|
|
58
|
+
break;
|
|
59
|
+
case "ArrowUp":
|
|
60
|
+
e.preventDefault(), y(
|
|
61
|
+
(r) => r > 0 ? r - 1 : n.length - 1
|
|
62
|
+
);
|
|
63
|
+
break;
|
|
64
|
+
case "Enter":
|
|
65
|
+
e.preventDefault(), o >= 0 && n[o] ? A(n[o]) : N && b && l(!1);
|
|
66
|
+
break;
|
|
67
|
+
case "Escape":
|
|
68
|
+
l(!1);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return /* @__PURE__ */ u("div", { className: f("bear-w-full bear-relative", I), ref: h, "data-testid": O, children: [
|
|
73
|
+
k && /* @__PURE__ */ a("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200 bear-mb-1.5", children: k }),
|
|
74
|
+
/* @__PURE__ */ u("div", { className: "bear-relative", children: [
|
|
75
|
+
/* @__PURE__ */ a(
|
|
76
|
+
"input",
|
|
77
|
+
{
|
|
78
|
+
ref: L,
|
|
79
|
+
type: "text",
|
|
80
|
+
value: b,
|
|
81
|
+
onChange: R,
|
|
82
|
+
onFocus: () => l(!0),
|
|
83
|
+
onKeyDown: j,
|
|
84
|
+
placeholder: i,
|
|
85
|
+
disabled: d,
|
|
86
|
+
className: f(
|
|
87
|
+
"bear-w-full bear-px-4 bear-py-2.5 bear-pr-10 bear-rounded-lg bear-border",
|
|
88
|
+
"bear-bg-white dark:bear-bg-gray-900",
|
|
89
|
+
"bear-text-sm bear-text-gray-900 dark:bear-text-white",
|
|
90
|
+
"placeholder:bear-text-gray-400",
|
|
91
|
+
"bear-transition-colors bear-outline-none",
|
|
92
|
+
c ? "bear-border-red-500 focus:bear-ring-2 focus:bear-ring-red-500/20" : "bear-border-gray-300 dark:bear-border-gray-600 focus:bear-border-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/20",
|
|
93
|
+
d && "bear-opacity-50 bear-cursor-not-allowed bear-bg-gray-100 dark:bear-bg-gray-800"
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
/* @__PURE__ */ a("div", { className: "bear-absolute bear-right-3 bear-top-1/2 bear-transform bear--translate-y-1/2", children: D ? /* @__PURE__ */ u("svg", { className: "bear-animate-spin bear-w-4 bear-h-4 bear-text-gray-400", viewBox: "0 0 24 24", fill: "none", children: [
|
|
98
|
+
/* @__PURE__ */ a("circle", { className: "bear-opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
|
|
99
|
+
/* @__PURE__ */ a("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" })
|
|
100
|
+
] }) : /* @__PURE__ */ a("svg", { className: "bear-w-4 bear-h-4 bear-text-gray-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ a("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) })
|
|
101
|
+
] }),
|
|
102
|
+
m && !d && n.length > 0 && /* @__PURE__ */ a(
|
|
103
|
+
"div",
|
|
104
|
+
{
|
|
105
|
+
ref: w,
|
|
106
|
+
className: "bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-1 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-max-h-60 bear-overflow-auto",
|
|
107
|
+
children: n.map((e, r) => /* @__PURE__ */ u(
|
|
108
|
+
"button",
|
|
109
|
+
{
|
|
110
|
+
type: "button",
|
|
111
|
+
disabled: e.disabled,
|
|
112
|
+
onClick: () => A(e),
|
|
113
|
+
className: f(
|
|
114
|
+
"bear-w-full bear-px-4 bear-py-2 bear-text-left bear-text-sm bear-transition-colors",
|
|
115
|
+
"bear-text-gray-900 dark:bear-text-white",
|
|
116
|
+
r === o ? "bear-bg-amber-50 dark:bear-bg-amber-900/20" : "hover:bear-bg-gray-50 dark:hover:bear-bg-gray-700",
|
|
117
|
+
e.disabled && "bear-opacity-50 bear-cursor-not-allowed"
|
|
118
|
+
),
|
|
119
|
+
children: [
|
|
120
|
+
/* @__PURE__ */ a("div", { className: "bear-font-medium", children: e.label }),
|
|
121
|
+
e.description && /* @__PURE__ */ a("div", { className: "bear-text-xs bear-text-gray-500 dark:bear-text-gray-400 bear-mt-0.5", children: e.description })
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
e.value
|
|
125
|
+
))
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
m && !d && n.length === 0 && b && !D && /* @__PURE__ */ a("div", { className: "bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-3 bear-px-4 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-text-sm bear-text-gray-500", children: N ? "Press Enter to use this value" : "No results found" }),
|
|
129
|
+
(v || c) && /* @__PURE__ */ a("p", { className: f(
|
|
130
|
+
"bear-mt-1.5 bear-text-xs",
|
|
131
|
+
c ? "bear-text-red-500" : "bear-text-gray-500 dark:bear-text-gray-400"
|
|
132
|
+
), children: c || v })
|
|
133
|
+
] });
|
|
134
|
+
};
|
|
135
|
+
export {
|
|
136
|
+
H as Autocomplete
|
|
137
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface AutocompleteOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AutocompleteProps {
|
|
8
|
+
/** Available options */
|
|
9
|
+
options: AutocompleteOption[];
|
|
10
|
+
/** Current value */
|
|
11
|
+
value?: string;
|
|
12
|
+
/** Called when value changes */
|
|
13
|
+
onChange?: (value: string) => void;
|
|
14
|
+
/** Called when an option is selected */
|
|
15
|
+
onSelect?: (option: AutocompleteOption) => void;
|
|
16
|
+
/** Placeholder text */
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
/** Label text */
|
|
19
|
+
label?: string;
|
|
20
|
+
/** Helper text below the input */
|
|
21
|
+
helperText?: string;
|
|
22
|
+
/** Error message */
|
|
23
|
+
error?: string;
|
|
24
|
+
/** Whether the input is disabled */
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
/** Allow free-form input (not just from options) */
|
|
27
|
+
freeSolo?: boolean;
|
|
28
|
+
/** Show loading state */
|
|
29
|
+
loading?: boolean;
|
|
30
|
+
/** Custom filter function */
|
|
31
|
+
filterOptions?: (options: AutocompleteOption[], inputValue: string) => AutocompleteOption[];
|
|
32
|
+
/** Custom class name */
|
|
33
|
+
className?: string;
|
|
34
|
+
/** Test ID */
|
|
35
|
+
testId?: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),i=require("../../utils/cn.cjs"),g={xs:"bear-w-6 bear-h-6 bear-text-xs",sm:"bear-w-8 bear-h-8 bear-text-sm",md:"bear-w-10 bear-h-10 bear-text-base",lg:"bear-w-12 bear-h-12 bear-text-lg",xl:"bear-w-16 bear-h-16 bear-text-xl","2xl":"bear-w-20 bear-h-20 bear-text-2xl"},y={circle:"bear-rounded-full",rounded:"bear-rounded-lg",square:"bear-rounded-none"},v={online:"bear-bg-green-500",offline:"bear-bg-gray-400",away:"bear-bg-yellow-500",busy:"bear-bg-red-500"},f=({src:t,alt:r="Avatar",initials:s,size:c="md",variant:a="circle",status:b,bordered:n=!1,className:o,testId:l,...u})=>{const[x,h]=d.useState(!1),m=!t||x;return e.jsxs("div",{className:i.cn("bear-relative bear-inline-flex bear-items-center bear-justify-center","bear-bg-gray-200 dark:bear-bg-gray-700","bear-overflow-hidden",g[c],y[a],n&&"bear-ring-2 bear-ring-white dark:bear-ring-gray-900",o),"data-testid":l,children:[m?s?e.jsx("span",{className:"bear-font-medium bear-text-gray-600 dark:bear-text-gray-300 bear-uppercase",children:s.slice(0,2)}):e.jsx("svg",{className:"bear-w-3/5 bear-h-3/5 bear-text-gray-400",fill:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"})}):e.jsx("img",{src:t,alt:r,onError:()=>h(!0),className:"bear-w-full bear-h-full bear-object-cover",...u}),b&&e.jsx("span",{className:i.cn("bear-absolute bear-bottom-0 bear-right-0","bear-w-1/4 bear-h-1/4 bear-min-w-[8px] bear-min-h-[8px]","bear-rounded-full bear-ring-2 bear-ring-white dark:bear-ring-gray-900",v[b])})]})},w=({children:t,max:r,size:s="md",className:c})=>{const a=d.Children.toArray(t),b=r?a.slice(0,r):a,n=r?a.length-r:0;return e.jsxs("div",{className:i.cn("bear-flex bear--space-x-2",c),children:[b.map((o,l)=>e.jsx("div",{className:"bear-relative",style:{zIndex:b.length-l},children:o},l)),n>0&&e.jsxs("div",{className:i.cn("bear-relative bear-inline-flex bear-items-center bear-justify-center","bear-bg-gray-200 dark:bear-bg-gray-700 bear-rounded-full","bear-ring-2 bear-ring-white dark:bear-ring-gray-900","bear-text-gray-600 dark:bear-text-gray-300 bear-font-medium",g[s]),style:{zIndex:0},children:["+",n]})]})};exports.Avatar=f;exports.AvatarGroup=w;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AvatarProps, AvatarGroupProps } from './Avatar.types';
|
|
3
|
+
/**
|
|
4
|
+
* Avatar - User profile image with fallback
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Avatar src="/user.jpg" alt="John Doe" size="md" status="online" />
|
|
9
|
+
* <Avatar initials="JD" size="lg" variant="rounded" />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare const Avatar: FC<AvatarProps>;
|
|
13
|
+
/**
|
|
14
|
+
* AvatarGroup - Stack of overlapping avatars
|
|
15
|
+
*/
|
|
16
|
+
export declare const AvatarGroup: FC<AvatarGroupProps>;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsxs as d, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import f, { useState as y } from "react";
|
|
3
|
+
import { cn as i } from "../../utils/cn.js";
|
|
4
|
+
const g = {
|
|
5
|
+
xs: "bear-w-6 bear-h-6 bear-text-xs",
|
|
6
|
+
sm: "bear-w-8 bear-h-8 bear-text-sm",
|
|
7
|
+
md: "bear-w-10 bear-h-10 bear-text-base",
|
|
8
|
+
lg: "bear-w-12 bear-h-12 bear-text-lg",
|
|
9
|
+
xl: "bear-w-16 bear-h-16 bear-text-xl",
|
|
10
|
+
"2xl": "bear-w-20 bear-h-20 bear-text-2xl"
|
|
11
|
+
}, v = {
|
|
12
|
+
circle: "bear-rounded-full",
|
|
13
|
+
rounded: "bear-rounded-lg",
|
|
14
|
+
square: "bear-rounded-none"
|
|
15
|
+
}, w = {
|
|
16
|
+
online: "bear-bg-green-500",
|
|
17
|
+
offline: "bear-bg-gray-400",
|
|
18
|
+
away: "bear-bg-yellow-500",
|
|
19
|
+
busy: "bear-bg-red-500"
|
|
20
|
+
}, j = ({
|
|
21
|
+
src: t,
|
|
22
|
+
alt: e = "Avatar",
|
|
23
|
+
initials: s,
|
|
24
|
+
size: o = "md",
|
|
25
|
+
variant: a = "circle",
|
|
26
|
+
status: b,
|
|
27
|
+
bordered: l = !1,
|
|
28
|
+
className: c,
|
|
29
|
+
testId: n,
|
|
30
|
+
...m
|
|
31
|
+
}) => {
|
|
32
|
+
const [h, u] = y(!1), x = !t || h;
|
|
33
|
+
return /* @__PURE__ */ d(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
className: i(
|
|
37
|
+
"bear-relative bear-inline-flex bear-items-center bear-justify-center",
|
|
38
|
+
"bear-bg-gray-200 dark:bear-bg-gray-700",
|
|
39
|
+
"bear-overflow-hidden",
|
|
40
|
+
g[o],
|
|
41
|
+
v[a],
|
|
42
|
+
l && "bear-ring-2 bear-ring-white dark:bear-ring-gray-900",
|
|
43
|
+
c
|
|
44
|
+
),
|
|
45
|
+
"data-testid": n,
|
|
46
|
+
children: [
|
|
47
|
+
x ? s ? /* @__PURE__ */ r("span", { className: "bear-font-medium bear-text-gray-600 dark:bear-text-gray-300 bear-uppercase", children: s.slice(0, 2) }) : /* @__PURE__ */ r("svg", { className: "bear-w-3/5 bear-h-3/5 bear-text-gray-400", fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ r("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }) }) : /* @__PURE__ */ r(
|
|
48
|
+
"img",
|
|
49
|
+
{
|
|
50
|
+
src: t,
|
|
51
|
+
alt: e,
|
|
52
|
+
onError: () => u(!0),
|
|
53
|
+
className: "bear-w-full bear-h-full bear-object-cover",
|
|
54
|
+
...m
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
b && /* @__PURE__ */ r(
|
|
58
|
+
"span",
|
|
59
|
+
{
|
|
60
|
+
className: i(
|
|
61
|
+
"bear-absolute bear-bottom-0 bear-right-0",
|
|
62
|
+
"bear-w-1/4 bear-h-1/4 bear-min-w-[8px] bear-min-h-[8px]",
|
|
63
|
+
"bear-rounded-full bear-ring-2 bear-ring-white dark:bear-ring-gray-900",
|
|
64
|
+
w[b]
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}, z = ({
|
|
72
|
+
children: t,
|
|
73
|
+
max: e,
|
|
74
|
+
size: s = "md",
|
|
75
|
+
className: o
|
|
76
|
+
}) => {
|
|
77
|
+
const a = f.Children.toArray(t), b = e ? a.slice(0, e) : a, l = e ? a.length - e : 0;
|
|
78
|
+
return /* @__PURE__ */ d("div", { className: i("bear-flex bear--space-x-2", o), children: [
|
|
79
|
+
b.map((c, n) => /* @__PURE__ */ r("div", { className: "bear-relative", style: { zIndex: b.length - n }, children: c }, n)),
|
|
80
|
+
l > 0 && /* @__PURE__ */ d(
|
|
81
|
+
"div",
|
|
82
|
+
{
|
|
83
|
+
className: i(
|
|
84
|
+
"bear-relative bear-inline-flex bear-items-center bear-justify-center",
|
|
85
|
+
"bear-bg-gray-200 dark:bear-bg-gray-700 bear-rounded-full",
|
|
86
|
+
"bear-ring-2 bear-ring-white dark:bear-ring-gray-900",
|
|
87
|
+
"bear-text-gray-600 dark:bear-text-gray-300 bear-font-medium",
|
|
88
|
+
g[s]
|
|
89
|
+
),
|
|
90
|
+
style: { zIndex: 0 },
|
|
91
|
+
children: [
|
|
92
|
+
"+",
|
|
93
|
+
l
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
] });
|
|
98
|
+
};
|
|
99
|
+
export {
|
|
100
|
+
j as Avatar,
|
|
101
|
+
z as AvatarGroup
|
|
102
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'size'> {
|
|
3
|
+
/** Image source URL */
|
|
4
|
+
src?: string;
|
|
5
|
+
/** Alt text */
|
|
6
|
+
alt?: string;
|
|
7
|
+
/** Fallback initials when no image */
|
|
8
|
+
initials?: string;
|
|
9
|
+
/** Avatar size */
|
|
10
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
11
|
+
/** Shape variant */
|
|
12
|
+
variant?: 'circle' | 'rounded' | 'square';
|
|
13
|
+
/** Status indicator */
|
|
14
|
+
status?: 'online' | 'offline' | 'away' | 'busy';
|
|
15
|
+
/** Border color (for groups) */
|
|
16
|
+
bordered?: boolean;
|
|
17
|
+
/** Custom class name */
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Test ID */
|
|
20
|
+
testId?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface AvatarGroupProps {
|
|
23
|
+
/** Avatar components */
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
/** Max avatars to show */
|
|
26
|
+
max?: number;
|
|
27
|
+
/** Size of avatars */
|
|
28
|
+
size?: AvatarProps['size'];
|
|
29
|
+
/** Custom class name */
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),b=require("../../utils/cn.cjs"),o={xs:"ember-px-1.5 ember-py-0.5 ember-text-[10px]",sm:"ember-px-2 ember-py-0.5 ember-text-xs",md:"ember-px-2.5 ember-py-1 ember-text-xs",lg:"ember-px-3 ember-py-1.5 ember-text-sm"},l={primary:"ember-bg-ember-100 ember-text-ember-700 dark:ember-bg-ember-900/30 dark:ember-text-ember-400",secondary:"ember-bg-forge-100 ember-text-forge-700 dark:ember-bg-forge-900/30 dark:ember-text-forge-400",success:"ember-bg-green-100 ember-text-green-700 dark:ember-bg-green-900/30 dark:ember-text-green-400",warning:"ember-bg-yellow-100 ember-text-yellow-700 dark:ember-bg-yellow-900/30 dark:ember-text-yellow-400",danger:"ember-bg-red-100 ember-text-red-700 dark:ember-bg-red-900/30 dark:ember-text-red-400",info:"ember-bg-blue-100 ember-text-blue-700 dark:ember-bg-blue-900/30 dark:ember-text-blue-400",ghost:"ember-bg-gray-100 ember-text-gray-700 dark:ember-bg-gray-800 dark:ember-text-gray-300",outline:"ember-bg-transparent ember-text-gray-700 ember-border ember-border-gray-300 dark:ember-text-gray-300 dark:ember-border-gray-600",error:"ember-bg-red-100 ember-text-red-700 dark:ember-bg-red-900/30 dark:ember-text-red-400",neutral:"ember-bg-gray-100 ember-text-gray-600 dark:ember-bg-gray-800 dark:ember-text-gray-400"},x={primary:"ember-bg-ember-500",secondary:"ember-bg-forge-500",success:"ember-bg-green-500",warning:"ember-bg-yellow-500",danger:"ember-bg-red-500",info:"ember-bg-blue-500",ghost:"ember-bg-gray-500",outline:"ember-bg-gray-500",error:"ember-bg-red-500",neutral:"ember-bg-gray-500"},y=({variant:e="neutral",size:m="sm",pill:t=!1,dot:a=!1,className:g,children:d,testId:s,...n})=>r.jsxs("span",{className:b.cn("ember-inline-flex ember-items-center ember-gap-1.5 ember-font-medium",o[m],l[e],t?"ember-rounded-full":"ember-rounded-md",g),"data-testid":s,...n,children:[a&&r.jsx("span",{className:b.cn("ember-w-1.5 ember-h-1.5 ember-rounded-full",x[e])}),d]});exports.Badge=y;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { BadgeProps } from './Badge.types';
|
|
3
|
+
/**
|
|
4
|
+
* Badge component for labels and status indicators
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Badge variant="success">Active</Badge>
|
|
9
|
+
* <Badge variant="warning" size="sm" pill>Beta</Badge>
|
|
10
|
+
* <Badge variant="danger" dot>Error</Badge>
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare const Badge: FC<BadgeProps>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsxs as n, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { cn as r } from "../../utils/cn.js";
|
|
3
|
+
const x = {
|
|
4
|
+
xs: "ember-px-1.5 ember-py-0.5 ember-text-[10px]",
|
|
5
|
+
sm: "ember-px-2 ember-py-0.5 ember-text-xs",
|
|
6
|
+
md: "ember-px-2.5 ember-py-1 ember-text-xs",
|
|
7
|
+
lg: "ember-px-3 ember-py-1.5 ember-text-sm"
|
|
8
|
+
}, l = {
|
|
9
|
+
primary: "ember-bg-ember-100 ember-text-ember-700 dark:ember-bg-ember-900/30 dark:ember-text-ember-400",
|
|
10
|
+
secondary: "ember-bg-forge-100 ember-text-forge-700 dark:ember-bg-forge-900/30 dark:ember-text-forge-400",
|
|
11
|
+
success: "ember-bg-green-100 ember-text-green-700 dark:ember-bg-green-900/30 dark:ember-text-green-400",
|
|
12
|
+
warning: "ember-bg-yellow-100 ember-text-yellow-700 dark:ember-bg-yellow-900/30 dark:ember-text-yellow-400",
|
|
13
|
+
danger: "ember-bg-red-100 ember-text-red-700 dark:ember-bg-red-900/30 dark:ember-text-red-400",
|
|
14
|
+
info: "ember-bg-blue-100 ember-text-blue-700 dark:ember-bg-blue-900/30 dark:ember-text-blue-400",
|
|
15
|
+
ghost: "ember-bg-gray-100 ember-text-gray-700 dark:ember-bg-gray-800 dark:ember-text-gray-300",
|
|
16
|
+
outline: "ember-bg-transparent ember-text-gray-700 ember-border ember-border-gray-300 dark:ember-text-gray-300 dark:ember-border-gray-600",
|
|
17
|
+
error: "ember-bg-red-100 ember-text-red-700 dark:ember-bg-red-900/30 dark:ember-text-red-400",
|
|
18
|
+
neutral: "ember-bg-gray-100 ember-text-gray-600 dark:ember-bg-gray-800 dark:ember-text-gray-400"
|
|
19
|
+
}, y = {
|
|
20
|
+
primary: "ember-bg-ember-500",
|
|
21
|
+
secondary: "ember-bg-forge-500",
|
|
22
|
+
success: "ember-bg-green-500",
|
|
23
|
+
warning: "ember-bg-yellow-500",
|
|
24
|
+
danger: "ember-bg-red-500",
|
|
25
|
+
info: "ember-bg-blue-500",
|
|
26
|
+
ghost: "ember-bg-gray-500",
|
|
27
|
+
outline: "ember-bg-gray-500",
|
|
28
|
+
error: "ember-bg-red-500",
|
|
29
|
+
neutral: "ember-bg-gray-500"
|
|
30
|
+
}, i = ({
|
|
31
|
+
variant: e = "neutral",
|
|
32
|
+
size: b = "sm",
|
|
33
|
+
pill: m = !1,
|
|
34
|
+
dot: t = !1,
|
|
35
|
+
className: a,
|
|
36
|
+
children: g,
|
|
37
|
+
testId: d,
|
|
38
|
+
...s
|
|
39
|
+
}) => /* @__PURE__ */ n(
|
|
40
|
+
"span",
|
|
41
|
+
{
|
|
42
|
+
className: r(
|
|
43
|
+
"ember-inline-flex ember-items-center ember-gap-1.5 ember-font-medium",
|
|
44
|
+
x[b],
|
|
45
|
+
l[e],
|
|
46
|
+
m ? "ember-rounded-full" : "ember-rounded-md",
|
|
47
|
+
a
|
|
48
|
+
),
|
|
49
|
+
"data-testid": d,
|
|
50
|
+
...s,
|
|
51
|
+
children: [
|
|
52
|
+
t && /* @__PURE__ */ o(
|
|
53
|
+
"span",
|
|
54
|
+
{
|
|
55
|
+
className: r(
|
|
56
|
+
"ember-w-1.5 ember-h-1.5 ember-rounded-full",
|
|
57
|
+
y[e]
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
),
|
|
61
|
+
g
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
export {
|
|
66
|
+
i as Badge
|
|
67
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { EmberSize, EmberVariant } from '../../types';
|
|
3
|
+
export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
4
|
+
/** Badge variant */
|
|
5
|
+
variant?: EmberVariant | 'neutral';
|
|
6
|
+
/** Badge size */
|
|
7
|
+
size?: Exclude<EmberSize, 'xl'>;
|
|
8
|
+
/** Whether badge is pill shaped */
|
|
9
|
+
pill?: boolean;
|
|
10
|
+
/** Whether badge has a dot indicator */
|
|
11
|
+
dot?: boolean;
|
|
12
|
+
/** Test ID */
|
|
13
|
+
testId?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("react"),m=require("../../utils/cn.cjs"),p={sm:60,md:100,lg:150,xl:200},g=({size:r})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 100 100",fill:"none",className:"bear-loader-svg",children:[e.jsx("ellipse",{cx:"50",cy:"72",rx:"26",ry:"20",fill:"#db2777",className:"bear-body"}),e.jsx("ellipse",{cx:"50",cy:"73",rx:"16",ry:"12",fill:"#fde68a"}),e.jsx("ellipse",{cx:"32",cy:"88",rx:"12",ry:"9",fill:"#db2777"}),e.jsx("ellipse",{cx:"32",cy:"89",rx:"8",ry:"6",fill:"#fde68a"}),e.jsx("ellipse",{cx:"68",cy:"88",rx:"12",ry:"9",fill:"#db2777"}),e.jsx("ellipse",{cx:"68",cy:"89",rx:"8",ry:"6",fill:"#fde68a"}),e.jsx("ellipse",{cx:"24",cy:"68",rx:"8",ry:"12",fill:"#db2777",transform:"rotate(-15 24 68)",className:"bear-left-arm"}),e.jsx("ellipse",{cx:"76",cy:"68",rx:"8",ry:"12",fill:"#db2777",transform:"rotate(15 76 68)",className:"bear-right-arm"}),e.jsx("ellipse",{cx:"50",cy:"36",rx:"26",ry:"24",fill:"#db2777"}),e.jsx("ellipse",{cx:"28",cy:"16",rx:"10",ry:"10",fill:"#db2777"}),e.jsx("ellipse",{cx:"28",cy:"16",rx:"6",ry:"6",fill:"#fcd34d"}),e.jsx("ellipse",{cx:"72",cy:"16",rx:"10",ry:"10",fill:"#db2777"}),e.jsx("ellipse",{cx:"72",cy:"16",rx:"6",ry:"6",fill:"#fcd34d"}),e.jsx("ellipse",{cx:"50",cy:"44",rx:"14",ry:"10",fill:"#fde68a"}),e.jsx("ellipse",{cx:"50",cy:"40",rx:"6",ry:"4",fill:"#7c3aed"}),e.jsx("path",{d:"M32 24 Q38 21 44 25",stroke:"#581c87",strokeWidth:"3",strokeLinecap:"round",fill:"none",className:"bear-eyebrow-left"}),e.jsx("path",{d:"M68 24 Q62 21 56 25",stroke:"#581c87",strokeWidth:"3",strokeLinecap:"round",fill:"none",className:"bear-eyebrow-right"}),e.jsx("ellipse",{cx:"38",cy:"32",rx:"6",ry:"7",fill:"#ffffff"}),e.jsx("ellipse",{cx:"39",cy:"33",rx:"4",ry:"5",fill:"#78350f",className:"bear-eye-left"}),e.jsx("ellipse",{cx:"40",cy:"33",rx:"2",ry:"2.5",fill:"#1c1917"}),e.jsx("ellipse",{cx:"37",cy:"31",rx:"1.5",ry:"1.5",fill:"#ffffff"}),e.jsx("ellipse",{cx:"62",cy:"32",rx:"6",ry:"7",fill:"#ffffff"}),e.jsx("ellipse",{cx:"61",cy:"33",rx:"4",ry:"5",fill:"#78350f",className:"bear-eye-right"}),e.jsx("ellipse",{cx:"60",cy:"33",rx:"2",ry:"2.5",fill:"#1c1917"}),e.jsx("ellipse",{cx:"63",cy:"31",rx:"1.5",ry:"1.5",fill:"#ffffff"}),e.jsx("path",{d:"M44 48 Q50 52 56 48",stroke:"#9d174d",strokeWidth:"2",strokeLinecap:"round",fill:"none",className:"bear-mouth"}),e.jsx("ellipse",{cx:"30",cy:"42",rx:"4",ry:"3",fill:"#f472b6",opacity:"0.5"}),e.jsx("ellipse",{cx:"70",cy:"42",rx:"4",ry:"3",fill:"#f472b6",opacity:"0.5"})]}),j=({size:r="md",text:l,fullscreen:n=!1,duration:a,onComplete:s,className:x,testId:o})=>{const[b,y]=f.useState(0),d=p[r];f.useEffect(()=>{if(a&&s){const t=setInterval(()=>{y(c=>c>=100?(clearInterval(t),s(),100):c+100/(a/50))},50);return()=>clearInterval(t)}},[a,s]);const i=e.jsxs("div",{className:m.cn("bear-flex bear-flex-col bear-items-center bear-justify-center bear-gap-4",x),"data-testid":o,children:[e.jsx("style",{children:`
|
|
2
|
+
@keyframes bear-bounce {
|
|
3
|
+
0%, 100% { transform: translateY(0) scale(1); }
|
|
4
|
+
50% { transform: translateY(-15px) scale(1.05); }
|
|
5
|
+
}
|
|
6
|
+
@keyframes bear-wiggle {
|
|
7
|
+
0%, 100% { transform: rotate(-3deg); }
|
|
8
|
+
50% { transform: rotate(3deg); }
|
|
9
|
+
}
|
|
10
|
+
@keyframes bear-wave-left {
|
|
11
|
+
0%, 100% { transform: rotate(-15deg) translateX(0); }
|
|
12
|
+
50% { transform: rotate(-30deg) translateX(-3px); }
|
|
13
|
+
}
|
|
14
|
+
@keyframes bear-wave-right {
|
|
15
|
+
0%, 100% { transform: rotate(15deg) translateX(0); }
|
|
16
|
+
50% { transform: rotate(30deg) translateX(3px); }
|
|
17
|
+
}
|
|
18
|
+
@keyframes bear-blink {
|
|
19
|
+
0%, 90%, 100% { transform: scaleY(1); }
|
|
20
|
+
95% { transform: scaleY(0.1); }
|
|
21
|
+
}
|
|
22
|
+
.bear-loader-svg {
|
|
23
|
+
animation: bear-bounce 1s ease-in-out infinite, bear-wiggle 0.5s ease-in-out infinite;
|
|
24
|
+
}
|
|
25
|
+
.bear-left-arm {
|
|
26
|
+
transform-origin: 24px 68px;
|
|
27
|
+
animation: bear-wave-left 0.8s ease-in-out infinite;
|
|
28
|
+
}
|
|
29
|
+
.bear-right-arm {
|
|
30
|
+
transform-origin: 76px 68px;
|
|
31
|
+
animation: bear-wave-right 0.8s ease-in-out infinite 0.1s;
|
|
32
|
+
}
|
|
33
|
+
.bear-eye-left, .bear-eye-right {
|
|
34
|
+
transform-origin: center;
|
|
35
|
+
animation: bear-blink 3s ease-in-out infinite;
|
|
36
|
+
}
|
|
37
|
+
.bear-mouth {
|
|
38
|
+
animation: bear-bounce 1s ease-in-out infinite;
|
|
39
|
+
}
|
|
40
|
+
`}),e.jsx(g,{size:d}),l&&e.jsx("p",{className:"bear-text-gray-600 dark:bear-text-gray-300 bear-text-center bear-font-medium",children:l}),a&&e.jsx("div",{className:"bear-w-32 bear-h-1.5 bear-bg-gray-200 dark:bear-bg-gray-700 bear-rounded-full bear-overflow-hidden",children:e.jsx("div",{className:"bear-h-full bear-bg-bear-500 bear-rounded-full bear-transition-all bear-duration-100",style:{width:`${b}%`}})})]});return n?e.jsx("div",{className:"bear-fixed bear-inset-0 bear-z-50 bear-flex bear-items-center bear-justify-center bear-bg-white/90 dark:bear-bg-gray-900/90 bear-backdrop-blur-sm",children:i}):i};exports.BearLoader=j;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { BearLoaderProps } from './BearLoader.types';
|
|
3
|
+
/**
|
|
4
|
+
* BearLoader - Animated Lotso bear loading indicator
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <BearLoader />
|
|
9
|
+
* <BearLoader size="lg" text="Loading..." />
|
|
10
|
+
* <BearLoader fullscreen duration={3000} onComplete={() => console.log('done')} />
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare const BearLoader: FC<BearLoaderProps>;
|
|
14
|
+
export default BearLoader;
|