@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
package/README.md
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# @forgedevstack/bear
|
|
2
|
+
|
|
3
|
+
Strong, reliable React UI components. Tailwind-powered, zero config required. The protective force of ForgeStack.
|
|
4
|
+
|
|
5
|
+
## Portal
|
|
6
|
+
|
|
7
|
+
Visit the [Bear UI Portal](https://bearui.com/) to explore all components, view live examples, and browse the documentation.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Tailwind-Powered**: Built with Tailwind CSS, zero config required
|
|
12
|
+
- **React 18+**: Works with React 18 and above
|
|
13
|
+
- **TypeScript**: Full type safety with comprehensive TypeScript definitions
|
|
14
|
+
- **Comprehensive Component Library**: 50+ production-ready components
|
|
15
|
+
- **Accessible**: ARIA attributes and keyboard navigation support
|
|
16
|
+
- **Customizable**: Flexible theming and styling options
|
|
17
|
+
- **Tree-Shakeable**: Import only what you need
|
|
18
|
+
- **Zero Config**: Works out of the box with minimal setup
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install @forgedevstack/bear
|
|
24
|
+
# or
|
|
25
|
+
pnpm add @forgedevstack/bear
|
|
26
|
+
# or
|
|
27
|
+
yarn add @forgedevstack/bear
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Import CSS (Required)
|
|
31
|
+
|
|
32
|
+
Import the compiled CSS file once in your app:
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
// In your main entry file (e.g., main.tsx, App.tsx, or index.css)
|
|
36
|
+
import '@forgedevstack/bear/styles.css';
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Quick Start
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
import { Button, Card, CardHeader, CardBody } from '@forgedevstack/bear';
|
|
43
|
+
|
|
44
|
+
function App() {
|
|
45
|
+
return (
|
|
46
|
+
<Card>
|
|
47
|
+
<CardHeader>
|
|
48
|
+
<h2>Welcome to Bear</h2>
|
|
49
|
+
</CardHeader>
|
|
50
|
+
<CardBody>
|
|
51
|
+
<Button variant="primary">Get Started</Button>
|
|
52
|
+
</CardBody>
|
|
53
|
+
</Card>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Component Categories
|
|
59
|
+
|
|
60
|
+
### Layout Components
|
|
61
|
+
|
|
62
|
+
- `Container` - Responsive container with max-width constraints
|
|
63
|
+
- `Flex` - Flexible box layout component
|
|
64
|
+
- `Grid` / `GridItem` - CSS Grid layout system
|
|
65
|
+
|
|
66
|
+
### UI Components
|
|
67
|
+
|
|
68
|
+
- `Button` / `ButtonGroup` - Interactive button components
|
|
69
|
+
- `Card` - Container for content with header, body, and footer
|
|
70
|
+
- `Badge` - Status indicators and labels
|
|
71
|
+
- `Paper` - Elevated surface component
|
|
72
|
+
- `Divider` - Visual separator
|
|
73
|
+
- `Typography` - Text styling component
|
|
74
|
+
- `Link` - Styled link component
|
|
75
|
+
|
|
76
|
+
### Form Components
|
|
77
|
+
|
|
78
|
+
- `Input` - Text input field
|
|
79
|
+
- `Select` / `MultiSelect` - Dropdown selection components
|
|
80
|
+
- `Checkbox` - Checkbox input
|
|
81
|
+
- `Radio` / `RadioGroup` - Radio button inputs
|
|
82
|
+
- `Switch` - Toggle switch
|
|
83
|
+
- `Autocomplete` - Autocomplete input
|
|
84
|
+
- `TransferList` - Transfer items between lists
|
|
85
|
+
- `FileUpload` - File upload component
|
|
86
|
+
- `NumberInput` - Numeric input with controls
|
|
87
|
+
- `OTPInput` - One-time password input
|
|
88
|
+
- `ColorPicker` - Color selection component
|
|
89
|
+
- `DatePicker` - Date selection component
|
|
90
|
+
- `TimePicker` - Time selection component
|
|
91
|
+
- `Slider` - Range slider input
|
|
92
|
+
|
|
93
|
+
### Feedback Components
|
|
94
|
+
|
|
95
|
+
- `Alert` - Alert messages
|
|
96
|
+
- `Spinner` - Loading spinner
|
|
97
|
+
- `Rating` - Star rating component
|
|
98
|
+
- `Progress` - Progress indicator
|
|
99
|
+
- `Skeleton` - Loading skeleton states
|
|
100
|
+
- `Toast` / `useToast` - Toast notifications
|
|
101
|
+
- `BearLoader` - Custom bear-themed loader
|
|
102
|
+
|
|
103
|
+
### Overlay Components
|
|
104
|
+
|
|
105
|
+
- `Modal` - Modal dialog
|
|
106
|
+
- `Drawer` - Slide-out drawer
|
|
107
|
+
- `Tooltip` - Tooltip component
|
|
108
|
+
- `Popover` - Popover component
|
|
109
|
+
- `Menu` / `MenuItem` - Context menu
|
|
110
|
+
- `Dropdown` - Dropdown menu
|
|
111
|
+
- `SpeedDial` - Floating action speed dial
|
|
112
|
+
|
|
113
|
+
### Data Display
|
|
114
|
+
|
|
115
|
+
- `DataTable` - Advanced data table with sorting, filtering, and pagination
|
|
116
|
+
- `Carousel` - Image/content carousel
|
|
117
|
+
- `Accordion` - Collapsible content sections
|
|
118
|
+
- `Tabs` - Tabbed interface
|
|
119
|
+
- `List` - List component with various item types
|
|
120
|
+
- `Avatar` / `AvatarGroup` - User avatar display
|
|
121
|
+
- `Chip` - Compact element for input, attribute, or action
|
|
122
|
+
- `TreeView` - Hierarchical tree structure
|
|
123
|
+
- `Timeline` - Timeline component
|
|
124
|
+
- `Statistic` - Statistical display
|
|
125
|
+
- `EmptyState` - Empty state placeholder
|
|
126
|
+
- `Image` - Enhanced image component
|
|
127
|
+
|
|
128
|
+
### Navigation Components
|
|
129
|
+
|
|
130
|
+
- `Breadcrumbs` - Navigation breadcrumbs
|
|
131
|
+
- `Stepper` - Step-by-step navigation
|
|
132
|
+
- `BottomNavigation` - Bottom navigation bar
|
|
133
|
+
- `AppBar` - Application bar/header
|
|
134
|
+
- `Pagination` - Page navigation
|
|
135
|
+
|
|
136
|
+
### Utility Components
|
|
137
|
+
|
|
138
|
+
- `ScrollArea` - Custom scrollable area
|
|
139
|
+
- `Collapsible` - Collapsible content wrapper
|
|
140
|
+
- `Kbd` - Keyboard key display
|
|
141
|
+
- `CopyButton` - Copy to clipboard button
|
|
142
|
+
- `Icon` / `BearIcons` - Icon component library
|
|
143
|
+
- `BearLogo` - Bear logo component
|
|
144
|
+
|
|
145
|
+
## Examples
|
|
146
|
+
|
|
147
|
+
### Button
|
|
148
|
+
|
|
149
|
+
```tsx
|
|
150
|
+
import { Button } from '@forgedevstack/bear';
|
|
151
|
+
|
|
152
|
+
<Button variant="primary">Primary</Button>
|
|
153
|
+
<Button variant="secondary">Secondary</Button>
|
|
154
|
+
<Button variant="outline">Outline</Button>
|
|
155
|
+
<Button variant="ghost">Ghost</Button>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Card
|
|
159
|
+
|
|
160
|
+
```tsx
|
|
161
|
+
import { Card, CardHeader, CardBody, CardFooter } from '@forgedevstack/bear';
|
|
162
|
+
|
|
163
|
+
<Card>
|
|
164
|
+
<CardHeader>Title</CardHeader>
|
|
165
|
+
<CardBody>Content goes here</CardBody>
|
|
166
|
+
<CardFooter>Footer content</CardFooter>
|
|
167
|
+
</Card>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Form
|
|
171
|
+
|
|
172
|
+
```tsx
|
|
173
|
+
import { Input, Select, Checkbox, Button } from '@forgedevstack/bear';
|
|
174
|
+
|
|
175
|
+
function LoginForm() {
|
|
176
|
+
return (
|
|
177
|
+
<form>
|
|
178
|
+
<Input label="Email" type="email" required />
|
|
179
|
+
<Input label="Password" type="password" required />
|
|
180
|
+
<Select
|
|
181
|
+
label="Country"
|
|
182
|
+
options={[
|
|
183
|
+
{ value: 'us', label: 'United States' },
|
|
184
|
+
{ value: 'uk', label: 'United Kingdom' },
|
|
185
|
+
]}
|
|
186
|
+
/>
|
|
187
|
+
<Checkbox label="Remember me" />
|
|
188
|
+
<Button type="submit">Submit</Button>
|
|
189
|
+
</form>
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### DataTable
|
|
195
|
+
|
|
196
|
+
```tsx
|
|
197
|
+
import { DataTable, createColumns } from '@forgedevstack/bear';
|
|
198
|
+
|
|
199
|
+
interface User {
|
|
200
|
+
id: number;
|
|
201
|
+
name: string;
|
|
202
|
+
email: string;
|
|
203
|
+
role: string;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
const columns = createColumns<User>([
|
|
207
|
+
{ key: 'name', header: 'Name' },
|
|
208
|
+
{ key: 'email', header: 'Email' },
|
|
209
|
+
{ key: 'role', header: 'Role' },
|
|
210
|
+
]);
|
|
211
|
+
|
|
212
|
+
const data: User[] = [
|
|
213
|
+
{ id: 1, name: 'John Doe', email: 'john@example.com', role: 'admin' },
|
|
214
|
+
{ id: 2, name: 'Jane Smith', email: 'jane@example.com', role: 'user' },
|
|
215
|
+
];
|
|
216
|
+
|
|
217
|
+
<DataTable data={data} columns={columns} />
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Toast Notifications
|
|
221
|
+
|
|
222
|
+
```tsx
|
|
223
|
+
import { ToastProvider, useToast, Button } from '@forgedevstack/bear';
|
|
224
|
+
|
|
225
|
+
function App() {
|
|
226
|
+
return (
|
|
227
|
+
<ToastProvider>
|
|
228
|
+
<MyComponent />
|
|
229
|
+
</ToastProvider>
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
function MyComponent() {
|
|
234
|
+
const toast = useToast();
|
|
235
|
+
|
|
236
|
+
return (
|
|
237
|
+
<Button onClick={() => toast.success('Operation successful!')}>
|
|
238
|
+
Show Toast
|
|
239
|
+
</Button>
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Theming
|
|
245
|
+
|
|
246
|
+
Bear components support customization through Tailwind CSS. You can override default styles by configuring your Tailwind theme:
|
|
247
|
+
|
|
248
|
+
```js
|
|
249
|
+
// tailwind.config.js
|
|
250
|
+
module.exports = {
|
|
251
|
+
theme: {
|
|
252
|
+
extend: {
|
|
253
|
+
colors: {
|
|
254
|
+
// Your custom colors
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## TypeScript Support
|
|
262
|
+
|
|
263
|
+
All components are fully typed with TypeScript:
|
|
264
|
+
|
|
265
|
+
```tsx
|
|
266
|
+
import { Button, ButtonProps } from '@forgedevstack/bear';
|
|
267
|
+
|
|
268
|
+
const buttonProps: ButtonProps = {
|
|
269
|
+
variant: 'primary',
|
|
270
|
+
size: 'md',
|
|
271
|
+
children: 'Click me',
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
<Button {...buttonProps} />
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## License
|
|
278
|
+
|
|
279
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),n=require("../../utils/cn.cjs"),g=u.createContext(null),m=({children:o,allowMultiple:s=!1,defaultOpen:i=[],className:t,testId:b})=>{const[d,c]=u.useState(i),l=r=>{c(a=>a.includes(r)?a.filter(x=>x!==r):s?[...a,r]:[r])};return e.jsx(g.Provider,{value:{openItems:d,toggleItem:l,allowMultiple:s},children:e.jsx("div",{className:n.cn("bear-divide-y bear-divide-gray-200 dark:bear-divide-gray-700 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-overflow-hidden",t),"data-testid":b,children:o})})},y=({id:o,title:s,children:i,disabled:t=!1,icon:b,className:d})=>{const c=u.useContext(g);if(!c)throw new Error("AccordionItem must be used within an Accordion");const{openItems:l,toggleItem:r}=c,a=l.includes(o);return e.jsxs("div",{className:n.cn("bear-bg-white dark:bear-bg-gray-900",d),children:[e.jsxs("button",{onClick:()=>!t&&r(o),disabled:t,className:n.cn("bear-w-full bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3","bear-text-left bear-font-medium bear-text-gray-900 dark:bear-text-white","hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800 bear-transition-colors",t&&"bear-opacity-50 bear-cursor-not-allowed"),children:[e.jsx("span",{children:s}),b||e.jsx("svg",{className:n.cn("bear-w-5 bear-h-5 bear-text-gray-500 bear-transition-transform bear-duration-200",a&&"bear-rotate-180"),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),e.jsx("div",{className:n.cn("bear-overflow-hidden bear-transition-all bear-duration-200",a?"bear-max-h-96":"bear-max-h-0"),children:e.jsx("div",{className:"bear-px-4 bear-py-3 bear-text-gray-600 dark:bear-text-gray-300 bear-bg-gray-50 dark:bear-bg-gray-800/50",children:i})})]})};exports.Accordion=m;exports.AccordionItem=y;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AccordionProps, AccordionItemProps } from './Accordion.types';
|
|
3
|
+
/**
|
|
4
|
+
* Accordion - Collapsible content panels
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Accordion allowMultiple>
|
|
9
|
+
* <AccordionItem id="1" title="Section 1">
|
|
10
|
+
* Content for section 1
|
|
11
|
+
* </AccordionItem>
|
|
12
|
+
* <AccordionItem id="2" title="Section 2">
|
|
13
|
+
* Content for section 2
|
|
14
|
+
* </AccordionItem>
|
|
15
|
+
* </Accordion>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const Accordion: FC<AccordionProps>;
|
|
19
|
+
/**
|
|
20
|
+
* AccordionItem - Individual accordion panel
|
|
21
|
+
*/
|
|
22
|
+
export declare const AccordionItem: FC<AccordionItemProps>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx as e, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as h, useState as x, useContext as f } from "react";
|
|
3
|
+
import { cn as o } from "../../utils/cn.js";
|
|
4
|
+
const g = h(null), k = ({
|
|
5
|
+
children: n,
|
|
6
|
+
allowMultiple: b = !1,
|
|
7
|
+
defaultOpen: s = [],
|
|
8
|
+
className: t,
|
|
9
|
+
testId: d
|
|
10
|
+
}) => {
|
|
11
|
+
const [c, i] = x(s), l = (r) => {
|
|
12
|
+
i((a) => a.includes(r) ? a.filter((u) => u !== r) : b ? [...a, r] : [r]);
|
|
13
|
+
};
|
|
14
|
+
return /* @__PURE__ */ e(g.Provider, { value: { openItems: c, toggleItem: l, allowMultiple: b }, children: /* @__PURE__ */ e(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
className: o("bear-divide-y bear-divide-gray-200 dark:bear-divide-gray-700 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-overflow-hidden", t),
|
|
18
|
+
"data-testid": d,
|
|
19
|
+
children: n
|
|
20
|
+
}
|
|
21
|
+
) });
|
|
22
|
+
}, w = ({
|
|
23
|
+
id: n,
|
|
24
|
+
title: b,
|
|
25
|
+
children: s,
|
|
26
|
+
disabled: t = !1,
|
|
27
|
+
icon: d,
|
|
28
|
+
className: c
|
|
29
|
+
}) => {
|
|
30
|
+
const i = f(g);
|
|
31
|
+
if (!i)
|
|
32
|
+
throw new Error("AccordionItem must be used within an Accordion");
|
|
33
|
+
const { openItems: l, toggleItem: r } = i, a = l.includes(n);
|
|
34
|
+
return /* @__PURE__ */ m("div", { className: o("bear-bg-white dark:bear-bg-gray-900", c), children: [
|
|
35
|
+
/* @__PURE__ */ m(
|
|
36
|
+
"button",
|
|
37
|
+
{
|
|
38
|
+
onClick: () => !t && r(n),
|
|
39
|
+
disabled: t,
|
|
40
|
+
className: o(
|
|
41
|
+
"bear-w-full bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3",
|
|
42
|
+
"bear-text-left bear-font-medium bear-text-gray-900 dark:bear-text-white",
|
|
43
|
+
"hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800 bear-transition-colors",
|
|
44
|
+
t && "bear-opacity-50 bear-cursor-not-allowed"
|
|
45
|
+
),
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ e("span", { children: b }),
|
|
48
|
+
d || /* @__PURE__ */ e(
|
|
49
|
+
"svg",
|
|
50
|
+
{
|
|
51
|
+
className: o(
|
|
52
|
+
"bear-w-5 bear-h-5 bear-text-gray-500 bear-transition-transform bear-duration-200",
|
|
53
|
+
a && "bear-rotate-180"
|
|
54
|
+
),
|
|
55
|
+
fill: "none",
|
|
56
|
+
viewBox: "0 0 24 24",
|
|
57
|
+
stroke: "currentColor",
|
|
58
|
+
children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ e(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
className: o(
|
|
68
|
+
"bear-overflow-hidden bear-transition-all bear-duration-200",
|
|
69
|
+
a ? "bear-max-h-96" : "bear-max-h-0"
|
|
70
|
+
),
|
|
71
|
+
children: /* @__PURE__ */ e("div", { className: "bear-px-4 bear-py-3 bear-text-gray-600 dark:bear-text-gray-300 bear-bg-gray-50 dark:bear-bg-gray-800/50", children: s })
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
] });
|
|
75
|
+
};
|
|
76
|
+
export {
|
|
77
|
+
k as Accordion,
|
|
78
|
+
w as AccordionItem
|
|
79
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface AccordionContextValue {
|
|
3
|
+
openItems: string[];
|
|
4
|
+
toggleItem: (id: string) => void;
|
|
5
|
+
allowMultiple: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface AccordionProps {
|
|
8
|
+
/** Accordion items */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Allow multiple items open at once */
|
|
11
|
+
allowMultiple?: boolean;
|
|
12
|
+
/** Default open items */
|
|
13
|
+
defaultOpen?: string[];
|
|
14
|
+
/** Custom class name */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Test ID */
|
|
17
|
+
testId?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AccordionItemProps {
|
|
20
|
+
/** Unique identifier */
|
|
21
|
+
id: string;
|
|
22
|
+
/** Item header */
|
|
23
|
+
title: ReactNode;
|
|
24
|
+
/** Item content */
|
|
25
|
+
children: ReactNode;
|
|
26
|
+
/** Whether item is disabled */
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/** Icon to show (overrides default chevron) */
|
|
29
|
+
icon?: ReactNode;
|
|
30
|
+
/** Custom class name */
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),y=require("react"),i=require("../../utils/cn.cjs"),k={success:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),e.jsx("polyline",{points:"22 4 12 14.01 9 11.01"})]}),info:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),e.jsx("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]}),warning:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),e.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),e.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),error:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),e.jsx("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})},w=()=>e.jsxs("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),v={success:{bg:"rgba(34, 197, 94, 0.1)",border:"#22c55e",text:"#166534",icon:"#22c55e"},info:{bg:"rgba(59, 130, 246, 0.1)",border:"#3b82f6",text:"#1e40af",icon:"#3b82f6"},warning:{bg:"rgba(245, 158, 11, 0.1)",border:"#f59e0b",text:"#92400e",icon:"#f59e0b"},error:{bg:"rgba(239, 68, 68, 0.1)",border:"#ef4444",text:"#991b1b",icon:"#ef4444"}},p={filled:r=>i.cn("ember-text-white",r==="success"&&"ember-bg-green-500",r==="info"&&"ember-bg-blue-500",r==="warning"&&"ember-bg-amber-500",r==="error"&&"ember-bg-red-500"),outlined:()=>"ember-bg-transparent ember-border",standard:()=>""},C=({severity:r="info",variant:t="standard",title:c,icon:n=!0,action:b,closable:a=!1,onClose:o,children:x,className:m,testId:h,...u})=>{const[g,f]=y.useState(!0);if(!g)return null;const s=v[r],l=t==="filled",j=()=>{f(!1),o==null||o()},d=()=>n===!1?null:n!==!0?n:k[r];return e.jsxs("div",{role:"alert",className:i.cn("ember-flex ember-items-start ember-gap-3 ember-p-4 ember-rounded-lg",p[t](r),m),style:{backgroundColor:l?void 0:s.bg,borderColor:t==="outlined"?s.border:void 0,color:l?void 0:s.text},"data-testid":h,...u,children:[d()&&e.jsx("span",{className:"ember-flex-shrink-0 ember-mt-0.5",style:{color:l?"currentColor":s.icon},children:d()}),e.jsxs("div",{className:"ember-flex-1 ember-min-w-0",children:[c&&e.jsx("div",{className:"ember-font-semibold ember-mb-1",children:c}),x&&e.jsx("div",{className:"ember-text-sm",children:x})]}),b&&e.jsx("div",{className:"ember-flex-shrink-0",children:b}),a&&e.jsx("button",{type:"button",onClick:j,className:i.cn("ember-flex-shrink-0 ember-p-1 ember-rounded hover:ember-bg-black/10 ember-transition-colors","ember-bg-transparent ember-border-none ember-cursor-pointer"),"aria-label":"Close alert",children:e.jsx(w,{})})]})};exports.Alert=C;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AlertProps } from './Alert.types';
|
|
3
|
+
/**
|
|
4
|
+
* Alert component for displaying important messages
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Alert severity="success">Operation completed successfully!</Alert>
|
|
9
|
+
* <Alert severity="error" title="Error" closable onClose={() => {}}>
|
|
10
|
+
* Something went wrong.
|
|
11
|
+
* </Alert>
|
|
12
|
+
* <Alert severity="warning" variant="filled">Warning message</Alert>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare const Alert: FC<AlertProps>;
|
|
16
|
+
export default Alert;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsxs as o, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as p } from "react";
|
|
3
|
+
import { cn as b } from "../../utils/cn.js";
|
|
4
|
+
const w = {
|
|
5
|
+
success: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
6
|
+
/* @__PURE__ */ e("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
|
|
7
|
+
/* @__PURE__ */ e("polyline", { points: "22 4 12 14.01 9 11.01" })
|
|
8
|
+
] }),
|
|
9
|
+
info: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
10
|
+
/* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "10" }),
|
|
11
|
+
/* @__PURE__ */ e("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
12
|
+
/* @__PURE__ */ e("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
|
|
13
|
+
] }),
|
|
14
|
+
warning: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
15
|
+
/* @__PURE__ */ e("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
|
|
16
|
+
/* @__PURE__ */ e("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
|
|
17
|
+
/* @__PURE__ */ e("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
|
|
18
|
+
] }),
|
|
19
|
+
error: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
20
|
+
/* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "10" }),
|
|
21
|
+
/* @__PURE__ */ e("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
|
|
22
|
+
/* @__PURE__ */ e("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
|
|
23
|
+
] })
|
|
24
|
+
}, v = () => /* @__PURE__ */ o("svg", { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
|
|
25
|
+
/* @__PURE__ */ e("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
26
|
+
/* @__PURE__ */ e("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
27
|
+
] }), C = {
|
|
28
|
+
success: { bg: "rgba(34, 197, 94, 0.1)", border: "#22c55e", text: "#166534", icon: "#22c55e" },
|
|
29
|
+
info: { bg: "rgba(59, 130, 246, 0.1)", border: "#3b82f6", text: "#1e40af", icon: "#3b82f6" },
|
|
30
|
+
warning: { bg: "rgba(245, 158, 11, 0.1)", border: "#f59e0b", text: "#92400e", icon: "#f59e0b" },
|
|
31
|
+
error: { bg: "rgba(239, 68, 68, 0.1)", border: "#ef4444", text: "#991b1b", icon: "#ef4444" }
|
|
32
|
+
}, N = {
|
|
33
|
+
filled: (r) => b(
|
|
34
|
+
"ember-text-white",
|
|
35
|
+
r === "success" && "ember-bg-green-500",
|
|
36
|
+
r === "info" && "ember-bg-blue-500",
|
|
37
|
+
r === "warning" && "ember-bg-amber-500",
|
|
38
|
+
r === "error" && "ember-bg-red-500"
|
|
39
|
+
),
|
|
40
|
+
outlined: () => "ember-bg-transparent ember-border",
|
|
41
|
+
standard: () => ""
|
|
42
|
+
}, W = ({
|
|
43
|
+
severity: r = "info",
|
|
44
|
+
variant: n = "standard",
|
|
45
|
+
title: c,
|
|
46
|
+
icon: l = !0,
|
|
47
|
+
action: d,
|
|
48
|
+
closable: h = !1,
|
|
49
|
+
onClose: i,
|
|
50
|
+
children: a,
|
|
51
|
+
className: x,
|
|
52
|
+
testId: f,
|
|
53
|
+
...g
|
|
54
|
+
}) => {
|
|
55
|
+
const [u, y] = p(!0);
|
|
56
|
+
if (!u) return null;
|
|
57
|
+
const t = C[r], s = n === "filled", k = () => {
|
|
58
|
+
y(!1), i == null || i();
|
|
59
|
+
}, m = () => l === !1 ? null : l !== !0 ? l : w[r];
|
|
60
|
+
return /* @__PURE__ */ o(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
role: "alert",
|
|
64
|
+
className: b(
|
|
65
|
+
"ember-flex ember-items-start ember-gap-3 ember-p-4 ember-rounded-lg",
|
|
66
|
+
N[n](r),
|
|
67
|
+
x
|
|
68
|
+
),
|
|
69
|
+
style: {
|
|
70
|
+
backgroundColor: s ? void 0 : t.bg,
|
|
71
|
+
borderColor: n === "outlined" ? t.border : void 0,
|
|
72
|
+
color: s ? void 0 : t.text
|
|
73
|
+
},
|
|
74
|
+
"data-testid": f,
|
|
75
|
+
...g,
|
|
76
|
+
children: [
|
|
77
|
+
m() && /* @__PURE__ */ e(
|
|
78
|
+
"span",
|
|
79
|
+
{
|
|
80
|
+
className: "ember-flex-shrink-0 ember-mt-0.5",
|
|
81
|
+
style: { color: s ? "currentColor" : t.icon },
|
|
82
|
+
children: m()
|
|
83
|
+
}
|
|
84
|
+
),
|
|
85
|
+
/* @__PURE__ */ o("div", { className: "ember-flex-1 ember-min-w-0", children: [
|
|
86
|
+
c && /* @__PURE__ */ e("div", { className: "ember-font-semibold ember-mb-1", children: c }),
|
|
87
|
+
a && /* @__PURE__ */ e("div", { className: "ember-text-sm", children: a })
|
|
88
|
+
] }),
|
|
89
|
+
d && /* @__PURE__ */ e("div", { className: "ember-flex-shrink-0", children: d }),
|
|
90
|
+
h && /* @__PURE__ */ e(
|
|
91
|
+
"button",
|
|
92
|
+
{
|
|
93
|
+
type: "button",
|
|
94
|
+
onClick: k,
|
|
95
|
+
className: b(
|
|
96
|
+
"ember-flex-shrink-0 ember-p-1 ember-rounded hover:ember-bg-black/10 ember-transition-colors",
|
|
97
|
+
"ember-bg-transparent ember-border-none ember-cursor-pointer"
|
|
98
|
+
),
|
|
99
|
+
"aria-label": "Close alert",
|
|
100
|
+
children: /* @__PURE__ */ e(v, {})
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
};
|
|
107
|
+
export {
|
|
108
|
+
W as Alert
|
|
109
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type AlertSeverity = 'success' | 'info' | 'warning' | 'error';
|
|
3
|
+
export type AlertVariant = 'filled' | 'outlined' | 'standard';
|
|
4
|
+
export interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
5
|
+
/** Alert severity/type */
|
|
6
|
+
severity?: AlertSeverity;
|
|
7
|
+
/** Alert visual variant */
|
|
8
|
+
variant?: AlertVariant;
|
|
9
|
+
/** Alert title */
|
|
10
|
+
title?: ReactNode;
|
|
11
|
+
/** Whether to show default icon */
|
|
12
|
+
icon?: boolean | ReactNode;
|
|
13
|
+
/** Action buttons/elements */
|
|
14
|
+
action?: ReactNode;
|
|
15
|
+
/** Whether alert can be closed */
|
|
16
|
+
closable?: boolean;
|
|
17
|
+
/** Callback when close button is clicked */
|
|
18
|
+
onClose?: () => void;
|
|
19
|
+
/** Content of the alert */
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
/** Test ID */
|
|
22
|
+
testId?: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("../../utils/cn.cjs"),f=({children:a,position:t="sticky",variant:r="default",color:b="default",className:s,leftContent:i,rightContent:c,centerContent:n,elevation:l=!0})=>{const d={fixed:"bear-fixed bear-top-0 bear-left-0 bear-right-0 bear-z-50",sticky:"bear-sticky bear-top-0 bear-z-50",static:"bear-static",relative:"bear-relative"},o={default:"bear-bg-zinc-900",transparent:"bear-bg-transparent",blur:"bear-bg-zinc-900/80 bear-backdrop-blur-md"},p={default:"",primary:"bear-bg-pink-600",dark:"bear-bg-black"};return e.jsx("header",{className:u.cn("bear-h-16 bear-px-4 bear-flex bear-items-center",d[t],r!=="transparent"&&o[r],p[b],l&&"bear-shadow-lg bear-border-b bear-border-zinc-800",s),children:a||e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"bear-flex bear-items-center bear-gap-4",children:i}),e.jsx("div",{className:"bear-flex-1 bear-flex bear-items-center bear-justify-center",children:n}),e.jsx("div",{className:"bear-flex bear-items-center bear-gap-4",children:c})]})})};exports.AppBar=f;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as e, jsxs as f, Fragment as m } from "react/jsx-runtime";
|
|
2
|
+
import { cn as x } from "../../utils/cn.js";
|
|
3
|
+
const u = ({
|
|
4
|
+
children: a,
|
|
5
|
+
position: b = "sticky",
|
|
6
|
+
variant: r = "default",
|
|
7
|
+
color: t = "default",
|
|
8
|
+
className: s,
|
|
9
|
+
leftContent: i,
|
|
10
|
+
rightContent: c,
|
|
11
|
+
centerContent: l,
|
|
12
|
+
elevation: n = !0
|
|
13
|
+
}) => {
|
|
14
|
+
const d = {
|
|
15
|
+
fixed: "bear-fixed bear-top-0 bear-left-0 bear-right-0 bear-z-50",
|
|
16
|
+
sticky: "bear-sticky bear-top-0 bear-z-50",
|
|
17
|
+
static: "bear-static",
|
|
18
|
+
relative: "bear-relative"
|
|
19
|
+
}, o = {
|
|
20
|
+
default: "bear-bg-zinc-900",
|
|
21
|
+
transparent: "bear-bg-transparent",
|
|
22
|
+
blur: "bear-bg-zinc-900/80 bear-backdrop-blur-md"
|
|
23
|
+
}, p = {
|
|
24
|
+
default: "",
|
|
25
|
+
primary: "bear-bg-pink-600",
|
|
26
|
+
dark: "bear-bg-black"
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ e(
|
|
29
|
+
"header",
|
|
30
|
+
{
|
|
31
|
+
className: x(
|
|
32
|
+
"bear-h-16 bear-px-4 bear-flex bear-items-center",
|
|
33
|
+
d[b],
|
|
34
|
+
r !== "transparent" && o[r],
|
|
35
|
+
p[t],
|
|
36
|
+
n && "bear-shadow-lg bear-border-b bear-border-zinc-800",
|
|
37
|
+
s
|
|
38
|
+
),
|
|
39
|
+
children: a || /* @__PURE__ */ f(m, { children: [
|
|
40
|
+
/* @__PURE__ */ e("div", { className: "bear-flex bear-items-center bear-gap-4", children: i }),
|
|
41
|
+
/* @__PURE__ */ e("div", { className: "bear-flex-1 bear-flex bear-items-center bear-justify-center", children: l }),
|
|
42
|
+
/* @__PURE__ */ e("div", { className: "bear-flex bear-items-center bear-gap-4", children: c })
|
|
43
|
+
] })
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
u as AppBar
|
|
49
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface AppBarProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
position?: 'fixed' | 'sticky' | 'static' | 'relative';
|
|
5
|
+
variant?: 'default' | 'transparent' | 'blur';
|
|
6
|
+
color?: 'default' | 'primary' | 'dark';
|
|
7
|
+
className?: string;
|
|
8
|
+
leftContent?: ReactNode;
|
|
9
|
+
rightContent?: ReactNode;
|
|
10
|
+
centerContent?: ReactNode;
|
|
11
|
+
elevation?: boolean;
|
|
12
|
+
}
|