haze-ui 1.30.0 → 1.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -1
- package/dist/components/ActivityRail/ActivityRail.js +76 -0
- package/dist/components/ActivityRail/index.js +3 -0
- package/dist/components/BottomSheet/BottomSheet.js +12 -26
- package/dist/components/Button/Button.js +33 -15
- package/dist/components/Button/ButtonLink.js +12 -21
- package/dist/components/Button/styles.js +2 -2
- package/dist/components/Cascader/Cascader.js +11 -11
- package/dist/components/ColorPicker/ColorPicker.js +4 -4
- package/dist/components/Combobox/Combobox.js +128 -119
- package/dist/components/Command/Command.js +9 -9
- package/dist/components/ConfigProvider/ConfigContext.js +16 -0
- package/dist/components/ConfirmDialog/confirm.js +41 -0
- package/dist/components/ConfirmDialog/index.js +2 -1
- package/dist/components/ConversationList/ConversationList.js +16 -7
- package/dist/components/DataTable/DataTable.js +24 -24
- package/dist/components/DateTimePicker/DateTimePicker.js +25 -0
- package/dist/components/DateTimePicker/index.js +3 -0
- package/dist/components/Datepicker/Datepicker.js +8 -7
- package/dist/components/Datepicker/DatepickerCore.js +60 -59
- package/dist/components/Drawer/Drawer.js +45 -40
- package/dist/components/Fieldset/Fieldset.js +25 -0
- package/dist/components/Fieldset/index.js +2 -0
- package/dist/components/Highlight/Highlight.js +19 -0
- package/dist/components/Highlight/index.js +2 -0
- package/dist/components/Indicator/Indicator.js +37 -0
- package/dist/components/Indicator/index.js +2 -0
- package/dist/components/InlineCompletion/InlineCompletion.js +4 -4
- package/dist/components/Input/Input.js +9 -7
- package/dist/components/Input/InputCore.js +32 -13
- package/dist/components/List/List.js +14 -10
- package/dist/components/LoadingOverlay/LoadingOverlay.js +30 -0
- package/dist/components/LoadingOverlay/index.js +3 -0
- package/dist/components/LocaleProvider/ar-sa.js +11 -0
- package/dist/components/LocaleProvider/de-de.js +11 -0
- package/dist/components/LocaleProvider/es-es.js +11 -0
- package/dist/components/LocaleProvider/fr-fr.js +11 -0
- package/dist/components/LocaleProvider/it-it.js +11 -0
- package/dist/components/LocaleProvider/ja-jp.js +11 -0
- package/dist/components/LocaleProvider/ko-kr.js +11 -0
- package/dist/components/LocaleProvider/locale.js +11 -0
- package/dist/components/LocaleProvider/pt-br.js +11 -0
- package/dist/components/LocaleProvider/ru-ru.js +11 -0
- package/dist/components/LocaleProvider/zh-cn.js +11 -0
- package/dist/components/LogViewer/LogViewer.js +45 -38
- package/dist/components/Mark/Mark.js +20 -0
- package/dist/components/Mark/index.js +2 -0
- package/dist/components/Mentions/MentionsCore.js +3 -3
- package/dist/components/Menu/MenuItem.js +6 -4
- package/dist/components/NumberFormatter/NumberFormatter.js +16 -0
- package/dist/components/NumberFormatter/index.js +2 -0
- package/dist/components/OTPInput/OTPInputCore.js +7 -6
- package/dist/components/PasswordInput/PasswordInputCore.js +27 -26
- package/dist/components/Rating/RatingCore.js +18 -18
- package/dist/components/Resizable/Resizable.js +266 -36
- package/dist/components/Select/Select.js +28 -23
- package/dist/components/Select/SelectCore.js +26 -23
- package/dist/components/Select/SelectFloating.js +157 -153
- package/dist/components/Sparkline/Sparkline.js +45 -0
- package/dist/components/Sparkline/index.js +3 -0
- package/dist/components/Sparkline/sparkline-styles.js +18 -0
- package/dist/components/Spoiler/Spoiler.js +36 -0
- package/dist/components/Spoiler/index.js +3 -0
- package/dist/components/StatusBar/StatusBar.js +47 -0
- package/dist/components/StatusBar/index.js +3 -0
- package/dist/components/TabBar/TabBar.js +60 -0
- package/dist/components/TabBar/index.js +3 -0
- package/dist/components/Tabs/SortableTabList.js +116 -0
- package/dist/components/Tabs/Tab.js +83 -16
- package/dist/components/Tabs/TabList.js +94 -38
- package/dist/components/Tabs/edge-scroll.js +6 -0
- package/dist/components/Tabs/index.js +4 -3
- package/dist/components/Tabs/tab-metas.js +24 -0
- package/dist/components/TagGroup/SortableTagGroup.js +32 -20
- package/dist/components/TagGroup/TagGroup.js +23 -9
- package/dist/components/TagGroup/TagGroupItem.js +21 -15
- package/dist/components/TagInput/SortableTagInputCore.js +11 -11
- package/dist/components/TagInput/TagInputCore.js +10 -10
- package/dist/components/TimePicker/TimePickerPanel.js +3 -3
- package/dist/components/Toast/ToastContainer.js +5 -5
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/Toast/{toast2.js → toast-channel.js} +1 -1
- package/dist/components/Toast/useToast.js +1 -1
- package/dist/components/Tree/SortableTree.js +39 -39
- package/dist/components/TreeSelect/TreeSelect.js +6 -6
- package/dist/components/VirtualList/VirtualList.js +133 -121
- package/dist/components/VisuallyHidden/VisuallyHidden.js +15 -0
- package/dist/components/VisuallyHidden/index.js +2 -0
- package/dist/components/Workbench/Workbench.js +144 -0
- package/dist/components/Workbench/index.js +3 -0
- package/dist/css/accordion.css +2 -0
- package/dist/css/activity-rail.css +4 -0
- package/dist/css/affix.css +2 -0
- package/dist/css/alert.css +2 -0
- package/dist/css/anchor.css +2 -0
- package/dist/css/app-shell.css +3 -1
- package/dist/css/approval-card.css +2 -0
- package/dist/css/aspect-ratio.css +2 -0
- package/dist/css/async-section.css +2 -0
- package/dist/css/avatar-group.css +2 -0
- package/dist/css/avatar.css +2 -0
- package/dist/css/back-to-top.css +2 -0
- package/dist/css/badge.css +2 -0
- package/dist/css/banner.css +2 -0
- package/dist/css/bottom-sheet.css +2 -0
- package/dist/css/breadcrumb.css +3 -1
- package/dist/css/button.css +3 -2
- package/dist/css/calendar.css +2 -0
- package/dist/css/card.css +2 -0
- package/dist/css/carousel.css +2 -0
- package/dist/css/cascader.css +2 -0
- package/dist/css/chart.css +2 -0
- package/dist/css/chat-container.css +2 -0
- package/dist/css/chat-input.css +2 -0
- package/dist/css/chat-message.css +2 -0
- package/dist/css/checkbox.css +3 -1
- package/dist/css/chip.css +2 -0
- package/dist/css/code-block.css +2 -0
- package/dist/css/collapsible.css +2 -0
- package/dist/css/color-picker.css +2 -0
- package/dist/css/combobox.css +2 -0
- package/dist/css/command.css +3 -1
- package/dist/css/confirm-dialog.css +2 -0
- package/dist/css/container.css +2 -0
- package/dist/css/context-menu.css +3 -1
- package/dist/css/conversation-list.css +2 -0
- package/dist/css/count-up.css +2 -0
- package/dist/css/data-table.css +2 -0
- package/dist/css/date-range-picker.css +3 -1
- package/dist/css/datepicker.css +2 -0
- package/dist/css/descriptions.css +2 -0
- package/dist/css/dialog.css +2 -0
- package/dist/css/diff-viewer.css +2 -0
- package/dist/css/disclosure.css +2 -0
- package/dist/css/divider.css +2 -0
- package/dist/css/drawer.css +3 -1
- package/dist/css/dropdown-menu.css +4 -2
- package/dist/css/ellipsis.css +2 -0
- package/dist/css/empty.css +2 -0
- package/dist/css/fieldset.css +4 -0
- package/dist/css/file-input.css +2 -0
- package/dist/css/file-preview.css +2 -0
- package/dist/css/flex.css +2 -0
- package/dist/css/float-button.css +2 -0
- package/dist/css/form.css +2 -0
- package/dist/css/grid.css +2 -0
- package/dist/css/hover-card.css +3 -1
- package/dist/css/icon.css +2 -0
- package/dist/css/image.css +2 -0
- package/dist/css/indicator.css +4 -0
- package/dist/css/inline-completion.css +2 -0
- package/dist/css/inline-edit.css +2 -0
- package/dist/css/input.css +3 -1
- package/dist/css/json-view.css +2 -0
- package/dist/css/kbd.css +2 -0
- package/dist/css/list.css +3 -1
- package/dist/css/loading-overlay.css +4 -0
- package/dist/css/log-viewer.css +2 -0
- package/dist/css/mark.css +4 -0
- package/dist/css/markdown-renderer.css +2 -0
- package/dist/css/masonry.css +2 -0
- package/dist/css/mentions.css +2 -0
- package/dist/css/menu.css +5 -3
- package/dist/css/model-picker.css +2 -0
- package/dist/css/navigation-bar.css +2 -0
- package/dist/css/number-input.css +2 -0
- package/dist/css/otp-input.css +2 -0
- package/dist/css/pagination.css +2 -0
- package/dist/css/password-input.css +3 -1
- package/dist/css/popover.css +3 -1
- package/dist/css/progress.css +2 -0
- package/dist/css/prompt-input.css +2 -0
- package/dist/css/qr-code.css +2 -0
- package/dist/css/radio.css +3 -1
- package/dist/css/rating.css +2 -0
- package/dist/css/resizable.css +3 -1
- package/dist/css/result.css +2 -0
- package/dist/css/scroll-area.css +2 -0
- package/dist/css/segmented.css +3 -1
- package/dist/css/select.css +2 -0
- package/dist/css/sidebar.css +3 -1
- package/dist/css/signature.css +2 -0
- package/dist/css/skeleton.css +2 -0
- package/dist/css/slider.css +3 -1
- package/dist/css/sources.css +2 -0
- package/dist/css/sparkline.css +4 -0
- package/dist/css/spinner.css +2 -0
- package/dist/css/spoiler.css +4 -0
- package/dist/css/stat.css +2 -0
- package/dist/css/status-bar.css +4 -0
- package/dist/css/step-timeline.css +2 -0
- package/dist/css/stepper.css +2 -0
- package/dist/css/streaming-text.css +2 -0
- package/dist/css/swipe-action.css +2 -0
- package/dist/css/switch.css +3 -1
- package/dist/css/tab-bar.css +4 -0
- package/dist/css/table.css +2 -0
- package/dist/css/tabs.css +5 -2
- package/dist/css/tag-group.css +2 -0
- package/dist/css/tag-input.css +2 -0
- package/dist/css/tag.css +3 -1
- package/dist/css/textarea.css +2 -0
- package/dist/css/thinking-indicator.css +2 -0
- package/dist/css/time-picker.css +2 -0
- package/dist/css/timeline.css +2 -0
- package/dist/css/toast.css +2 -0
- package/dist/css/toggle.css +2 -0
- package/dist/css/token-counter.css +2 -0
- package/dist/css/tokens.css +2 -0
- package/dist/css/tool-call-card.css +2 -0
- package/dist/css/toolbar.css +2 -0
- package/dist/css/tooltip.css +2 -0
- package/dist/css/tour.css +2 -0
- package/dist/css/transfer.css +2 -0
- package/dist/css/tree-select.css +2 -0
- package/dist/css/tree.css +3 -1
- package/dist/css/typography.css +2 -0
- package/dist/css/upload.css +2 -0
- package/dist/css/virtual-list.css +2 -0
- package/dist/css/visually-hidden.css +4 -0
- package/dist/css/watermark.css +2 -0
- package/dist/css/workbench.css +4 -0
- package/dist/css-manifest.json +202 -1
- package/dist/dates/adapter.js +9 -1
- package/dist/dates/buddhist.js +43 -0
- package/dist/dates/ethiopic.js +67 -0
- package/dist/dates/hebrew.js +95 -0
- package/dist/dates/japanese.js +41 -0
- package/dist/dates/persian.js +121 -0
- package/dist/dates/registry.js +14 -4
- package/dist/haze-ui.css +435 -29
- package/dist/headless/index.js +18 -17
- package/dist/hooks/useBusyPressable.js +10 -0
- package/dist/index.js +263 -241
- package/dist/mcp-docs.json +1073 -33
- package/dist/registry.json +256 -14
- package/dist/types/components/ActivityRail/ActivityRail.d.ts +30 -0
- package/dist/types/components/ActivityRail/index.d.ts +4 -0
- package/dist/types/components/Button/Button.d.ts +50 -5
- package/dist/types/components/Button/ButtonLink.d.ts +27 -15
- package/dist/types/components/Button/styles.d.ts +34 -0
- package/dist/types/components/Combobox/Combobox.d.ts +20 -2
- package/dist/types/components/Combobox/index.d.ts +1 -1
- package/dist/types/components/ConfigProvider/ConfigContext.d.ts +20 -0
- package/dist/types/components/ConfirmDialog/ConfirmDialog.d.ts +1 -1
- package/dist/types/components/ConfirmDialog/confirm.d.ts +33 -0
- package/dist/types/components/ConfirmDialog/index.d.ts +2 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +10 -1
- package/dist/types/components/DateTimePicker/DateTimePicker.d.ts +36 -0
- package/dist/types/components/DateTimePicker/index.d.ts +2 -0
- package/dist/types/components/Datepicker/Datepicker.d.ts +3 -3
- package/dist/types/components/Datepicker/DatepickerCore.d.ts +3 -3
- package/dist/types/components/Drawer/Drawer.d.ts +15 -2
- package/dist/types/components/Drawer/index.d.ts +1 -1
- package/dist/types/components/Fieldset/Fieldset.d.ts +16 -0
- package/dist/types/components/Fieldset/index.d.ts +2 -0
- package/dist/types/components/Highlight/Highlight.d.ts +27 -0
- package/dist/types/components/Highlight/index.d.ts +2 -0
- package/dist/types/components/Indicator/Indicator.d.ts +24 -0
- package/dist/types/components/Indicator/index.d.ts +2 -0
- package/dist/types/components/Input/Input.d.ts +8 -2
- package/dist/types/components/Input/InputCore.d.ts +11 -2
- package/dist/types/components/List/List.d.ts +10 -1
- package/dist/types/components/LoadingOverlay/LoadingOverlay.d.ts +25 -0
- package/dist/types/components/LoadingOverlay/index.d.ts +2 -0
- package/dist/types/components/LocaleProvider/locale.d.ts +11 -0
- package/dist/types/components/LogViewer/LogViewer.d.ts +10 -1
- package/dist/types/components/Mark/Mark.d.ts +12 -0
- package/dist/types/components/Mark/index.d.ts +2 -0
- package/dist/types/components/Menu/MenuItem.d.ts +15 -4
- package/dist/types/components/NumberFormatter/NumberFormatter.d.ts +23 -0
- package/dist/types/components/NumberFormatter/index.d.ts +2 -0
- package/dist/types/components/Resizable/Resizable.d.ts +24 -7
- package/dist/types/components/Resizable/index.d.ts +1 -1
- package/dist/types/components/Select/Select.d.ts +23 -2
- package/dist/types/components/Select/SelectCore.d.ts +4 -1
- package/dist/types/components/Select/SelectFloating.d.ts +6 -1
- package/dist/types/components/Select/index.d.ts +1 -1
- package/dist/types/components/Sparkline/Sparkline.d.ts +31 -0
- package/dist/types/components/Sparkline/index.d.ts +3 -0
- package/dist/types/components/Sparkline/sparkline-styles.d.ts +26 -0
- package/dist/types/components/Spoiler/Spoiler.d.ts +20 -0
- package/dist/types/components/Spoiler/index.d.ts +2 -0
- package/dist/types/components/StatusBar/StatusBar.d.ts +18 -0
- package/dist/types/components/StatusBar/index.d.ts +3 -0
- package/dist/types/components/TabBar/TabBar.d.ts +23 -0
- package/dist/types/components/TabBar/index.d.ts +4 -0
- package/dist/types/components/Tabs/SortableTabList.d.ts +46 -0
- package/dist/types/components/Tabs/Tab.d.ts +54 -3
- package/dist/types/components/Tabs/TabList.d.ts +26 -2
- package/dist/types/components/Tabs/edge-scroll.d.ts +17 -0
- package/dist/types/components/Tabs/index.d.ts +3 -1
- package/dist/types/components/Tabs/tab-metas.d.ts +20 -0
- package/dist/types/components/TagGroup/SortableTagGroup.d.ts +5 -1
- package/dist/types/components/TagGroup/TagGroup.d.ts +24 -2
- package/dist/types/components/TagGroup/index.d.ts +1 -1
- package/dist/types/components/Toast/index.d.ts +2 -2
- package/dist/types/components/Toast/useToast.d.ts +1 -1
- package/dist/types/components/VirtualList/VirtualList.d.ts +20 -1
- package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts +4 -0
- package/dist/types/components/VisuallyHidden/index.d.ts +2 -0
- package/dist/types/components/Workbench/Workbench.d.ts +50 -0
- package/dist/types/components/Workbench/index.d.ts +2 -0
- package/dist/types/dates/adapter.d.ts +33 -6
- package/dist/types/dates/buddhist.d.ts +14 -0
- package/dist/types/dates/ethiopic.d.ts +15 -0
- package/dist/types/dates/hebrew.d.ts +19 -0
- package/dist/types/dates/index.d.ts +5 -0
- package/dist/types/dates/japanese.d.ts +16 -0
- package/dist/types/dates/persian.d.ts +18 -0
- package/dist/types/dates/registry.d.ts +1 -1
- package/dist/types/headless/index.d.ts +9 -0
- package/dist/types/hooks/index.d.ts +13 -0
- package/dist/types/hooks/useBusyPressable.d.ts +33 -0
- package/dist/types/hooks/useElementSize.d.ts +38 -0
- package/dist/types/hooks/useIdle.d.ts +45 -0
- package/dist/types/hooks/useMutationObserver.d.ts +35 -0
- package/dist/types/hooks/useNetwork.d.ts +31 -0
- package/dist/types/hooks/useOrientation.d.ts +23 -0
- package/dist/types/hooks/useResizeObserver.d.ts +48 -0
- package/dist/types/index.d.ts +37 -9
- package/dist/types/utils/sortable.d.ts +8 -1
- package/dist/types/utils/use-end-reached.d.ts +56 -0
- package/dist/types/utils/viewport.d.ts +12 -0
- package/dist/utils/sortable-shared.js +3 -3
- package/dist/utils/sortable.js +15 -14
- package/dist/utils/use-end-reached.js +46 -0
- package/dist/utils/viewport.js +20 -0
- package/package.json +13 -5
- /package/dist/types/components/Toast/{toast.d.ts → toast-channel.d.ts} +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { classnames as e } from "../../utils/classnames.js";
|
|
4
|
+
import t from "../Badge/Badge.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
7
|
+
//#region src/lib/components/TabBar/TabBar.tsx
|
|
8
|
+
var i = "haze-TabBar__bar";
|
|
9
|
+
function a({ children: t, className: r, ...a }) {
|
|
10
|
+
return /* @__PURE__ */ n("nav", {
|
|
11
|
+
"data-slot": "tab-bar",
|
|
12
|
+
...a,
|
|
13
|
+
className: e([i, r]),
|
|
14
|
+
children: t
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
var o = "haze-TabBar__item", s = "haze-TabBar__itemActive", c = "haze-TabBar__indicator", l = "haze-TabBar__itemIcon", u = "haze-TabBar__itemLabel", d = "haze-TabBar__itemBadge";
|
|
18
|
+
function f({ icon: i, label: a, badge: f, active: p = !1, onSelect: m, onReselect: h, className: g, onClick: _, ...v }) {
|
|
19
|
+
return /* @__PURE__ */ r("button", {
|
|
20
|
+
type: "button",
|
|
21
|
+
"data-slot": "tab-bar-item",
|
|
22
|
+
"aria-current": p ? "true" : void 0,
|
|
23
|
+
onClick: (e) => {
|
|
24
|
+
_?.(e), p ? h?.() : m?.();
|
|
25
|
+
},
|
|
26
|
+
...v,
|
|
27
|
+
className: e([
|
|
28
|
+
o,
|
|
29
|
+
p && s,
|
|
30
|
+
g
|
|
31
|
+
]),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ r("span", {
|
|
34
|
+
"data-slot": "tab-bar-item-icon",
|
|
35
|
+
"aria-hidden": "true",
|
|
36
|
+
className: e(l),
|
|
37
|
+
children: [i, f != null && /* @__PURE__ */ n("span", {
|
|
38
|
+
"data-slot": "tab-bar-item-badge",
|
|
39
|
+
className: e(d),
|
|
40
|
+
children: /* @__PURE__ */ n(t, {
|
|
41
|
+
size: "sm",
|
|
42
|
+
children: f
|
|
43
|
+
})
|
|
44
|
+
})]
|
|
45
|
+
}),
|
|
46
|
+
/* @__PURE__ */ n("span", {
|
|
47
|
+
"data-slot": "tab-bar-item-label",
|
|
48
|
+
className: e(u),
|
|
49
|
+
children: a
|
|
50
|
+
}),
|
|
51
|
+
p && /* @__PURE__ */ n("span", {
|
|
52
|
+
"data-slot": "tab-bar-item-indicator",
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
className: e(c)
|
|
55
|
+
})
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { f as TabBarItem, a as default };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { classnames as e } from "../../utils/classnames.js";
|
|
4
|
+
import { useTabsContext as t } from "./TabsContext.js";
|
|
5
|
+
import { collectTabMetas as n } from "./tab-metas.js";
|
|
6
|
+
import r from "./TabList.js";
|
|
7
|
+
import { sortableItemStyle as i } from "../../utils/sortable-shared.js";
|
|
8
|
+
import { SortableRegion as a } from "../../utils/sortable.js";
|
|
9
|
+
import { edgeScrollDelta as o } from "./edge-scroll.js";
|
|
10
|
+
/* empty css */
|
|
11
|
+
import { Children as s, createContext as c, isValidElement as l, useCallback as u, useContext as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
12
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
13
|
+
import { arrayMove as _, horizontalListSortingStrategy as v, useSortable as y } from "@dnd-kit/sortable";
|
|
14
|
+
//#region src/lib/components/Tabs/SortableTabList.tsx
|
|
15
|
+
var b = "haze-SortableTabList__sortableTab", x = "haze-SortableTabList__sortableTabActive", S = "haze-SortableTabList__sortableTabDragging", C = c(null);
|
|
16
|
+
function w(e, t, n) {
|
|
17
|
+
if (n.offsetParent !== t) return null;
|
|
18
|
+
let r = 0;
|
|
19
|
+
for (let e of Array.from(t.children)) {
|
|
20
|
+
let t = e;
|
|
21
|
+
r = Math.max(r, t.offsetLeft + t.offsetWidth);
|
|
22
|
+
}
|
|
23
|
+
if (r <= 0) return null;
|
|
24
|
+
let i = n.offsetLeft, a = -i, o = r - n.offsetWidth - i;
|
|
25
|
+
return {
|
|
26
|
+
x: Math.max(a, Math.min(e.x ?? 0, o)),
|
|
27
|
+
y: 0,
|
|
28
|
+
scaleX: 1,
|
|
29
|
+
scaleY: 1
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function T({ id: n, children: r }) {
|
|
33
|
+
let { value: a, setValue: o } = t(), { listeners: s, setNodeRef: c, transform: h, transition: _, isDragging: v } = y({ id: n }), T = m(null), E = d(C), D = m(null), O = u((e) => {
|
|
34
|
+
D.current = e, c(e);
|
|
35
|
+
}, [c]), k = l(r) ? r.props.value : void 0, A = k !== void 0 && a === k, j = p(() => {
|
|
36
|
+
let e = E?.current, t = D.current;
|
|
37
|
+
return !h || !e || !t ? h : w(h, e, t) ?? h;
|
|
38
|
+
}, [h, E]);
|
|
39
|
+
f(() => {
|
|
40
|
+
if (v) {
|
|
41
|
+
T.current === null && (T.current = a);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
let e = T.current;
|
|
45
|
+
e !== null && (T.current = null, e !== a && o(e));
|
|
46
|
+
}, [
|
|
47
|
+
v,
|
|
48
|
+
a,
|
|
49
|
+
o
|
|
50
|
+
]);
|
|
51
|
+
function M(e) {
|
|
52
|
+
let t = s?.onKeyDown;
|
|
53
|
+
t?.(e), e.defaultPrevented && e.stopPropagation();
|
|
54
|
+
}
|
|
55
|
+
let N = s?.onPointerDown;
|
|
56
|
+
return /* @__PURE__ */ g("span", {
|
|
57
|
+
ref: O,
|
|
58
|
+
"data-slot": "sortable-tab",
|
|
59
|
+
style: i(j, _),
|
|
60
|
+
onPointerDown: N,
|
|
61
|
+
onKeyDownCapture: M,
|
|
62
|
+
className: e([
|
|
63
|
+
b,
|
|
64
|
+
A && x,
|
|
65
|
+
v && S
|
|
66
|
+
]),
|
|
67
|
+
children: r
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function E({ className: e, onReorder: t, children: i }) {
|
|
71
|
+
let c = s.toArray(i), u = c.map((e, t) => {
|
|
72
|
+
if (l(e)) {
|
|
73
|
+
let t = e.props.value;
|
|
74
|
+
if (t !== void 0) return t;
|
|
75
|
+
}
|
|
76
|
+
return t;
|
|
77
|
+
}), d = p(() => n(c), [c]), y = m(null), b = m(0), [x, S] = h(!1);
|
|
78
|
+
return f(() => {
|
|
79
|
+
if (!x) return;
|
|
80
|
+
let e = 0, t = () => {
|
|
81
|
+
let n = y.current;
|
|
82
|
+
if (n) {
|
|
83
|
+
let e = n.getBoundingClientRect();
|
|
84
|
+
n.scrollLeft += o(e, b.current);
|
|
85
|
+
}
|
|
86
|
+
e = requestAnimationFrame(t);
|
|
87
|
+
};
|
|
88
|
+
e = requestAnimationFrame(t);
|
|
89
|
+
let n = (e) => {
|
|
90
|
+
b.current = e.clientX;
|
|
91
|
+
};
|
|
92
|
+
return window.addEventListener("pointermove", n), () => {
|
|
93
|
+
cancelAnimationFrame(e), window.removeEventListener("pointermove", n);
|
|
94
|
+
};
|
|
95
|
+
}, [x]), /* @__PURE__ */ g("div", { children: g(C.Provider, {
|
|
96
|
+
value: y,
|
|
97
|
+
children: /* @__PURE__ */ g(a, {
|
|
98
|
+
ids: u,
|
|
99
|
+
strategy: v,
|
|
100
|
+
onMove: (e, n) => t?.(_(u, e, n).map((e) => u.indexOf(e))),
|
|
101
|
+
onDragStart: (e) => S(e.activatorEvent.type === "pointerdown"),
|
|
102
|
+
onDragEnd: () => S(!1),
|
|
103
|
+
children: /* @__PURE__ */ g(r, {
|
|
104
|
+
className: e,
|
|
105
|
+
listRef: y,
|
|
106
|
+
tabMetas: d,
|
|
107
|
+
children: c.map((e, t) => /* @__PURE__ */ g(T, {
|
|
108
|
+
id: u[t] ?? t,
|
|
109
|
+
children: e
|
|
110
|
+
}, u[t] ?? t))
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
}) });
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
export { E as default };
|
|
@@ -1,30 +1,97 @@
|
|
|
1
1
|
|
|
2
2
|
"use client";
|
|
3
3
|
import { classnames as e } from "../../utils/classnames.js";
|
|
4
|
-
import {
|
|
4
|
+
import { useStrings as t } from "../LocaleProvider/useStrings.js";
|
|
5
|
+
import { useTabsContext as n } from "./TabsContext.js";
|
|
5
6
|
/* empty css */
|
|
6
|
-
import { jsx as
|
|
7
|
+
import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
7
8
|
//#region src/lib/components/Tabs/Tab.tsx
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
var o = "haze-Tab__base", s = "haze-Tab__active", c = "haze-Tab__iconSlot", l = "haze-Tab__statusDot", u = {
|
|
10
|
+
dirty: "haze-Tab__dirty",
|
|
11
|
+
error: "haze-Tab__error",
|
|
12
|
+
syncing: "haze-Tab__syncing"
|
|
13
|
+
}, d = "haze-Tab__srOnly", f = "haze-Tab__labelContent", p = "haze-Tab__closeGlyph", m = "haze-Tab__closablePad", h = {
|
|
14
|
+
dirty: "statusDirty",
|
|
15
|
+
error: "statusError",
|
|
16
|
+
syncing: "statusSyncing"
|
|
17
|
+
};
|
|
18
|
+
function g({ status: t }) {
|
|
19
|
+
return /* @__PURE__ */ i("span", {
|
|
20
|
+
"data-slot": "tab-status-dot",
|
|
21
|
+
"aria-hidden": "true",
|
|
22
|
+
className: e([l, u[t]])
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function _({ value: l, icon: u, status: _, statusLabel: v, closable: y = !1, closeLabel: b, onClose: x, className: S, children: C }) {
|
|
26
|
+
let { value: w, setValue: T, classNames: E } = n(), D = t("tabs"), O = w === l, k = (e) => {
|
|
27
|
+
e.stopPropagation(), x?.(e);
|
|
28
|
+
}, A = /* @__PURE__ */ a(r, { children: [
|
|
29
|
+
u !== void 0 && /* @__PURE__ */ i("span", {
|
|
30
|
+
"data-slot": "icon",
|
|
31
|
+
"aria-hidden": "true",
|
|
32
|
+
className: e(c),
|
|
33
|
+
children: u
|
|
34
|
+
}),
|
|
35
|
+
C,
|
|
36
|
+
_ !== void 0 && /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(g, { status: _ }), /* @__PURE__ */ i("span", {
|
|
37
|
+
className: e(d),
|
|
38
|
+
children: v ?? D[h[_]]
|
|
39
|
+
})] })
|
|
40
|
+
] });
|
|
41
|
+
return y ? /* @__PURE__ */ a("div", {
|
|
42
|
+
"data-slot": "tab",
|
|
43
|
+
role: "tab",
|
|
44
|
+
"aria-selected": O,
|
|
45
|
+
"aria-controls": `tabpanel-${l}`,
|
|
46
|
+
tabIndex: O ? 0 : -1,
|
|
47
|
+
"data-haze-tab-value": l,
|
|
48
|
+
onKeyDown: (e) => {
|
|
49
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
50
|
+
e.preventDefault(), T(l);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
e.key === "Delete" && (e.preventDefault(), x?.(e));
|
|
54
|
+
},
|
|
55
|
+
onClick: () => T(l),
|
|
56
|
+
className: e([
|
|
57
|
+
o,
|
|
58
|
+
O && s,
|
|
59
|
+
m,
|
|
60
|
+
S,
|
|
61
|
+
E?.tab
|
|
62
|
+
]),
|
|
63
|
+
children: [/* @__PURE__ */ i("span", {
|
|
64
|
+
"data-slot": "tab-label",
|
|
65
|
+
className: e(f),
|
|
66
|
+
children: A
|
|
67
|
+
}), /* @__PURE__ */ i("span", {
|
|
68
|
+
role: "button",
|
|
69
|
+
"data-slot": "tab-close",
|
|
70
|
+
"aria-label": b ?? D.close,
|
|
71
|
+
onClick: k,
|
|
72
|
+
className: e(p),
|
|
73
|
+
children: /* @__PURE__ */ i("span", {
|
|
74
|
+
"aria-hidden": "true",
|
|
75
|
+
children: "×"
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
}) : /* @__PURE__ */ i("button", {
|
|
12
79
|
type: "button",
|
|
13
80
|
"data-slot": "tab",
|
|
14
81
|
role: "tab",
|
|
15
|
-
"aria-selected":
|
|
16
|
-
"aria-controls": `tabpanel-${
|
|
17
|
-
tabIndex:
|
|
18
|
-
"data-haze-tab-value":
|
|
19
|
-
onClick: () => l
|
|
82
|
+
"aria-selected": O,
|
|
83
|
+
"aria-controls": `tabpanel-${l}`,
|
|
84
|
+
tabIndex: O ? 0 : -1,
|
|
85
|
+
"data-haze-tab-value": l,
|
|
86
|
+
onClick: () => T(l),
|
|
20
87
|
className: e([
|
|
21
|
-
r,
|
|
22
|
-
d && i,
|
|
23
88
|
o,
|
|
24
|
-
|
|
89
|
+
O && s,
|
|
90
|
+
S,
|
|
91
|
+
E?.tab
|
|
25
92
|
]),
|
|
26
|
-
children:
|
|
93
|
+
children: A
|
|
27
94
|
});
|
|
28
95
|
}
|
|
29
96
|
//#endregion
|
|
30
|
-
export {
|
|
97
|
+
export { g as TabStatusDot, _ as default };
|
|
@@ -2,47 +2,103 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import { classnames as e } from "../../utils/classnames.js";
|
|
4
4
|
import { getDirection as t } from "../../utils/direction.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useStrings as n } from "../LocaleProvider/useStrings.js";
|
|
6
|
+
import { useTabsContext as r } from "./TabsContext.js";
|
|
7
|
+
import i from "../Menu/Menu.js";
|
|
8
|
+
import { TabStatusDot as a } from "./Tab.js";
|
|
9
|
+
import { collectTabMetas as o } from "./tab-metas.js";
|
|
6
10
|
/* empty css */
|
|
7
|
-
import { useRef as
|
|
8
|
-
import { jsx as
|
|
11
|
+
import { useCallback as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
|
|
12
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
13
|
+
import { useControl as m } from "react-use-control";
|
|
9
14
|
//#region src/lib/components/Tabs/TabList.tsx
|
|
10
|
-
var
|
|
11
|
-
function
|
|
12
|
-
let { setValue:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
let n = Array.from(d.current?.querySelectorAll(o) ?? []);
|
|
19
|
-
if (n.length === 0) return;
|
|
20
|
-
let r = n.indexOf(document.activeElement), i = (e) => {
|
|
21
|
-
let t = n[e];
|
|
22
|
-
t && (t.focus(), l(t.dataset.hazeTabValue ?? ""));
|
|
23
|
-
}, a = t(d.current) === "rtl" ? "ArrowLeft" : "ArrowRight", s = a === "ArrowLeft" ? "ArrowRight" : "ArrowLeft";
|
|
24
|
-
switch (e.key) {
|
|
25
|
-
case a:
|
|
26
|
-
e.preventDefault(), i(r < 0 ? 0 : (r + 1) % n.length);
|
|
27
|
-
return;
|
|
28
|
-
case s:
|
|
29
|
-
e.preventDefault(), i(r < 0 ? n.length - 1 : (r - 1 + n.length) % n.length);
|
|
30
|
-
return;
|
|
31
|
-
case "Home":
|
|
32
|
-
e.preventDefault(), i(0);
|
|
33
|
-
return;
|
|
34
|
-
case "End":
|
|
35
|
-
e.preventDefault(), i(n.length - 1);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
15
|
+
var h = "haze-TabList__base", g = "haze-TabList__grow", _ = "haze-TabList__bar", v = "haze-TabList__overflowArea", y = "haze-TabList__overflowButton", b = "haze-TabList__menuTabLabel", x = "[role=\"tab\"]:not([disabled])";
|
|
16
|
+
function S({ className: S, listRef: C, overflowLabel: w, children: T, tabMetas: E }) {
|
|
17
|
+
let { value: D, setValue: O, classNames: k } = r(), A = n("tabs"), j = u(null), M = C ?? j, [N, P] = d(!1), [, F, I] = m(void 0, !1), L = l(() => E ?? o(T), [E, T]), R = l(() => L.length === 0 ? [] : [{
|
|
18
|
+
type: "group",
|
|
19
|
+
key: `tab-list-overflow-${D}`,
|
|
20
|
+
value: D,
|
|
21
|
+
onValueChange: (e) => {
|
|
22
|
+
O(e), F(!1);
|
|
38
23
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
24
|
+
children: L.map((t) => ({
|
|
25
|
+
type: "radio",
|
|
26
|
+
key: t.value,
|
|
27
|
+
value: t.value,
|
|
28
|
+
icon: t.icon,
|
|
29
|
+
label: t.status ? /* @__PURE__ */ p("span", {
|
|
30
|
+
className: e(b),
|
|
31
|
+
children: [/* @__PURE__ */ f(a, { status: t.status }), t.label]
|
|
32
|
+
}) : t.label
|
|
33
|
+
}))
|
|
34
|
+
}], [
|
|
35
|
+
L,
|
|
36
|
+
D,
|
|
37
|
+
O,
|
|
38
|
+
F
|
|
39
|
+
]), z = s(() => {
|
|
40
|
+
let e = M.current;
|
|
41
|
+
e && P(e.scrollWidth > e.clientWidth + 1);
|
|
42
|
+
}, []);
|
|
43
|
+
return c(() => {
|
|
44
|
+
let e = M.current;
|
|
45
|
+
if (!e || (z(), typeof ResizeObserver > "u")) return;
|
|
46
|
+
let t = new ResizeObserver(z);
|
|
47
|
+
return t.observe(e), () => t.disconnect();
|
|
48
|
+
}, [z, T]), /* @__PURE__ */ p("div", {
|
|
49
|
+
"data-slot": "tab-bar",
|
|
50
|
+
className: e(_),
|
|
51
|
+
children: [/* @__PURE__ */ f("div", {
|
|
52
|
+
ref: M,
|
|
53
|
+
"data-slot": "tab-list",
|
|
54
|
+
role: "tablist",
|
|
55
|
+
onKeyDown: (e) => {
|
|
56
|
+
let n = Array.from(M.current?.querySelectorAll(x) ?? []);
|
|
57
|
+
if (n.length === 0) return;
|
|
58
|
+
let r = document.activeElement, i = n.findIndex((e) => e.contains(r)), a = (e) => {
|
|
59
|
+
let t = n[e];
|
|
60
|
+
t && (t.focus(), O(t.dataset.hazeTabValue ?? ""));
|
|
61
|
+
}, o = t(M.current) === "rtl" ? "ArrowLeft" : "ArrowRight", s = o === "ArrowLeft" ? "ArrowRight" : "ArrowLeft";
|
|
62
|
+
switch (e.key) {
|
|
63
|
+
case o:
|
|
64
|
+
e.preventDefault(), a(i < 0 ? 0 : (i + 1) % n.length);
|
|
65
|
+
return;
|
|
66
|
+
case s:
|
|
67
|
+
e.preventDefault(), a(i < 0 ? n.length - 1 : (i - 1 + n.length) % n.length);
|
|
68
|
+
return;
|
|
69
|
+
case "Home":
|
|
70
|
+
e.preventDefault(), a(0);
|
|
71
|
+
return;
|
|
72
|
+
case "End":
|
|
73
|
+
e.preventDefault(), a(n.length - 1);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
className: e([
|
|
78
|
+
h,
|
|
79
|
+
g,
|
|
80
|
+
S,
|
|
81
|
+
k?.list
|
|
82
|
+
]),
|
|
83
|
+
children: T
|
|
84
|
+
}), N && L.length > 0 && /* @__PURE__ */ f("div", {
|
|
85
|
+
"data-slot": "tab-overflow",
|
|
86
|
+
className: e(v),
|
|
87
|
+
children: /* @__PURE__ */ f(i, {
|
|
88
|
+
open: I,
|
|
89
|
+
trigger: /* @__PURE__ */ f("button", {
|
|
90
|
+
type: "button",
|
|
91
|
+
"aria-label": w ?? A.moreTabs,
|
|
92
|
+
className: e(y),
|
|
93
|
+
children: /* @__PURE__ */ f("span", {
|
|
94
|
+
"aria-hidden": "true",
|
|
95
|
+
children: "⋯"
|
|
96
|
+
})
|
|
97
|
+
}),
|
|
98
|
+
items: R
|
|
99
|
+
})
|
|
100
|
+
})]
|
|
45
101
|
});
|
|
46
102
|
}
|
|
47
103
|
//#endregion
|
|
48
|
-
export {
|
|
104
|
+
export { S as default };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import e from "./Tabs.js";
|
|
3
|
-
import t from "./
|
|
4
|
-
import n from "./
|
|
3
|
+
import t from "./Tab.js";
|
|
4
|
+
import n from "./TabList.js";
|
|
5
5
|
import r from "./TabPanel.js";
|
|
6
|
-
|
|
6
|
+
import i from "./SortableTabList.js";
|
|
7
|
+
export { i as SortableTabList, t as Tab, n as TabList, r as TabPanel, e as Tabs };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import e from "./Tab.js";
|
|
3
|
+
import { Children as t, Fragment as n, isValidElement as r } from "react";
|
|
4
|
+
//#region src/lib/components/Tabs/tab-metas.ts
|
|
5
|
+
function i(i) {
|
|
6
|
+
let a = [], o = (i) => {
|
|
7
|
+
t.forEach(i, (t) => {
|
|
8
|
+
if (r(t)) {
|
|
9
|
+
if (t.type === e) {
|
|
10
|
+
let { value: e, icon: n, status: r, children: i } = t.props;
|
|
11
|
+
a.push({
|
|
12
|
+
value: e,
|
|
13
|
+
icon: n,
|
|
14
|
+
status: r,
|
|
15
|
+
label: i
|
|
16
|
+
});
|
|
17
|
+
} else t.type === n && o(t.props.children);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
return o(i), a;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as collectTabMetas };
|
|
@@ -1,27 +1,39 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { classnames as e } from "../../utils/classnames.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { useConfigDefaults as t } from "../ConfigProvider/useConfigDefaults.js";
|
|
4
|
+
import { SortableItem as n, SortableRegion as r } from "../../utils/sortable.js";
|
|
5
|
+
import { group as i } from "./tag-group-styles.js";
|
|
6
|
+
import { TagGroupItemClassNamesContext as a } from "./TagGroup.js";
|
|
7
|
+
import { Children as o } from "react";
|
|
8
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
9
|
+
import { arrayMove as c, rectSortingStrategy as l } from "@dnd-kit/sortable";
|
|
8
10
|
//#region src/lib/components/TagGroup/SortableTagGroup.tsx
|
|
9
|
-
function
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
function u({ children: u, className: d, classNames: f, onReorder: p }) {
|
|
12
|
+
let m = t("TagGroup"), h = m.classNames ? {
|
|
13
|
+
...m.classNames,
|
|
14
|
+
...f
|
|
15
|
+
} : f, g = o.toArray(u), _ = g.map((e, t) => t);
|
|
16
|
+
return /* @__PURE__ */ s(a.Provider, {
|
|
17
|
+
value: h,
|
|
18
|
+
children: /* @__PURE__ */ s("div", {
|
|
19
|
+
"data-slot": "tag-group",
|
|
20
|
+
role: "group",
|
|
21
|
+
className: e([
|
|
22
|
+
i,
|
|
23
|
+
d,
|
|
24
|
+
h?.root
|
|
25
|
+
]),
|
|
26
|
+
children: /* @__PURE__ */ s(r, {
|
|
27
|
+
ids: _,
|
|
28
|
+
strategy: l,
|
|
29
|
+
onMove: (e, t) => p?.(c(_, e, t)),
|
|
30
|
+
children: g.map((e, t) => /* @__PURE__ */ s(n, {
|
|
31
|
+
id: t,
|
|
32
|
+
children: e
|
|
33
|
+
}, t))
|
|
34
|
+
})
|
|
23
35
|
})
|
|
24
36
|
});
|
|
25
37
|
}
|
|
26
38
|
//#endregion
|
|
27
|
-
export {
|
|
39
|
+
export { u as default };
|
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { classnames as e } from "../../utils/classnames.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useConfigDefaults as t } from "../ConfigProvider/useConfigDefaults.js";
|
|
4
|
+
import { group as n } from "./tag-group-styles.js";
|
|
5
|
+
import { createContext as r } from "react";
|
|
6
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
7
|
//#region src/lib/components/TagGroup/TagGroup.tsx
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
var a = r(void 0);
|
|
9
|
+
function o({ children: r, className: o, classNames: s }) {
|
|
10
|
+
let c = t("TagGroup"), l = c.classNames ? {
|
|
11
|
+
...c.classNames,
|
|
12
|
+
...s
|
|
13
|
+
} : s;
|
|
14
|
+
return /* @__PURE__ */ i(a.Provider, {
|
|
15
|
+
value: l,
|
|
16
|
+
children: /* @__PURE__ */ i("div", {
|
|
17
|
+
"data-slot": "tag-group",
|
|
18
|
+
role: "group",
|
|
19
|
+
className: e([
|
|
20
|
+
n,
|
|
21
|
+
o,
|
|
22
|
+
l?.root
|
|
23
|
+
]),
|
|
24
|
+
children: r
|
|
25
|
+
})
|
|
12
26
|
});
|
|
13
27
|
}
|
|
14
28
|
//#endregion
|
|
15
|
-
export {
|
|
29
|
+
export { a as TagGroupItemClassNamesContext, o as default };
|
|
@@ -3,30 +3,36 @@
|
|
|
3
3
|
import { classnames as e } from "../../utils/classnames.js";
|
|
4
4
|
import { useStrings as t } from "../LocaleProvider/useStrings.js";
|
|
5
5
|
import { sortableHandle as n, useSortableHandle as r } from "../../utils/sortable-handle.js";
|
|
6
|
+
import { TagGroupItemClassNamesContext as i } from "./TagGroup.js";
|
|
6
7
|
/* empty css */
|
|
7
|
-
import {
|
|
8
|
+
import { useContext as a } from "react";
|
|
9
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
8
10
|
//#region src/lib/components/TagGroup/TagGroupItem.tsx
|
|
9
|
-
var
|
|
10
|
-
function
|
|
11
|
-
let
|
|
11
|
+
var c = "haze-TagGroupItem__tag", l = "haze-TagGroupItem__closeBtn";
|
|
12
|
+
function u({ children: u, onClose: d, className: f }) {
|
|
13
|
+
let p = t("tagGroup"), m = a(i), h = r(), g = h ? /* @__PURE__ */ o("span", {
|
|
12
14
|
"data-slot": "drag-handle",
|
|
13
|
-
...
|
|
14
|
-
...
|
|
15
|
+
...h.attributes,
|
|
16
|
+
...h.listeners,
|
|
15
17
|
className: e([n]),
|
|
16
|
-
children:
|
|
17
|
-
}) :
|
|
18
|
-
return /* @__PURE__ */
|
|
18
|
+
children: u
|
|
19
|
+
}) : u;
|
|
20
|
+
return /* @__PURE__ */ s("span", {
|
|
19
21
|
"data-slot": "tag-group-item",
|
|
20
|
-
className: e([
|
|
21
|
-
|
|
22
|
+
className: e([
|
|
23
|
+
c,
|
|
24
|
+
m?.item,
|
|
25
|
+
f
|
|
26
|
+
]),
|
|
27
|
+
children: [g, d && /* @__PURE__ */ o("button", {
|
|
22
28
|
"data-slot": "remove-button",
|
|
23
29
|
type: "button",
|
|
24
|
-
onClick:
|
|
25
|
-
"aria-label":
|
|
26
|
-
className: e([
|
|
30
|
+
onClick: d,
|
|
31
|
+
"aria-label": p.remove,
|
|
32
|
+
className: e([l, m?.removeButton]),
|
|
27
33
|
children: "x"
|
|
28
34
|
})]
|
|
29
35
|
});
|
|
30
36
|
}
|
|
31
37
|
//#endregion
|
|
32
|
-
export {
|
|
38
|
+
export { u as default };
|