@wisdomgarden/torque 0.2.2 → 0.2.4

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 (60) hide show
  1. package/dist/components/_inner/drawer/base-bottom-drawer.d.ts +1 -1
  2. package/dist/components/_inner/drawer/base-bottom-drawer.js +52 -44
  3. package/dist/components/_inner/menu/_web/menu.web.js +83 -72
  4. package/dist/components/_inner/portal/index.d.ts +1 -0
  5. package/dist/components/_inner/portal/index.js +5 -0
  6. package/dist/components/_inner/portal/portal.d.ts +14 -0
  7. package/dist/components/_inner/portal/portal.js +19 -0
  8. package/dist/components/button/styles/button-variables.module.css.js +1 -1
  9. package/dist/components/drawer/drawer.d.ts +1 -1
  10. package/dist/components/drawer/drawer.js +42 -34
  11. package/dist/components/modal/index.d.ts +1 -1
  12. package/dist/components/modal/modal.d.ts +7 -4
  13. package/dist/components/modal/modal.js +191 -44
  14. package/dist/components/modal/modal.module.css.js +20 -6
  15. package/dist/components/modal/modal.types.d.ts +96 -0
  16. package/dist/components/modal-deprecated/index.d.ts +2 -0
  17. package/dist/components/modal-deprecated/index.js +5 -0
  18. package/dist/components/modal-deprecated/modal-deprecated.d.ts +11 -0
  19. package/dist/components/modal-deprecated/modal-deprecated.js +70 -0
  20. package/dist/components/modal-deprecated/modal-deprecated.module.css.js +10 -0
  21. package/dist/components/notifications/index.d.ts +2 -0
  22. package/dist/components/notifications/index.js +4 -2
  23. package/dist/components/notifications/notifications-container.d.ts +9 -0
  24. package/dist/components/notifications/notifications-container.js +22 -0
  25. package/dist/components/overlay-layer/constants.d.ts +15 -0
  26. package/dist/components/overlay-layer/constants.js +8 -0
  27. package/dist/components/overlay-layer/index.d.ts +5 -0
  28. package/dist/components/overlay-layer/index.js +11 -0
  29. package/dist/components/overlay-layer/overlay-parent-context.d.ts +6 -0
  30. package/dist/components/overlay-layer/overlay-parent-context.js +18 -0
  31. package/dist/components/overlay-layer/overlay-stack-debug.d.ts +24 -0
  32. package/dist/components/overlay-layer/overlay-stack-debug.js +151 -0
  33. package/dist/components/overlay-layer/overlay-stack.d.ts +38 -0
  34. package/dist/components/overlay-layer/overlay-stack.js +137 -0
  35. package/dist/components/overlay-layer/overlay-tier-scope.d.ts +12 -0
  36. package/dist/components/overlay-layer/overlay-tier-scope.js +16 -0
  37. package/dist/components/overlay-layer/types.d.ts +63 -0
  38. package/dist/components/overlay-layer/use-mantine-overlay-layer.d.ts +21 -0
  39. package/dist/components/overlay-layer/use-mantine-overlay-layer.js +24 -0
  40. package/dist/components/overlay-layer/use-overlay-layer.d.ts +26 -0
  41. package/dist/components/overlay-layer/use-overlay-layer.js +77 -0
  42. package/dist/components/popover/hooks.d.ts +0 -1
  43. package/dist/components/popover/hooks.js +69 -83
  44. package/dist/components/popover/popover-context.d.ts +0 -1
  45. package/dist/components/popover/popover-context.js +3 -4
  46. package/dist/components/popover/popover-dropdown.js +110 -91
  47. package/dist/components/popover/popover.js +134 -150
  48. package/dist/components/popover/popover.types.d.ts +7 -3
  49. package/dist/components/tooltip/index.d.ts +10 -2
  50. package/dist/components/tooltip/index.js +100 -92
  51. package/dist/index.css +1 -1
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.js +197 -185
  54. package/dist/provider/ui-context.d.ts +10 -0
  55. package/dist/provider/ui-context.js +8 -7
  56. package/dist/provider/ui-provider.d.ts +23 -1
  57. package/dist/provider/ui-provider.js +17 -10
  58. package/package.json +3 -3
  59. package/dist/components/popover/popover-stack.d.ts +0 -10
  60. package/dist/components/popover/popover-stack.js +0 -24
package/dist/index.js CHANGED
@@ -7,208 +7,220 @@ 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";
12
- import { zhHant as g } from "./locale/zh-Hant.js";
13
- import { ar as D } from "./locale/ar.js";
10
+ import { zhHans as d } from "./locale/zh-Hans.js";
11
+ import { en as C } from "./locale/en.js";
12
+ import { zhHant as I } from "./locale/zh-Hant.js";
13
+ import { ar as S } 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 R } from "./provider/ui-context.js";
16
+ import { DefaultUiLink as h } from "./provider/ui-link.js";
17
+ import { UiProvider as w } from "./provider/ui-provider.js";
18
+ import { useCheckDevice as M, useDeviceType as N, useLocale as O, useUiContext as y, useUiLink as H } from "./provider/hooks.js";
19
+ import { Button as E } from "./components/button/button.js";
20
+ import { IconButton as _ } from "./components/icon-button/icon-button.js";
21
+ import { LinkButton as z } 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_TIER_NOTIFICATION as co, OVERLAY_TOP_MIN as bo } from "./components/overlay-layer/constants.js";
34
+ import { Menu as Co } from "./components/menu/menu.js";
35
+ import { messages as Io } from "./components/message/messages.js";
36
+ import { notifications as So } from "./components/notifications/notifications.js";
37
+ import { Notification as Fo } from "./components/notifications/notification.js";
38
+ import { NotificationsContainer as Lo } 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 Mo } from "./components/tag/tag.js";
42
+ import { ClosableTag as Oo } from "./components/tag/closable-tag.js";
43
+ import { IconTag as Ho } from "./components/tag/icon-tag.js";
44
+ import { LinkTag as Eo } from "./components/tag/link-tag.js";
45
+ import { Tabs as _o } from "./components/tab/tabs.js";
46
+ import { TabsTab as zo } from "./components/tab/subs/tabs-tab.js";
47
+ import { TabsPanel as jo } from "./components/tab/subs/tabs-panel.js";
48
+ import { TabsList as Jo } from "./components/tab/subs/tabs-list.js";
49
+ import { TabsLinkTab as Qo } from "./components/tab/subs/tabs-link-tab.js";
50
+ import { Table as Zo, TableSkeleton as $o } from "./components/table/table.js";
51
+ import { TableHeaderTitle as rr } from "./components/_inner/table/table-header-title.js";
52
+ import { TableHeadSort as tr } from "./components/_inner/table/head/table-head-sort.js";
53
+ import { TableHeadFilterSingleSelect as mr } from "./components/_inner/table/head/table-head-filter-single-select.js";
54
+ import { TableHeadFilterMultiSelect as fr } from "./components/_inner/table/head/table-head-filter-multi-select.js";
55
+ import { TableHeadFilterSearch as ir } from "./components/_inner/table/head/table-head-filter-search.js";
56
+ import { Pagination as lr, getPaginationRange as sr } from "./components/table-pagination/pagination.js";
57
+ import { TablePagination as Tr } from "./components/table-pagination/table-pagination.js";
58
+ import { TreeContextProvider as br, useTreeContext as dr } from "./components/tree/tree-context.js";
59
+ import { TreeNode as Cr } from "./components/tree/tree-node.js";
60
+ import { TreeNodeList as Ir } from "./components/tree/tree-node-list.js";
61
+ import { TreeContent as Sr } from "./components/tree/tree-content.js";
62
+ import { Tree as Fr } from "./components/tree/tree.js";
63
+ import { useTree as Lr } from "./components/tree/hooks/use-tree.js";
64
+ import { TreeSelect as vr } from "./components/tree-select/tree-select.js";
65
+ import { VirtualizedTreeSelect as Vr } from "./components/virtualized-tree-select/virtualized-tree-select.js";
66
+ import { DatePicker as Ar } from "./components/date-picker/date-picker.js";
67
+ import { DateRangePicker as Nr } from "./components/date-picker/date-range-picker.js";
68
+ import { TimePicker as yr } 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 Gr } from "./components/date-picker/date-time-range-picker.js";
72
+ import { Filter as Yr } from "./components/filter/filter.js";
73
+ import { IconFilter as qr } from "./components/filter/icon-filter.js";
74
+ import { MultiFilter as Kr } from "./components/filter/multi-filter.js";
75
+ import { DataFilter as Xr } from "./components/data-filter/data-filter.js";
76
+ import { FilterConditionTags as $r } from "./components/data-filter/filter-condition-tags/filter-condition-tags.js";
77
+ import { BaseInput as re } from "./components/base-input/base-input.js";
78
+ import { BaseInputWrapper as te } from "./components/base-input/subs/base-input-wrapper.js";
79
+ import { BaseInputTarget as me } from "./components/base-input/subs/base-input-target.js";
80
+ import { getFormProps as fe } from "./components/base-input/util.js";
81
+ import { FormItemWrapper as ie } from "./components/form-wrapper/form-item-wrapper.js";
82
+ import { FormItemWrapperDefaultsProvider as le, useFormItemWrapperDefaults as se } from "./components/form-wrapper/form-item-wrapper-defaults-context.js";
83
+ import { TextInput as Te } from "./components/text-input/text-input.js";
84
+ import { TextArea as be } from "./components/text-area/text-area.js";
85
+ import { NumberInput as ke } 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 Fe } from "./components/checkbox/checkbox-group.js";
89
+ import { Radio as Le } from "./components/radio/index.js";
90
+ import { Switch as ve } from "./components/switch/switch.js";
91
+ import { SwitchGroup as Ve } from "./components/switch/switch-group.js";
92
+ import { Select as Ae } from "./components/select/select.js";
93
+ import { MultiSelect as Ne } from "./components/multi-select/multi-select.js";
94
+ import { Combobox as ye } 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 Ge } from "./components/box/box.js";
98
+ import { Text as Ye } from "./components/text/text.js";
99
+ import { Flex as qe } from "./components/flex/flex.js";
100
+ import { Group as Ke } from "./components/group/group.js";
101
+ import { Stack as Xe } from "./components/stack/stack.js";
102
+ import { Paper as $e } from "./components/paper/paper.js";
103
+ import { UnstyledButton as rt } from "./components/unstyled-button/unstyled-button.js";
104
+ import { PopoverDropdown as tt } from "./components/popover/popover-dropdown.js";
105
+ import { PopoverTarget as mt } from "./components/popover/popover-target.js";
106
+ import { RadioGroup as ft, useRadioContext as at } 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
+ re as BaseInput,
111
+ me as BaseInputTarget,
112
+ te 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
+ Ge as Box,
115
+ E as Button,
116
+ ge as Checkbox,
117
+ De as CheckboxContext,
118
+ Fe as CheckboxGroup,
119
+ Oo as ClosableTag,
120
+ ye as Combobox,
121
+ Xr as DataFilter,
122
+ Ar as DatePicker,
123
+ Nr as DateRangePicker,
124
+ Wr as DateTimePicker,
125
+ Gr as DateTimeRangePicker,
126
+ h 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
+ Yr as Filter,
130
+ $r as FilterConditionTags,
131
+ qe as Flex,
132
+ ie as FormItemWrapper,
133
+ le as FormItemWrapperDefaultsProvider,
134
+ Ke as Group,
135
+ _ as IconButton,
136
+ qr as IconFilter,
137
+ Ho as IconTag,
138
+ z as LinkButton,
139
+ j as LinkIconButton,
140
+ Eo as LinkTag,
141
+ Co 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,
185
- D as ar,
143
+ ao as ModalDeprecated,
144
+ Kr as MultiFilter,
145
+ Ne as MultiSelect,
146
+ Fo as Notification,
147
+ Lo as NotificationsContainer,
148
+ ke as NumberInput,
149
+ To as OVERLAY_BASE,
150
+ co as OVERLAY_TIER_NOTIFICATION,
151
+ bo as OVERLAY_TOP_MIN,
152
+ so as OverlayTierScope,
153
+ lr as Pagination,
154
+ $e as Paper,
155
+ Pe as PasswordInput,
156
+ Q as Popover,
157
+ tt as PopoverDropdown,
158
+ mt as PopoverTarget,
159
+ Le as Radio,
160
+ ft as RadioGroup,
161
+ Ae as Select,
162
+ Xe as Stack,
163
+ wo as StickyBox,
164
+ ve as Switch,
165
+ Ve as SwitchGroup,
166
+ Zo as Table,
167
+ fr as TableHeadFilterMultiSelect,
168
+ ir as TableHeadFilterSearch,
169
+ mr as TableHeadFilterSingleSelect,
170
+ tr as TableHeadSort,
171
+ rr as TableHeaderTitle,
172
+ Tr as TablePagination,
173
+ $o as TableSkeleton,
174
+ _o as Tabs,
175
+ Qo as TabsLinkTab,
176
+ Jo as TabsList,
177
+ jo as TabsPanel,
178
+ zo as TabsTab,
179
+ Mo as Tag,
180
+ Ye as Text,
181
+ be as TextArea,
182
+ Te as TextInput,
183
+ yr as TimePicker,
184
+ Ur as TimeRangePicker,
185
+ J as Tooltip,
186
+ Fr as Tree,
187
+ Sr as TreeContent,
188
+ br as TreeContextProvider,
189
+ Cr as TreeNode,
190
+ Ir as TreeNodeList,
191
+ vr as TreeSelect,
192
+ L as UiContext,
193
+ w as UiProvider,
194
+ rt as UnstyledButton,
195
+ Vr as VirtualizedTreeSelect,
196
+ S as ar,
186
197
  s as comboboxTransitionProps,
187
198
  oo as drawers,
188
- d as en,
199
+ C as en,
189
200
  c as formatTemplate,
190
- Xr as getFormProps,
191
- or as getPaginationRange,
201
+ fe as getFormProps,
202
+ sr as getPaginationRange,
192
203
  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,
204
+ Io as messages,
205
+ So as notifications,
206
+ R as uiContextDefaultValue,
207
+ M as useCheckDevice,
208
+ We as useCombobox,
209
+ Ue as useComboboxContext,
199
210
  a as useCssVariableValue,
200
211
  n as useCssVariableValues,
201
- V as useDeviceType,
202
- oe as useFormItemWrapperDefaults,
212
+ N as useDeviceType,
213
+ se as useFormItemWrapperDefaults,
203
214
  x as useFormWrapperProps,
204
215
  e as useImeSafeInput,
205
- W as useLocale,
206
- Ye as useRadioContext,
216
+ O as useLocale,
217
+ no as useOverlayLayer,
218
+ at as useRadioContext,
207
219
  p as useStickyBox,
208
- cr as useTree,
209
- mr as useTreeContext,
220
+ Lr as useTree,
221
+ dr as useTreeContext,
210
222
  y as useUiContext,
211
- G as useUiLink,
212
- k as zhHans,
213
- g as zhHant
223
+ H as useUiLink,
224
+ d as zhHans,
225
+ I as zhHant
214
226
  };
@@ -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.2",
3
+ "version": "0.2.4",
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
- };