@forgedevstack/bear 1.1.3 → 1.1.8
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 +19 -0
- package/dist/components/ActionIcon/ActionIcon.cjs +1 -0
- package/dist/components/ActionIcon/ActionIcon.const.cjs +1 -0
- package/dist/components/ActionIcon/ActionIcon.const.d.ts +7 -0
- package/dist/components/ActionIcon/ActionIcon.const.js +68 -0
- package/dist/components/ActionIcon/ActionIcon.d.ts +4 -0
- package/dist/components/ActionIcon/ActionIcon.js +42 -0
- package/dist/components/ActionIcon/ActionIcon.types.d.ts +11 -0
- package/dist/components/ActionIcon/index.d.ts +2 -0
- package/dist/components/Affix/Affix.cjs +1 -0
- package/dist/components/Affix/Affix.const.cjs +1 -0
- package/dist/components/Affix/Affix.const.d.ts +6 -0
- package/dist/components/Affix/Affix.const.js +9 -0
- package/dist/components/Affix/Affix.d.ts +4 -0
- package/dist/components/Affix/Affix.js +69 -0
- package/dist/components/Affix/Affix.types.d.ts +10 -0
- package/dist/components/Affix/index.d.ts +2 -0
- package/dist/components/Anchor/Anchor.cjs +1 -0
- package/dist/components/Anchor/Anchor.const.cjs +1 -0
- package/dist/components/Anchor/Anchor.const.d.ts +9 -0
- package/dist/components/Anchor/Anchor.const.js +11 -0
- package/dist/components/Anchor/Anchor.d.ts +4 -0
- package/dist/components/Anchor/Anchor.js +83 -0
- package/dist/components/Anchor/Anchor.types.d.ts +16 -0
- package/dist/components/Anchor/Anchor.utils.cjs +1 -0
- package/dist/components/Anchor/Anchor.utils.d.ts +2 -0
- package/dist/components/Anchor/Anchor.utils.js +12 -0
- package/dist/components/Anchor/index.d.ts +2 -0
- package/dist/components/Autocomplete/Autocomplete.cjs +1 -1
- package/dist/components/Autocomplete/Autocomplete.js +60 -67
- package/dist/components/Autocomplete/Autocomplete.utils.cjs +1 -0
- package/dist/components/Autocomplete/Autocomplete.utils.d.ts +2 -0
- package/dist/components/Autocomplete/Autocomplete.utils.js +12 -0
- package/dist/components/BackTop/BackTop.cjs +1 -1
- package/dist/components/BackTop/BackTop.js +10 -11
- package/dist/components/Blockquote/Blockquote.cjs +1 -0
- package/dist/components/Blockquote/Blockquote.const.cjs +1 -0
- package/dist/components/Blockquote/Blockquote.const.d.ts +5 -0
- package/dist/components/Blockquote/Blockquote.const.js +19 -0
- package/dist/components/Blockquote/Blockquote.d.ts +4 -0
- package/dist/components/Blockquote/Blockquote.js +56 -0
- package/dist/components/Blockquote/Blockquote.types.d.ts +9 -0
- package/dist/components/Blockquote/index.d.ts +2 -0
- package/dist/components/Button/Button.cjs +1 -1
- package/dist/components/Button/Button.constants.cjs +2 -2
- package/dist/components/Button/Button.constants.d.ts +1 -0
- package/dist/components/Button/Button.constants.js +12 -5
- package/dist/components/Button/Button.d.ts +0 -27
- package/dist/components/Button/Button.js +93 -105
- package/dist/components/Button/Button.types.d.ts +1 -0
- package/dist/components/Button/Button.utils.cjs +1 -0
- package/dist/components/Button/Button.utils.d.ts +2 -0
- package/dist/components/Button/Button.utils.js +5 -0
- package/dist/components/Button/useSpotlight.cjs +1 -0
- package/dist/components/Button/useSpotlight.d.ts +21 -0
- package/dist/components/Button/useSpotlight.js +28 -0
- package/dist/components/Chart/Chart.cjs +1 -1
- package/dist/components/Chart/Chart.const.cjs +1 -0
- package/dist/components/Chart/Chart.const.js +21 -0
- package/dist/components/Chart/Chart.js +55 -71
- package/dist/components/Chart/Chart.utils.cjs +1 -0
- package/dist/components/Chart/Chart.utils.js +5 -0
- package/dist/components/CheckboxCard/CheckboxCard.cjs +1 -0
- package/dist/components/CheckboxCard/CheckboxCard.const.cjs +1 -0
- package/dist/components/CheckboxCard/CheckboxCard.const.d.ts +7 -0
- package/dist/components/CheckboxCard/CheckboxCard.const.js +22 -0
- package/dist/components/CheckboxCard/CheckboxCard.d.ts +5 -0
- package/dist/components/CheckboxCard/CheckboxCard.js +132 -0
- package/dist/components/CheckboxCard/CheckboxCard.types.d.ts +21 -0
- package/dist/components/CheckboxCard/index.d.ts +2 -0
- package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
- package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -0
- package/dist/components/ColorPicker/ColorPicker.const.d.ts +26 -0
- package/dist/components/ColorPicker/ColorPicker.const.js +38 -0
- package/dist/components/ColorPicker/ColorPicker.js +61 -78
- package/dist/components/ColorSwatch/ColorSwatch.cjs +1 -0
- package/dist/components/ColorSwatch/ColorSwatch.const.cjs +1 -0
- package/dist/components/ColorSwatch/ColorSwatch.const.d.ts +16 -0
- package/dist/components/ColorSwatch/ColorSwatch.const.js +19 -0
- package/dist/components/ColorSwatch/ColorSwatch.d.ts +5 -0
- package/dist/components/ColorSwatch/ColorSwatch.js +92 -0
- package/dist/components/ColorSwatch/ColorSwatch.types.d.ts +23 -0
- package/dist/components/ColorSwatch/ColorSwatch.utils.cjs +1 -0
- package/dist/components/ColorSwatch/ColorSwatch.utils.d.ts +6 -0
- package/dist/components/ColorSwatch/ColorSwatch.utils.js +14 -0
- package/dist/components/ColorSwatch/index.d.ts +2 -0
- package/dist/components/Confetti/Confetti.cjs +1 -1
- package/dist/components/Confetti/Confetti.js +37 -34
- package/dist/components/ContextMenu/ContextMenu.cjs +1 -0
- package/dist/components/ContextMenu/ContextMenu.const.cjs +1 -0
- package/dist/components/ContextMenu/ContextMenu.const.d.ts +9 -0
- package/dist/components/ContextMenu/ContextMenu.const.js +12 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts +4 -0
- package/dist/components/ContextMenu/ContextMenu.js +65 -0
- package/dist/components/ContextMenu/ContextMenu.types.d.ts +23 -0
- package/dist/components/ContextMenu/ContextMenu.utils.cjs +1 -0
- package/dist/components/ContextMenu/ContextMenu.utils.d.ts +5 -0
- package/dist/components/ContextMenu/ContextMenu.utils.js +4 -0
- package/dist/components/ContextMenu/index.d.ts +2 -0
- package/dist/components/CountdownTimer/CountdownTimer.cjs +1 -1
- package/dist/components/CountdownTimer/CountdownTimer.js +62 -71
- package/dist/components/CountdownTimer/CountdownTimer.utils.cjs +1 -0
- package/dist/components/CountdownTimer/CountdownTimer.utils.d.ts +3 -0
- package/dist/components/CountdownTimer/CountdownTimer.utils.js +16 -0
- package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.const.cjs +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.const.d.ts +27 -0
- package/dist/components/DateRangePicker/DateRangePicker.const.js +74 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +4 -0
- package/dist/components/DateRangePicker/DateRangePicker.js +115 -0
- package/dist/components/DateRangePicker/DateRangePicker.types.d.ts +26 -0
- package/dist/components/DateRangePicker/DateRangePicker.utils.cjs +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.utils.d.ts +4 -0
- package/dist/components/DateRangePicker/DateRangePicker.utils.js +22 -0
- package/dist/components/DateRangePicker/index.d.ts +2 -0
- package/dist/components/Descriptions/Descriptions.cjs +1 -0
- package/dist/components/Descriptions/Descriptions.const.cjs +1 -0
- package/dist/components/Descriptions/Descriptions.const.d.ts +24 -0
- package/dist/components/Descriptions/Descriptions.const.js +27 -0
- package/dist/components/Descriptions/Descriptions.d.ts +4 -0
- package/dist/components/Descriptions/Descriptions.js +65 -0
- package/dist/components/Descriptions/Descriptions.types.d.ts +16 -0
- package/dist/components/Descriptions/index.d.ts +2 -0
- package/dist/components/Dock/Dock.cjs +1 -1
- package/dist/components/Dock/Dock.js +38 -43
- package/dist/components/Dock/Dock.utils.cjs +1 -0
- package/dist/components/Dock/Dock.utils.d.ts +1 -0
- package/dist/components/Dock/Dock.utils.js +10 -0
- package/dist/components/Dropdown/Dropdown.cjs +1 -1
- package/dist/components/Dropdown/Dropdown.js +59 -60
- package/dist/components/Fieldset/Fieldset.cjs +1 -0
- package/dist/components/Fieldset/Fieldset.const.cjs +1 -0
- package/dist/components/Fieldset/Fieldset.const.d.ts +5 -0
- package/dist/components/Fieldset/Fieldset.const.js +16 -0
- package/dist/components/Fieldset/Fieldset.d.ts +4 -0
- package/dist/components/Fieldset/Fieldset.js +47 -0
- package/dist/components/Fieldset/Fieldset.types.d.ts +10 -0
- package/dist/components/Fieldset/index.d.ts +2 -0
- package/dist/components/FileTree/FileTree.cjs +1 -1
- package/dist/components/FileTree/FileTree.js +20 -32
- package/dist/components/FileTree/FileTree.utils.cjs +1 -0
- package/dist/components/FileTree/FileTree.utils.d.ts +4 -0
- package/dist/components/FileTree/FileTree.utils.js +15 -0
- package/dist/components/GradientText/GradientText.cjs +1 -1
- package/dist/components/GradientText/GradientText.js +27 -29
- package/dist/components/Icon/icons/bear.cjs +1 -0
- package/dist/components/Icon/icons/bear.d.ts +12 -0
- package/dist/components/Icon/icons/bear.js +47 -0
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.d.ts +18 -0
- package/dist/components/Icon/index.js +17 -15
- package/dist/components/ImageGallery/ImageGallery.cjs +1 -0
- package/dist/components/ImageGallery/ImageGallery.const.cjs +1 -0
- package/dist/components/ImageGallery/ImageGallery.const.d.ts +13 -0
- package/dist/components/ImageGallery/ImageGallery.const.js +16 -0
- package/dist/components/ImageGallery/ImageGallery.d.ts +4 -0
- package/dist/components/ImageGallery/ImageGallery.js +61 -0
- package/dist/components/ImageGallery/ImageGallery.types.d.ts +22 -0
- package/dist/components/ImageGallery/index.d.ts +2 -0
- package/dist/components/Indicator/Indicator.cjs +1 -0
- package/dist/components/Indicator/Indicator.const.cjs +1 -0
- package/dist/components/Indicator/Indicator.const.d.ts +15 -0
- package/dist/components/Indicator/Indicator.const.js +26 -0
- package/dist/components/Indicator/Indicator.d.ts +4 -0
- package/dist/components/Indicator/Indicator.js +56 -0
- package/dist/components/Indicator/Indicator.types.d.ts +16 -0
- package/dist/components/Indicator/index.d.ts +2 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.cjs +1 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.const.cjs +1 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.const.d.ts +7 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.const.js +9 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +4 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.js +51 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.types.d.ts +13 -0
- package/dist/components/InfiniteScroll/index.d.ts +2 -0
- package/dist/components/Input/Input.cjs +1 -1
- package/dist/components/Input/Input.js +99 -66
- package/dist/components/Input/Input.types.d.ts +10 -0
- package/dist/components/Input/Input.utils.cjs +1 -0
- package/dist/components/Input/Input.utils.d.ts +2 -0
- package/dist/components/Input/Input.utils.js +15 -0
- package/dist/components/Input/index.d.ts +1 -1
- package/dist/components/LoadingOverlay/LoadingOverlay.cjs +1 -0
- package/dist/components/LoadingOverlay/LoadingOverlay.const.cjs +1 -0
- package/dist/components/LoadingOverlay/LoadingOverlay.const.d.ts +6 -0
- package/dist/components/LoadingOverlay/LoadingOverlay.const.js +9 -0
- package/dist/components/LoadingOverlay/LoadingOverlay.d.ts +4 -0
- package/dist/components/LoadingOverlay/LoadingOverlay.js +42 -0
- package/dist/components/LoadingOverlay/LoadingOverlay.types.d.ts +11 -0
- package/dist/components/LoadingOverlay/index.d.ts +2 -0
- package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
- package/dist/components/MentionsInput/MentionsInput.js +64 -68
- package/dist/components/MentionsInput/MentionsInput.utils.cjs +1 -0
- package/dist/components/MentionsInput/MentionsInput.utils.d.ts +2 -0
- package/dist/components/MentionsInput/MentionsInput.utils.js +9 -0
- package/dist/components/NumberFormatter/NumberFormatter.cjs +1 -0
- package/dist/components/NumberFormatter/NumberFormatter.const.cjs +1 -0
- package/dist/components/NumberFormatter/NumberFormatter.const.d.ts +5 -0
- package/dist/components/NumberFormatter/NumberFormatter.const.js +8 -0
- package/dist/components/NumberFormatter/NumberFormatter.d.ts +4 -0
- package/dist/components/NumberFormatter/NumberFormatter.js +53 -0
- package/dist/components/NumberFormatter/NumberFormatter.types.d.ts +20 -0
- package/dist/components/NumberFormatter/NumberFormatter.utils.cjs +1 -0
- package/dist/components/NumberFormatter/NumberFormatter.utils.d.ts +2 -0
- package/dist/components/NumberFormatter/NumberFormatter.utils.js +19 -0
- package/dist/components/NumberFormatter/index.d.ts +2 -0
- package/dist/components/PageNav/PageNav.cjs +1 -0
- package/dist/components/PageNav/PageNav.const.cjs +1 -0
- package/dist/components/PageNav/PageNav.const.d.ts +22 -0
- package/dist/components/PageNav/PageNav.const.js +42 -0
- package/dist/components/PageNav/PageNav.d.ts +3 -0
- package/dist/components/PageNav/PageNav.js +81 -0
- package/dist/components/PageNav/PageNav.types.d.ts +17 -0
- package/dist/components/PageNav/index.d.ts +2 -0
- package/dist/components/Popconfirm/Popconfirm.cjs +1 -0
- package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -0
- package/dist/components/Popconfirm/Popconfirm.const.d.ts +13 -0
- package/dist/components/Popconfirm/Popconfirm.const.js +20 -0
- package/dist/components/Popconfirm/Popconfirm.d.ts +4 -0
- package/dist/components/Popconfirm/Popconfirm.js +65 -0
- package/dist/components/Popconfirm/Popconfirm.types.d.ts +16 -0
- package/dist/components/Popconfirm/index.d.ts +2 -0
- package/dist/components/Progress/Progress.cjs +1 -1
- package/dist/components/Progress/Progress.js +6 -6
- package/dist/components/PropsPlayground/PropsPlayground.cjs +1 -0
- package/dist/components/PropsPlayground/PropsPlayground.const.cjs +1 -0
- package/dist/components/PropsPlayground/PropsPlayground.const.d.ts +11 -0
- package/dist/components/PropsPlayground/PropsPlayground.const.js +23 -0
- package/dist/components/PropsPlayground/PropsPlayground.d.ts +3 -0
- package/dist/components/PropsPlayground/PropsPlayground.js +221 -0
- package/dist/components/PropsPlayground/PropsPlayground.types.d.ts +29 -0
- package/dist/components/PropsPlayground/PropsPlayground.utils.cjs +1 -0
- package/dist/components/PropsPlayground/PropsPlayground.utils.d.ts +2 -0
- package/dist/components/PropsPlayground/PropsPlayground.utils.js +9 -0
- package/dist/components/PropsPlayground/index.d.ts +2 -0
- package/dist/components/RadioCard/RadioCard.cjs +1 -0
- package/dist/components/RadioCard/RadioCard.const.cjs +1 -0
- package/dist/components/RadioCard/RadioCard.const.d.ts +7 -0
- package/dist/components/RadioCard/RadioCard.const.js +22 -0
- package/dist/components/RadioCard/RadioCard.d.ts +5 -0
- package/dist/components/RadioCard/RadioCard.js +111 -0
- package/dist/components/RadioCard/RadioCard.types.d.ts +22 -0
- package/dist/components/RadioCard/index.d.ts +2 -0
- package/dist/components/Result/Result.cjs +1 -0
- package/dist/components/Result/Result.const.cjs +1 -0
- package/dist/components/Result/Result.const.d.ts +10 -0
- package/dist/components/Result/Result.const.js +20 -0
- package/dist/components/Result/Result.d.ts +4 -0
- package/dist/components/Result/Result.icons.cjs +1 -0
- package/dist/components/Result/Result.icons.d.ts +3 -0
- package/dist/components/Result/Result.icons.js +31 -0
- package/dist/components/Result/Result.js +35 -0
- package/dist/components/Result/Result.types.d.ts +10 -0
- package/dist/components/Result/index.d.ts +2 -0
- package/dist/components/RingProgress/RingProgress.cjs +1 -0
- package/dist/components/RingProgress/RingProgress.const.cjs +1 -0
- package/dist/components/RingProgress/RingProgress.const.d.ts +4 -0
- package/dist/components/RingProgress/RingProgress.const.js +7 -0
- package/dist/components/RingProgress/RingProgress.d.ts +4 -0
- package/dist/components/RingProgress/RingProgress.js +67 -0
- package/dist/components/RingProgress/RingProgress.types.d.ts +15 -0
- package/dist/components/RingProgress/index.d.ts +2 -0
- package/dist/components/Select/Select.cjs +1 -1
- package/dist/components/Select/Select.js +28 -30
- package/dist/components/SignPad/SignPad.cjs +1 -1
- package/dist/components/SignPad/SignPad.const.cjs +1 -1
- package/dist/components/SignPad/SignPad.const.js +10 -11
- package/dist/components/SignPad/SignPad.d.ts +4 -6
- package/dist/components/SignPad/SignPad.js +114 -122
- package/dist/components/SignPad/SignPad.types.d.ts +2 -2
- package/dist/components/Skeleton/Skeleton.cjs +1 -1
- package/dist/components/Skeleton/Skeleton.js +89 -94
- package/dist/components/Skeleton/Skeleton.utils.cjs +1 -0
- package/dist/components/Skeleton/Skeleton.utils.d.ts +1 -0
- package/dist/components/Skeleton/Skeleton.utils.js +10 -0
- package/dist/components/SliderRange/SliderRange.cjs +1 -1
- package/dist/components/SliderRange/SliderRange.js +61 -63
- package/dist/components/SliderRange/SliderRange.utils.cjs +1 -0
- package/dist/components/SliderRange/SliderRange.utils.d.ts +1 -0
- package/dist/components/SliderRange/SliderRange.utils.js +7 -0
- package/dist/components/SplitButton/SplitButton.cjs +1 -0
- package/dist/components/SplitButton/SplitButton.const.cjs +1 -0
- package/dist/components/SplitButton/SplitButton.const.d.ts +25 -0
- package/dist/components/SplitButton/SplitButton.const.js +27 -0
- package/dist/components/SplitButton/SplitButton.d.ts +4 -0
- package/dist/components/SplitButton/SplitButton.js +73 -0
- package/dist/components/SplitButton/SplitButton.types.d.ts +21 -0
- package/dist/components/SplitButton/index.d.ts +2 -0
- package/dist/components/Spoiler/Spoiler.cjs +1 -0
- package/dist/components/Spoiler/Spoiler.const.cjs +1 -0
- package/dist/components/Spoiler/Spoiler.const.d.ts +6 -0
- package/dist/components/Spoiler/Spoiler.const.js +9 -0
- package/dist/components/Spoiler/Spoiler.d.ts +4 -0
- package/dist/components/Spoiler/Spoiler.js +59 -0
- package/dist/components/Spoiler/Spoiler.types.d.ts +10 -0
- package/dist/components/Spoiler/index.d.ts +2 -0
- package/dist/components/Spotlight/Spotlight.cjs +1 -1
- package/dist/components/Spotlight/Spotlight.js +62 -73
- package/dist/components/Spotlight/Spotlight.utils.cjs +1 -0
- package/dist/components/Spotlight/Spotlight.utils.d.ts +3 -0
- package/dist/components/Spotlight/Spotlight.utils.js +18 -0
- package/dist/components/Tabs/Tabs.cjs +1 -1
- package/dist/components/Tabs/Tabs.js +39 -38
- package/dist/components/Tabs/Tabs.types.d.ts +3 -1
- package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
- package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +63 -57
- package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
- package/dist/components/TimePicker/helpers/ClockFaceSvg.d.ts +0 -7
- package/dist/components/TimePicker/helpers/ClockFaceSvg.js +32 -31
- package/dist/components/Toast/Toast.cjs +1 -1
- package/dist/components/Toast/Toast.js +18 -17
- package/dist/components/Toast/Toast.utils.cjs +1 -0
- package/dist/components/Toast/Toast.utils.d.ts +1 -0
- package/dist/components/Toast/Toast.utils.js +4 -0
- package/dist/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/components/Tooltip/Tooltip.js +10 -11
- package/dist/components/Tour/Tour.cjs +1 -1
- package/dist/components/Tour/Tour.js +1 -2
- package/dist/components/TreeSelect/TreeSelect.cjs +1 -0
- package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -0
- package/dist/components/TreeSelect/TreeSelect.const.d.ts +19 -0
- package/dist/components/TreeSelect/TreeSelect.const.js +22 -0
- package/dist/components/TreeSelect/TreeSelect.d.ts +4 -0
- package/dist/components/TreeSelect/TreeSelect.js +128 -0
- package/dist/components/TreeSelect/TreeSelect.types.d.ts +25 -0
- package/dist/components/TreeSelect/TreeSelect.utils.cjs +1 -0
- package/dist/components/TreeSelect/TreeSelect.utils.d.ts +5 -0
- package/dist/components/TreeSelect/TreeSelect.utils.js +25 -0
- package/dist/components/TreeSelect/index.d.ts +2 -0
- package/dist/components/VirtualList/VirtualList.cjs +1 -1
- package/dist/components/VirtualList/VirtualList.js +38 -43
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +48 -0
- package/dist/components/index.js +351 -300
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +60 -58
- package/dist/hooks/useResizeObserver/index.d.ts +2 -0
- package/dist/hooks/useResizeObserver/useResizeObserver.cjs +1 -0
- package/dist/hooks/useResizeObserver/useResizeObserver.d.ts +3 -0
- package/dist/hooks/useResizeObserver/useResizeObserver.js +20 -0
- package/dist/hooks/useResizeObserver/useResizeObserver.types.d.ts +8 -0
- package/dist/icons.cjs +1 -0
- package/dist/icons.d.ts +2 -0
- package/dist/icons.js +6 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +443 -390
- package/dist/postcss/bear-plugin.cjs +86 -0
- package/dist/styles/_alerts.css +14 -0
- package/dist/styles/_base.css +60 -0
- package/dist/styles/_buttons.css +108 -0
- package/dist/styles/_effects.css +90 -0
- package/dist/styles/_marquee.css +25 -0
- package/dist/styles/main.css +5 -0
- package/dist/styles.css +1 -1
- package/package.json +15 -3
package/README.md
CHANGED
|
@@ -284,6 +284,25 @@ const buttonProps: ButtonProps = {
|
|
|
284
284
|
<Button {...buttonProps} />
|
|
285
285
|
```
|
|
286
286
|
|
|
287
|
+
## How Bear Compares
|
|
288
|
+
|
|
289
|
+
| Feature | Bear UI | MUI | Ant Design | Chakra UI |
|
|
290
|
+
|---------|---------|-----|------------|-----------|
|
|
291
|
+
| **Tailwind CSS native** | Yes | No | No | Partial (v3) |
|
|
292
|
+
| **Bundle (tree-shaken)** | ~18 kB | ~80 kB | ~120 kB | ~45 kB |
|
|
293
|
+
| **Dark mode** | `dark:` variants, zero JS | Runtime theme swap | CSS vars + config | ColorMode context |
|
|
294
|
+
| **TypeScript** | 100 % | 100 % | 100 % | 100 % |
|
|
295
|
+
| **Components** | 60+ | 50+ | 60+ | 30+ |
|
|
296
|
+
| **Theming** | BearProvider + Tailwind | Emotion/styled | Less/CSS vars | Styled System |
|
|
297
|
+
| **Modular CSS** | `@BearInclude` PostCSS | N/A | N/A | N/A |
|
|
298
|
+
| **React 18 / 19** | Yes | Yes | Yes | Yes |
|
|
299
|
+
| **Zero runtime CSS-in-JS** | Yes | No (Emotion) | No (Less) | No (Emotion) |
|
|
300
|
+
| **Built-in i18n** | Portal (en/es) | MUI X | ConfigProvider | N/A |
|
|
301
|
+
|
|
302
|
+
## Contributing
|
|
303
|
+
|
|
304
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on adding components, coding rules, and the portal development workflow.
|
|
305
|
+
|
|
287
306
|
## License
|
|
288
307
|
|
|
289
308
|
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("../../utils/cn.cjs");require("react");const _=require("../Spinner/Spinner.cjs"),e=require("./ActionIcon.const.cjs"),c=({children:a,variant:i="default",color:o="default",size:t="md",radius:S="md",loading:n=!1,disabled:u=!1,testId:l,className:A,...I})=>{const b=u||n,d=e.VARIANT_CLASSES[i][o];return s.jsx("button",{type:"button",disabled:b,"aria-busy":n||void 0,className:r.cn(e.ROOT_CLASS,e.SIZE_CLASSES[t],e.RADIUS_MAP[S],d,n&&"bear-cursor-wait",A),"data-testid":l,...I,children:n?s.jsx(_.Spinner,{size:e.SPINNER_SIZE_MAP[t],className:e.ICON_SIZE_MAP[t]}):s.jsx("span",{className:r.cn("bear-inline-flex bear-items-center bear-justify-center",e.ICON_SIZE_MAP[t]),children:a})})};c.displayName="ActionIcon";exports.ActionIcon=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={xs:"bear-w-7 bear-h-7",sm:"bear-w-8 bear-h-8",md:"bear-w-9 bear-h-9",lg:"bear-w-[42px] bear-h-[42px]",xl:"bear-w-12 bear-h-12"},e={xs:"[&_svg]:bear-w-3.5 [&_svg]:bear-h-3.5",sm:"[&_svg]:bear-w-4 [&_svg]:bear-h-4",md:"[&_svg]:bear-w-4.5 [&_svg]:bear-h-4.5",lg:"[&_svg]:bear-w-5 [&_svg]:bear-h-5",xl:"[&_svg]:bear-w-6 [&_svg]:bear-h-6"},a={sm:"bear-rounded-sm",md:"bear-rounded-md",lg:"bear-rounded-lg",full:"bear-rounded-full"},b={default:{default:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-100 dark:hover:bear-bg-amber-900/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},filled:{default:"bear-bg-gray-200 dark:bear-bg-gray-700 bear-text-gray-800 dark:bear-text-gray-200 hover:bear-bg-gray-300 dark:hover:bear-bg-gray-600 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-pink-500 dark:bear-bg-pink-600 bear-text-white hover:bear-bg-pink-600 dark:hover:bear-bg-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/50 dark:focus:bear-ring-pink-400/50",success:"bear-bg-green-500 dark:bear-bg-green-600 bear-text-white hover:bear-bg-green-600 dark:hover:bear-bg-green-500 focus:bear-ring-2 focus:bear-ring-green-500/50 dark:focus:bear-ring-green-400/50",warning:"bear-bg-amber-500 dark:bear-bg-amber-600 bear-text-white hover:bear-bg-amber-600 dark:hover:bear-bg-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/50 dark:focus:bear-ring-amber-400/50",error:"bear-bg-red-500 dark:bear-bg-red-600 bear-text-white hover:bear-bg-red-600 dark:hover:bear-bg-red-500 focus:bear-ring-2 focus:bear-ring-red-500/50 dark:focus:bear-ring-red-400/50"},outline:{default:"bear-bg-transparent bear-border bear-border-gray-300 dark:bear-border-gray-600 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-transparent bear-border bear-border-pink-500 dark:bear-border-pink-400 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-transparent bear-border bear-border-green-500 dark:bear-border-green-400 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-transparent bear-border bear-border-amber-500 dark:bear-border-amber-400 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-transparent bear-border bear-border-red-500 dark:bear-border-red-400 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},subtle:{default:"bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/30 dark:focus:bear-ring-gray-500/30",primary:"bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/20 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/20 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/20 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/20 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},transparent:{default:"bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100/50 dark:hover:bear-bg-gray-800/50 focus:bear-ring-2 focus:bear-ring-gray-400/20 dark:focus:bear-ring-gray-500/20",primary:"bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-500/10 dark:hover:bear-bg-pink-400/10 focus:bear-ring-2 focus:bear-ring-pink-500/20 dark:focus:bear-ring-pink-400/20",success:"bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-500/10 dark:hover:bear-bg-green-400/10 focus:bear-ring-2 focus:bear-ring-green-500/20 dark:focus:bear-ring-green-400/20",warning:"bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-500/10 dark:hover:bear-bg-amber-400/10 focus:bear-ring-2 focus:bear-ring-amber-500/20 dark:focus:bear-ring-amber-400/20",error:"bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-500/10 dark:hover:bear-bg-red-400/10 focus:bear-ring-2 focus:bear-ring-red-500/20 dark:focus:bear-ring-red-400/20"}},g={xs:"xs",sm:"xs",md:"sm",lg:"sm",xl:"md"},n="Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";exports.ICON_SIZE_MAP=e;exports.RADIUS_MAP=a;exports.ROOT_CLASS=n;exports.SIZE_CLASSES=r;exports.SPINNER_SIZE_MAP=g;exports.VARIANT_CLASSES=b;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', number>;
|
|
2
|
+
export declare const SIZE_CLASSES: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>;
|
|
3
|
+
export declare const ICON_SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>;
|
|
4
|
+
export declare const RADIUS_MAP: Record<'sm' | 'md' | 'lg' | 'full', string>;
|
|
5
|
+
export declare const VARIANT_CLASSES: Record<'default' | 'filled' | 'outline' | 'subtle' | 'transparent', Record<'default' | 'primary' | 'success' | 'warning' | 'error', string>>;
|
|
6
|
+
export declare const SPINNER_SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', 'xs' | 'sm' | 'md'>;
|
|
7
|
+
export declare const ROOT_CLASS = "Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const r = {
|
|
2
|
+
xs: "bear-w-7 bear-h-7",
|
|
3
|
+
sm: "bear-w-8 bear-h-8",
|
|
4
|
+
md: "bear-w-9 bear-h-9",
|
|
5
|
+
lg: "bear-w-[42px] bear-h-[42px]",
|
|
6
|
+
xl: "bear-w-12 bear-h-12"
|
|
7
|
+
}, e = {
|
|
8
|
+
xs: "[&_svg]:bear-w-3.5 [&_svg]:bear-h-3.5",
|
|
9
|
+
sm: "[&_svg]:bear-w-4 [&_svg]:bear-h-4",
|
|
10
|
+
md: "[&_svg]:bear-w-4.5 [&_svg]:bear-h-4.5",
|
|
11
|
+
lg: "[&_svg]:bear-w-5 [&_svg]:bear-h-5",
|
|
12
|
+
xl: "[&_svg]:bear-w-6 [&_svg]:bear-h-6"
|
|
13
|
+
}, a = {
|
|
14
|
+
sm: "bear-rounded-sm",
|
|
15
|
+
md: "bear-rounded-md",
|
|
16
|
+
lg: "bear-rounded-lg",
|
|
17
|
+
full: "bear-rounded-full"
|
|
18
|
+
}, b = {
|
|
19
|
+
default: {
|
|
20
|
+
default: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
|
|
21
|
+
primary: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
|
|
22
|
+
success: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
|
|
23
|
+
warning: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-100 dark:hover:bear-bg-amber-900/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
|
|
24
|
+
error: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
|
|
25
|
+
},
|
|
26
|
+
filled: {
|
|
27
|
+
default: "bear-bg-gray-200 dark:bear-bg-gray-700 bear-text-gray-800 dark:bear-text-gray-200 hover:bear-bg-gray-300 dark:hover:bear-bg-gray-600 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
|
|
28
|
+
primary: "bear-bg-pink-500 dark:bear-bg-pink-600 bear-text-white hover:bear-bg-pink-600 dark:hover:bear-bg-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/50 dark:focus:bear-ring-pink-400/50",
|
|
29
|
+
success: "bear-bg-green-500 dark:bear-bg-green-600 bear-text-white hover:bear-bg-green-600 dark:hover:bear-bg-green-500 focus:bear-ring-2 focus:bear-ring-green-500/50 dark:focus:bear-ring-green-400/50",
|
|
30
|
+
warning: "bear-bg-amber-500 dark:bear-bg-amber-600 bear-text-white hover:bear-bg-amber-600 dark:hover:bear-bg-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/50 dark:focus:bear-ring-amber-400/50",
|
|
31
|
+
error: "bear-bg-red-500 dark:bear-bg-red-600 bear-text-white hover:bear-bg-red-600 dark:hover:bear-bg-red-500 focus:bear-ring-2 focus:bear-ring-red-500/50 dark:focus:bear-ring-red-400/50"
|
|
32
|
+
},
|
|
33
|
+
outline: {
|
|
34
|
+
default: "bear-bg-transparent bear-border bear-border-gray-300 dark:bear-border-gray-600 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
|
|
35
|
+
primary: "bear-bg-transparent bear-border bear-border-pink-500 dark:bear-border-pink-400 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
|
|
36
|
+
success: "bear-bg-transparent bear-border bear-border-green-500 dark:bear-border-green-400 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
|
|
37
|
+
warning: "bear-bg-transparent bear-border bear-border-amber-500 dark:bear-border-amber-400 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
|
|
38
|
+
error: "bear-bg-transparent bear-border bear-border-red-500 dark:bear-border-red-400 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
|
|
39
|
+
},
|
|
40
|
+
subtle: {
|
|
41
|
+
default: "bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/30 dark:focus:bear-ring-gray-500/30",
|
|
42
|
+
primary: "bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/20 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
|
|
43
|
+
success: "bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/20 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
|
|
44
|
+
warning: "bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/20 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
|
|
45
|
+
error: "bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/20 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
|
|
46
|
+
},
|
|
47
|
+
transparent: {
|
|
48
|
+
default: "bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100/50 dark:hover:bear-bg-gray-800/50 focus:bear-ring-2 focus:bear-ring-gray-400/20 dark:focus:bear-ring-gray-500/20",
|
|
49
|
+
primary: "bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-500/10 dark:hover:bear-bg-pink-400/10 focus:bear-ring-2 focus:bear-ring-pink-500/20 dark:focus:bear-ring-pink-400/20",
|
|
50
|
+
success: "bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-500/10 dark:hover:bear-bg-green-400/10 focus:bear-ring-2 focus:bear-ring-green-500/20 dark:focus:bear-ring-green-400/20",
|
|
51
|
+
warning: "bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-500/10 dark:hover:bear-bg-amber-400/10 focus:bear-ring-2 focus:bear-ring-amber-500/20 dark:focus:bear-ring-amber-400/20",
|
|
52
|
+
error: "bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-500/10 dark:hover:bear-bg-red-400/10 focus:bear-ring-2 focus:bear-ring-red-500/20 dark:focus:bear-ring-red-400/20"
|
|
53
|
+
}
|
|
54
|
+
}, g = {
|
|
55
|
+
xs: "xs",
|
|
56
|
+
sm: "xs",
|
|
57
|
+
md: "sm",
|
|
58
|
+
lg: "sm",
|
|
59
|
+
xl: "md"
|
|
60
|
+
}, n = "Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";
|
|
61
|
+
export {
|
|
62
|
+
e as ICON_SIZE_MAP,
|
|
63
|
+
a as RADIUS_MAP,
|
|
64
|
+
n as ROOT_CLASS,
|
|
65
|
+
r as SIZE_CLASSES,
|
|
66
|
+
g as SPINNER_SIZE_MAP,
|
|
67
|
+
b as VARIANT_CLASSES
|
|
68
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { cn as r } from "../../utils/cn.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { Spinner as b } from "../Spinner/Spinner.js";
|
|
5
|
+
import { VARIANT_CLASSES as d, ICON_SIZE_MAP as s, SPINNER_SIZE_MAP as I, RADIUS_MAP as u, SIZE_CLASSES as N, ROOT_CLASS as _ } from "./ActionIcon.const.js";
|
|
6
|
+
const E = ({
|
|
7
|
+
children: o,
|
|
8
|
+
variant: i = "default",
|
|
9
|
+
color: n = "default",
|
|
10
|
+
size: t = "md",
|
|
11
|
+
radius: m = "md",
|
|
12
|
+
loading: e = !1,
|
|
13
|
+
disabled: c = !1,
|
|
14
|
+
testId: S,
|
|
15
|
+
className: l,
|
|
16
|
+
...A
|
|
17
|
+
}) => {
|
|
18
|
+
const f = c || e, p = d[i][n];
|
|
19
|
+
return /* @__PURE__ */ a(
|
|
20
|
+
"button",
|
|
21
|
+
{
|
|
22
|
+
type: "button",
|
|
23
|
+
disabled: f,
|
|
24
|
+
"aria-busy": e || void 0,
|
|
25
|
+
className: r(
|
|
26
|
+
_,
|
|
27
|
+
N[t],
|
|
28
|
+
u[m],
|
|
29
|
+
p,
|
|
30
|
+
e && "bear-cursor-wait",
|
|
31
|
+
l
|
|
32
|
+
),
|
|
33
|
+
"data-testid": S,
|
|
34
|
+
...A,
|
|
35
|
+
children: e ? /* @__PURE__ */ a(b, { size: I[t], className: s[t] }) : /* @__PURE__ */ a("span", { className: r("bear-inline-flex bear-items-center bear-justify-center", s[t]), children: o })
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
E.displayName = "ActionIcon";
|
|
40
|
+
export {
|
|
41
|
+
E as ActionIcon
|
|
42
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode, ButtonHTMLAttributes } from 'react';
|
|
2
|
+
export interface ActionIconProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
variant?: 'default' | 'filled' | 'outline' | 'subtle' | 'transparent';
|
|
5
|
+
color?: 'default' | 'primary' | 'success' | 'warning' | 'error';
|
|
6
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
7
|
+
radius?: 'sm' | 'md' | 'lg' | 'full';
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
testId?: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("react"),P=require("react-dom"),h=require("../../utils/cn.cjs"),t=require("./Affix.const.cjs"),T=E=>{const{children:S,position:c="top",offset:s=t.DEFAULT_OFFSET,zIndex:O=t.DEFAULT_Z_INDEX,withinPortal:R=!1,className:g,testId:m,...p}=E,[e,a]=r.useState(!1),[w,l]=r.useState(0),v=r.useRef(null),x=r.useRef(null),i=r.useCallback(()=>{const f=v.current,o=x.current;if(!f)return;const d=f.getBoundingClientRect();if(c==="top"){if(e)d.top>s&&(a(!1),l(0));else if(d.top<=s){const u=(o==null?void 0:o.offsetHeight)??f.offsetHeight??0;l(u),a(!0)}}else{const u=window.innerHeight;if(e)d.bottom<u-s&&(a(!1),l(0));else if(d.bottom>=u-s){const L=(o==null?void 0:o.offsetHeight)??f.offsetHeight??0;l(L),a(!0)}}},[s,c,e]);r.useEffect(()=>(i(),window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}),[i]);const A=c==="top"?t.POSITION_TOP_CLASSES:t.POSITION_BOTTOM_CLASSES,_=n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:v,style:e?{height:w}:void 0,className:h.cn(!e&&"bear-contents"),"aria-hidden":e,children:!e&&n.jsx("div",{ref:x,className:h.cn(t.ROOT_CLASS,t.WRAPPER_CLASSES,A,g),"data-testid":m,...p,children:S})}),e&&n.jsx("div",{className:h.cn(t.ROOT_CLASS,t.WRAPPER_CLASSES,A,"bear-fixed",g),style:{[c]:s,zIndex:O},"data-testid":m,...p,children:S})]});return R?P.createPortal(n.jsx("div",{className:"Bear-Affix__portal",children:_}),document.body):_};exports.Affix=T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S="Bear-Affix",t=0,e=100,O="bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200",r="bear-top-0 bear-left-0 bear-right-0",T="bear-bottom-0 bear-left-0 bear-right-0";exports.DEFAULT_OFFSET=t;exports.DEFAULT_Z_INDEX=e;exports.POSITION_BOTTOM_CLASSES=T;exports.POSITION_TOP_CLASSES=r;exports.ROOT_CLASS=S;exports.WRAPPER_CLASSES=O;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const ROOT_CLASS = "Bear-Affix";
|
|
2
|
+
export declare const DEFAULT_OFFSET = 0;
|
|
3
|
+
export declare const DEFAULT_Z_INDEX = 100;
|
|
4
|
+
export declare const WRAPPER_CLASSES = "bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200";
|
|
5
|
+
export declare const POSITION_TOP_CLASSES = "bear-top-0 bear-left-0 bear-right-0";
|
|
6
|
+
export declare const POSITION_BOTTOM_CLASSES = "bear-bottom-0 bear-left-0 bear-right-0";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const t = "Bear-Affix", r = 0, e = 100, o = "bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200", a = "bear-top-0 bear-left-0 bear-right-0", b = "bear-bottom-0 bear-left-0 bear-right-0";
|
|
2
|
+
export {
|
|
3
|
+
r as DEFAULT_OFFSET,
|
|
4
|
+
e as DEFAULT_Z_INDEX,
|
|
5
|
+
b as POSITION_BOTTOM_CLASSES,
|
|
6
|
+
a as POSITION_TOP_CLASSES,
|
|
7
|
+
t as ROOT_CLASS,
|
|
8
|
+
o as WRAPPER_CLASSES
|
|
9
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsxs as P, Fragment as C, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useState as E, useRef as _, useCallback as F, useEffect as H } from "react";
|
|
3
|
+
import { createPortal as R } from "react-dom";
|
|
4
|
+
import { cn as d } from "../../utils/cn.js";
|
|
5
|
+
import { DEFAULT_OFFSET as b, DEFAULT_Z_INDEX as B, POSITION_TOP_CLASSES as y, POSITION_BOTTOM_CLASSES as z, WRAPPER_CLASSES as L, ROOT_CLASS as O } from "./Affix.const.js";
|
|
6
|
+
const W = (x) => {
|
|
7
|
+
const {
|
|
8
|
+
children: h,
|
|
9
|
+
position: i = "top",
|
|
10
|
+
offset: t = b,
|
|
11
|
+
zIndex: A = B,
|
|
12
|
+
withinPortal: T = !1,
|
|
13
|
+
className: m,
|
|
14
|
+
testId: p,
|
|
15
|
+
...u
|
|
16
|
+
} = x, [e, r] = E(!1), [I, n] = E(0), S = _(null), g = _(null), s = F(() => {
|
|
17
|
+
const c = S.current, o = g.current;
|
|
18
|
+
if (!c) return;
|
|
19
|
+
const l = c.getBoundingClientRect();
|
|
20
|
+
if (i === "top") {
|
|
21
|
+
if (e)
|
|
22
|
+
l.top > t && (r(!1), n(0));
|
|
23
|
+
else if (l.top <= t) {
|
|
24
|
+
const f = (o == null ? void 0 : o.offsetHeight) ?? c.offsetHeight ?? 0;
|
|
25
|
+
n(f), r(!0);
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
const f = window.innerHeight;
|
|
29
|
+
if (e)
|
|
30
|
+
l.bottom < f - t && (r(!1), n(0));
|
|
31
|
+
else if (l.bottom >= f - t) {
|
|
32
|
+
const N = (o == null ? void 0 : o.offsetHeight) ?? c.offsetHeight ?? 0;
|
|
33
|
+
n(N), r(!0);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, [t, i, e]);
|
|
37
|
+
H(() => (s(), window.addEventListener("scroll", s, { passive: !0 }), window.addEventListener("resize", s), () => {
|
|
38
|
+
window.removeEventListener("scroll", s), window.removeEventListener("resize", s);
|
|
39
|
+
}), [s]);
|
|
40
|
+
const v = i === "top" ? y : z, w = /* @__PURE__ */ P(C, { children: [
|
|
41
|
+
/* @__PURE__ */ a(
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
ref: S,
|
|
45
|
+
style: e ? { height: I } : void 0,
|
|
46
|
+
className: d(!e && "bear-contents"),
|
|
47
|
+
"aria-hidden": e,
|
|
48
|
+
children: !e && /* @__PURE__ */ a("div", { ref: g, className: d(O, L, v, m), "data-testid": p, ...u, children: h })
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
e && /* @__PURE__ */ a(
|
|
52
|
+
"div",
|
|
53
|
+
{
|
|
54
|
+
className: d(O, L, v, "bear-fixed", m),
|
|
55
|
+
style: {
|
|
56
|
+
[i]: t,
|
|
57
|
+
zIndex: A
|
|
58
|
+
},
|
|
59
|
+
"data-testid": p,
|
|
60
|
+
...u,
|
|
61
|
+
children: h
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
] });
|
|
65
|
+
return T ? R(/* @__PURE__ */ a("div", { className: "Bear-Affix__portal", children: w }), document.body) : w;
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
W as Affix
|
|
69
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode, HTMLAttributes } from 'react';
|
|
2
|
+
export type AffixPosition = 'top' | 'bottom';
|
|
3
|
+
export interface AffixProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
position?: AffixPosition;
|
|
6
|
+
offset?: number;
|
|
7
|
+
zIndex?: number;
|
|
8
|
+
withinPortal?: boolean;
|
|
9
|
+
testId?: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),u=require("react"),f=require("../../utils/cn.cjs"),L=require("../Typography/Typography.cjs"),s=require("./Anchor.const.cjs"),N=require("./Anchor.utils.cjs"),C=S=>{const{links:T,offset:c=s.DEFAULT_OFFSET,affix:h=!1,affixTop:g=s.DEFAULT_AFFIX_TOP,targetOffset:b=s.DEFAULT_TARGET_OFFSET,onClick:i,className:m,testId:A,...I}=S,[v,_]=u.useState(null),l=u.useRef(null),a=N.collectIds(T),p=u.useCallback(e=>{const n=document.getElementById(e);if(n){const t=n.getBoundingClientRect().top+window.scrollY-b;window.scrollTo({top:t,behavior:"smooth"})}i==null||i(e)},[b,i]);u.useEffect(()=>{if(a.length!==0)return l.current=new IntersectionObserver(e=>{const n=e.filter(t=>t.isIntersecting).sort((t,o)=>{const r=t.boundingClientRect.top,x=o.boundingClientRect.top;return Math.abs(r-c)-Math.abs(x-c)});if(n.length>0){const o=n[0].target.id;a.includes(o)&&_(o)}},{rootMargin:`-${c}px 0px -50% 0px`,threshold:[0,.25,.5,.75,1]}),a.forEach(e=>{var t;const n=document.getElementById(e);n&&((t=l.current)==null||t.observe(n))}),()=>{var e;(e=l.current)==null||e.disconnect(),l.current=null}},[a.join(","),c]);const E=(e,n)=>{var o;const t=v===e.id;return d.jsxs("div",{className:f.cn(n&&s.NESTED_LINK_INDENT),children:[d.jsx("div",{role:"button",tabIndex:0,onClick:()=>p(e.id),onKeyDown:r=>r.key==="Enter"&&p(e.id),className:f.cn(s.LINK_CLASSES,t&&s.ACTIVE_LINK_CLASSES),children:d.jsx(L.Typography,{variant:"body2",className:f.cn(t&&"bear-font-medium"),children:e.label})}),(o=e.children)==null?void 0:o.map(r=>E(r,!0))]},e.id)},y=f.cn(s.ROOT_CLASS,s.ROOT_CLASSES,h&&"bear-sticky",m);return d.jsx("nav",{className:y,style:h?{top:g}:void 0,"data-testid":A,...I,children:T.map(e=>E(e,!1))})};exports.Anchor=C;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r="Bear-Anchor",e=0,t=0,a=0,S="bear-flex bear-flex-col",T="bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100",b="bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5",o="bear-pl-4";exports.ACTIVE_LINK_CLASSES=b;exports.DEFAULT_AFFIX_TOP=t;exports.DEFAULT_OFFSET=e;exports.DEFAULT_TARGET_OFFSET=a;exports.LINK_CLASSES=T;exports.NESTED_LINK_INDENT=o;exports.ROOT_CLASS=r;exports.ROOT_CLASSES=S;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const ROOT_CLASS = "Bear-Anchor";
|
|
2
|
+
export declare const DEFAULT_OFFSET = 0;
|
|
3
|
+
export declare const DEFAULT_AFFIX_TOP = 0;
|
|
4
|
+
export declare const DEFAULT_TARGET_OFFSET = 0;
|
|
5
|
+
export declare const ROOT_CLASSES = "bear-flex bear-flex-col";
|
|
6
|
+
export declare const LINK_CLASSES = "bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100";
|
|
7
|
+
export declare const ACTIVE_LINK_CLASSES = "bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5";
|
|
8
|
+
export declare const NESTED_LINK_INDENT = "bear-pl-4";
|
|
9
|
+
export declare const ACTIVE_INDICATOR_BAR_CLASSES = "bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const r = "Bear-Anchor", e = 0, a = 0, t = 0, b = "bear-flex bear-flex-col", o = "bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100", n = "bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5", c = "bear-pl-4";
|
|
2
|
+
export {
|
|
3
|
+
n as ACTIVE_LINK_CLASSES,
|
|
4
|
+
a as DEFAULT_AFFIX_TOP,
|
|
5
|
+
e as DEFAULT_OFFSET,
|
|
6
|
+
t as DEFAULT_TARGET_OFFSET,
|
|
7
|
+
o as LINK_CLASSES,
|
|
8
|
+
c as NESTED_LINK_INDENT,
|
|
9
|
+
r as ROOT_CLASS,
|
|
10
|
+
b as ROOT_CLASSES
|
|
11
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsx as d, jsxs as L } from "react/jsx-runtime";
|
|
2
|
+
import { useState as N, useRef as C, useCallback as x, useEffect as y } from "react";
|
|
3
|
+
import { cn as a } from "../../utils/cn.js";
|
|
4
|
+
import { Typography as F } from "../Typography/Typography.js";
|
|
5
|
+
import { DEFAULT_OFFSET as O, DEFAULT_AFFIX_TOP as R, DEFAULT_TARGET_OFFSET as w, ROOT_CLASSES as D, ROOT_CLASS as K, ACTIVE_LINK_CLASSES as j, LINK_CLASSES as B, NESTED_LINK_INDENT as M } from "./Anchor.const.js";
|
|
6
|
+
import { collectIds as U } from "./Anchor.utils.js";
|
|
7
|
+
const k = (E) => {
|
|
8
|
+
const {
|
|
9
|
+
links: f,
|
|
10
|
+
offset: r = O,
|
|
11
|
+
affix: m = !1,
|
|
12
|
+
affixTop: b = R,
|
|
13
|
+
targetOffset: u = w,
|
|
14
|
+
onClick: c,
|
|
15
|
+
className: h,
|
|
16
|
+
testId: I,
|
|
17
|
+
...S
|
|
18
|
+
} = E, [g, v] = N(null), i = C(null), l = U(f), p = x(
|
|
19
|
+
(t) => {
|
|
20
|
+
const o = document.getElementById(t);
|
|
21
|
+
if (o) {
|
|
22
|
+
const e = o.getBoundingClientRect().top + window.scrollY - u;
|
|
23
|
+
window.scrollTo({ top: e, behavior: "smooth" });
|
|
24
|
+
}
|
|
25
|
+
c == null || c(t);
|
|
26
|
+
},
|
|
27
|
+
[u, c]
|
|
28
|
+
);
|
|
29
|
+
y(() => {
|
|
30
|
+
if (l.length !== 0)
|
|
31
|
+
return i.current = new IntersectionObserver(
|
|
32
|
+
(t) => {
|
|
33
|
+
const o = t.filter((e) => e.isIntersecting).sort((e, s) => {
|
|
34
|
+
const n = e.boundingClientRect.top, _ = s.boundingClientRect.top;
|
|
35
|
+
return Math.abs(n - r) - Math.abs(_ - r);
|
|
36
|
+
});
|
|
37
|
+
if (o.length > 0) {
|
|
38
|
+
const s = o[0].target.id;
|
|
39
|
+
l.includes(s) && v(s);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{ rootMargin: `-${r}px 0px -50% 0px`, threshold: [0, 0.25, 0.5, 0.75, 1] }
|
|
43
|
+
), l.forEach((t) => {
|
|
44
|
+
var e;
|
|
45
|
+
const o = document.getElementById(t);
|
|
46
|
+
o && ((e = i.current) == null || e.observe(o));
|
|
47
|
+
}), () => {
|
|
48
|
+
var t;
|
|
49
|
+
(t = i.current) == null || t.disconnect(), i.current = null;
|
|
50
|
+
};
|
|
51
|
+
}, [l.join(","), r]);
|
|
52
|
+
const T = (t, o) => {
|
|
53
|
+
var s;
|
|
54
|
+
const e = g === t.id;
|
|
55
|
+
return /* @__PURE__ */ L("div", { className: a(o && M), children: [
|
|
56
|
+
/* @__PURE__ */ d(
|
|
57
|
+
"div",
|
|
58
|
+
{
|
|
59
|
+
role: "button",
|
|
60
|
+
tabIndex: 0,
|
|
61
|
+
onClick: () => p(t.id),
|
|
62
|
+
onKeyDown: (n) => n.key === "Enter" && p(t.id),
|
|
63
|
+
className: a(B, e && j),
|
|
64
|
+
children: /* @__PURE__ */ d(F, { variant: "body2", className: a(e && "bear-font-medium"), children: t.label })
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
(s = t.children) == null ? void 0 : s.map((n) => T(n, !0))
|
|
68
|
+
] }, t.id);
|
|
69
|
+
}, A = a(K, D, m && "bear-sticky", h);
|
|
70
|
+
return /* @__PURE__ */ d(
|
|
71
|
+
"nav",
|
|
72
|
+
{
|
|
73
|
+
className: A,
|
|
74
|
+
style: m ? { top: b } : void 0,
|
|
75
|
+
"data-testid": I,
|
|
76
|
+
...S,
|
|
77
|
+
children: f.map((t) => T(t, !1))
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
};
|
|
81
|
+
export {
|
|
82
|
+
k as Anchor
|
|
83
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
export interface AnchorLink {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
children?: AnchorLink[];
|
|
6
|
+
}
|
|
7
|
+
export interface AnchorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick'> {
|
|
8
|
+
links: AnchorLink[];
|
|
9
|
+
offset?: number;
|
|
10
|
+
affix?: boolean;
|
|
11
|
+
affixTop?: number;
|
|
12
|
+
targetOffset?: number;
|
|
13
|
+
onClick?: (id: string) => void;
|
|
14
|
+
activeColor?: string;
|
|
15
|
+
testId?: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function r(n){const e=[],l=o=>{o.forEach(c=>{var t;e.push(c.id),(t=c.children)!=null&&t.length&&l(c.children)})};return l(n),e}exports.collectIds=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),t=require("react"),d=require("../../utils/cn.cjs"),I=require("./Autocomplete.utils.cjs"),O=({options:j,value:o="",onChange:n,onSelect:u,placeholder:N="Start typing...",label:y,helperText:h,error:c,disabled:i=!1,freeSolo:p=!1,loading:w=!1,filterOptions:A=I.defaultFilter,className:D,testId:E})=>{const[f,s]=t.useState(!1),[b,g]=t.useState(-1),x=t.useRef(null),k=t.useRef(null),m=t.useRef(null),l=A(j,o);t.useEffect(()=>{const e=a=>{x.current&&!x.current.contains(a.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),t.useEffect(()=>{g(-1)},[o]),t.useEffect(()=>{if(b>=0&&m.current){const e=m.current.children[b];e&&e.scrollIntoView({block:"nearest"})}},[b]);const R=e=>{const a=e.target.value;n==null||n(a),s(!0)},v=e=>{var a;n==null||n(e.label),u==null||u(e),s(!1),(a=k.current)==null||a.blur()},z=e=>{if(!f){(e.key==="ArrowDown"||e.key==="ArrowUp")&&(s(!0),e.preventDefault());return}switch(e.key){case"ArrowDown":e.preventDefault(),g(a=>a<l.length-1?a+1:0);break;case"ArrowUp":e.preventDefault(),g(a=>a>0?a-1:l.length-1);break;case"Enter":e.preventDefault(),b>=0&&l[b]?v(l[b]):p&&o&&s(!1);break;case"Escape":s(!1);break}};return r.jsxs("div",{className:d.cn("bear-w-full bear-relative",D),ref:x,"data-testid":E,children:[y&&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:y}),r.jsxs("div",{className:"bear-relative",children:[r.jsx("input",{ref:k,type:"text",value:o,onChange:R,onFocus:()=>s(!0),onKeyDown:z,placeholder:N,disabled:i,className:d.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",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",i&&"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:w?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"})})})]}),f&&!i&&l.length>0&&r.jsx("div",{ref:m,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:l.map((e,a)=>r.jsxs("button",{type:"button",disabled:e.disabled,onClick:()=>v(e),className:d.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===b?"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))}),f&&!i&&l.length===0&&o&&!w&&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"}),(h||c)&&r.jsx("p",{className:d.cn("bear-mt-1.5 bear-text-xs",c?"bear-text-red-500":"bear-text-gray-500 dark:bear-text-gray-400"),children:c||h})]})};exports.Autocomplete=O;
|