@aster-ui/prefixed 0.12.50
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/LICENSE +15 -0
- package/README.md +40 -0
- package/dist/chart.d.ts +2 -0
- package/dist/chart.js +5 -0
- package/dist/chart.js.map +1 -0
- package/dist/components/Affix.d.ts +14 -0
- package/dist/components/Affix.js +57 -0
- package/dist/components/Affix.js.map +1 -0
- package/dist/components/Alert.d.ts +10 -0
- package/dist/components/Alert.js +31 -0
- package/dist/components/Alert.js.map +1 -0
- package/dist/components/Anchor.d.ts +55 -0
- package/dist/components/Anchor.js +116 -0
- package/dist/components/Anchor.js.map +1 -0
- package/dist/components/Autocomplete.d.ts +38 -0
- package/dist/components/Autocomplete.js +186 -0
- package/dist/components/Autocomplete.js.map +1 -0
- package/dist/components/Avatar.d.ts +28 -0
- package/dist/components/Avatar.js +65 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/Badge.d.ts +39 -0
- package/dist/components/Badge.js +220 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Breadcrumb.d.ts +32 -0
- package/dist/components/Breadcrumb.js +39 -0
- package/dist/components/Breadcrumb.js.map +1 -0
- package/dist/components/Browser.d.ts +7 -0
- package/dist/components/Browser.js +15 -0
- package/dist/components/Browser.js.map +1 -0
- package/dist/components/Button.d.ts +38 -0
- package/dist/components/Button.js +114 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Card.d.ts +57 -0
- package/dist/components/Card.js +202 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Carousel.d.ts +55 -0
- package/dist/components/Carousel.js +205 -0
- package/dist/components/Carousel.js.map +1 -0
- package/dist/components/Cascader.d.ts +71 -0
- package/dist/components/Cascader.js +416 -0
- package/dist/components/Cascader.js.map +1 -0
- package/dist/components/Chart.d.ts +19 -0
- package/dist/components/Chart.js +153 -0
- package/dist/components/Chart.js.map +1 -0
- package/dist/components/Chat.d.ts +11 -0
- package/dist/components/Chat.js +33 -0
- package/dist/components/Chat.js.map +1 -0
- package/dist/components/Checkbox.d.ts +42 -0
- package/dist/components/Checkbox.js +156 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/Code.d.ts +16 -0
- package/dist/components/Code.js +60 -0
- package/dist/components/Code.js.map +1 -0
- package/dist/components/Collapse.d.ts +45 -0
- package/dist/components/Collapse.js +115 -0
- package/dist/components/Collapse.js.map +1 -0
- package/dist/components/ColorPicker.d.ts +16 -0
- package/dist/components/ColorPicker.js +368 -0
- package/dist/components/ColorPicker.js.map +1 -0
- package/dist/components/Command.d.ts +65 -0
- package/dist/components/Command.js +422 -0
- package/dist/components/Command.js.map +1 -0
- package/dist/components/ConfigProvider.d.ts +59 -0
- package/dist/components/ConfigProvider.js +46 -0
- package/dist/components/ConfigProvider.js.map +1 -0
- package/dist/components/Container.d.ts +12 -0
- package/dist/components/Container.js +28 -0
- package/dist/components/Container.js.map +1 -0
- package/dist/components/ContextMenu.d.ts +59 -0
- package/dist/components/ContextMenu.js +206 -0
- package/dist/components/ContextMenu.js.map +1 -0
- package/dist/components/CopyButton.d.ts +37 -0
- package/dist/components/CopyButton.js +123 -0
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/Countdown.d.ts +27 -0
- package/dist/components/Countdown.js +118 -0
- package/dist/components/Countdown.js.map +1 -0
- package/dist/components/DatePicker.d.ts +11 -0
- package/dist/components/DatePicker.js +188 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/Descriptions.d.ts +84 -0
- package/dist/components/Descriptions.js +234 -0
- package/dist/components/Descriptions.js.map +1 -0
- package/dist/components/Diff.d.ts +12 -0
- package/dist/components/Diff.js +22 -0
- package/dist/components/Diff.js.map +1 -0
- package/dist/components/Divider.d.ts +8 -0
- package/dist/components/Divider.js +36 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/Dock.d.ts +38 -0
- package/dist/components/Dock.js +47 -0
- package/dist/components/Dock.js.map +1 -0
- package/dist/components/Drawer.d.ts +81 -0
- package/dist/components/Drawer.js +246 -0
- package/dist/components/Drawer.js.map +1 -0
- package/dist/components/Dropdown.d.ts +104 -0
- package/dist/components/Dropdown.js +407 -0
- package/dist/components/Dropdown.js.map +1 -0
- package/dist/components/Empty.d.ts +17 -0
- package/dist/components/Empty.js +145 -0
- package/dist/components/Empty.js.map +1 -0
- package/dist/components/Fieldset.d.ts +21 -0
- package/dist/components/Fieldset.js +21 -0
- package/dist/components/Fieldset.js.map +1 -0
- package/dist/components/FileInput.d.ts +9 -0
- package/dist/components/FileInput.js +38 -0
- package/dist/components/FileInput.js.map +1 -0
- package/dist/components/Filter.d.ts +27 -0
- package/dist/components/Filter.js +57 -0
- package/dist/components/Filter.js.map +1 -0
- package/dist/components/Flex.d.ts +14 -0
- package/dist/components/Flex.js +66 -0
- package/dist/components/Flex.js.map +1 -0
- package/dist/components/FloatButton.d.ts +73 -0
- package/dist/components/FloatButton.js +187 -0
- package/dist/components/FloatButton.js.map +1 -0
- package/dist/components/Footer.d.ts +16 -0
- package/dist/components/Footer.js +22 -0
- package/dist/components/Footer.js.map +1 -0
- package/dist/components/Form.d.ts +107 -0
- package/dist/components/Form.js +277 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Grid.d.ts +26 -0
- package/dist/components/Grid.js +1090 -0
- package/dist/components/Grid.js.map +1 -0
- package/dist/components/Hero.d.ts +11 -0
- package/dist/components/Hero.js +21 -0
- package/dist/components/Hero.js.map +1 -0
- package/dist/components/HoverGallery.d.ts +10 -0
- package/dist/components/HoverGallery.js +20 -0
- package/dist/components/HoverGallery.js.map +1 -0
- package/dist/components/Image.d.ts +26 -0
- package/dist/components/Image.js +172 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/Input.d.ts +36 -0
- package/dist/components/Input.js +263 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/InputNumber.d.ts +19 -0
- package/dist/components/InputNumber.js +158 -0
- package/dist/components/InputNumber.js.map +1 -0
- package/dist/components/Join.d.ts +6 -0
- package/dist/components/Join.js +19 -0
- package/dist/components/Join.js.map +1 -0
- package/dist/components/Kbd.d.ts +9 -0
- package/dist/components/Kbd.js +20 -0
- package/dist/components/Kbd.js.map +1 -0
- package/dist/components/Layout.d.ts +67 -0
- package/dist/components/Layout.js +188 -0
- package/dist/components/Layout.js.map +1 -0
- package/dist/components/List.d.ts +79 -0
- package/dist/components/List.js +128 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/Loading.d.ts +9 -0
- package/dist/components/Loading.js +40 -0
- package/dist/components/Loading.js.map +1 -0
- package/dist/components/Mask.d.ts +14 -0
- package/dist/components/Mask.js +37 -0
- package/dist/components/Mask.js.map +1 -0
- package/dist/components/Masonry.d.ts +15 -0
- package/dist/components/Masonry.js +84 -0
- package/dist/components/Masonry.js.map +1 -0
- package/dist/components/Mention.d.ts +30 -0
- package/dist/components/Mention.js +179 -0
- package/dist/components/Mention.js.map +1 -0
- package/dist/components/Menu.d.ts +72 -0
- package/dist/components/Menu.js +163 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Message.d.ts +20 -0
- package/dist/components/Message.js +57 -0
- package/dist/components/Message.js.map +1 -0
- package/dist/components/Modal.d.ts +57 -0
- package/dist/components/Modal.js +338 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/MonthCalendar.d.ts +31 -0
- package/dist/components/MonthCalendar.js +205 -0
- package/dist/components/MonthCalendar.js.map +1 -0
- package/dist/components/Navbar.d.ts +22 -0
- package/dist/components/Navbar.js +50 -0
- package/dist/components/Navbar.js.map +1 -0
- package/dist/components/Notification.d.ts +50 -0
- package/dist/components/Notification.js +150 -0
- package/dist/components/Notification.js.map +1 -0
- package/dist/components/OTPInput.d.ts +32 -0
- package/dist/components/OTPInput.js +114 -0
- package/dist/components/OTPInput.js.map +1 -0
- package/dist/components/Pagination.d.ts +18 -0
- package/dist/components/Pagination.js +175 -0
- package/dist/components/Pagination.js.map +1 -0
- package/dist/components/Phone.d.ts +8 -0
- package/dist/components/Phone.js +17 -0
- package/dist/components/Phone.js.map +1 -0
- package/dist/components/Popconfirm.d.ts +17 -0
- package/dist/components/Popconfirm.js +125 -0
- package/dist/components/Popconfirm.js.map +1 -0
- package/dist/components/Popover.d.ts +15 -0
- package/dist/components/Popover.js +89 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/Progress.d.ts +5 -0
- package/dist/components/Progress.js +23 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/QRCode.d.ts +19 -0
- package/dist/components/QRCode.js +75 -0
- package/dist/components/QRCode.js.map +1 -0
- package/dist/components/RadialProgress.d.ts +10 -0
- package/dist/components/RadialProgress.js +48 -0
- package/dist/components/RadialProgress.js.map +1 -0
- package/dist/components/Radio.d.ts +26 -0
- package/dist/components/Radio.js +61 -0
- package/dist/components/Radio.js.map +1 -0
- package/dist/components/Range.d.ts +16 -0
- package/dist/components/Range.js +57 -0
- package/dist/components/Range.js.map +1 -0
- package/dist/components/Rating.d.ts +30 -0
- package/dist/components/Rating.js +127 -0
- package/dist/components/Rating.js.map +1 -0
- package/dist/components/Responsive.d.ts +18 -0
- package/dist/components/Responsive.js +17 -0
- package/dist/components/Responsive.js.map +1 -0
- package/dist/components/ResponsiveDrawer.d.ts +34 -0
- package/dist/components/ResponsiveDrawer.js +75 -0
- package/dist/components/ResponsiveDrawer.js.map +1 -0
- package/dist/components/Result.d.ts +12 -0
- package/dist/components/Result.js +110 -0
- package/dist/components/Result.js.map +1 -0
- package/dist/components/RichTextEditor.d.ts +32 -0
- package/dist/components/RichTextEditor.js +335 -0
- package/dist/components/RichTextEditor.js.map +1 -0
- package/dist/components/Segmented.d.ts +37 -0
- package/dist/components/Segmented.js +73 -0
- package/dist/components/Segmented.js.map +1 -0
- package/dist/components/Select.d.ts +18 -0
- package/dist/components/Select.js +78 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/Skeleton.d.ts +9 -0
- package/dist/components/Skeleton.js +24 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/Space.d.ts +11 -0
- package/dist/components/Space.js +61 -0
- package/dist/components/Space.js.map +1 -0
- package/dist/components/Splitter.d.ts +29 -0
- package/dist/components/Splitter.js +257 -0
- package/dist/components/Splitter.js.map +1 -0
- package/dist/components/Stat.d.ts +18 -0
- package/dist/components/Stat.js +26 -0
- package/dist/components/Stat.js.map +1 -0
- package/dist/components/Status.d.ts +18 -0
- package/dist/components/Status.js +34 -0
- package/dist/components/Status.js.map +1 -0
- package/dist/components/Steps.d.ts +52 -0
- package/dist/components/Steps.js +97 -0
- package/dist/components/Steps.js.map +1 -0
- package/dist/components/Table.d.ts +105 -0
- package/dist/components/Table.js +637 -0
- package/dist/components/Table.js.map +1 -0
- package/dist/components/Tabs.d.ts +45 -0
- package/dist/components/Tabs.js +86 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Tag.d.ts +34 -0
- package/dist/components/Tag.js +210 -0
- package/dist/components/Tag.js.map +1 -0
- package/dist/components/TextRotate.d.ts +13 -0
- package/dist/components/TextRotate.js +26 -0
- package/dist/components/TextRotate.js.map +1 -0
- package/dist/components/Textarea.d.ts +9 -0
- package/dist/components/Textarea.js +44 -0
- package/dist/components/Textarea.js.map +1 -0
- package/dist/components/ThemeController.d.ts +28 -0
- package/dist/components/ThemeController.js +162 -0
- package/dist/components/ThemeController.js.map +1 -0
- package/dist/components/TimePicker.d.ts +20 -0
- package/dist/components/TimePicker.js +304 -0
- package/dist/components/TimePicker.js.map +1 -0
- package/dist/components/Timeline.d.ts +79 -0
- package/dist/components/Timeline.js +151 -0
- package/dist/components/Timeline.js.map +1 -0
- package/dist/components/Toggle.d.ts +7 -0
- package/dist/components/Toggle.js +39 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/Tooltip.d.ts +9 -0
- package/dist/components/Tooltip.js +37 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/Tour.d.ts +123 -0
- package/dist/components/Tour.js +400 -0
- package/dist/components/Tour.js.map +1 -0
- package/dist/components/Transfer.d.ts +22 -0
- package/dist/components/Transfer.js +214 -0
- package/dist/components/Transfer.js.map +1 -0
- package/dist/components/Tree.d.ts +118 -0
- package/dist/components/Tree.js +444 -0
- package/dist/components/Tree.js.map +1 -0
- package/dist/components/TreeSelect.d.ts +84 -0
- package/dist/components/TreeSelect.js +755 -0
- package/dist/components/TreeSelect.js.map +1 -0
- package/dist/components/Typography.d.ts +53 -0
- package/dist/components/Typography.js +182 -0
- package/dist/components/Typography.js.map +1 -0
- package/dist/components/Upload.d.ts +38 -0
- package/dist/components/Upload.js +261 -0
- package/dist/components/Upload.js.map +1 -0
- package/dist/components/VirtualList.d.ts +29 -0
- package/dist/components/VirtualList.js +69 -0
- package/dist/components/VirtualList.js.map +1 -0
- package/dist/components/Watermark.d.ts +40 -0
- package/dist/components/Watermark.js +129 -0
- package/dist/components/Watermark.js.map +1 -0
- package/dist/components/WeekCalendar.d.ts +35 -0
- package/dist/components/WeekCalendar.js +204 -0
- package/dist/components/WeekCalendar.js.map +1 -0
- package/dist/components/Window.d.ts +7 -0
- package/dist/components/Window.js +10 -0
- package/dist/components/Window.js.map +1 -0
- package/dist/contexts/IconSizeContext.d.ts +2 -0
- package/dist/contexts/IconSizeContext.js +6 -0
- package/dist/contexts/IconSizeContext.js.map +1 -0
- package/dist/editor.d.ts +1 -0
- package/dist/editor.js +5 -0
- package/dist/editor.js.map +1 -0
- package/dist/hooks/useBreakpoint.d.ts +10 -0
- package/dist/hooks/useBreakpoint.js +36 -0
- package/dist/hooks/useBreakpoint.js.map +1 -0
- package/dist/hooks/useClickOutside.d.ts +17 -0
- package/dist/hooks/useClickOutside.js +18 -0
- package/dist/hooks/useClickOutside.js.map +1 -0
- package/dist/hooks/useClipboard.d.ts +20 -0
- package/dist/hooks/useClipboard.js +17 -0
- package/dist/hooks/useClipboard.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +18 -0
- package/dist/hooks/useDebounce.js +16 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useDisclosure.d.ts +20 -0
- package/dist/hooks/useDisclosure.js +9 -0
- package/dist/hooks/useDisclosure.js.map +1 -0
- package/dist/hooks/useHover.d.ts +18 -0
- package/dist/hooks/useHover.js +16 -0
- package/dist/hooks/useHover.js.map +1 -0
- package/dist/hooks/useKeyPress.d.ts +40 -0
- package/dist/hooks/useKeyPress.js +34 -0
- package/dist/hooks/useKeyPress.js.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +12 -0
- package/dist/hooks/useLocalStorage.js +49 -0
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/usePrevious.d.ts +15 -0
- package/dist/hooks/usePrevious.js +11 -0
- package/dist/hooks/usePrevious.js.map +1 -0
- package/dist/hooks/useWindowSize.d.ts +21 -0
- package/dist/hooks/useWindowSize.js +21 -0
- package/dist/hooks/useWindowSize.js.map +1 -0
- package/dist/index.d.ts +216 -0
- package/dist/index.js +256 -0
- package/dist/index.js.map +1 -0
- package/dist/locale/de-DE.d.ts +3 -0
- package/dist/locale/de-DE.js +100 -0
- package/dist/locale/de-DE.js.map +1 -0
- package/dist/locale/en-CA.d.ts +3 -0
- package/dist/locale/en-CA.js +11 -0
- package/dist/locale/en-CA.js.map +1 -0
- package/dist/locale/en-GB.d.ts +3 -0
- package/dist/locale/en-GB.js +11 -0
- package/dist/locale/en-GB.js.map +1 -0
- package/dist/locale/en-US.d.ts +3 -0
- package/dist/locale/en-US.js +100 -0
- package/dist/locale/en-US.js.map +1 -0
- package/dist/locale/es-ES.d.ts +3 -0
- package/dist/locale/es-ES.js +100 -0
- package/dist/locale/es-ES.js.map +1 -0
- package/dist/locale/fr-FR.d.ts +3 -0
- package/dist/locale/fr-FR.js +100 -0
- package/dist/locale/fr-FR.js.map +1 -0
- package/dist/locale/index.d.ts +107 -0
- package/dist/locale/ja-JP.d.ts +3 -0
- package/dist/locale/ja-JP.js +100 -0
- package/dist/locale/ja-JP.js.map +1 -0
- package/dist/locale/ko-KR.d.ts +3 -0
- package/dist/locale/ko-KR.js +100 -0
- package/dist/locale/ko-KR.js.map +1 -0
- package/dist/locale/pt-BR.d.ts +3 -0
- package/dist/locale/pt-BR.js +100 -0
- package/dist/locale/pt-BR.js.map +1 -0
- package/dist/locale/zh-CN.d.ts +3 -0
- package/dist/locale/zh-CN.js +100 -0
- package/dist/locale/zh-CN.js.map +1 -0
- package/dist/qrcode.d.ts +2 -0
- package/dist/qrcode.js +5 -0
- package/dist/qrcode.js.map +1 -0
- package/dist/virtuallist.d.ts +2 -0
- package/dist/virtuallist.js +5 -0
- package/dist/virtuallist.js.map +1 -0
- package/package.json +130 -0
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
import { jsxs as B, Fragment as ie, jsx as u } from "react/jsx-runtime";
|
|
2
|
+
import y, { useId as q, useState as L, useRef as R, useCallback as N, useEffect as j, createContext as ue, useContext as pe } from "react";
|
|
3
|
+
const fe = "d-dropdown", me = "d-dropdown-top", be = "d-dropdown-bottom", we = "d-dropdown-left", he = "d-dropdown-right", ge = "d-dropdown-center", ye = "d-dropdown-end", De = "d-dropdown-hover", Ie = "d-dropdown-open", ke = "d-dropdown-content", G = "d-menu", J = ue(void 0);
|
|
4
|
+
function V() {
|
|
5
|
+
const a = pe(J);
|
|
6
|
+
if (!a)
|
|
7
|
+
throw new Error("Dropdown compound components must be used within Dropdown");
|
|
8
|
+
return a;
|
|
9
|
+
}
|
|
10
|
+
function xe({
|
|
11
|
+
children: a,
|
|
12
|
+
items: l,
|
|
13
|
+
hover: D = !1,
|
|
14
|
+
trigger: p = ["click"],
|
|
15
|
+
position: f = "bottom",
|
|
16
|
+
align: o = "start",
|
|
17
|
+
open: s,
|
|
18
|
+
onOpenChange: t,
|
|
19
|
+
disabled: m = !1,
|
|
20
|
+
arrow: b = !1,
|
|
21
|
+
mouseEnterDelay: w = 0.15,
|
|
22
|
+
mouseLeaveDelay: c = 0.1,
|
|
23
|
+
getPopupContainer: h,
|
|
24
|
+
destroyOnHidden: r = !1,
|
|
25
|
+
className: k = "",
|
|
26
|
+
...S
|
|
27
|
+
}) {
|
|
28
|
+
const $ = q(), v = q(), [e, I] = L(!1), [d, x] = L(-1), [T, P] = L(0), [Z, z] = L(!r), W = R(/* @__PURE__ */ new Map()), U = R(null), C = R(null), M = D ? ["hover"] : p, F = s !== void 0, A = F ? s : e, g = N((n, E = "trigger") => {
|
|
29
|
+
m || (F || I(n), n && z(!0), t?.(n, { source: E }));
|
|
30
|
+
}, [m, F, t]), H = N(() => {
|
|
31
|
+
g(!1, "menu"), x(-1), document.getElementById(v)?.focus();
|
|
32
|
+
}, [g, v]), ee = N((n, E, i) => {
|
|
33
|
+
E ? W.current.set(n, { ref: E, disabled: i }) : W.current.delete(n);
|
|
34
|
+
}, []);
|
|
35
|
+
j(() => {
|
|
36
|
+
if (r && !A) {
|
|
37
|
+
const n = setTimeout(() => z(!1), 300);
|
|
38
|
+
return () => clearTimeout(n);
|
|
39
|
+
}
|
|
40
|
+
}, [A, r]), j(() => {
|
|
41
|
+
const n = (E) => {
|
|
42
|
+
U.current && !U.current.contains(E.target) && (g(!1, "trigger"), x(-1));
|
|
43
|
+
};
|
|
44
|
+
if (A)
|
|
45
|
+
return document.addEventListener("mousedown", n), () => document.removeEventListener("mousedown", n);
|
|
46
|
+
}, [A, g]);
|
|
47
|
+
const ne = N(() => {
|
|
48
|
+
M.includes("hover") && (C.current && clearTimeout(C.current), C.current = setTimeout(() => {
|
|
49
|
+
g(!0, "trigger");
|
|
50
|
+
}, w * 1e3));
|
|
51
|
+
}, [M, w, g]), te = N(() => {
|
|
52
|
+
M.includes("hover") && (C.current && clearTimeout(C.current), C.current = setTimeout(() => {
|
|
53
|
+
g(!1, "trigger"), x(-1);
|
|
54
|
+
}, c * 1e3));
|
|
55
|
+
}, [M, c, g]), re = N((n) => {
|
|
56
|
+
M.includes("contextMenu") && (n.preventDefault(), g(!0, "trigger"));
|
|
57
|
+
}, [M, g]);
|
|
58
|
+
j(() => () => {
|
|
59
|
+
C.current && clearTimeout(C.current);
|
|
60
|
+
}, []);
|
|
61
|
+
const oe = {
|
|
62
|
+
top: me,
|
|
63
|
+
bottom: be,
|
|
64
|
+
left: we,
|
|
65
|
+
right: he
|
|
66
|
+
}, se = {
|
|
67
|
+
start: "",
|
|
68
|
+
center: ge,
|
|
69
|
+
end: ye
|
|
70
|
+
}, ae = typeof b == "boolean" ? b : !!b, le = [
|
|
71
|
+
fe,
|
|
72
|
+
oe[f],
|
|
73
|
+
se[o],
|
|
74
|
+
M.includes("hover") && De,
|
|
75
|
+
A && Ie,
|
|
76
|
+
k
|
|
77
|
+
].filter(Boolean).join(" "), ce = () => l ? l.map((n, E) => {
|
|
78
|
+
if ("type" in n && n.type === "divider")
|
|
79
|
+
return /* @__PURE__ */ u(Y, {}, n.key || `divider-${E}`);
|
|
80
|
+
const i = n;
|
|
81
|
+
return i.children && i.children.length > 0 ? /* @__PURE__ */ u(
|
|
82
|
+
_,
|
|
83
|
+
{
|
|
84
|
+
title: i.label,
|
|
85
|
+
icon: i.icon,
|
|
86
|
+
disabled: i.disabled,
|
|
87
|
+
children: i.children.map((K) => /* @__PURE__ */ u(
|
|
88
|
+
O,
|
|
89
|
+
{
|
|
90
|
+
icon: K.icon,
|
|
91
|
+
disabled: K.disabled,
|
|
92
|
+
danger: K.danger,
|
|
93
|
+
onClick: K.onClick,
|
|
94
|
+
children: K.label
|
|
95
|
+
},
|
|
96
|
+
K.key
|
|
97
|
+
))
|
|
98
|
+
},
|
|
99
|
+
i.key
|
|
100
|
+
) : /* @__PURE__ */ u(
|
|
101
|
+
O,
|
|
102
|
+
{
|
|
103
|
+
icon: i.icon,
|
|
104
|
+
disabled: i.disabled,
|
|
105
|
+
danger: i.danger,
|
|
106
|
+
onClick: i.onClick,
|
|
107
|
+
children: i.label
|
|
108
|
+
},
|
|
109
|
+
i.key
|
|
110
|
+
);
|
|
111
|
+
}) : null, de = l ? /* @__PURE__ */ B(ie, { children: [
|
|
112
|
+
y.Children.toArray(a).find(
|
|
113
|
+
(n) => y.isValidElement(n) && n.type === Q
|
|
114
|
+
),
|
|
115
|
+
(Z || !r) && /* @__PURE__ */ u(X, { children: ce() })
|
|
116
|
+
] }) : a;
|
|
117
|
+
return /* @__PURE__ */ u(
|
|
118
|
+
J.Provider,
|
|
119
|
+
{
|
|
120
|
+
value: {
|
|
121
|
+
position: f,
|
|
122
|
+
align: o,
|
|
123
|
+
menuId: $,
|
|
124
|
+
triggerId: v,
|
|
125
|
+
isOpen: A,
|
|
126
|
+
setIsOpen: g,
|
|
127
|
+
focusedIndex: d,
|
|
128
|
+
setFocusedIndex: x,
|
|
129
|
+
registerItem: ee,
|
|
130
|
+
itemCount: T,
|
|
131
|
+
setItemCount: P,
|
|
132
|
+
disabled: m,
|
|
133
|
+
arrow: ae,
|
|
134
|
+
closeDropdown: H
|
|
135
|
+
},
|
|
136
|
+
children: /* @__PURE__ */ u(
|
|
137
|
+
"div",
|
|
138
|
+
{
|
|
139
|
+
ref: U,
|
|
140
|
+
className: le,
|
|
141
|
+
"data-state": A ? "open" : "closed",
|
|
142
|
+
"aria-disabled": m || void 0,
|
|
143
|
+
onMouseEnter: ne,
|
|
144
|
+
onMouseLeave: te,
|
|
145
|
+
onContextMenu: re,
|
|
146
|
+
...S,
|
|
147
|
+
children: de
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
function Q({ children: a, className: l = "" }) {
|
|
154
|
+
const { menuId: D, triggerId: p, isOpen: f, setIsOpen: o, setFocusedIndex: s, itemCount: t, disabled: m } = V(), b = (r) => {
|
|
155
|
+
switch (r.key) {
|
|
156
|
+
case "Enter":
|
|
157
|
+
case " ":
|
|
158
|
+
case "ArrowDown":
|
|
159
|
+
r.preventDefault(), o(!0), s(0);
|
|
160
|
+
break;
|
|
161
|
+
case "ArrowUp":
|
|
162
|
+
r.preventDefault(), o(!0), s(t - 1);
|
|
163
|
+
break;
|
|
164
|
+
case "Escape":
|
|
165
|
+
r.preventDefault(), o(!1), s(-1);
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
}, w = () => {
|
|
169
|
+
o(!f), f || s(0);
|
|
170
|
+
}, c = y.Children.only(a), h = c.props;
|
|
171
|
+
return y.cloneElement(c, {
|
|
172
|
+
id: p,
|
|
173
|
+
tabIndex: m ? -1 : 0,
|
|
174
|
+
"aria-haspopup": "menu",
|
|
175
|
+
"aria-expanded": f,
|
|
176
|
+
"aria-controls": D,
|
|
177
|
+
onClick: (r) => {
|
|
178
|
+
w(), h.onClick?.(r);
|
|
179
|
+
},
|
|
180
|
+
onKeyDown: (r) => {
|
|
181
|
+
b(r), h.onKeyDown?.(r);
|
|
182
|
+
},
|
|
183
|
+
className: `${h.className || ""} ${l}`.trim()
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
function X({ children: a, className: l = "" }) {
|
|
187
|
+
const { menuId: D, triggerId: p, isOpen: f, setIsOpen: o, focusedIndex: s, setFocusedIndex: t, setItemCount: m, arrow: b, position: w } = V(), c = R(null), h = y.Children.toArray(a).filter(
|
|
188
|
+
(e) => y.isValidElement(e) && e.type === O
|
|
189
|
+
);
|
|
190
|
+
j(() => {
|
|
191
|
+
m(h.length);
|
|
192
|
+
}, [h.length, m]), j(() => {
|
|
193
|
+
f && s >= 0 && c.current && c.current.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')[s]?.focus();
|
|
194
|
+
}, [f, s]);
|
|
195
|
+
const r = (e) => {
|
|
196
|
+
const d = h.filter(
|
|
197
|
+
(x) => y.isValidElement(x) && !x.props.disabled
|
|
198
|
+
).length;
|
|
199
|
+
switch (e.key) {
|
|
200
|
+
case "ArrowDown":
|
|
201
|
+
e.preventDefault(), t((s + 1) % d);
|
|
202
|
+
break;
|
|
203
|
+
case "ArrowUp":
|
|
204
|
+
e.preventDefault(), t((s - 1 + d) % d);
|
|
205
|
+
break;
|
|
206
|
+
case "Home":
|
|
207
|
+
e.preventDefault(), t(0);
|
|
208
|
+
break;
|
|
209
|
+
case "End":
|
|
210
|
+
e.preventDefault(), t(d - 1);
|
|
211
|
+
break;
|
|
212
|
+
case "Escape":
|
|
213
|
+
e.preventDefault(), o(!1), t(-1), document.getElementById(p)?.focus();
|
|
214
|
+
break;
|
|
215
|
+
case "Tab":
|
|
216
|
+
o(!1), t(-1);
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
}, k = [
|
|
220
|
+
ke,
|
|
221
|
+
G,
|
|
222
|
+
"bg-base-100",
|
|
223
|
+
"rounded-box",
|
|
224
|
+
"z-50",
|
|
225
|
+
"shadow",
|
|
226
|
+
l
|
|
227
|
+
].filter(Boolean).join(" "), S = y.Children.map(a, (e, I) => {
|
|
228
|
+
if (y.isValidElement(e)) {
|
|
229
|
+
const d = e.key != null ? String(e.key) : void 0;
|
|
230
|
+
if (e.type === O)
|
|
231
|
+
return y.cloneElement(e, { _index: I, _key: d });
|
|
232
|
+
if (e.type === _)
|
|
233
|
+
return y.cloneElement(e, { _key: d });
|
|
234
|
+
}
|
|
235
|
+
return e;
|
|
236
|
+
}), v = b ? /* @__PURE__ */ u(
|
|
237
|
+
"span",
|
|
238
|
+
{
|
|
239
|
+
className: `absolute w-0 h-0 border-8 border-solid ${{
|
|
240
|
+
top: "bottom-0 left-1/2 -translate-x-1/2 translate-y-full border-t-base-100 border-l-transparent border-r-transparent border-b-transparent",
|
|
241
|
+
bottom: "top-0 left-1/2 -translate-x-1/2 -translate-y-full border-b-base-100 border-l-transparent border-r-transparent border-t-transparent",
|
|
242
|
+
left: "right-0 top-1/2 -translate-y-1/2 translate-x-full border-l-base-100 border-t-transparent border-b-transparent border-r-transparent",
|
|
243
|
+
right: "left-0 top-1/2 -translate-y-1/2 -translate-x-full border-r-base-100 border-t-transparent border-b-transparent border-l-transparent"
|
|
244
|
+
}[w || "bottom"]}`,
|
|
245
|
+
"aria-hidden": "true"
|
|
246
|
+
}
|
|
247
|
+
) : null;
|
|
248
|
+
return /* @__PURE__ */ B(
|
|
249
|
+
"ul",
|
|
250
|
+
{
|
|
251
|
+
ref: c,
|
|
252
|
+
id: D,
|
|
253
|
+
role: "menu",
|
|
254
|
+
"aria-labelledby": p,
|
|
255
|
+
tabIndex: -1,
|
|
256
|
+
className: `${k} ${b ? "relative" : ""}`,
|
|
257
|
+
onKeyDown: r,
|
|
258
|
+
children: [
|
|
259
|
+
v,
|
|
260
|
+
S
|
|
261
|
+
]
|
|
262
|
+
}
|
|
263
|
+
);
|
|
264
|
+
}
|
|
265
|
+
function O({
|
|
266
|
+
children: a,
|
|
267
|
+
icon: l,
|
|
268
|
+
label: D,
|
|
269
|
+
onClick: p,
|
|
270
|
+
active: f = !1,
|
|
271
|
+
disabled: o = !1,
|
|
272
|
+
danger: s = !1,
|
|
273
|
+
className: t = "",
|
|
274
|
+
_key: m
|
|
275
|
+
}) {
|
|
276
|
+
const { closeDropdown: b } = V(), w = [f && "active", o && "disabled", t].filter(Boolean).join(" "), c = () => {
|
|
277
|
+
o || (p?.(), b());
|
|
278
|
+
};
|
|
279
|
+
return /* @__PURE__ */ u("li", { className: w, role: "none", "data-key": m, children: /* @__PURE__ */ B(
|
|
280
|
+
"a",
|
|
281
|
+
{
|
|
282
|
+
role: "menuitem",
|
|
283
|
+
tabIndex: o ? -1 : 0,
|
|
284
|
+
"aria-disabled": o || void 0,
|
|
285
|
+
className: s ? "text-error" : "",
|
|
286
|
+
onClick: c,
|
|
287
|
+
onKeyDown: (k) => {
|
|
288
|
+
(k.key === "Enter" || k.key === " ") && !o && (k.preventDefault(), c());
|
|
289
|
+
},
|
|
290
|
+
children: [
|
|
291
|
+
l && /* @__PURE__ */ u("span", { className: "mr-2 inline-flex items-center", children: l }),
|
|
292
|
+
D || a
|
|
293
|
+
]
|
|
294
|
+
}
|
|
295
|
+
) });
|
|
296
|
+
}
|
|
297
|
+
function _({
|
|
298
|
+
children: a,
|
|
299
|
+
title: l,
|
|
300
|
+
icon: D,
|
|
301
|
+
disabled: p = !1,
|
|
302
|
+
className: f = "",
|
|
303
|
+
_key: o
|
|
304
|
+
}) {
|
|
305
|
+
const [s, t] = L(!1), m = R(null), b = R(null), w = R(null), c = q(), h = () => {
|
|
306
|
+
p || t(!0);
|
|
307
|
+
}, r = () => {
|
|
308
|
+
t(!1);
|
|
309
|
+
}, k = () => {
|
|
310
|
+
setTimeout(() => {
|
|
311
|
+
w.current?.querySelector('[role="menuitem"]:not([aria-disabled="true"])')?.focus();
|
|
312
|
+
}, 0);
|
|
313
|
+
}, S = (e) => {
|
|
314
|
+
if (!p)
|
|
315
|
+
switch (e.key) {
|
|
316
|
+
case "ArrowRight":
|
|
317
|
+
case "Enter":
|
|
318
|
+
case " ":
|
|
319
|
+
e.preventDefault(), e.stopPropagation(), t(!0), k();
|
|
320
|
+
break;
|
|
321
|
+
case "ArrowLeft":
|
|
322
|
+
case "Escape":
|
|
323
|
+
e.preventDefault(), e.stopPropagation(), t(!1);
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
}, $ = (e) => {
|
|
327
|
+
switch (e.key) {
|
|
328
|
+
case "ArrowLeft":
|
|
329
|
+
case "Escape":
|
|
330
|
+
e.preventDefault(), e.stopPropagation(), t(!1), b.current?.focus();
|
|
331
|
+
break;
|
|
332
|
+
case "ArrowDown":
|
|
333
|
+
e.preventDefault(), e.stopPropagation();
|
|
334
|
+
const I = w.current?.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])');
|
|
335
|
+
if (I) {
|
|
336
|
+
const T = (Array.from(I).findIndex((P) => P === document.activeElement) + 1) % I.length;
|
|
337
|
+
I[T]?.focus();
|
|
338
|
+
}
|
|
339
|
+
break;
|
|
340
|
+
case "ArrowUp":
|
|
341
|
+
e.preventDefault(), e.stopPropagation();
|
|
342
|
+
const d = w.current?.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])');
|
|
343
|
+
if (d) {
|
|
344
|
+
const T = (Array.from(d).findIndex((P) => P === document.activeElement) - 1 + d.length) % d.length;
|
|
345
|
+
d[T]?.focus();
|
|
346
|
+
}
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
349
|
+
}, v = [p && "disabled", f].filter(Boolean).join(" ");
|
|
350
|
+
return /* @__PURE__ */ u(
|
|
351
|
+
"li",
|
|
352
|
+
{
|
|
353
|
+
ref: m,
|
|
354
|
+
className: v,
|
|
355
|
+
role: "none",
|
|
356
|
+
"data-key": o,
|
|
357
|
+
onMouseEnter: h,
|
|
358
|
+
onMouseLeave: r,
|
|
359
|
+
children: /* @__PURE__ */ B("details", { open: s, children: [
|
|
360
|
+
/* @__PURE__ */ B(
|
|
361
|
+
"summary",
|
|
362
|
+
{
|
|
363
|
+
ref: b,
|
|
364
|
+
role: "menuitem",
|
|
365
|
+
tabIndex: p ? -1 : 0,
|
|
366
|
+
"aria-disabled": p || void 0,
|
|
367
|
+
"aria-haspopup": "menu",
|
|
368
|
+
"aria-expanded": s,
|
|
369
|
+
"aria-controls": c,
|
|
370
|
+
onKeyDown: S,
|
|
371
|
+
children: [
|
|
372
|
+
D && /* @__PURE__ */ u("span", { className: "mr-2 inline-flex items-center", children: D }),
|
|
373
|
+
l
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
),
|
|
377
|
+
/* @__PURE__ */ u(
|
|
378
|
+
"ul",
|
|
379
|
+
{
|
|
380
|
+
ref: w,
|
|
381
|
+
id: c,
|
|
382
|
+
className: `${G} bg-base-100 rounded-box z-50 shadow`,
|
|
383
|
+
role: "menu",
|
|
384
|
+
"aria-label": typeof l == "string" ? l : void 0,
|
|
385
|
+
onKeyDown: $,
|
|
386
|
+
children: a
|
|
387
|
+
}
|
|
388
|
+
)
|
|
389
|
+
] })
|
|
390
|
+
}
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
function Y({ className: a = "" }) {
|
|
394
|
+
const l = ["border-base-content/10", a].filter(Boolean).join(" ");
|
|
395
|
+
return /* @__PURE__ */ u("li", { role: "separator", className: "my-1", children: /* @__PURE__ */ u("hr", { className: l }) });
|
|
396
|
+
}
|
|
397
|
+
const ve = Object.assign(xe, {
|
|
398
|
+
Trigger: Q,
|
|
399
|
+
Menu: X,
|
|
400
|
+
Item: O,
|
|
401
|
+
SubMenu: _,
|
|
402
|
+
Divider: Y
|
|
403
|
+
});
|
|
404
|
+
export {
|
|
405
|
+
ve as Dropdown
|
|
406
|
+
};
|
|
407
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../src/components/Dropdown.tsx"],"sourcesContent":["import React, { createContext, useContext, useId, useRef, useState, useCallback, useEffect } from 'react'\n\n// DaisyUI classes\nconst dDropdown = 'd-dropdown'\nconst dDropdownTop = 'd-dropdown-top'\nconst dDropdownBottom = 'd-dropdown-bottom'\nconst dDropdownLeft = 'd-dropdown-left'\nconst dDropdownRight = 'd-dropdown-right'\nconst dDropdownCenter = 'd-dropdown-center'\nconst dDropdownEnd = 'd-dropdown-end'\nconst dDropdownHover = 'd-dropdown-hover'\nconst dDropdownOpen = 'd-dropdown-open'\nconst dDropdownContent = 'd-dropdown-content'\nconst dMenu = 'd-menu'\n\n// Types for data-driven items prop\nexport type DropdownTriggerType = 'click' | 'hover' | 'contextMenu'\n\nexport interface DropdownMenuItem {\n key: string\n label: React.ReactNode\n icon?: React.ReactNode\n disabled?: boolean\n danger?: boolean\n onClick?: () => void\n children?: DropdownMenuItem[] // For submenus\n}\n\nexport interface DropdownMenuDivider {\n type: 'divider'\n key?: string\n}\n\nexport type DropdownMenuItemType = DropdownMenuItem | DropdownMenuDivider\n\ninterface DropdownContextValue {\n position?: 'top' | 'bottom' | 'left' | 'right'\n align?: 'start' | 'center' | 'end'\n menuId: string\n triggerId: string\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n focusedIndex: number\n setFocusedIndex: (index: number) => void\n registerItem: (index: number, ref: HTMLElement | null, disabled: boolean) => void\n itemCount: number\n setItemCount: (count: number) => void\n disabled: boolean\n arrow: boolean\n closeDropdown: () => void\n}\n\nconst DropdownContext = createContext<DropdownContextValue | undefined>(undefined)\n\nfunction useDropdownContext() {\n const context = useContext(DropdownContext)\n if (!context) {\n throw new Error('Dropdown compound components must be used within Dropdown')\n }\n return context\n}\n\nexport interface DropdownProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n /** Trigger element and dropdown content (compound pattern) */\n children?: React.ReactNode\n /** Menu items (data-driven pattern) */\n items?: DropdownMenuItemType[]\n /** @deprecated Use trigger={['hover']} instead */\n hover?: boolean\n /** Trigger mode(s) for dropdown */\n trigger?: DropdownTriggerType[]\n position?: 'top' | 'bottom' | 'left' | 'right'\n align?: 'start' | 'center' | 'end'\n /** Controlled open state */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean, info?: { source: 'trigger' | 'menu' }) => void\n /** Disable the dropdown */\n disabled?: boolean\n /** Show arrow pointing to trigger */\n arrow?: boolean | { pointAtCenter?: boolean }\n /** Delay before showing dropdown on hover (seconds) */\n mouseEnterDelay?: number\n /** Delay before hiding dropdown on mouse leave (seconds) */\n mouseLeaveDelay?: number\n /** Container for the dropdown menu */\n getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement\n /** Destroy dropdown when hidden */\n destroyOnHidden?: boolean\n}\n\nexport interface DropdownTriggerProps {\n children: React.ReactNode\n className?: string\n}\n\nexport interface DropdownMenuProps {\n children?: React.ReactNode\n className?: string\n}\n\nexport interface DropdownItemProps {\n children?: React.ReactNode\n /** Icon to display before label */\n icon?: React.ReactNode\n /** Item label (alternative to children) */\n label?: React.ReactNode\n onClick?: () => void\n active?: boolean\n disabled?: boolean\n danger?: boolean\n className?: string\n /** @internal */\n _index?: number\n /** @internal */\n _key?: string\n}\n\nexport interface DropdownSubMenuProps {\n children: React.ReactNode\n /** Submenu title/label */\n title: React.ReactNode\n /** Icon to display before title */\n icon?: React.ReactNode\n disabled?: boolean\n className?: string\n /** @internal */\n _key?: string\n}\n\nexport interface DropdownDividerProps {\n className?: string\n}\n\nfunction DropdownRoot({\n children,\n items,\n hover = false,\n trigger = ['click'],\n position = 'bottom',\n align = 'start',\n open: controlledOpen,\n onOpenChange,\n disabled = false,\n arrow = false,\n mouseEnterDelay = 0.15,\n mouseLeaveDelay = 0.1,\n getPopupContainer,\n destroyOnHidden = false,\n className = '',\n ...rest\n}: DropdownProps) {\n const menuId = useId()\n const triggerId = useId()\n const [internalOpen, setInternalOpen] = useState(false)\n const [focusedIndex, setFocusedIndex] = useState(-1)\n const [itemCount, setItemCount] = useState(0)\n const [shouldRender, setShouldRender] = useState(!destroyOnHidden)\n const itemRefs = useRef<Map<number, { ref: HTMLElement | null; disabled: boolean }>>(new Map())\n const dropdownRef = useRef<HTMLDivElement>(null)\n const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n // Normalize trigger - support both hover boolean (deprecated) and trigger array\n const triggers = hover ? ['hover'] : trigger\n\n // Use controlled or uncontrolled open state\n const isControlled = controlledOpen !== undefined\n const isOpen = isControlled ? controlledOpen : internalOpen\n\n const setIsOpen = useCallback((open: boolean, source: 'trigger' | 'menu' = 'trigger') => {\n if (disabled) return\n if (!isControlled) {\n setInternalOpen(open)\n }\n if (open) {\n setShouldRender(true)\n }\n onOpenChange?.(open, { source })\n }, [disabled, isControlled, onOpenChange])\n\n const closeDropdown = useCallback(() => {\n setIsOpen(false, 'menu')\n setFocusedIndex(-1)\n document.getElementById(triggerId)?.focus()\n }, [setIsOpen, triggerId])\n\n const registerItem = useCallback((index: number, ref: HTMLElement | null, itemDisabled: boolean) => {\n if (ref) {\n itemRefs.current.set(index, { ref, disabled: itemDisabled })\n } else {\n itemRefs.current.delete(index)\n }\n }, [])\n\n // Handle destroyOnHidden\n useEffect(() => {\n if (destroyOnHidden && !isOpen) {\n const timeout = setTimeout(() => setShouldRender(false), 300)\n return () => clearTimeout(timeout)\n }\n }, [isOpen, destroyOnHidden])\n\n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n setIsOpen(false, 'trigger')\n setFocusedIndex(-1)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen, setIsOpen])\n\n // Hover handlers with delay\n const handleMouseEnter = useCallback(() => {\n if (!triggers.includes('hover')) return\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current)\n }\n hoverTimeoutRef.current = setTimeout(() => {\n setIsOpen(true, 'trigger')\n }, mouseEnterDelay * 1000)\n }, [triggers, mouseEnterDelay, setIsOpen])\n\n const handleMouseLeave = useCallback(() => {\n if (!triggers.includes('hover')) return\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current)\n }\n hoverTimeoutRef.current = setTimeout(() => {\n setIsOpen(false, 'trigger')\n setFocusedIndex(-1)\n }, mouseLeaveDelay * 1000)\n }, [triggers, mouseLeaveDelay, setIsOpen])\n\n // Context menu handler\n const handleContextMenu = useCallback((event: React.MouseEvent) => {\n if (!triggers.includes('contextMenu')) return\n event.preventDefault()\n setIsOpen(true, 'trigger')\n }, [triggers, setIsOpen])\n\n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current)\n }\n }\n }, [])\n\n const positionClasses: Record<string, string> = {\n top: dDropdownTop,\n bottom: dDropdownBottom,\n left: dDropdownLeft,\n right: dDropdownRight,\n }\n\n const alignClasses: Record<string, string> = {\n start: '',\n center: dDropdownCenter,\n end: dDropdownEnd,\n }\n\n const showArrow = typeof arrow === 'boolean' ? arrow : !!arrow\n\n const dropdownClasses = [\n dDropdown,\n positionClasses[position],\n alignClasses[align],\n triggers.includes('hover') && dDropdownHover,\n isOpen && dDropdownOpen,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n // Render items from data-driven prop\n const renderItems = () => {\n if (!items) return null\n return items.map((item, index) => {\n if ('type' in item && item.type === 'divider') {\n return <DropdownDivider key={item.key || `divider-${index}`} />\n }\n const menuItem = item as DropdownMenuItem\n if (menuItem.children && menuItem.children.length > 0) {\n return (\n <DropdownSubMenu\n key={menuItem.key}\n title={menuItem.label}\n icon={menuItem.icon}\n disabled={menuItem.disabled}\n >\n {menuItem.children.map((child) => (\n <DropdownItem\n key={child.key}\n icon={child.icon}\n disabled={child.disabled}\n danger={child.danger}\n onClick={child.onClick}\n >\n {child.label}\n </DropdownItem>\n ))}\n </DropdownSubMenu>\n )\n }\n return (\n <DropdownItem\n key={menuItem.key}\n icon={menuItem.icon}\n disabled={menuItem.disabled}\n danger={menuItem.danger}\n onClick={menuItem.onClick}\n >\n {menuItem.label}\n </DropdownItem>\n )\n })\n }\n\n // Determine content - either compound children or items-generated menu\n const content = items ? (\n <>\n {React.Children.toArray(children).find(\n (child) => React.isValidElement(child) && child.type === DropdownTrigger\n )}\n {(shouldRender || !destroyOnHidden) && (\n <DropdownMenu>{renderItems()}</DropdownMenu>\n )}\n </>\n ) : (\n children\n )\n\n return (\n <DropdownContext.Provider\n value={{\n position,\n align,\n menuId,\n triggerId,\n isOpen,\n setIsOpen,\n focusedIndex,\n setFocusedIndex,\n registerItem,\n itemCount,\n setItemCount,\n disabled,\n arrow: showArrow,\n closeDropdown,\n }}\n >\n <div\n ref={dropdownRef}\n className={dropdownClasses}\n data-state={isOpen ? 'open' : 'closed'}\n aria-disabled={disabled || undefined}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onContextMenu={handleContextMenu}\n {...rest}\n >\n {content}\n </div>\n </DropdownContext.Provider>\n )\n}\n\nfunction DropdownTrigger({ children, className = '' }: DropdownTriggerProps) {\n const { menuId, triggerId, isOpen, setIsOpen, setFocusedIndex, itemCount, disabled } = useDropdownContext()\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n switch (event.key) {\n case 'Enter':\n case ' ':\n case 'ArrowDown':\n event.preventDefault()\n setIsOpen(true)\n setFocusedIndex(0)\n break\n case 'ArrowUp':\n event.preventDefault()\n setIsOpen(true)\n setFocusedIndex(itemCount - 1)\n break\n case 'Escape':\n event.preventDefault()\n setIsOpen(false)\n setFocusedIndex(-1)\n break\n }\n }\n\n const handleClick = () => {\n setIsOpen(!isOpen)\n if (!isOpen) {\n setFocusedIndex(0)\n }\n }\n\n // Clone the child element to add event handlers and ARIA attributes\n const child = React.Children.only(children) as React.ReactElement<\n React.HTMLAttributes<HTMLElement> & {\n onClick?: (e: React.MouseEvent) => void\n onKeyDown?: (e: React.KeyboardEvent) => void\n className?: string\n }\n >\n\n const childProps = child.props\n\n return React.cloneElement(child, {\n id: triggerId,\n tabIndex: disabled ? -1 : 0,\n 'aria-haspopup': 'menu' as const,\n 'aria-expanded': isOpen,\n 'aria-controls': menuId,\n onClick: (e: React.MouseEvent) => {\n handleClick()\n childProps.onClick?.(e)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n handleKeyDown(e)\n childProps.onKeyDown?.(e)\n },\n className: `${childProps.className || ''} ${className}`.trim(),\n })\n}\n\nfunction DropdownMenu({ children, className = '' }: DropdownMenuProps) {\n const { menuId, triggerId, isOpen, setIsOpen, focusedIndex, setFocusedIndex, setItemCount, arrow, position } = useDropdownContext()\n const menuRef = useRef<HTMLUListElement>(null)\n\n // Count children and set item count\n const childArray = React.Children.toArray(children).filter(\n (child) => React.isValidElement(child) && (child.type === DropdownItem)\n )\n\n useEffect(() => {\n setItemCount(childArray.length)\n }, [childArray.length, setItemCount])\n\n // Focus management\n useEffect(() => {\n if (isOpen && focusedIndex >= 0 && menuRef.current) {\n const items = menuRef.current.querySelectorAll('[role=\"menuitem\"]:not([aria-disabled=\"true\"])')\n const item = items[focusedIndex] as HTMLElement\n item?.focus()\n }\n }, [isOpen, focusedIndex])\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n const enabledItems = childArray.filter(\n (child) => React.isValidElement(child) && !(child.props as DropdownItemProps).disabled\n )\n const enabledCount = enabledItems.length\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n setFocusedIndex((focusedIndex + 1) % enabledCount)\n break\n case 'ArrowUp':\n event.preventDefault()\n setFocusedIndex((focusedIndex - 1 + enabledCount) % enabledCount)\n break\n case 'Home':\n event.preventDefault()\n setFocusedIndex(0)\n break\n case 'End':\n event.preventDefault()\n setFocusedIndex(enabledCount - 1)\n break\n case 'Escape':\n event.preventDefault()\n setIsOpen(false)\n setFocusedIndex(-1)\n // Return focus to trigger\n document.getElementById(triggerId)?.focus()\n break\n case 'Tab':\n setIsOpen(false)\n setFocusedIndex(-1)\n break\n }\n }\n\n const menuClasses = [\n dDropdownContent,\n dMenu,\n 'bg-base-100',\n 'rounded-box',\n 'z-50',\n 'shadow',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n // Clone children to pass index and extract key\n const childrenWithIndex = React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n const childKey = child.key != null ? String(child.key) : undefined\n if (child.type === DropdownItem) {\n return React.cloneElement(child as React.ReactElement<any>, { _index: index, _key: childKey })\n }\n if (child.type === DropdownSubMenu) {\n return React.cloneElement(child as React.ReactElement<any>, { _key: childKey })\n }\n }\n return child\n })\n\n // Arrow position classes based on menu position\n const arrowPositionClasses: Record<string, string> = {\n top: 'bottom-0 left-1/2 -translate-x-1/2 translate-y-full border-t-base-100 border-l-transparent border-r-transparent border-b-transparent',\n bottom: 'top-0 left-1/2 -translate-x-1/2 -translate-y-full border-b-base-100 border-l-transparent border-r-transparent border-t-transparent',\n left: 'right-0 top-1/2 -translate-y-1/2 translate-x-full border-l-base-100 border-t-transparent border-b-transparent border-r-transparent',\n right: 'left-0 top-1/2 -translate-y-1/2 -translate-x-full border-r-base-100 border-t-transparent border-b-transparent border-l-transparent',\n }\n\n const arrowElement = arrow ? (\n <span\n className={`absolute w-0 h-0 border-8 border-solid ${arrowPositionClasses[position || 'bottom']}`}\n aria-hidden=\"true\"\n />\n ) : null\n\n return (\n <ul\n ref={menuRef}\n id={menuId}\n role=\"menu\"\n aria-labelledby={triggerId}\n tabIndex={-1}\n className={`${menuClasses} ${arrow ? 'relative' : ''}`}\n onKeyDown={handleKeyDown}\n >\n {arrowElement}\n {childrenWithIndex}\n </ul>\n )\n}\n\nfunction DropdownItem({\n children,\n icon,\n label,\n onClick,\n active = false,\n disabled = false,\n danger = false,\n className = '',\n _key,\n}: DropdownItemProps) {\n const { closeDropdown } = useDropdownContext()\n const itemClasses = [active && 'active', disabled && 'disabled', className].filter(Boolean).join(' ')\n\n const handleClick = () => {\n if (!disabled) {\n onClick?.()\n closeDropdown()\n }\n }\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if ((event.key === 'Enter' || event.key === ' ') && !disabled) {\n event.preventDefault()\n handleClick()\n }\n }\n\n const content = label || children\n\n return (\n <li className={itemClasses} role=\"none\" data-key={_key}>\n <a\n role=\"menuitem\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled || undefined}\n className={danger ? 'text-error' : ''}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {icon && <span className=\"mr-2 inline-flex items-center\">{icon}</span>}\n {content}\n </a>\n </li>\n )\n}\n\nfunction DropdownSubMenu({\n children,\n title,\n icon,\n disabled = false,\n className = '',\n _key,\n}: DropdownSubMenuProps) {\n const [isSubOpen, setIsSubOpen] = useState(false)\n const subMenuRef = useRef<HTMLLIElement>(null)\n const summaryRef = useRef<HTMLElement>(null)\n const subMenuListRef = useRef<HTMLUListElement>(null)\n const subMenuId = useId()\n\n const handleMouseEnter = () => {\n if (!disabled) setIsSubOpen(true)\n }\n\n const handleMouseLeave = () => {\n setIsSubOpen(false)\n }\n\n // Focus first item in submenu\n const focusFirstItem = () => {\n setTimeout(() => {\n const firstItem = subMenuListRef.current?.querySelector('[role=\"menuitem\"]:not([aria-disabled=\"true\"])') as HTMLElement\n firstItem?.focus()\n }, 0)\n }\n\n // Keyboard handler for summary (submenu trigger)\n const handleSummaryKeyDown = (event: React.KeyboardEvent) => {\n if (disabled) return\n\n switch (event.key) {\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n event.preventDefault()\n event.stopPropagation()\n setIsSubOpen(true)\n focusFirstItem()\n break\n case 'ArrowLeft':\n case 'Escape':\n event.preventDefault()\n event.stopPropagation()\n setIsSubOpen(false)\n break\n }\n }\n\n // Keyboard handler for submenu items\n const handleSubMenuKeyDown = (event: React.KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowLeft':\n case 'Escape':\n event.preventDefault()\n event.stopPropagation()\n setIsSubOpen(false)\n summaryRef.current?.focus()\n break\n case 'ArrowDown':\n event.preventDefault()\n event.stopPropagation()\n const items = subMenuListRef.current?.querySelectorAll('[role=\"menuitem\"]:not([aria-disabled=\"true\"])')\n if (items) {\n const currentIndex = Array.from(items).findIndex(item => item === document.activeElement)\n const nextIndex = (currentIndex + 1) % items.length\n ;(items[nextIndex] as HTMLElement)?.focus()\n }\n break\n case 'ArrowUp':\n event.preventDefault()\n event.stopPropagation()\n const itemsUp = subMenuListRef.current?.querySelectorAll('[role=\"menuitem\"]:not([aria-disabled=\"true\"])')\n if (itemsUp) {\n const currentIndexUp = Array.from(itemsUp).findIndex(item => item === document.activeElement)\n const prevIndex = (currentIndexUp - 1 + itemsUp.length) % itemsUp.length\n ;(itemsUp[prevIndex] as HTMLElement)?.focus()\n }\n break\n }\n }\n\n const itemClasses = [disabled && 'disabled', className].filter(Boolean).join(' ')\n\n return (\n <li\n ref={subMenuRef}\n className={itemClasses}\n role=\"none\"\n data-key={_key}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <details open={isSubOpen}>\n <summary\n ref={summaryRef}\n role=\"menuitem\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled || undefined}\n aria-haspopup=\"menu\"\n aria-expanded={isSubOpen}\n aria-controls={subMenuId}\n onKeyDown={handleSummaryKeyDown}\n >\n {icon && <span className=\"mr-2 inline-flex items-center\">{icon}</span>}\n {title}\n </summary>\n <ul\n ref={subMenuListRef}\n id={subMenuId}\n className={`${dMenu} bg-base-100 rounded-box z-50 shadow`}\n role=\"menu\"\n aria-label={typeof title === 'string' ? title : undefined}\n onKeyDown={handleSubMenuKeyDown}\n >\n {children}\n </ul>\n </details>\n </li>\n )\n}\n\nfunction DropdownDivider({ className = '' }: DropdownDividerProps) {\n const classes = ['border-base-content/10', className].filter(Boolean).join(' ')\n return (\n <li role=\"separator\" className=\"my-1\">\n <hr className={classes} />\n </li>\n )\n}\n\nexport const Dropdown = Object.assign(DropdownRoot, {\n Trigger: DropdownTrigger,\n Menu: DropdownMenu,\n Item: DropdownItem,\n SubMenu: DropdownSubMenu,\n Divider: DropdownDivider,\n})\n"],"names":["dDropdown","dDropdownTop","dDropdownBottom","dDropdownLeft","dDropdownRight","dDropdownCenter","dDropdownEnd","dDropdownHover","dDropdownOpen","dDropdownContent","dMenu","DropdownContext","createContext","useDropdownContext","context","useContext","DropdownRoot","children","items","hover","trigger","position","align","controlledOpen","onOpenChange","disabled","arrow","mouseEnterDelay","mouseLeaveDelay","getPopupContainer","destroyOnHidden","className","rest","menuId","useId","triggerId","internalOpen","setInternalOpen","useState","focusedIndex","setFocusedIndex","itemCount","setItemCount","shouldRender","setShouldRender","itemRefs","useRef","dropdownRef","hoverTimeoutRef","triggers","isControlled","isOpen","setIsOpen","useCallback","open","source","closeDropdown","registerItem","index","ref","itemDisabled","useEffect","timeout","handleClickOutside","event","handleMouseEnter","handleMouseLeave","handleContextMenu","positionClasses","alignClasses","showArrow","dropdownClasses","renderItems","item","DropdownDivider","menuItem","jsx","DropdownSubMenu","child","DropdownItem","content","jsxs","Fragment","React","DropdownTrigger","DropdownMenu","handleKeyDown","handleClick","childProps","e","menuRef","childArray","enabledCount","menuClasses","childrenWithIndex","childKey","arrowElement","icon","label","onClick","active","danger","_key","itemClasses","title","isSubOpen","setIsSubOpen","subMenuRef","summaryRef","subMenuListRef","subMenuId","focusFirstItem","handleSummaryKeyDown","handleSubMenuKeyDown","nextIndex","itemsUp","prevIndex","classes","Dropdown"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface EmptyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/** Extra content like buttons or actions */
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
/** Text or node to display as description */
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
/** Custom image or icon; set to null to hide */
|
|
8
|
+
image?: React.ReactNode;
|
|
9
|
+
/** Styling applied to the image container */
|
|
10
|
+
imageStyle?: React.CSSProperties;
|
|
11
|
+
/** Test ID for the component */
|
|
12
|
+
'data-testid'?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const Empty: React.ForwardRefExoticComponent<EmptyProps & React.RefAttributes<HTMLDivElement>> & {
|
|
15
|
+
PRESENTED_IMAGE_DEFAULT: import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
PRESENTED_IMAGE_SIMPLE: import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { jsx as a, jsxs as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as y } from "react";
|
|
3
|
+
import { useComponentLocale as v } from "./ConfigProvider.js";
|
|
4
|
+
const i = () => /* @__PURE__ */ a(
|
|
5
|
+
"svg",
|
|
6
|
+
{
|
|
7
|
+
width: "184",
|
|
8
|
+
height: "152",
|
|
9
|
+
viewBox: "0 0 184 152",
|
|
10
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11
|
+
className: "mx-auto",
|
|
12
|
+
"aria-hidden": "true",
|
|
13
|
+
children: /* @__PURE__ */ e("g", { fill: "none", fillRule: "evenodd", children: [
|
|
14
|
+
/* @__PURE__ */ e("g", { transform: "translate(24 31.67)", children: [
|
|
15
|
+
/* @__PURE__ */ a(
|
|
16
|
+
"ellipse",
|
|
17
|
+
{
|
|
18
|
+
className: "fill-base-300",
|
|
19
|
+
cx: "67.797",
|
|
20
|
+
cy: "106.89",
|
|
21
|
+
rx: "67.797",
|
|
22
|
+
ry: "12.668"
|
|
23
|
+
}
|
|
24
|
+
),
|
|
25
|
+
/* @__PURE__ */ a(
|
|
26
|
+
"path",
|
|
27
|
+
{
|
|
28
|
+
className: "fill-base-200",
|
|
29
|
+
d: "M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z"
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
/* @__PURE__ */ a(
|
|
33
|
+
"path",
|
|
34
|
+
{
|
|
35
|
+
className: "fill-base-100",
|
|
36
|
+
d: "M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",
|
|
37
|
+
transform: "translate(13.56)"
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
/* @__PURE__ */ a(
|
|
41
|
+
"ellipse",
|
|
42
|
+
{
|
|
43
|
+
className: "fill-base-300",
|
|
44
|
+
cx: "67.797",
|
|
45
|
+
cy: "106.89",
|
|
46
|
+
rx: "67.797",
|
|
47
|
+
ry: "12.668"
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ a(
|
|
51
|
+
"path",
|
|
52
|
+
{
|
|
53
|
+
className: "fill-base-200",
|
|
54
|
+
d: "M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z"
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
/* @__PURE__ */ a(
|
|
58
|
+
"path",
|
|
59
|
+
{
|
|
60
|
+
className: "fill-base-content opacity-10",
|
|
61
|
+
d: "M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ a(
|
|
65
|
+
"path",
|
|
66
|
+
{
|
|
67
|
+
className: "fill-base-100",
|
|
68
|
+
d: "M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z"
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
] }),
|
|
72
|
+
/* @__PURE__ */ a(
|
|
73
|
+
"path",
|
|
74
|
+
{
|
|
75
|
+
className: "fill-base-content opacity-10",
|
|
76
|
+
d: "M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z"
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
/* @__PURE__ */ e("g", { className: "fill-base-100", transform: "translate(149.65 15.383)", children: [
|
|
80
|
+
/* @__PURE__ */ a("ellipse", { cx: "20.654", cy: "3.167", rx: "2.849", ry: "2.815" }),
|
|
81
|
+
/* @__PURE__ */ a("path", { d: "M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z" })
|
|
82
|
+
] })
|
|
83
|
+
] })
|
|
84
|
+
}
|
|
85
|
+
), x = () => /* @__PURE__ */ a(
|
|
86
|
+
"svg",
|
|
87
|
+
{
|
|
88
|
+
width: "64",
|
|
89
|
+
height: "41",
|
|
90
|
+
viewBox: "0 0 64 41",
|
|
91
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
92
|
+
className: "mx-auto",
|
|
93
|
+
"aria-hidden": "true",
|
|
94
|
+
children: /* @__PURE__ */ e("g", { transform: "translate(0 1)", fill: "none", fillRule: "evenodd", children: [
|
|
95
|
+
/* @__PURE__ */ a("ellipse", { className: "fill-base-300", cx: "32", cy: "33", rx: "32", ry: "7" }),
|
|
96
|
+
/* @__PURE__ */ e("g", { fillRule: "nonzero", className: "stroke-base-content/20", children: [
|
|
97
|
+
/* @__PURE__ */ a("path", { d: "M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z" }),
|
|
98
|
+
/* @__PURE__ */ a(
|
|
99
|
+
"path",
|
|
100
|
+
{
|
|
101
|
+
d: "M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",
|
|
102
|
+
className: "fill-base-200"
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
] })
|
|
106
|
+
] })
|
|
107
|
+
}
|
|
108
|
+
), r = y(
|
|
109
|
+
({
|
|
110
|
+
children: c,
|
|
111
|
+
className: n = "",
|
|
112
|
+
description: o,
|
|
113
|
+
image: t,
|
|
114
|
+
imageStyle: m,
|
|
115
|
+
"data-testid": s = "empty",
|
|
116
|
+
...d
|
|
117
|
+
}, h) => {
|
|
118
|
+
const p = v("Empty"), l = o ?? p.description, f = ["flex flex-col items-center justify-center py-8 px-4", n].filter(Boolean).join(" ");
|
|
119
|
+
return /* @__PURE__ */ e(
|
|
120
|
+
"div",
|
|
121
|
+
{
|
|
122
|
+
ref: h,
|
|
123
|
+
className: f,
|
|
124
|
+
role: "status",
|
|
125
|
+
"aria-label": typeof l == "string" ? l : "Empty",
|
|
126
|
+
"data-testid": s,
|
|
127
|
+
...d,
|
|
128
|
+
children: [
|
|
129
|
+
t !== null && /* @__PURE__ */ a("div", { className: "mb-2", style: m, "data-testid": `${s}-image`, children: t === void 0 ? /* @__PURE__ */ a(i, {}) : t }),
|
|
130
|
+
l && /* @__PURE__ */ a("div", { className: "text-base-content/60 text-sm mb-4", "data-testid": `${s}-description`, children: l }),
|
|
131
|
+
c && /* @__PURE__ */ a("div", { className: "mt-2", "data-testid": `${s}-footer`, children: c })
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
);
|
|
137
|
+
r.displayName = "Empty";
|
|
138
|
+
const g = Object.assign(r, {
|
|
139
|
+
PRESENTED_IMAGE_DEFAULT: /* @__PURE__ */ a(i, {}),
|
|
140
|
+
PRESENTED_IMAGE_SIMPLE: /* @__PURE__ */ a(x, {})
|
|
141
|
+
});
|
|
142
|
+
export {
|
|
143
|
+
g as Empty
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=Empty.js.map
|