@wisdomgarden/torque 0.2.1 → 0.2.3

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.
Files changed (63) hide show
  1. package/dist/common/is-dev.d.ts +1 -0
  2. package/dist/common/is-dev.js +5 -0
  3. package/dist/components/_inner/drawer/base-bottom-drawer.d.ts +1 -1
  4. package/dist/components/_inner/drawer/base-bottom-drawer.js +52 -44
  5. package/dist/components/_inner/menu/_web/menu.web.js +83 -72
  6. package/dist/components/_inner/portal/index.d.ts +1 -0
  7. package/dist/components/_inner/portal/index.js +5 -0
  8. package/dist/components/_inner/portal/portal.d.ts +14 -0
  9. package/dist/components/_inner/portal/portal.js +19 -0
  10. package/dist/components/button/styles/button-variables.module.css.js +1 -1
  11. package/dist/components/drawer/drawer.d.ts +1 -1
  12. package/dist/components/drawer/drawer.js +42 -34
  13. package/dist/components/modal/index.d.ts +1 -1
  14. package/dist/components/modal/modal.d.ts +7 -4
  15. package/dist/components/modal/modal.js +191 -44
  16. package/dist/components/modal/modal.module.css.js +20 -6
  17. package/dist/components/modal/modal.types.d.ts +96 -0
  18. package/dist/components/modal-deprecated/index.d.ts +2 -0
  19. package/dist/components/modal-deprecated/index.js +5 -0
  20. package/dist/components/modal-deprecated/modal-deprecated.d.ts +11 -0
  21. package/dist/components/modal-deprecated/modal-deprecated.js +70 -0
  22. package/dist/components/modal-deprecated/modal-deprecated.module.css.js +10 -0
  23. package/dist/components/notifications/index.d.ts +2 -0
  24. package/dist/components/notifications/index.js +4 -2
  25. package/dist/components/notifications/notifications-container.d.ts +9 -0
  26. package/dist/components/notifications/notifications-container.js +22 -0
  27. package/dist/components/overlay-layer/constants.d.ts +14 -0
  28. package/dist/components/overlay-layer/constants.js +8 -0
  29. package/dist/components/overlay-layer/index.d.ts +5 -0
  30. package/dist/components/overlay-layer/index.js +10 -0
  31. package/dist/components/overlay-layer/overlay-parent-context.d.ts +6 -0
  32. package/dist/components/overlay-layer/overlay-parent-context.js +18 -0
  33. package/dist/components/overlay-layer/overlay-stack-debug.d.ts +24 -0
  34. package/dist/components/overlay-layer/overlay-stack-debug.js +151 -0
  35. package/dist/components/overlay-layer/overlay-stack.d.ts +38 -0
  36. package/dist/components/overlay-layer/overlay-stack.js +137 -0
  37. package/dist/components/overlay-layer/overlay-tier-scope.d.ts +12 -0
  38. package/dist/components/overlay-layer/overlay-tier-scope.js +16 -0
  39. package/dist/components/overlay-layer/types.d.ts +63 -0
  40. package/dist/components/overlay-layer/use-mantine-overlay-layer.d.ts +21 -0
  41. package/dist/components/overlay-layer/use-mantine-overlay-layer.js +24 -0
  42. package/dist/components/overlay-layer/use-overlay-layer.d.ts +26 -0
  43. package/dist/components/overlay-layer/use-overlay-layer.js +77 -0
  44. package/dist/components/popover/hooks.d.ts +0 -1
  45. package/dist/components/popover/hooks.js +69 -83
  46. package/dist/components/popover/popover-context.d.ts +0 -1
  47. package/dist/components/popover/popover-context.js +3 -4
  48. package/dist/components/popover/popover-dropdown.js +110 -91
  49. package/dist/components/popover/popover.js +120 -129
  50. package/dist/components/popover/popover.types.d.ts +18 -5
  51. package/dist/components/tooltip/index.d.ts +10 -2
  52. package/dist/components/tooltip/index.js +100 -92
  53. package/dist/index.css +1 -1
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.js +193 -182
  56. package/dist/provider/hooks.js +12 -11
  57. package/dist/provider/ui-context.d.ts +10 -0
  58. package/dist/provider/ui-context.js +8 -7
  59. package/dist/provider/ui-provider.d.ts +23 -1
  60. package/dist/provider/ui-provider.js +17 -10
  61. package/package.json +3 -3
  62. package/dist/components/popover/popover-stack.d.ts +0 -10
  63. package/dist/components/popover/popover-stack.js +0 -24
package/dist/index.js CHANGED
@@ -7,208 +7,219 @@ import { useCssVariableValues as n } from "./common/use-css-variable-values.js";
7
7
  import { comboboxTransitionProps as s } from "./common/util.js";
8
8
  export * from "@wisdomgarden/torque-icons";
9
9
  import { formatTemplate as c } from "./locale/types.js";
10
- import { zhHans as k } from "./locale/zh-Hans.js";
11
- import { en as d } from "./locale/en.js";
10
+ import { zhHans as d } from "./locale/zh-Hans.js";
11
+ import { en as P } from "./locale/en.js";
12
12
  import { zhHant as g } from "./locale/zh-Hant.js";
13
13
  import { ar as D } from "./locale/ar.js";
14
14
  import { ko as F } from "./locale/ko.js";
15
- import { UiContext as h, uiContextDefaultValue as L } from "./provider/ui-context.js";
16
- import { DefaultUiLink as w } from "./provider/ui-link.js";
17
- import { UiProvider as R } from "./provider/ui-provider.js";
18
- import { useCheckDevice as U, useDeviceType as V, useLocale as W, useUiContext as y, useUiLink as G } from "./provider/hooks.js";
19
- import { Button as z } from "./components/button/button.js";
20
- import { IconButton as j } from "./components/icon-button/icon-button.js";
21
- import { LinkButton as E } from "./components/link-button/link-button.js";
22
- import { LinkIconButton as K } from "./components/link-icon-button/link-icon-button.js";
23
- import { Tooltip as Q } from "./components/tooltip/index.js";
24
- import { Popover as Y } from "./components/popover/index.js";
25
- import { Drawer as _ } from "./components/drawer/drawer.js";
15
+ import { UiContext as L, uiContextDefaultValue as v } from "./provider/ui-context.js";
16
+ import { DefaultUiLink as R } from "./provider/ui-link.js";
17
+ import { UiProvider as M } from "./provider/ui-provider.js";
18
+ import { useCheckDevice as y, useDeviceType as H, useLocale as A, useUiContext as N, useUiLink as U } from "./provider/hooks.js";
19
+ import { Button as W } from "./components/button/button.js";
20
+ import { IconButton as z } from "./components/icon-button/icon-button.js";
21
+ import { LinkButton as _ } from "./components/link-button/link-button.js";
22
+ import { LinkIconButton as j } from "./components/link-icon-button/link-icon-button.js";
23
+ import { Tooltip as J } from "./components/tooltip/index.js";
24
+ import { Popover as Q } from "./components/popover/index.js";
25
+ import { Drawer as Z } from "./components/drawer/drawer.js";
26
26
  import { drawers as oo } from "./components/drawer/drawer-events.js";
27
27
  import { DrawerManager as eo } from "./components/drawer/drawes.js";
28
28
  import { BottomDrawer as po } from "./components/bottom-drawer/bottom-drawer.js";
29
29
  import { Modal as xo } from "./components/modal/modal.js";
30
- import { Menu as ao } from "./components/menu/menu.js";
31
- import { messages as no } from "./components/message/messages.js";
32
- import { notifications as so } from "./components/notifications/notifications.js";
33
- import { Notification as To } from "./components/notifications/notification.js";
34
- import { Alert as bo, AlertSkeleton as ko } from "./components/alert/alert.js";
35
- import { StickyBox as Co } from "./components/sticky-box.js";
36
- import { Tag as So } from "./components/tag/tag.js";
37
- import { ClosableTag as Io } from "./components/tag/closable-tag.js";
38
- import { IconTag as Bo } from "./components/tag/icon-tag.js";
39
- import { LinkTag as Lo } from "./components/tag/link-tag.js";
40
- import { Tabs as wo } from "./components/tab/tabs.js";
41
- import { TabsTab as Ro } from "./components/tab/subs/tabs-tab.js";
42
- import { TabsPanel as Uo } from "./components/tab/subs/tabs-panel.js";
43
- import { TabsList as Wo } from "./components/tab/subs/tabs-list.js";
44
- import { TabsLinkTab as Go } from "./components/tab/subs/tabs-link-tab.js";
45
- import { Table as zo, TableSkeleton as Ao } from "./components/table/table.js";
46
- import { TableHeaderTitle as qo } from "./components/_inner/table/table-header-title.js";
47
- import { TableHeadSort as Jo } from "./components/_inner/table/head/table-head-sort.js";
48
- import { TableHeadFilterSingleSelect as Oo } from "./components/_inner/table/head/table-head-filter-single-select.js";
49
- import { TableHeadFilterMultiSelect as Xo } from "./components/_inner/table/head/table-head-filter-multi-select.js";
50
- import { TableHeadFilterSearch as Zo } from "./components/_inner/table/head/table-head-filter-search.js";
51
- import { Pagination as $o, getPaginationRange as or } from "./components/table-pagination/pagination.js";
52
- import { TablePagination as er } from "./components/table-pagination/table-pagination.js";
53
- import { TreeContextProvider as pr, useTreeContext as mr } from "./components/tree/tree-context.js";
54
- import { TreeNode as fr } from "./components/tree/tree-node.js";
55
- import { TreeNodeList as ir } from "./components/tree/tree-node-list.js";
56
- import { TreeContent as lr } from "./components/tree/tree-content.js";
57
- import { Tree as ur } from "./components/tree/tree.js";
58
- import { useTree as cr } from "./components/tree/hooks/use-tree.js";
59
- import { TreeSelect as kr } from "./components/tree-select/tree-select.js";
60
- import { VirtualizedTreeSelect as dr } from "./components/virtualized-tree-select/virtualized-tree-select.js";
61
- import { DatePicker as gr } from "./components/date-picker/date-picker.js";
62
- import { DateRangePicker as Dr } from "./components/date-picker/date-range-picker.js";
63
- import { TimePicker as Fr } from "./components/date-picker/time-picker.js";
64
- import { TimeRangePicker as hr } from "./components/date-picker/time-range-picker.js";
65
- import { DateTimePicker as vr } from "./components/date-picker/date-time-picker.js";
66
- import { DateTimeRangePicker as Hr } from "./components/date-picker/date-time-range-picker.js";
67
- import { Filter as Mr } from "./components/filter/filter.js";
68
- import { IconFilter as Vr } from "./components/filter/icon-filter.js";
69
- import { MultiFilter as yr } from "./components/filter/multi-filter.js";
70
- import { DataFilter as Nr } from "./components/data-filter/data-filter.js";
71
- import { FilterConditionTags as Ar } from "./components/data-filter/filter-condition-tags/filter-condition-tags.js";
72
- import { BaseInput as qr } from "./components/base-input/base-input.js";
73
- import { BaseInputWrapper as Jr } from "./components/base-input/subs/base-input-wrapper.js";
74
- import { BaseInputTarget as Or } from "./components/base-input/subs/base-input-target.js";
75
- import { getFormProps as Xr } from "./components/base-input/util.js";
76
- import { FormItemWrapper as Zr } from "./components/form-wrapper/form-item-wrapper.js";
77
- import { FormItemWrapperDefaultsProvider as $r, useFormItemWrapperDefaults as oe } from "./components/form-wrapper/form-item-wrapper-defaults-context.js";
78
- import { TextInput as ee } from "./components/text-input/text-input.js";
79
- import { TextArea as pe } from "./components/text-area/text-area.js";
80
- import { NumberInput as xe } from "./components/number-input/number-input.js";
81
- import { PasswordInput as ae } from "./components/password-input/password-input.js";
82
- import { Checkbox as ne } from "./components/checkbox/checkbox.js";
83
- import { CheckboxContext as se, CheckboxGroup as ue } from "./components/checkbox/checkbox-group.js";
84
- import { Radio as ce } from "./components/radio/index.js";
85
- import { Switch as ke } from "./components/switch/switch.js";
86
- import { SwitchGroup as de } from "./components/switch/switch-group.js";
87
- import { Select as ge } from "./components/select/select.js";
88
- import { MultiSelect as De } from "./components/multi-select/multi-select.js";
89
- import { Combobox as Fe } from "./components/combobox/combobox.js";
90
- import { useComboboxContext as he } from "./components/combobox/combobox-context.js";
91
- import { useCombobox as ve } from "./components/combobox/hooks/use-combobox.js";
92
- import { Box as He } from "./components/box/box.js";
93
- import { Text as Me } from "./components/text/text.js";
94
- import { Flex as Ve } from "./components/flex/flex.js";
95
- import { Group as ye } from "./components/group/group.js";
96
- import { Stack as Ne } from "./components/stack/stack.js";
97
- import { Paper as Ae } from "./components/paper/paper.js";
98
- import { UnstyledButton as qe } from "./components/unstyled-button/unstyled-button.js";
99
- import { PopoverDropdown as Je } from "./components/popover/popover-dropdown.js";
100
- import { PopoverTarget as Oe } from "./components/popover/popover-target.js";
101
- import { RadioGroup as Xe, useRadioContext as Ye } from "./components/radio/radio-group.js";
30
+ import { ModalDeprecated as ao } from "./components/modal-deprecated/modal-deprecated.js";
31
+ import { useOverlayLayer as no } from "./components/overlay-layer/use-overlay-layer.js";
32
+ import { OverlayTierScope as so } from "./components/overlay-layer/overlay-tier-scope.js";
33
+ import { OVERLAY_BASE as To, OVERLAY_TOP_MIN as co } from "./components/overlay-layer/constants.js";
34
+ import { Menu as ko } from "./components/menu/menu.js";
35
+ import { messages as Co } from "./components/message/messages.js";
36
+ import { notifications as So } from "./components/notifications/notifications.js";
37
+ import { Notification as Io } from "./components/notifications/notification.js";
38
+ import { NotificationsContainer as Bo } from "./components/notifications/notifications-container.js";
39
+ import { Alert as vo, AlertSkeleton as ho } from "./components/alert/alert.js";
40
+ import { StickyBox as wo } from "./components/sticky-box.js";
41
+ import { Tag as Vo } from "./components/tag/tag.js";
42
+ import { ClosableTag as Ho } from "./components/tag/closable-tag.js";
43
+ import { IconTag as No } from "./components/tag/icon-tag.js";
44
+ import { LinkTag as Oo } from "./components/tag/link-tag.js";
45
+ import { Tabs as Go } from "./components/tab/tabs.js";
46
+ import { TabsTab as Eo } from "./components/tab/subs/tabs-tab.js";
47
+ import { TabsPanel as Yo } from "./components/tab/subs/tabs-panel.js";
48
+ import { TabsList as qo } from "./components/tab/subs/tabs-list.js";
49
+ import { TabsLinkTab as Ko } from "./components/tab/subs/tabs-link-tab.js";
50
+ import { Table as Xo, TableSkeleton as Zo } from "./components/table/table.js";
51
+ import { TableHeaderTitle as or } from "./components/_inner/table/table-header-title.js";
52
+ import { TableHeadSort as er } from "./components/_inner/table/head/table-head-sort.js";
53
+ import { TableHeadFilterSingleSelect as pr } from "./components/_inner/table/head/table-head-filter-single-select.js";
54
+ import { TableHeadFilterMultiSelect as xr } from "./components/_inner/table/head/table-head-filter-multi-select.js";
55
+ import { TableHeadFilterSearch as ar } from "./components/_inner/table/head/table-head-filter-search.js";
56
+ import { Pagination as nr, getPaginationRange as lr } from "./components/table-pagination/pagination.js";
57
+ import { TablePagination as ur } from "./components/table-pagination/table-pagination.js";
58
+ import { TreeContextProvider as cr, useTreeContext as br } from "./components/tree/tree-context.js";
59
+ import { TreeNode as kr } from "./components/tree/tree-node.js";
60
+ import { TreeNodeList as Cr } from "./components/tree/tree-node-list.js";
61
+ import { TreeContent as Sr } from "./components/tree/tree-content.js";
62
+ import { Tree as Ir } from "./components/tree/tree.js";
63
+ import { useTree as Br } from "./components/tree/hooks/use-tree.js";
64
+ import { TreeSelect as vr } from "./components/tree-select/tree-select.js";
65
+ import { VirtualizedTreeSelect as Rr } from "./components/virtualized-tree-select/virtualized-tree-select.js";
66
+ import { DatePicker as Mr } from "./components/date-picker/date-picker.js";
67
+ import { DateRangePicker as yr } from "./components/date-picker/date-range-picker.js";
68
+ import { TimePicker as Ar } from "./components/date-picker/time-picker.js";
69
+ import { TimeRangePicker as Ur } from "./components/date-picker/time-range-picker.js";
70
+ import { DateTimePicker as Wr } from "./components/date-picker/date-time-picker.js";
71
+ import { DateTimeRangePicker as zr } from "./components/date-picker/date-time-range-picker.js";
72
+ import { Filter as _r } from "./components/filter/filter.js";
73
+ import { IconFilter as jr } from "./components/filter/icon-filter.js";
74
+ import { MultiFilter as Jr } from "./components/filter/multi-filter.js";
75
+ import { DataFilter as Qr } from "./components/data-filter/data-filter.js";
76
+ import { FilterConditionTags as Zr } from "./components/data-filter/filter-condition-tags/filter-condition-tags.js";
77
+ import { BaseInput as oe } from "./components/base-input/base-input.js";
78
+ import { BaseInputWrapper as ee } from "./components/base-input/subs/base-input-wrapper.js";
79
+ import { BaseInputTarget as pe } from "./components/base-input/subs/base-input-target.js";
80
+ import { getFormProps as xe } from "./components/base-input/util.js";
81
+ import { FormItemWrapper as ae } from "./components/form-wrapper/form-item-wrapper.js";
82
+ import { FormItemWrapperDefaultsProvider as ne, useFormItemWrapperDefaults as le } from "./components/form-wrapper/form-item-wrapper-defaults-context.js";
83
+ import { TextInput as ue } from "./components/text-input/text-input.js";
84
+ import { TextArea as ce } from "./components/text-area/text-area.js";
85
+ import { NumberInput as de } from "./components/number-input/number-input.js";
86
+ import { PasswordInput as Pe } from "./components/password-input/password-input.js";
87
+ import { Checkbox as ge } from "./components/checkbox/checkbox.js";
88
+ import { CheckboxContext as De, CheckboxGroup as Ie } from "./components/checkbox/checkbox-group.js";
89
+ import { Radio as Be } from "./components/radio/index.js";
90
+ import { Switch as ve } from "./components/switch/switch.js";
91
+ import { SwitchGroup as Re } from "./components/switch/switch-group.js";
92
+ import { Select as Me } from "./components/select/select.js";
93
+ import { MultiSelect as ye } from "./components/multi-select/multi-select.js";
94
+ import { Combobox as Ae } from "./components/combobox/combobox.js";
95
+ import { useComboboxContext as Ue } from "./components/combobox/combobox-context.js";
96
+ import { useCombobox as We } from "./components/combobox/hooks/use-combobox.js";
97
+ import { Box as ze } from "./components/box/box.js";
98
+ import { Text as _e } from "./components/text/text.js";
99
+ import { Flex as je } from "./components/flex/flex.js";
100
+ import { Group as Je } from "./components/group/group.js";
101
+ import { Stack as Qe } from "./components/stack/stack.js";
102
+ import { Paper as Ze } from "./components/paper/paper.js";
103
+ import { UnstyledButton as ot } from "./components/unstyled-button/unstyled-button.js";
104
+ import { PopoverDropdown as et } from "./components/popover/popover-dropdown.js";
105
+ import { PopoverTarget as pt } from "./components/popover/popover-target.js";
106
+ import { RadioGroup as xt, useRadioContext as ft } from "./components/radio/radio-group.js";
102
107
  export {
103
- bo as Alert,
104
- ko as AlertSkeleton,
105
- qr as BaseInput,
106
- Or as BaseInputTarget,
107
- Jr as BaseInputWrapper,
108
+ vo as Alert,
109
+ ho as AlertSkeleton,
110
+ oe as BaseInput,
111
+ pe as BaseInputTarget,
112
+ ee as BaseInputWrapper,
108
113
  po as BottomDrawer,
109
- He as Box,
110
- z as Button,
111
- ne as Checkbox,
112
- se as CheckboxContext,
113
- ue as CheckboxGroup,
114
- Io as ClosableTag,
115
- Fe as Combobox,
116
- Nr as DataFilter,
117
- gr as DatePicker,
118
- Dr as DateRangePicker,
119
- vr as DateTimePicker,
120
- Hr as DateTimeRangePicker,
121
- w as DefaultUiLink,
122
- _ as Drawer,
114
+ ze as Box,
115
+ W as Button,
116
+ ge as Checkbox,
117
+ De as CheckboxContext,
118
+ Ie as CheckboxGroup,
119
+ Ho as ClosableTag,
120
+ Ae as Combobox,
121
+ Qr as DataFilter,
122
+ Mr as DatePicker,
123
+ yr as DateRangePicker,
124
+ Wr as DateTimePicker,
125
+ zr as DateTimeRangePicker,
126
+ R as DefaultUiLink,
127
+ Z as Drawer,
123
128
  eo as DrawerManager,
124
- Mr as Filter,
125
- Ar as FilterConditionTags,
126
- Ve as Flex,
127
- Zr as FormItemWrapper,
128
- $r as FormItemWrapperDefaultsProvider,
129
- ye as Group,
130
- j as IconButton,
131
- Vr as IconFilter,
132
- Bo as IconTag,
133
- E as LinkButton,
134
- K as LinkIconButton,
135
- Lo as LinkTag,
136
- ao as Menu,
129
+ _r as Filter,
130
+ Zr as FilterConditionTags,
131
+ je as Flex,
132
+ ae as FormItemWrapper,
133
+ ne as FormItemWrapperDefaultsProvider,
134
+ Je as Group,
135
+ z as IconButton,
136
+ jr as IconFilter,
137
+ No as IconTag,
138
+ _ as LinkButton,
139
+ j as LinkIconButton,
140
+ Oo as LinkTag,
141
+ ko as Menu,
137
142
  xo as Modal,
138
- yr as MultiFilter,
139
- De as MultiSelect,
140
- To as Notification,
141
- xe as NumberInput,
142
- $o as Pagination,
143
- Ae as Paper,
144
- ae as PasswordInput,
145
- Y as Popover,
146
- Je as PopoverDropdown,
147
- Oe as PopoverTarget,
148
- ce as Radio,
149
- Xe as RadioGroup,
150
- ge as Select,
151
- Ne as Stack,
152
- Co as StickyBox,
153
- ke as Switch,
154
- de as SwitchGroup,
155
- zo as Table,
156
- Xo as TableHeadFilterMultiSelect,
157
- Zo as TableHeadFilterSearch,
158
- Oo as TableHeadFilterSingleSelect,
159
- Jo as TableHeadSort,
160
- qo as TableHeaderTitle,
161
- er as TablePagination,
162
- Ao as TableSkeleton,
163
- wo as Tabs,
164
- Go as TabsLinkTab,
165
- Wo as TabsList,
166
- Uo as TabsPanel,
167
- Ro as TabsTab,
168
- So as Tag,
169
- Me as Text,
170
- pe as TextArea,
171
- ee as TextInput,
172
- Fr as TimePicker,
173
- hr as TimeRangePicker,
174
- Q as Tooltip,
175
- ur as Tree,
176
- lr as TreeContent,
177
- pr as TreeContextProvider,
178
- fr as TreeNode,
179
- ir as TreeNodeList,
180
- kr as TreeSelect,
181
- h as UiContext,
182
- R as UiProvider,
183
- qe as UnstyledButton,
184
- dr as VirtualizedTreeSelect,
143
+ ao as ModalDeprecated,
144
+ Jr as MultiFilter,
145
+ ye as MultiSelect,
146
+ Io as Notification,
147
+ Bo as NotificationsContainer,
148
+ de as NumberInput,
149
+ To as OVERLAY_BASE,
150
+ co as OVERLAY_TOP_MIN,
151
+ so as OverlayTierScope,
152
+ nr as Pagination,
153
+ Ze as Paper,
154
+ Pe as PasswordInput,
155
+ Q as Popover,
156
+ et as PopoverDropdown,
157
+ pt as PopoverTarget,
158
+ Be as Radio,
159
+ xt as RadioGroup,
160
+ Me as Select,
161
+ Qe as Stack,
162
+ wo as StickyBox,
163
+ ve as Switch,
164
+ Re as SwitchGroup,
165
+ Xo as Table,
166
+ xr as TableHeadFilterMultiSelect,
167
+ ar as TableHeadFilterSearch,
168
+ pr as TableHeadFilterSingleSelect,
169
+ er as TableHeadSort,
170
+ or as TableHeaderTitle,
171
+ ur as TablePagination,
172
+ Zo as TableSkeleton,
173
+ Go as Tabs,
174
+ Ko as TabsLinkTab,
175
+ qo as TabsList,
176
+ Yo as TabsPanel,
177
+ Eo as TabsTab,
178
+ Vo as Tag,
179
+ _e as Text,
180
+ ce as TextArea,
181
+ ue as TextInput,
182
+ Ar as TimePicker,
183
+ Ur as TimeRangePicker,
184
+ J as Tooltip,
185
+ Ir as Tree,
186
+ Sr as TreeContent,
187
+ cr as TreeContextProvider,
188
+ kr as TreeNode,
189
+ Cr as TreeNodeList,
190
+ vr as TreeSelect,
191
+ L as UiContext,
192
+ M as UiProvider,
193
+ ot as UnstyledButton,
194
+ Rr as VirtualizedTreeSelect,
185
195
  D as ar,
186
196
  s as comboboxTransitionProps,
187
197
  oo as drawers,
188
- d as en,
198
+ P as en,
189
199
  c as formatTemplate,
190
- Xr as getFormProps,
191
- or as getPaginationRange,
200
+ xe as getFormProps,
201
+ lr as getPaginationRange,
192
202
  F as ko,
193
- no as messages,
194
- so as notifications,
195
- L as uiContextDefaultValue,
196
- U as useCheckDevice,
197
- ve as useCombobox,
198
- he as useComboboxContext,
203
+ Co as messages,
204
+ So as notifications,
205
+ v as uiContextDefaultValue,
206
+ y as useCheckDevice,
207
+ We as useCombobox,
208
+ Ue as useComboboxContext,
199
209
  a as useCssVariableValue,
200
210
  n as useCssVariableValues,
201
- V as useDeviceType,
202
- oe as useFormItemWrapperDefaults,
211
+ H as useDeviceType,
212
+ le as useFormItemWrapperDefaults,
203
213
  x as useFormWrapperProps,
204
214
  e as useImeSafeInput,
205
- W as useLocale,
206
- Ye as useRadioContext,
215
+ A as useLocale,
216
+ no as useOverlayLayer,
217
+ ft as useRadioContext,
207
218
  p as useStickyBox,
208
- cr as useTree,
209
- mr as useTreeContext,
210
- y as useUiContext,
211
- G as useUiLink,
212
- k as zhHans,
219
+ Br as useTree,
220
+ br as useTreeContext,
221
+ N as useUiContext,
222
+ U as useUiLink,
223
+ d as zhHans,
213
224
  g as zhHant
214
225
  };
@@ -1,26 +1,27 @@
1
1
  "use client";
2
2
  import { useContext as n } from "react";
3
- import { UiContext as r } from "./ui-context.js";
4
- const c = () => typeof process < "u" && process.env.NODE_ENV !== "production", t = () => n(r), d = () => t().locale, u = () => {
3
+ import { isDev as r } from "../common/is-dev.js";
4
+ import { UiContext as a } from "./ui-context.js";
5
+ const t = () => n(a), u = () => t().locale, p = () => {
5
6
  const { deviceType: e } = t();
6
7
  return { deviceType: e };
7
- }, p = () => {
8
+ }, v = () => {
8
9
  const { deviceType: e } = t();
9
10
  return {
10
11
  isMobile: e === "mobile",
11
12
  isTablet: e === "tablet",
12
13
  isDesktop: e === "desktop"
13
14
  };
14
- }, o = /* @__PURE__ */ new Set(), v = (e) => {
15
- const { linkComponent: s, hasProvider: i } = t();
16
- return c() && !i && !o.has(e) && (o.add(e), console.warn(
15
+ }, o = /* @__PURE__ */ new Set(), f = (e) => {
16
+ const { linkComponent: i, hasProvider: s } = t();
17
+ return r() && !s && !o.has(e) && (o.add(e), console.warn(
17
18
  `[@wisdomgarden/torque] <${e}> rendered outside <UiProvider>, falling back to a plain <a>. On a host with a router this silently turns client-side navigation into a full page load.`
18
- )), s;
19
+ )), i;
19
20
  };
20
21
  export {
21
- p as useCheckDevice,
22
- u as useDeviceType,
23
- d as useLocale,
22
+ v as useCheckDevice,
23
+ p as useDeviceType,
24
+ u as useLocale,
24
25
  t as useUiContext,
25
- v as useUiLink
26
+ f as useUiLink
26
27
  };
@@ -5,6 +5,16 @@ export interface UiContextValue {
5
5
  locale: UiLocale;
6
6
  deviceType: DeviceType;
7
7
  linkComponent: UiLinkComponent;
8
+ /**
9
+ * 浮层的默认挂载点。`null` 表示挂到 `document.body`(默认行为)。
10
+ *
11
+ * 由 `UiProvider` 的 `portalRoot` 传入,宿主可以直接给一个自己的挂载点元素。
12
+ * 给 Shadow DOM 场景用:传 shadow root 或它内部的容器元素,浮层就不会跑到外层
13
+ * document 上,从而拿到 shadow 内注入的样式与 CSS 变量。
14
+ *
15
+ * 只在 render 期读取,所以必须是「值」而不是 ref —— 组件库不负责解析它。
16
+ */
17
+ portalRoot: ShadowRoot | HTMLElement | null;
8
18
  /**
9
19
  * False only in the value `createContext` falls back to, so a component can
10
20
  * tell "no provider above me" from "a provider that chose the defaults".
@@ -1,14 +1,15 @@
1
1
  "use client";
2
2
  import { createContext as e } from "react";
3
- import { en as t } from "../locale/en.js";
4
- import { DefaultUiLink as o } from "./ui-link.js";
5
- const i = {
6
- locale: t,
3
+ import { en as o } from "../locale/en.js";
4
+ import { DefaultUiLink as t } from "./ui-link.js";
5
+ const n = {
6
+ locale: o,
7
7
  deviceType: "desktop",
8
- linkComponent: o,
8
+ linkComponent: t,
9
+ portalRoot: null,
9
10
  hasProvider: !1
10
- }, a = e(i);
11
+ }, a = e(n);
11
12
  export {
12
13
  a as UiContext,
13
- i as uiContextDefaultValue
14
+ n as uiContextDefaultValue
14
15
  };
@@ -14,6 +14,28 @@ export interface UiProviderProps {
14
14
  * `'use client'` boundary — a Server Component cannot serialize it.
15
15
  */
16
16
  readonly linkComponent?: UiLinkComponent;
17
+ /**
18
+ * 浮层的默认挂载点,不传则挂到 `document.body`。
19
+ *
20
+ * 组件库所有浮层(Modal、Popover、Tooltip 等)的 `Portal` 都会挂到这里,
21
+ * 宿主可以直接传入自己的挂载点元素。
22
+ *
23
+ * **给 Shadow DOM 场景用。** 默认挂到 `document.body` 会落在 shadow root 之外 ——
24
+ * 那里拿不到 shadow 内注入的样式与 CSS 变量,浮层会完全没有样式。
25
+ * 把 shadow root,或 shadow root 内部的一个容器元素传进来,浮层就留在 shadow 里。
26
+ *
27
+ * 传 `ShadowRoot` 本身时,浮层会成为它的直接子节点,所以样式与 CSS 变量必须定义在
28
+ * shadow root 层级(`adoptedStyleSheets` 或 shadow root 下的 `<style>`);
29
+ * 变量定义在内层包裹元素上时,改传那个包裹元素。
30
+ *
31
+ * 必须是「值」而不是 ref:浮层在 render 期就要知道挂到哪里,读 ref 属于不纯操作,
32
+ * 而且 ref 首帧一定是空的,会把浮层的挂载拆成两段渲染。宿主本来就是
33
+ * `attachShadow()` 的调用者,直接传它的返回值即可。
34
+ *
35
+ * 这个值不要在浮层打开之后再变 —— 挂载点变了 React 会卸载重建整棵浮层子树,
36
+ * 子组件状态会丢、入场动画会重放。
37
+ */
38
+ readonly portalRoot?: ShadowRoot | HTMLElement | null;
17
39
  readonly children: ReactNode;
18
40
  }
19
- export declare const UiProvider: ({ locale, deviceType, linkComponent, children, }: UiProviderProps) => import("react").JSX.Element;
41
+ export declare const UiProvider: ({ locale, deviceType, linkComponent, portalRoot, children, }: UiProviderProps) => import("react").JSX.Element;
@@ -1,21 +1,28 @@
1
1
  "use client";
2
- import { jsx as m } from "react/jsx-runtime";
3
- import { useMemo as s } from "react";
2
+ import { jsx as s } from "react/jsx-runtime";
3
+ import { useMemo as u } from "react";
4
4
  import { en as f } from "../locale/en.js";
5
- import { UiContext as u } from "./ui-context.js";
5
+ import { UiContext as n } from "./ui-context.js";
6
6
  import { DefaultUiLink as p } from "./ui-link.js";
7
- const U = ({
7
+ const a = ({
8
8
  locale: r = f,
9
9
  deviceType: o = "desktop",
10
10
  linkComponent: t = p,
11
- children: i
11
+ portalRoot: i = null,
12
+ children: e
12
13
  }) => {
13
- const e = s(
14
- () => ({ locale: r, deviceType: o, linkComponent: t, hasProvider: !0 }),
15
- [r, o, t]
14
+ const m = u(
15
+ () => ({
16
+ locale: r,
17
+ deviceType: o,
18
+ linkComponent: t,
19
+ portalRoot: i,
20
+ hasProvider: !0
21
+ }),
22
+ [r, o, t, i]
16
23
  );
17
- return /* @__PURE__ */ m(u.Provider, { value: e, children: i });
24
+ return /* @__PURE__ */ s(n.Provider, { value: m, children: e });
18
25
  };
19
26
  export {
20
- U as UiProvider
27
+ a as UiProvider
21
28
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisdomgarden/torque",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Torque Design — Wisdom Garden's base UI component library for React.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -153,7 +153,7 @@
153
153
  "@mantine/hooks": "^8.3.6",
154
154
  "@mantine/notifications": "^8.3.6",
155
155
  "@tanstack/react-virtual": "^3.13.18",
156
- "@wisdomgarden/torque-icons": "^0.1.3",
156
+ "@wisdomgarden/torque-icons": "^0.1.4",
157
157
  "@wisdomgarden/torque-styles": "^0.1.2",
158
158
  "ahooks": "^3.9.0",
159
159
  "dayjs": "^1.11.13",
@@ -176,7 +176,7 @@
176
176
  "@tanstack/react-virtual": "^3.13.18",
177
177
  "@types/react": "^19.2.18",
178
178
  "@types/react-dom": "^19.2.4",
179
- "@wisdomgarden/torque-icons": "0.1.3",
179
+ "@wisdomgarden/torque-icons": "0.1.4",
180
180
  "@wisdomgarden/torque-styles": "0.1.2",
181
181
  "ahooks": "^3.9.0",
182
182
  "dayjs": "^1.11.13",
@@ -1,10 +0,0 @@
1
- /**
2
- * 登记已打开的 Popover,并返回只清理本次登记的注销函数。
3
- * depth 表示逻辑嵌套层级,order 用于区分同层浮层的打开先后。
4
- */
5
- export declare function registerOpenPopover(id: string, depth: number): () => void;
6
- /**
7
- * 判断 Popover 是否位于当前逻辑栈顶:嵌套更深者优先,同一深度下后打开者优先。
8
- * Escape 关闭前使用该结果,避免一次按键同时关闭多层浮层。
9
- */
10
- export declare function isTopmostOpenPopover(id: string): boolean;
@@ -1,24 +0,0 @@
1
- "use client";
2
- const r = /* @__PURE__ */ new Map();
3
- let p = 0;
4
- function s(e, t) {
5
- const o = {
6
- depth: t,
7
- order: p++
8
- };
9
- return r.set(e, o), () => {
10
- r.get(e) === o && r.delete(e);
11
- };
12
- }
13
- function f(e) {
14
- const t = r.get(e);
15
- if (!t) return !1;
16
- for (const [o, n] of r)
17
- if (o !== e && (n.depth > t.depth || n.depth === t.depth && n.order > t.order))
18
- return !1;
19
- return !0;
20
- }
21
- export {
22
- f as isTopmostOpenPopover,
23
- s as registerOpenPopover
24
- };