@dxos/react-ui 0.6.13 → 0.6.14-main.2b6a0f3

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 (114) hide show
  1. package/dist/lib/browser/index.mjs +34 -29
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node/index.cjs +2395 -0
  5. package/dist/lib/node/index.cjs.map +7 -0
  6. package/dist/lib/node/meta.json +1 -0
  7. package/dist/lib/node-esm/index.mjs +2396 -0
  8. package/dist/lib/node-esm/index.mjs.map +7 -0
  9. package/dist/lib/node-esm/meta.json +1 -0
  10. package/dist/types/src/components/Avatars/Avatar.stories.d.ts +15 -1
  11. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  12. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +6 -1
  13. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  14. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +9 -1
  15. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  16. package/dist/types/src/components/Buttons/Button.stories.d.ts +12 -17
  17. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +1 -1
  18. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +2 -1
  19. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +1 -1
  20. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +20 -1
  21. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +1 -1
  22. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  23. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +12 -1
  24. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +1 -1
  25. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +11 -1
  26. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +1 -1
  27. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  28. package/dist/types/src/components/Input/Input.stories.d.ts +16 -1
  29. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/Lists/List.stories.d.ts +2 -3
  31. package/dist/types/src/components/Lists/List.stories.d.ts.map +1 -1
  32. package/dist/types/src/components/Lists/Tree.stories.d.ts +5 -1
  33. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +1 -1
  34. package/dist/types/src/components/Lists/Treegrid.stories.d.ts +3 -2
  35. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +1 -1
  36. package/dist/types/src/components/Main/Main.stories.d.ts +5 -1
  37. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  38. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts +29 -1
  39. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +1 -1
  40. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +29 -1
  41. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/Message/Message.stories.d.ts +6 -1
  43. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  44. package/dist/types/src/components/Popover/Popover.stories.d.ts +15 -1
  45. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  46. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +20 -1
  47. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  48. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  49. package/dist/types/src/components/Select/Select.stories.d.ts +10 -11
  50. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/Status/Status.stories.d.ts +0 -3
  52. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +4 -5
  54. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  55. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +4 -4
  56. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  57. package/dist/types/src/components/Toast/Toast.stories.d.ts +20 -1
  58. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  59. package/dist/types/src/components/Toolbar/Toolbar.d.ts +4 -2
  60. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  61. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +30 -1
  62. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +13 -1
  64. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  65. package/dist/types/src/hooks/useThemeContext.d.ts.map +1 -1
  66. package/dist/types/src/playground/Controls.stories.d.ts +2 -6
  67. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  68. package/dist/types/src/playground/Surfaces.stories.d.ts +6 -2
  69. package/dist/types/src/playground/Surfaces.stories.d.ts.map +1 -1
  70. package/dist/types/src/playground/Typography.stories.d.ts +1 -1
  71. package/dist/types/src/testing/decorators/index.d.ts +1 -0
  72. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  73. package/dist/types/src/testing/decorators/withVariants.d.ts +13 -0
  74. package/dist/types/src/testing/decorators/withVariants.d.ts.map +1 -0
  75. package/package.json +20 -14
  76. package/src/components/Avatars/Avatar.stories.tsx +3 -2
  77. package/src/components/Avatars/AvatarGroup.stories.tsx +3 -2
  78. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -2
  79. package/src/components/Buttons/Button.stories.tsx +34 -63
  80. package/src/components/Buttons/Toggle.stories.tsx +3 -2
  81. package/src/components/Buttons/ToggleGroup.stories.tsx +3 -2
  82. package/src/components/DensityProvider/DensityProvider.tsx +1 -1
  83. package/src/components/Dialogs/AlertDialog.stories.tsx +3 -2
  84. package/src/components/Dialogs/Dialog.stories.tsx +3 -2
  85. package/src/components/Input/Input.stories.tsx +4 -3
  86. package/src/components/Link/Link.stories.tsx +1 -1
  87. package/src/components/Lists/List.stories.tsx +4 -4
  88. package/src/components/Lists/Tree.stories.tsx +3 -2
  89. package/src/components/Lists/Treegrid.stories.tsx +7 -5
  90. package/src/components/Main/Main.stories.tsx +3 -2
  91. package/src/components/Menus/ContextMenu.stories.tsx +3 -2
  92. package/src/components/Menus/DropdownMenu.stories.tsx +3 -2
  93. package/src/components/Message/Message.stories.tsx +3 -2
  94. package/src/components/Popover/Popover.stories.tsx +3 -2
  95. package/src/components/ScrollArea/ScrollArea.stories.tsx +3 -2
  96. package/src/components/Select/Select.stories.tsx +14 -31
  97. package/src/components/Select/Select.tsx +9 -10
  98. package/src/components/Status/Status.stories.tsx +1 -2
  99. package/src/components/Tag/Tag.stories.tsx +1 -1
  100. package/src/components/ThemeProvider/ThemeProvider.tsx +17 -18
  101. package/src/components/Toast/Toast.stories.tsx +3 -2
  102. package/src/components/Toast/Toast.tsx +1 -4
  103. package/src/components/Toolbar/Toolbar.stories.tsx +3 -2
  104. package/src/components/Toolbar/Toolbar.tsx +21 -1
  105. package/src/components/Tooltip/Tooltip.stories.tsx +3 -2
  106. package/src/hooks/useThemeContext.ts +3 -1
  107. package/src/playground/Controls.stories.tsx +7 -10
  108. package/src/playground/Surfaces.stories.tsx +4 -3
  109. package/src/playground/Typography.stories.tsx +2 -2
  110. package/src/testing/decorators/index.ts +1 -0
  111. package/src/testing/decorators/withVariants.tsx +45 -0
  112. package/dist/types/src/playground/helpers.d.ts +0 -6
  113. package/dist/types/src/playground/helpers.d.ts.map +0 -1
  114. package/src/playground/helpers.tsx +0 -32
@@ -0,0 +1,2395 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var node_exports = {};
31
+ __export(node_exports, {
32
+ AlertDialog: () => AlertDialog,
33
+ AnchoredOverflow: () => AnchoredOverflow,
34
+ Avatar: () => Avatar,
35
+ AvatarGroup: () => AvatarGroup,
36
+ AvatarGroupItem: () => AvatarGroupItem,
37
+ BUTTON_GROUP_NAME: () => BUTTON_GROUP_NAME,
38
+ Breadcrumb: () => Breadcrumb,
39
+ Button: () => Button,
40
+ ButtonGroup: () => ButtonGroup,
41
+ ContextMenu: () => ContextMenu2,
42
+ DensityContext: () => DensityContext,
43
+ DensityProvider: () => DensityProvider,
44
+ Dialog: () => Dialog,
45
+ DropdownMenu: () => DropdownMenu2,
46
+ ElevationContext: () => ElevationContext,
47
+ ElevationProvider: () => ElevationProvider,
48
+ Icon: () => Icon,
49
+ Input: () => Input,
50
+ LIST_ITEM_NAME: () => import_react_list.LIST_ITEM_NAME,
51
+ LIST_NAME: () => import_react_list.LIST_NAME,
52
+ Link: () => Link,
53
+ List: () => List,
54
+ ListItem: () => ListItem,
55
+ Main: () => Main,
56
+ Message: () => Message,
57
+ Popover: () => Popover,
58
+ ScrollArea: () => ScrollArea,
59
+ Select: () => Select,
60
+ Separator: () => Separator4,
61
+ Status: () => Status,
62
+ Tag: () => Tag,
63
+ ThemeContext: () => ThemeContext,
64
+ ThemeProvider: () => ThemeProvider,
65
+ Toast: () => Toast,
66
+ Toggle: () => Toggle,
67
+ ToggleGroup: () => ToggleGroup,
68
+ ToggleGroupItem: () => ToggleGroupItem,
69
+ Toolbar: () => Toolbar,
70
+ Tooltip: () => Tooltip,
71
+ Trans: () => import_react_i18next.Trans,
72
+ Tree: () => Tree,
73
+ TreeItem: () => TreeItem,
74
+ Treegrid: () => Treegrid,
75
+ hasIosKeyboard: () => hasIosKeyboard,
76
+ isLabel: () => isLabel,
77
+ toLocalizedString: () => toLocalizedString,
78
+ useAvatarContext: () => useAvatarContext,
79
+ useButtonGroupContext: () => useButtonGroupContext,
80
+ useDensityContext: () => useDensityContext,
81
+ useDropdownMenuContext: () => useDropdownMenuContext2,
82
+ useDropdownMenuMenuScope: () => useDropdownMenuMenuScope2,
83
+ useElevationContext: () => useElevationContext,
84
+ useListContext: () => import_react_list.useListContext,
85
+ useListItemContext: () => import_react_list.useListItemContext,
86
+ useMainContext: () => useMainContext,
87
+ useSidebars: () => useSidebars,
88
+ useThemeContext: () => useThemeContext,
89
+ useTranslation: () => useTranslation,
90
+ useTranslationsContext: () => useTranslationsContext,
91
+ useVisualViewport: () => useVisualViewport
92
+ });
93
+ module.exports = __toCommonJS(node_exports);
94
+ var import_react_i18next = require("react-i18next");
95
+ __reExport(node_exports, require("@dxos/react-hooks"), module.exports);
96
+ __reExport(node_exports, require("@dxos/react-ui-types"), module.exports);
97
+ var import_react_primitive = require("@radix-ui/react-primitive");
98
+ var import_react_slot = require("@radix-ui/react-slot");
99
+ var import_react = __toESM(require("react"));
100
+ var import_react2 = require("react");
101
+ var import_react3 = require("react");
102
+ var import_react4 = require("react");
103
+ var import_locale = require("date-fns/locale");
104
+ var import_i18next = __toESM(require("i18next"));
105
+ var import_react5 = __toESM(require("react"));
106
+ var import_react_i18next2 = require("react-i18next");
107
+ var import_react6 = require("react");
108
+ var import_debug = require("@dxos/debug");
109
+ var import_react7 = require("react");
110
+ var import_react_avatar = require("@radix-ui/react-avatar");
111
+ var import_react_context = require("@radix-ui/react-context");
112
+ var import_react_primitive2 = require("@radix-ui/react-primitive");
113
+ var import_react_slot2 = require("@radix-ui/react-slot");
114
+ var import_react8 = __toESM(require("react"));
115
+ var import_react_hooks = require("@dxos/react-hooks");
116
+ var import_react9 = __toESM(require("react"));
117
+ var import_react10 = __toESM(require("react"));
118
+ var import_react_hooks2 = require("@dxos/react-hooks");
119
+ var import_react11 = require("@phosphor-icons/react");
120
+ var import_react_primitive3 = require("@radix-ui/react-primitive");
121
+ var import_react_slot3 = require("@radix-ui/react-slot");
122
+ var import_react12 = __toESM(require("react"));
123
+ var import_react_primitive4 = require("@radix-ui/react-primitive");
124
+ var import_react_slot4 = require("@radix-ui/react-slot");
125
+ var import_react13 = __toESM(require("react"));
126
+ var import_react_context2 = require("@radix-ui/react-context");
127
+ var import_react_primitive5 = require("@radix-ui/react-primitive");
128
+ var import_react_slot5 = require("@radix-ui/react-slot");
129
+ var import_react14 = __toESM(require("react"));
130
+ var import_react_toggle = require("@radix-ui/react-toggle");
131
+ var import_react15 = __toESM(require("react"));
132
+ var import_react_toggle_group = require("@radix-ui/react-toggle-group");
133
+ var import_react16 = __toESM(require("react"));
134
+ var import_react_context3 = require("@radix-ui/react-context");
135
+ var import_react_dialog = require("@radix-ui/react-dialog");
136
+ var import_react17 = __toESM(require("react"));
137
+ var import_react18 = __toESM(require("react"));
138
+ var import_react_alert_dialog = require("@radix-ui/react-alert-dialog");
139
+ var import_react_context4 = require("@radix-ui/react-context");
140
+ var import_react19 = __toESM(require("react"));
141
+ var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"));
142
+ var import_react_primitive6 = require("@radix-ui/react-primitive");
143
+ var import_react_slot6 = require("@radix-ui/react-slot");
144
+ var import_react20 = __toESM(require("react"));
145
+ var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
146
+ var import_react_primitive7 = require("@radix-ui/react-primitive");
147
+ var import_react_slot7 = require("@radix-ui/react-slot");
148
+ var import_react21 = __toESM(require("react"));
149
+ var import_react22 = require("@phosphor-icons/react");
150
+ var import_react_checkbox = require("@radix-ui/react-checkbox");
151
+ var import_react_switch = require("@radix-ui/react-switch");
152
+ var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
153
+ var import_react23 = __toESM(require("react"));
154
+ var import_react_input = require("@dxos/react-input");
155
+ var import_react24 = require("@phosphor-icons/react");
156
+ var import_react_slot8 = require("@radix-ui/react-slot");
157
+ var import_react25 = __toESM(require("react"));
158
+ var import_react_list = require("@dxos/react-list");
159
+ var import_react26 = __toESM(require("react"));
160
+ var import_react27 = __toESM(require("react"));
161
+ var import_react_tabster = require("@fluentui/react-tabster");
162
+ var import_react_context5 = require("@radix-ui/react-context");
163
+ var import_react_primitive8 = require("@radix-ui/react-primitive");
164
+ var import_react_slot9 = require("@radix-ui/react-slot");
165
+ var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
166
+ var import_react28 = __toESM(require("react"));
167
+ var import_react_tabster2 = require("@fluentui/react-tabster");
168
+ var import_react_compose_refs = require("@radix-ui/react-compose-refs");
169
+ var import_react_context6 = require("@radix-ui/react-context");
170
+ var import_react_dialog2 = require("@radix-ui/react-dialog");
171
+ var import_react_primitive9 = require("@radix-ui/react-primitive");
172
+ var import_react_slot10 = require("@radix-ui/react-slot");
173
+ var import_react_use_controllable_state3 = require("@radix-ui/react-use-controllable-state");
174
+ var import_react29 = __toESM(require("react"));
175
+ var import_log = require("@dxos/log");
176
+ var import_react_hooks3 = require("@dxos/react-hooks");
177
+ var import_react30 = require("react");
178
+ var import_react_context7 = require("@radix-ui/react-context");
179
+ var import_react_primitive10 = require("@radix-ui/react-primitive");
180
+ var import_react_slot11 = require("@radix-ui/react-slot");
181
+ var import_react31 = __toESM(require("react"));
182
+ var import_react_hooks4 = require("@dxos/react-hooks");
183
+ var import_react_popover = require("@radix-ui/react-popover");
184
+ var import_react_primitive11 = require("@radix-ui/react-primitive");
185
+ var import_react_slot12 = require("@radix-ui/react-slot");
186
+ var import_react32 = __toESM(require("react"));
187
+ var import_react33 = __toESM(require("react"));
188
+ var import_react_scroll_area = require("@radix-ui/react-scroll-area");
189
+ var import_react34 = __toESM(require("react"));
190
+ var import_react35 = require("@phosphor-icons/react");
191
+ var SelectPrimitive = __toESM(require("@radix-ui/react-select"));
192
+ var import_react36 = __toESM(require("react"));
193
+ var import_react_separator = require("@radix-ui/react-separator");
194
+ var import_react37 = __toESM(require("react"));
195
+ var import_react_primitive12 = require("@radix-ui/react-primitive");
196
+ var import_react_slot13 = require("@radix-ui/react-slot");
197
+ var import_react38 = __toESM(require("react"));
198
+ var import_react_primitive13 = require("@radix-ui/react-primitive");
199
+ var import_react_slot14 = require("@radix-ui/react-slot");
200
+ var import_react_toast = require("@radix-ui/react-toast");
201
+ var import_react39 = __toESM(require("react"));
202
+ var ToolbarPrimitive = __toESM(require("@radix-ui/react-toolbar"));
203
+ var import_react40 = __toESM(require("react"));
204
+ var import_react_tooltip = require("@radix-ui/react-tooltip");
205
+ var import_react41 = __toESM(require("react"));
206
+ var import_keyborg = require("keyborg");
207
+ var import_react42 = __toESM(require("react"));
208
+ var useDensityContext = (propsDensity) => {
209
+ const { density } = (0, import_react2.useContext)(DensityContext);
210
+ return propsDensity ?? density;
211
+ };
212
+ var useElevationContext = (propsElevation) => {
213
+ const { elevation } = (0, import_react3.useContext)(ElevationContext);
214
+ return propsElevation ?? elevation;
215
+ };
216
+ var initialLng = "en-US";
217
+ var initialNs = "dxos-common";
218
+ var initialDtLocale = import_locale.enUS;
219
+ var isLabel = (o) => typeof o === "string" || Array.isArray(o) && o.length === 2 && typeof o[0] === "string" && !!o[1] && typeof o[1] === "object" && "ns" in o[1] && typeof o[1].ns === "string";
220
+ var toLocalizedString = (label, t) => Array.isArray(label) ? t(...label) : label;
221
+ var resources = {
222
+ [initialLng]: {
223
+ [initialNs]: {
224
+ "loading translations": "Loading translations\u2026"
225
+ }
226
+ }
227
+ };
228
+ void import_i18next.default.use(import_react_i18next2.initReactI18next).init({
229
+ resources,
230
+ lng: initialLng,
231
+ defaultNS: initialNs,
232
+ interpolation: {
233
+ escapeValue: false
234
+ }
235
+ });
236
+ var TranslationsContext = /* @__PURE__ */ (0, import_react5.createContext)({
237
+ appNs: initialNs,
238
+ dtLocale: initialDtLocale
239
+ });
240
+ var useTranslation = (...args) => {
241
+ const result = (0, import_react_i18next2.useTranslation)(...args);
242
+ const { dtLocale } = (0, import_react5.useContext)(TranslationsContext);
243
+ return {
244
+ ...result,
245
+ dtLocale
246
+ };
247
+ };
248
+ var TranslationsProvider = ({ fallback, resourceExtensions, children, appNs, dtLocale }) => {
249
+ const [loaded, setLoaded] = (0, import_react5.useState)(false);
250
+ (0, import_react5.useEffect)(() => {
251
+ setLoaded(false);
252
+ if (resourceExtensions && resourceExtensions.length) {
253
+ resourceExtensions.forEach((resource) => {
254
+ Object.keys(resource).forEach((language) => {
255
+ Object.keys(resource[language]).forEach((ns) => {
256
+ import_i18next.default.addResourceBundle(language, ns, resource[language][ns]);
257
+ });
258
+ });
259
+ });
260
+ }
261
+ setLoaded(true);
262
+ }, [
263
+ resourceExtensions
264
+ ]);
265
+ return /* @__PURE__ */ import_react5.default.createElement(TranslationsContext.Provider, {
266
+ value: {
267
+ appNs: appNs ?? initialNs,
268
+ dtLocale: dtLocale ?? initialDtLocale
269
+ }
270
+ }, /* @__PURE__ */ import_react5.default.createElement(import_react5.Suspense, {
271
+ fallback
272
+ }, loaded ? children : fallback));
273
+ };
274
+ var useTranslationsContext = () => (0, import_react4.useContext)(TranslationsContext);
275
+ var useThemeContext = () => (0, import_react6.useContext)(ThemeContext) ?? (0, import_debug.raise)(new Error("Missing ThemeContext"));
276
+ var useVisualViewport = (deps) => {
277
+ const [width, setWidth] = (0, import_react7.useState)(null);
278
+ const [height, setHeight] = (0, import_react7.useState)(null);
279
+ (0, import_react7.useEffect)(() => {
280
+ const handleResize = () => {
281
+ if (window.visualViewport) {
282
+ setWidth(window.visualViewport.width);
283
+ setHeight(window.visualViewport.height);
284
+ }
285
+ };
286
+ window.visualViewport?.addEventListener("resize", handleResize);
287
+ handleResize();
288
+ return () => window.visualViewport?.removeEventListener("resize", handleResize);
289
+ }, deps ?? []);
290
+ return {
291
+ width,
292
+ height
293
+ };
294
+ };
295
+ var AnchoredOverflowRoot = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChild, classNames, children, ...props }, forwardedRef) => {
296
+ const { tx } = useThemeContext();
297
+ const Root3 = asChild ? import_react_slot.Slot : import_react_primitive.Primitive.div;
298
+ return /* @__PURE__ */ import_react.default.createElement(Root3, {
299
+ role: "none",
300
+ ...props,
301
+ className: tx("anchoredOverflow.root", "overflow-anchored", {}, classNames),
302
+ ref: forwardedRef
303
+ }, children);
304
+ });
305
+ var AnchoredOverflowAnchor = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChild, classNames, children, ...props }, forwardedRef) => {
306
+ const { tx } = useThemeContext();
307
+ const Root3 = asChild ? import_react_slot.Slot : import_react_primitive.Primitive.div;
308
+ return /* @__PURE__ */ import_react.default.createElement(Root3, {
309
+ role: "none",
310
+ ...props,
311
+ className: tx("anchoredOverflow.anchor", "overflow-anchor", {}, classNames),
312
+ ref: forwardedRef
313
+ }, children);
314
+ });
315
+ var AnchoredOverflow = {
316
+ Root: AnchoredOverflowRoot,
317
+ Anchor: AnchoredOverflowAnchor
318
+ };
319
+ var Icon = /* @__PURE__ */ (0, import_react9.forwardRef)(({ icon, classNames, size, ...props }, forwardedRef) => {
320
+ const { tx } = useThemeContext();
321
+ return /* @__PURE__ */ import_react9.default.createElement("svg", {
322
+ ...props,
323
+ className: tx("icon.root", "icon", {
324
+ size
325
+ }, classNames),
326
+ ref: forwardedRef
327
+ }, /* @__PURE__ */ import_react9.default.createElement("use", {
328
+ href: `/icons.svg#${icon}`
329
+ }));
330
+ });
331
+ var AVATAR_NAME = "Avatar";
332
+ var [AvatarProvider, useAvatarContext] = (0, import_react_context.createContext)(AVATAR_NAME);
333
+ var AvatarRoot = ({ size = 10, variant = "circle", status, animation, children, labelId: propsLabelId, descriptionId: propsDescriptionId, maskId: propsMaskId, inGroup, hue }) => {
334
+ const labelId = (0, import_react_hooks.useId)("avatar__label", propsLabelId);
335
+ const descriptionId = (0, import_react_hooks.useId)("avatar__description", propsDescriptionId);
336
+ const maskId = (0, import_react_hooks.useId)("avatar__mask", propsMaskId);
337
+ return /* @__PURE__ */ import_react8.default.createElement(AvatarProvider, {
338
+ labelId,
339
+ descriptionId,
340
+ maskId,
341
+ size,
342
+ variant,
343
+ status,
344
+ animation,
345
+ inGroup,
346
+ hue
347
+ }, children);
348
+ };
349
+ var rx = "0.25rem";
350
+ var AvatarFrame = /* @__PURE__ */ (0, import_react8.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
351
+ const { size, variant, labelId, descriptionId, maskId, inGroup, status, animation, hue } = useAvatarContext("AvatarFrame");
352
+ const { tx } = useThemeContext();
353
+ const numericSize = size === "px" ? 1 : Number(size);
354
+ const sizePx = numericSize * 4;
355
+ const ringWidth = status ? numericSize > 4 ? 2 : numericSize > 3 ? 1 : 1 : 0;
356
+ const ringGap = status ? numericSize > 12 ? 3 : numericSize > 4 ? 2 : numericSize > 3 ? 1 : 0 : 0;
357
+ const r = sizePx / 2 - ringGap - ringWidth;
358
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_avatar.Root, {
359
+ role: "img",
360
+ ...props,
361
+ className: tx("avatar.root", "avatar", {
362
+ size,
363
+ variant,
364
+ inGroup
365
+ }, classNames),
366
+ ref: forwardedRef,
367
+ ...!inGroup && {
368
+ "aria-labelledby": labelId,
369
+ "aria-describedby": descriptionId
370
+ }
371
+ }, /* @__PURE__ */ import_react8.default.createElement("svg", {
372
+ viewBox: `0 0 ${sizePx} ${sizePx}`,
373
+ width: sizePx,
374
+ height: sizePx,
375
+ className: tx("avatar.frame", "avatar__frame", {
376
+ variant
377
+ })
378
+ }, /* @__PURE__ */ import_react8.default.createElement("defs", null, /* @__PURE__ */ import_react8.default.createElement("mask", {
379
+ id: maskId
380
+ }, variant === "circle" ? /* @__PURE__ */ import_react8.default.createElement("circle", {
381
+ fill: "white",
382
+ cx: "50%",
383
+ cy: "50%",
384
+ r
385
+ }) : /* @__PURE__ */ import_react8.default.createElement("rect", {
386
+ fill: "white",
387
+ width: 2 * r,
388
+ height: 2 * r,
389
+ x: ringGap + ringWidth,
390
+ y: ringGap + ringWidth,
391
+ rx
392
+ }))), variant === "circle" ? /* @__PURE__ */ import_react8.default.createElement("circle", {
393
+ className: hue ? tx("hue.fill", "avatar__frame__circle", {
394
+ hue
395
+ }) : "fill-[var(--surface-bg)]",
396
+ cx: "50%",
397
+ cy: "50%",
398
+ r
399
+ }) : /* @__PURE__ */ import_react8.default.createElement("rect", {
400
+ className: hue ? tx("hue.fill", "avatar__frame__rect", {
401
+ hue
402
+ }) : "fill-[var(--surface-bg)]",
403
+ x: ringGap + ringWidth,
404
+ y: ringGap + ringWidth,
405
+ width: 2 * r,
406
+ height: 2 * r,
407
+ rx
408
+ }), children), /* @__PURE__ */ import_react8.default.createElement("span", {
409
+ role: "none",
410
+ className: tx("avatar.ring", "avatar__ring", {
411
+ size,
412
+ variant,
413
+ status,
414
+ animation
415
+ }),
416
+ style: {
417
+ borderWidth: ringWidth + "px"
418
+ }
419
+ }));
420
+ });
421
+ var AvatarLabel = /* @__PURE__ */ (0, import_react8.forwardRef)(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
422
+ const Root3 = asChild ? import_react_slot2.Slot : import_react_primitive2.Primitive.span;
423
+ const { tx } = useThemeContext();
424
+ const { labelId } = useAvatarContext("AvatarLabel");
425
+ return /* @__PURE__ */ import_react8.default.createElement(Root3, {
426
+ ...props,
427
+ id: labelId,
428
+ ref: forwardedRef,
429
+ className: tx("avatar.label", "avatar__label", {
430
+ srOnly
431
+ }, classNames)
432
+ });
433
+ });
434
+ var AvatarDescription = /* @__PURE__ */ (0, import_react8.forwardRef)(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
435
+ const Root3 = asChild ? import_react_slot2.Slot : import_react_primitive2.Primitive.span;
436
+ const { tx } = useThemeContext();
437
+ const { descriptionId } = useAvatarContext("AvatarDescription");
438
+ return /* @__PURE__ */ import_react8.default.createElement(Root3, {
439
+ ...props,
440
+ id: descriptionId,
441
+ ref: forwardedRef,
442
+ className: tx("avatar.description", "avatar__description", {
443
+ srOnly
444
+ }, classNames)
445
+ });
446
+ });
447
+ var AvatarMaskedImage = /* @__PURE__ */ (0, import_react8.forwardRef)((props, forwardedRef) => {
448
+ const { maskId } = useAvatarContext("AvatarFallback");
449
+ return /* @__PURE__ */ import_react8.default.createElement("image", {
450
+ width: "100%",
451
+ height: "100%",
452
+ ...props,
453
+ mask: `url(#${maskId})`,
454
+ ref: forwardedRef,
455
+ preserveAspectRatio: "xMidYMid slice"
456
+ });
457
+ });
458
+ var AvatarMaskedText = (props) => {
459
+ const { maskId, size } = useAvatarContext("AvatarFallback");
460
+ const { large } = props;
461
+ const fontScale = (large ? 4 : 3) * (1 / 1.612);
462
+ const { tx } = useThemeContext();
463
+ return /* @__PURE__ */ import_react8.default.createElement("text", {
464
+ x: "50%",
465
+ y: "50%",
466
+ className: tx("avatar.fallbackText", "avatar__fallback-text"),
467
+ textAnchor: "middle",
468
+ alignmentBaseline: "central",
469
+ fontSize: size === "px" ? "200%" : size * fontScale,
470
+ mask: `url(#${maskId})`
471
+ }, props.children);
472
+ };
473
+ var AvatarImage = /* @__PURE__ */ (0, import_react8.forwardRef)(({ onLoadingStatusChange, ...props }, forwardedRef) => {
474
+ const { size } = useAvatarContext("AvatarImage");
475
+ const pxSize = size === "px" ? 1 : size * 4;
476
+ if (pxSize <= 20) {
477
+ return null;
478
+ }
479
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_avatar.Fallback, {
480
+ asChild: true
481
+ }, /* @__PURE__ */ import_react8.default.createElement(AvatarMaskedImage, {
482
+ ...props,
483
+ ref: forwardedRef
484
+ }));
485
+ });
486
+ var AvatarIcon = /* @__PURE__ */ (0, import_react8.forwardRef)(({ onLoadingStatusChange, ...props }, forwardedRef) => {
487
+ const { size } = useAvatarContext("AvatarIcon");
488
+ const pxSize = size === "px" ? 1 : size * 4;
489
+ if (pxSize <= 20) {
490
+ return null;
491
+ }
492
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_avatar.Fallback, {
493
+ asChild: true
494
+ }, /* @__PURE__ */ import_react8.default.createElement(Icon, {
495
+ ...props,
496
+ ref: forwardedRef
497
+ }));
498
+ });
499
+ var AvatarFallback = /* @__PURE__ */ (0, import_react8.forwardRef)(({ delayMs, text, ...props }, forwardedRef) => {
500
+ const isTextOnly = Boolean(text && /[0-9a-zA-Z]+/.test(text));
501
+ const { size } = useAvatarContext("AvatarFallback");
502
+ const numericSize = size === "px" ? 1 : Number(size);
503
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_avatar.Fallback, {
504
+ delayMs,
505
+ asChild: true
506
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, numericSize >= 6 && /* @__PURE__ */ import_react8.default.createElement(AvatarMaskedImage, {
507
+ ...props,
508
+ ref: forwardedRef
509
+ }), text && /* @__PURE__ */ import_react8.default.createElement(AvatarMaskedText, {
510
+ large: !isTextOnly
511
+ }, text.toLocaleUpperCase())));
512
+ });
513
+ var Avatar = {
514
+ Root: AvatarRoot,
515
+ Frame: AvatarFrame,
516
+ Image: AvatarImage,
517
+ Icon: AvatarIcon,
518
+ Fallback: AvatarFallback,
519
+ Label: AvatarLabel,
520
+ Description: AvatarDescription
521
+ };
522
+ var AvatarGroupRoot = /* @__PURE__ */ (0, import_react10.forwardRef)(({ labelId: propsLabelId, descriptionId: propsDescriptionId, size, variant, children, classNames }, forwardedRef) => {
523
+ const { tx } = useThemeContext();
524
+ const labelId = (0, import_react_hooks2.useId)("avatar-group__label", propsLabelId);
525
+ const descriptionId = (0, import_react_hooks2.useId)("avatar-group__description", propsDescriptionId);
526
+ return /* @__PURE__ */ import_react10.default.createElement(Avatar.Root, {
527
+ labelId,
528
+ descriptionId,
529
+ size,
530
+ variant,
531
+ inGroup: true
532
+ }, /* @__PURE__ */ import_react10.default.createElement("div", {
533
+ role: "group",
534
+ className: tx("avatar.group", "avatar-group", {}, classNames),
535
+ "aria-labelledby": labelId,
536
+ "aria-describedby": descriptionId,
537
+ ref: forwardedRef
538
+ }, children));
539
+ });
540
+ var AvatarGroupItemRoot = ({ maskId, size, variant, status, children, ...rest }) => {
541
+ const { labelId, descriptionId, size: contextSize, variant: contextVariant } = useAvatarContext("AvatarGroupItemRoot");
542
+ return /* @__PURE__ */ import_react10.default.createElement(Avatar.Root, {
543
+ labelId,
544
+ descriptionId,
545
+ maskId,
546
+ status,
547
+ size: size ?? contextSize,
548
+ variant: variant ?? contextVariant,
549
+ inGroup: true,
550
+ ...rest
551
+ }, children);
552
+ };
553
+ var AvatarGroupLabel = /* @__PURE__ */ (0, import_react10.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
554
+ const { labelId, size } = useAvatarContext("AvatarGroupLabel");
555
+ const { tx } = useThemeContext();
556
+ return /* @__PURE__ */ import_react10.default.createElement("span", {
557
+ ...props,
558
+ id: labelId,
559
+ className: tx("avatar.groupLabel", "avatar-group__label", {
560
+ srOnly,
561
+ size
562
+ }, classNames)
563
+ }, children);
564
+ });
565
+ var AvatarGroupDescription = /* @__PURE__ */ (0, import_react10.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
566
+ const { descriptionId } = useAvatarContext("AvatarGroupDescription");
567
+ const { tx } = useThemeContext();
568
+ return /* @__PURE__ */ import_react10.default.createElement("span", {
569
+ ...props,
570
+ id: descriptionId,
571
+ className: tx("avatar.groupDescription", "avatar-group__description", {
572
+ srOnly
573
+ }, classNames)
574
+ }, children);
575
+ });
576
+ var AvatarGroup = {
577
+ Root: AvatarGroupRoot,
578
+ Label: AvatarGroupLabel,
579
+ Description: AvatarGroupDescription
580
+ };
581
+ var AvatarGroupItem = {
582
+ Root: AvatarGroupItemRoot
583
+ };
584
+ var Link = /* @__PURE__ */ (0, import_react13.forwardRef)(({ asChild, variant, classNames, ...props }, forwardedRef) => {
585
+ const { tx } = useThemeContext();
586
+ const Root3 = asChild ? import_react_slot4.Slot : import_react_primitive4.Primitive.a;
587
+ return /* @__PURE__ */ import_react13.default.createElement(Root3, {
588
+ ...props,
589
+ className: tx("link.root", "link", {
590
+ variant
591
+ }, classNames),
592
+ ref: forwardedRef
593
+ });
594
+ });
595
+ var BreadcrumbRoot = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
596
+ const { tx } = useThemeContext();
597
+ const Root3 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.div;
598
+ return /* @__PURE__ */ import_react12.default.createElement(Root3, {
599
+ role: "navigation",
600
+ ...props,
601
+ className: tx("breadcrumb.root", "breadcrumb", {}, classNames),
602
+ ref: forwardedRef
603
+ });
604
+ });
605
+ var BreadcrumbList = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
606
+ const { tx } = useThemeContext();
607
+ const Root3 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.ol;
608
+ return /* @__PURE__ */ import_react12.default.createElement(Root3, {
609
+ role: "list",
610
+ ...props,
611
+ className: tx("breadcrumb.list", "breadcrumb__list", {}, classNames),
612
+ ref: forwardedRef
613
+ });
614
+ });
615
+ var BreadcrumbListItem = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
616
+ const { tx } = useThemeContext();
617
+ const Root3 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.li;
618
+ return /* @__PURE__ */ import_react12.default.createElement(Root3, {
619
+ role: "listitem",
620
+ ...props,
621
+ className: tx("breadcrumb.listItem", "breadcrumb__list__item", {}, classNames),
622
+ ref: forwardedRef
623
+ });
624
+ });
625
+ var BreadcrumbLink = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, ...props }, forwardedRef) => {
626
+ const Root3 = asChild ? import_react_slot3.Slot : Link;
627
+ return /* @__PURE__ */ import_react12.default.createElement(Root3, {
628
+ ...props,
629
+ ref: forwardedRef
630
+ });
631
+ });
632
+ var BreadcrumbCurrent = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
633
+ const { tx } = useThemeContext();
634
+ const Root3 = asChild ? import_react_slot3.Slot : "h1";
635
+ return /* @__PURE__ */ import_react12.default.createElement(Root3, {
636
+ ...props,
637
+ "aria-current": "page",
638
+ className: tx("breadcrumb.current", "breadcrumb__item__heading--current", {}, classNames),
639
+ ref: forwardedRef
640
+ });
641
+ });
642
+ var BreadcrumbSeparator = ({ children, classNames, ...props }) => {
643
+ const { tx } = useThemeContext();
644
+ return /* @__PURE__ */ import_react12.default.createElement(import_react_primitive3.Primitive.span, {
645
+ role: "separator",
646
+ "aria-hidden": "true",
647
+ ...props,
648
+ className: tx("breadcrumb.separator", "breadcrumb__separator", {}, classNames)
649
+ }, children ?? /* @__PURE__ */ import_react12.default.createElement(import_react11.Dot, {
650
+ weight: "bold"
651
+ }));
652
+ };
653
+ var Breadcrumb = {
654
+ Root: BreadcrumbRoot,
655
+ List: BreadcrumbList,
656
+ ListItem: BreadcrumbListItem,
657
+ Link: BreadcrumbLink,
658
+ Current: BreadcrumbCurrent,
659
+ Separator: BreadcrumbSeparator
660
+ };
661
+ var BUTTON_GROUP_NAME = "ButtonGroup";
662
+ var BUTTON_NAME = "Button";
663
+ var [ButtonGroupProvider, useButtonGroupContext] = (0, import_react_context2.createContext)(BUTTON_GROUP_NAME, {
664
+ inGroup: false
665
+ });
666
+ var Button = /* @__PURE__ */ (0, import_react14.forwardRef)(({ classNames, children, density: propsDensity, elevation: propsElevation, variant = "default", asChild, ...props }, ref) => {
667
+ const { inGroup } = useButtonGroupContext(BUTTON_NAME);
668
+ const { tx } = useThemeContext();
669
+ const elevation = useElevationContext(propsElevation);
670
+ const density = useDensityContext(propsDensity);
671
+ const Root3 = asChild ? import_react_slot5.Slot : import_react_primitive5.Primitive.button;
672
+ return /* @__PURE__ */ import_react14.default.createElement(Root3, {
673
+ ref,
674
+ ...props,
675
+ "data-variant": variant,
676
+ "data-density": density,
677
+ "data-props": inGroup ? "grouped" : "",
678
+ className: tx("button.root", "button", {
679
+ variant,
680
+ inGroup,
681
+ disabled: props.disabled,
682
+ density,
683
+ elevation
684
+ }, classNames),
685
+ ...props.disabled && {
686
+ disabled: true
687
+ }
688
+ }, children);
689
+ });
690
+ Button.displayName = BUTTON_NAME;
691
+ var ButtonGroup = /* @__PURE__ */ (0, import_react14.forwardRef)(({ children, elevation: propsElevation, classNames, asChild, ...props }, forwardedRef) => {
692
+ const { tx } = useThemeContext();
693
+ const elevation = useElevationContext(propsElevation);
694
+ const Root3 = asChild ? import_react_slot5.Slot : import_react_primitive5.Primitive.div;
695
+ return /* @__PURE__ */ import_react14.default.createElement(Root3, {
696
+ role: "none",
697
+ ...props,
698
+ className: tx("button.group", "button-group", {
699
+ elevation
700
+ }, classNames),
701
+ ref: forwardedRef
702
+ }, /* @__PURE__ */ import_react14.default.createElement(ButtonGroupProvider, {
703
+ inGroup: true
704
+ }, children));
705
+ });
706
+ ButtonGroup.displayName = BUTTON_GROUP_NAME;
707
+ var Toggle = /* @__PURE__ */ (0, import_react15.forwardRef)(({ defaultPressed, pressed, onPressedChange, ...props }, forwardedRef) => {
708
+ return /* @__PURE__ */ import_react15.default.createElement(import_react_toggle.Toggle, {
709
+ defaultPressed,
710
+ pressed,
711
+ onPressedChange,
712
+ asChild: true
713
+ }, /* @__PURE__ */ import_react15.default.createElement(Button, {
714
+ ...props,
715
+ ref: forwardedRef
716
+ }));
717
+ });
718
+ var ToggleGroup = /* @__PURE__ */ (0, import_react16.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
719
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_toggle_group.ToggleGroup, {
720
+ ...props,
721
+ asChild: true
722
+ }, /* @__PURE__ */ import_react16.default.createElement(ButtonGroup, {
723
+ classNames,
724
+ children,
725
+ ref: forwardedRef
726
+ }));
727
+ });
728
+ var ToggleGroupItem = /* @__PURE__ */ (0, import_react16.forwardRef)(({ variant, elevation, density, classNames, children, ...props }, forwardedRef) => {
729
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_toggle_group.ToggleGroupItem, {
730
+ ...props,
731
+ asChild: true
732
+ }, /* @__PURE__ */ import_react16.default.createElement(Button, {
733
+ variant,
734
+ elevation,
735
+ density,
736
+ classNames,
737
+ children,
738
+ ref: forwardedRef
739
+ }));
740
+ });
741
+ var ElevationContext = /* @__PURE__ */ (0, import_react18.createContext)({
742
+ elevation: "base"
743
+ });
744
+ var ElevationProvider = ({ elevation, children }) => /* @__PURE__ */ import_react18.default.createElement(ElevationContext.Provider, {
745
+ value: {
746
+ elevation
747
+ }
748
+ }, children);
749
+ var DialogRoot = import_react_dialog.Root;
750
+ var DialogTrigger = import_react_dialog.DialogTrigger;
751
+ var DialogPortal = import_react_dialog.DialogPortal;
752
+ var DialogTitle = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
753
+ const { tx } = useThemeContext();
754
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_dialog.DialogTitle, {
755
+ ...props,
756
+ className: tx("dialog.title", "dialog__title", {
757
+ srOnly
758
+ }, classNames),
759
+ ref: forwardedRef
760
+ });
761
+ });
762
+ var DialogDescription = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
763
+ const { tx } = useThemeContext();
764
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_dialog.DialogDescription, {
765
+ ...props,
766
+ className: tx("dialog.description", "dialog__description", {
767
+ srOnly
768
+ }, classNames),
769
+ ref: forwardedRef
770
+ });
771
+ });
772
+ var DialogClose = import_react_dialog.DialogClose;
773
+ var DIALOG_OVERLAY_NAME = "DialogOverlay";
774
+ var DIALOG_CONTENT_NAME = "DialogContent";
775
+ var [OverlayLayoutProvider, useOverlayLayoutContext] = (0, import_react_context3.createContext)(DIALOG_OVERLAY_NAME, {
776
+ inOverlayLayout: false
777
+ });
778
+ var DialogOverlay = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
779
+ const { tx } = useThemeContext();
780
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_dialog.DialogOverlay, {
781
+ ...props,
782
+ className: tx("dialog.overlay", "dialog__overlay", {}, classNames, "data-[block-align=start]:justify-center", "data-[block-align=start]:items-start", "data-[block-align=center]:place-content-center"),
783
+ ref: forwardedRef,
784
+ "data-block-align": blockAlign
785
+ }, /* @__PURE__ */ import_react17.default.createElement(OverlayLayoutProvider, {
786
+ inOverlayLayout: true
787
+ }, children));
788
+ });
789
+ DialogOverlay.displayName = DIALOG_OVERLAY_NAME;
790
+ var DialogContent = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
791
+ const { tx } = useThemeContext();
792
+ const { inOverlayLayout } = useOverlayLayoutContext(DIALOG_CONTENT_NAME);
793
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_dialog.DialogContent, {
794
+ ...props,
795
+ className: tx("dialog.content", "dialog", {
796
+ inOverlayLayout
797
+ }, classNames),
798
+ ref: forwardedRef
799
+ }, /* @__PURE__ */ import_react17.default.createElement(ElevationProvider, {
800
+ elevation: "chrome"
801
+ }, children));
802
+ });
803
+ DialogContent.displayName = DIALOG_CONTENT_NAME;
804
+ var Dialog = {
805
+ Root: DialogRoot,
806
+ Trigger: DialogTrigger,
807
+ Portal: DialogPortal,
808
+ Overlay: DialogOverlay,
809
+ Content: DialogContent,
810
+ Title: DialogTitle,
811
+ Description: DialogDescription,
812
+ Close: DialogClose
813
+ };
814
+ var AlertDialogRoot = import_react_alert_dialog.Root;
815
+ var AlertDialogTrigger = import_react_alert_dialog.AlertDialogTrigger;
816
+ var AlertDialogPortal = import_react_alert_dialog.AlertDialogPortal;
817
+ var AlertDialogCancel = import_react_alert_dialog.AlertDialogCancel;
818
+ var AlertDialogAction = import_react_alert_dialog.AlertDialogAction;
819
+ var AlertDialogTitle = /* @__PURE__ */ (0, import_react19.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
820
+ const { tx } = useThemeContext();
821
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_alert_dialog.AlertDialogTitle, {
822
+ ...props,
823
+ className: tx("dialog.title", "dialog--alert__title", {
824
+ srOnly
825
+ }, classNames),
826
+ ref: forwardedRef
827
+ });
828
+ });
829
+ var AlertDialogDescription = /* @__PURE__ */ (0, import_react19.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
830
+ const { tx } = useThemeContext();
831
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_alert_dialog.AlertDialogDescription, {
832
+ ...props,
833
+ className: tx("dialog.description", "dialog--alert__description", {
834
+ srOnly
835
+ }, classNames),
836
+ ref: forwardedRef
837
+ });
838
+ });
839
+ var ALERT_DIALOG_OVERLAY_NAME = "AlertDialogOverlay";
840
+ var ALERT_DIALOG_CONTENT_NAME = "AlertDialogContent";
841
+ var [OverlayLayoutProvider2, useOverlayLayoutContext2] = (0, import_react_context4.createContext)(ALERT_DIALOG_OVERLAY_NAME, {
842
+ inOverlayLayout: false
843
+ });
844
+ var AlertDialogOverlay = /* @__PURE__ */ (0, import_react19.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
845
+ const { tx } = useThemeContext();
846
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_alert_dialog.AlertDialogOverlay, {
847
+ ...props,
848
+ className: tx("dialog.overlay", "dialog--alert__overlay", {}, classNames),
849
+ ref: forwardedRef
850
+ }, /* @__PURE__ */ import_react19.default.createElement(OverlayLayoutProvider2, {
851
+ inOverlayLayout: true
852
+ }, children));
853
+ });
854
+ AlertDialogOverlay.displayName = ALERT_DIALOG_OVERLAY_NAME;
855
+ var AlertDialogContent = /* @__PURE__ */ (0, import_react19.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
856
+ const { tx } = useThemeContext();
857
+ const { inOverlayLayout } = useOverlayLayoutContext2(ALERT_DIALOG_CONTENT_NAME);
858
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_alert_dialog.AlertDialogContent, {
859
+ ...props,
860
+ className: tx("dialog.content", "dialog--alert", {
861
+ inOverlayLayout
862
+ }, classNames),
863
+ ref: forwardedRef
864
+ }, /* @__PURE__ */ import_react19.default.createElement(ElevationProvider, {
865
+ elevation: "chrome"
866
+ }, children));
867
+ });
868
+ AlertDialogContent.displayName = ALERT_DIALOG_CONTENT_NAME;
869
+ var AlertDialog = {
870
+ Root: AlertDialogRoot,
871
+ Trigger: AlertDialogTrigger,
872
+ Portal: AlertDialogPortal,
873
+ Overlay: AlertDialogOverlay,
874
+ Content: AlertDialogContent,
875
+ Title: AlertDialogTitle,
876
+ Description: AlertDialogDescription,
877
+ Cancel: AlertDialogCancel,
878
+ Action: AlertDialogAction
879
+ };
880
+ var ContextMenuRoot = ContextMenuPrimitive.ContextMenu;
881
+ var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
882
+ var ContextMenuPortal = ContextMenuPrimitive.Portal;
883
+ var ContextMenuContent = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
884
+ const { tx } = useThemeContext();
885
+ return /* @__PURE__ */ import_react20.default.createElement(ContextMenuPrimitive.Content, {
886
+ collisionPadding: 8,
887
+ ...props,
888
+ className: tx("menu.content", "menu", {}, classNames),
889
+ ref: forwardedRef
890
+ }, /* @__PURE__ */ import_react20.default.createElement(ElevationProvider, {
891
+ elevation: "chrome"
892
+ }, children));
893
+ });
894
+ var ContextMenuViewport = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, asChild, children, ...props }, forwardedRef) => {
895
+ const { tx } = useThemeContext();
896
+ const Root3 = asChild ? import_react_slot6.Slot : import_react_primitive6.Primitive.div;
897
+ return /* @__PURE__ */ import_react20.default.createElement(Root3, {
898
+ ...props,
899
+ className: tx("menu.viewport", "menu__viewport", {}, classNames),
900
+ ref: forwardedRef
901
+ }, children);
902
+ });
903
+ var ContextMenuArrow = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, ...props }, forwardedRef) => {
904
+ const { tx } = useThemeContext();
905
+ return /* @__PURE__ */ import_react20.default.createElement(ContextMenuPrimitive.Arrow, {
906
+ ...props,
907
+ className: tx("menu.arrow", "menu__arrow", {}, classNames),
908
+ ref: forwardedRef
909
+ });
910
+ });
911
+ var ContextMenuGroup = ContextMenuPrimitive.Group;
912
+ var ContextMenuItemIndicator = ContextMenuPrimitive.ItemIndicator;
913
+ var ContextMenuItem = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, ...props }, forwardedRef) => {
914
+ const { tx } = useThemeContext();
915
+ return /* @__PURE__ */ import_react20.default.createElement(ContextMenuPrimitive.Item, {
916
+ ...props,
917
+ className: tx("menu.item", "menu__item", {}, classNames),
918
+ ref: forwardedRef
919
+ });
920
+ });
921
+ var ContextMenuCheckboxItem = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, ...props }, forwardedRef) => {
922
+ const { tx } = useThemeContext();
923
+ return /* @__PURE__ */ import_react20.default.createElement(ContextMenuPrimitive.CheckboxItem, {
924
+ ...props,
925
+ className: tx("menu.item", "menu__item--checkbox", {}, classNames),
926
+ ref: forwardedRef
927
+ });
928
+ });
929
+ var ContextMenuSeparator = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, ...props }, forwardedRef) => {
930
+ const { tx } = useThemeContext();
931
+ return /* @__PURE__ */ import_react20.default.createElement(ContextMenuPrimitive.Separator, {
932
+ ...props,
933
+ className: tx("menu.separator", "menu__item", {}, classNames),
934
+ ref: forwardedRef
935
+ });
936
+ });
937
+ var ContextMenuGroupLabel = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, ...props }, forwardedRef) => {
938
+ const { tx } = useThemeContext();
939
+ return /* @__PURE__ */ import_react20.default.createElement(ContextMenuPrimitive.Label, {
940
+ ...props,
941
+ className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
942
+ ref: forwardedRef
943
+ });
944
+ });
945
+ var ContextMenu2 = {
946
+ Root: ContextMenuRoot,
947
+ Trigger: ContextMenuTrigger,
948
+ Portal: ContextMenuPortal,
949
+ Content: ContextMenuContent,
950
+ Viewport: ContextMenuViewport,
951
+ Arrow: ContextMenuArrow,
952
+ Group: ContextMenuGroup,
953
+ Item: ContextMenuItem,
954
+ CheckboxItem: ContextMenuCheckboxItem,
955
+ ItemIndicator: ContextMenuItemIndicator,
956
+ Separator: ContextMenuSeparator,
957
+ GroupLabel: ContextMenuGroupLabel
958
+ };
959
+ var DropdownMenuRoot = DropdownMenuPrimitive.DropdownMenu;
960
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
961
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
962
+ var useDropdownMenuContext2 = DropdownMenuPrimitive.useDropdownMenuContext;
963
+ var useDropdownMenuMenuScope2 = DropdownMenuPrimitive.useDropdownMenuMenuScope;
964
+ var DropdownMenuContent = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
965
+ const { tx } = useThemeContext();
966
+ return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuPrimitive.Content, {
967
+ sideOffset: 4,
968
+ collisionPadding: 8,
969
+ ...props,
970
+ className: tx("menu.content", "menu", {}, classNames),
971
+ ref: forwardedRef
972
+ }, /* @__PURE__ */ import_react21.default.createElement(ElevationProvider, {
973
+ elevation: "chrome"
974
+ }, children));
975
+ });
976
+ var DropdownMenuViewport = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, asChild, children, ...props }, forwardedRef) => {
977
+ const { tx } = useThemeContext();
978
+ const Root3 = asChild ? import_react_slot7.Slot : import_react_primitive7.Primitive.div;
979
+ return /* @__PURE__ */ import_react21.default.createElement(Root3, {
980
+ ...props,
981
+ className: tx("menu.viewport", "menu__viewport", {}, classNames),
982
+ ref: forwardedRef
983
+ }, children);
984
+ });
985
+ var DropdownMenuArrow = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, ...props }, forwardedRef) => {
986
+ const { tx } = useThemeContext();
987
+ return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuPrimitive.Arrow, {
988
+ ...props,
989
+ className: tx("menu.arrow", "menu__arrow", {}, classNames),
990
+ ref: forwardedRef
991
+ });
992
+ });
993
+ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
994
+ var DropdownMenuItemIndicator = DropdownMenuPrimitive.ItemIndicator;
995
+ var DropdownMenuItem = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, ...props }, forwardedRef) => {
996
+ const { tx } = useThemeContext();
997
+ return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuPrimitive.Item, {
998
+ ...props,
999
+ className: tx("menu.item", "menu__item", {}, classNames),
1000
+ ref: forwardedRef
1001
+ });
1002
+ });
1003
+ var DropdownMenuCheckboxItem = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1004
+ const { tx } = useThemeContext();
1005
+ return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuPrimitive.CheckboxItem, {
1006
+ ...props,
1007
+ className: tx("menu.item", "menu__item--checkbox", {}, classNames),
1008
+ ref: forwardedRef
1009
+ });
1010
+ });
1011
+ var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1012
+ const { tx } = useThemeContext();
1013
+ return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuPrimitive.Separator, {
1014
+ ...props,
1015
+ className: tx("menu.separator", "menu__item", {}, classNames),
1016
+ ref: forwardedRef
1017
+ });
1018
+ });
1019
+ var DropdownMenuGroupLabel = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1020
+ const { tx } = useThemeContext();
1021
+ return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuPrimitive.Label, {
1022
+ ...props,
1023
+ className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
1024
+ ref: forwardedRef
1025
+ });
1026
+ });
1027
+ var DropdownMenu2 = {
1028
+ Root: DropdownMenuRoot,
1029
+ Trigger: DropdownMenuTrigger,
1030
+ Portal: DropdownMenuPortal,
1031
+ Content: DropdownMenuContent,
1032
+ Viewport: DropdownMenuViewport,
1033
+ Arrow: DropdownMenuArrow,
1034
+ Group: DropdownMenuGroup,
1035
+ Item: DropdownMenuItem,
1036
+ CheckboxItem: DropdownMenuCheckboxItem,
1037
+ ItemIndicator: DropdownMenuItemIndicator,
1038
+ Separator: DropdownMenuSeparator,
1039
+ GroupLabel: DropdownMenuGroupLabel
1040
+ };
1041
+ var Label3 = /* @__PURE__ */ (0, import_react23.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
1042
+ const { tx } = useThemeContext();
1043
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.Label, {
1044
+ ...props,
1045
+ className: tx("input.label", "input__label", {
1046
+ srOnly
1047
+ }, classNames),
1048
+ ref: forwardedRef
1049
+ }, children);
1050
+ });
1051
+ var Description = /* @__PURE__ */ (0, import_react23.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
1052
+ const { tx } = useThemeContext();
1053
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.Description, {
1054
+ ...props,
1055
+ className: tx("input.description", "input__description", {
1056
+ srOnly
1057
+ }, classNames),
1058
+ ref: forwardedRef
1059
+ }, children);
1060
+ });
1061
+ var Validation = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, srOnly, classNames, children, ...props }, forwardedRef) => {
1062
+ const { tx } = useThemeContext();
1063
+ const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
1064
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.Validation, {
1065
+ ...props,
1066
+ className: tx("input.validation", `input__validation-message input__validation-message--${validationValence}`, {
1067
+ srOnly,
1068
+ validationValence
1069
+ }, classNames),
1070
+ ref: forwardedRef
1071
+ }, children);
1072
+ });
1073
+ var DescriptionAndValidation = /* @__PURE__ */ (0, import_react23.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
1074
+ const { tx } = useThemeContext();
1075
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.DescriptionAndValidation, {
1076
+ ...props,
1077
+ className: tx("input.descriptionAndValidation", "input__description-and-validation", {
1078
+ srOnly
1079
+ }, classNames),
1080
+ ref: forwardedRef
1081
+ }, children);
1082
+ });
1083
+ var PinInput = /* @__PURE__ */ (0, import_react23.forwardRef)(({ density: propsDensity, elevation: propsElevation, segmentClassName: propsSegmentClassName, inputClassName, variant, ...props }, forwardedRef) => {
1084
+ const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
1085
+ const { tx } = useThemeContext();
1086
+ const density = useDensityContext(propsDensity);
1087
+ const elevation = useElevationContext(propsElevation);
1088
+ const segmentClassName = (0, import_react23.useCallback)(({ focused, validationValence }) => tx("input.input", "input--pin-segment", {
1089
+ variant: "static",
1090
+ focused,
1091
+ disabled: props.disabled,
1092
+ density,
1093
+ elevation,
1094
+ validationValence
1095
+ }, propsSegmentClassName), [
1096
+ tx,
1097
+ props.disabled,
1098
+ elevation,
1099
+ propsElevation,
1100
+ density
1101
+ ]);
1102
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.PinInput, {
1103
+ ...props,
1104
+ segmentClassName,
1105
+ ...props.autoFocus && !hasIosKeyboard2 && {
1106
+ autoFocus: true
1107
+ },
1108
+ inputClassName: tx("input.inputWithSegments", "input input--pin", {
1109
+ disabled: props.disabled
1110
+ }, inputClassName),
1111
+ ref: forwardedRef
1112
+ });
1113
+ });
1114
+ var TextInput = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, ...props }, forwardedRef) => {
1115
+ const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
1116
+ const themeContextValue = useThemeContext();
1117
+ const density = useDensityContext(propsDensity);
1118
+ const elevation = useElevationContext(propsElevation);
1119
+ const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
1120
+ const { tx } = themeContextValue;
1121
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.TextInput, {
1122
+ ...props,
1123
+ className: tx("input.input", "input", {
1124
+ variant,
1125
+ disabled: props.disabled,
1126
+ density,
1127
+ elevation,
1128
+ validationValence
1129
+ }, classNames),
1130
+ ...props.autoFocus && !hasIosKeyboard2 && {
1131
+ autoFocus: true
1132
+ },
1133
+ ref: forwardedRef
1134
+ });
1135
+ });
1136
+ var TextArea = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, ...props }, forwardedRef) => {
1137
+ const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
1138
+ const { tx } = useThemeContext();
1139
+ const density = useDensityContext(propsDensity);
1140
+ const elevation = useElevationContext(propsElevation);
1141
+ const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
1142
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_input.TextArea, {
1143
+ ...props,
1144
+ className: tx("input.input", "input--text-area", {
1145
+ variant,
1146
+ disabled: props.disabled,
1147
+ density,
1148
+ elevation,
1149
+ validationValence
1150
+ }, classNames),
1151
+ ...props.autoFocus && !hasIosKeyboard2 && {
1152
+ autoFocus: true
1153
+ },
1154
+ ref: forwardedRef
1155
+ });
1156
+ });
1157
+ var Checkbox = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, size, weight = "bold", classNames, ...props }, forwardedRef) => {
1158
+ const [checked, onCheckedChange] = (0, import_react_use_controllable_state.useControllableState)({
1159
+ prop: propsChecked,
1160
+ defaultProp: propsDefaultChecked,
1161
+ onChange: propsOnCheckedChange
1162
+ });
1163
+ const { id, validationValence, descriptionId, errorMessageId } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
1164
+ const { tx } = useThemeContext();
1165
+ const Icon3 = checked === "indeterminate" ? import_react22.Minus : checked ? import_react22.Check : import_react23.Fragment;
1166
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_checkbox.Root, {
1167
+ ...props,
1168
+ checked,
1169
+ onCheckedChange,
1170
+ id,
1171
+ "aria-describedby": descriptionId,
1172
+ ...validationValence === "error" && {
1173
+ "aria-invalid": "true",
1174
+ "aria-errormessage": errorMessageId
1175
+ },
1176
+ className: tx("input.checkbox", "input--checkbox", {
1177
+ size
1178
+ }, "shrink-0", classNames),
1179
+ ref: forwardedRef
1180
+ }, /* @__PURE__ */ import_react23.default.createElement(import_react_checkbox.Indicator, {
1181
+ asChild: true
1182
+ }, /* @__PURE__ */ import_react23.default.createElement(Icon3, checked && {
1183
+ weight,
1184
+ className: tx("input.checkboxIndicator", "input--checkbox__indicator", {
1185
+ size
1186
+ })
1187
+ })));
1188
+ });
1189
+ var Switch = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, size = 5, classNames, ...props }, forwardedRef) => {
1190
+ const { tx } = useThemeContext();
1191
+ const [checked, onCheckedChange] = (0, import_react_use_controllable_state.useControllableState)({
1192
+ prop: propsChecked,
1193
+ defaultProp: propsDefaultChecked,
1194
+ onChange: propsOnCheckedChange
1195
+ });
1196
+ const { id, validationValence, descriptionId, errorMessageId } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
1197
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_switch.Root, {
1198
+ ...props,
1199
+ checked,
1200
+ onCheckedChange,
1201
+ id,
1202
+ "aria-describedby": descriptionId,
1203
+ ...validationValence === "error" && {
1204
+ "aria-invalid": "true",
1205
+ "aria-errormessage": errorMessageId
1206
+ },
1207
+ className: tx("input.switch", "input--switch", {
1208
+ size
1209
+ }, classNames),
1210
+ ref: forwardedRef
1211
+ }, /* @__PURE__ */ import_react23.default.createElement(import_react_switch.Thumb, {
1212
+ className: tx("input.switchThumb", "input--switch__thumb", {
1213
+ size
1214
+ })
1215
+ }));
1216
+ });
1217
+ var Input = {
1218
+ Root: import_react_input.InputRoot,
1219
+ PinInput,
1220
+ TextInput,
1221
+ TextArea,
1222
+ Checkbox,
1223
+ Switch,
1224
+ Label: Label3,
1225
+ Description,
1226
+ Validation,
1227
+ DescriptionAndValidation
1228
+ };
1229
+ var DensityContext = /* @__PURE__ */ (0, import_react26.createContext)({
1230
+ density: "fine"
1231
+ });
1232
+ var DensityProvider = ({ density, children }) => /* @__PURE__ */ import_react26.default.createElement(DensityContext.Provider, {
1233
+ value: {
1234
+ density
1235
+ }
1236
+ }, children);
1237
+ var List = /* @__PURE__ */ (0, import_react25.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
1238
+ const { tx } = useThemeContext();
1239
+ const density = useDensityContext(props.density);
1240
+ return /* @__PURE__ */ import_react25.default.createElement(DensityProvider, {
1241
+ density
1242
+ }, /* @__PURE__ */ import_react25.default.createElement(import_react_list.List, {
1243
+ ...props,
1244
+ className: tx("list.root", "list", {}, classNames),
1245
+ ref: forwardedRef
1246
+ }, children));
1247
+ });
1248
+ var ListItemEndcap = /* @__PURE__ */ (0, import_react25.forwardRef)(({ children, classNames, asChild, ...props }, forwardedRef) => {
1249
+ const Root3 = asChild ? import_react_slot8.Slot : "div";
1250
+ const density = useDensityContext();
1251
+ const { tx } = useThemeContext();
1252
+ return /* @__PURE__ */ import_react25.default.createElement(Root3, {
1253
+ ...!asChild && {
1254
+ role: "none"
1255
+ },
1256
+ ...props,
1257
+ className: tx("list.item.endcap", "list__listItem__endcap", {
1258
+ density
1259
+ }, classNames),
1260
+ ref: forwardedRef
1261
+ }, children);
1262
+ });
1263
+ var MockListItemOpenTrigger = ({ classNames, ...props }) => {
1264
+ const density = useDensityContext();
1265
+ const { tx } = useThemeContext();
1266
+ return /* @__PURE__ */ import_react25.default.createElement("div", {
1267
+ role: "none",
1268
+ ...props,
1269
+ className: tx("list.item.openTrigger", "list__listItem__openTrigger--mock", {
1270
+ density
1271
+ }, classNames)
1272
+ });
1273
+ };
1274
+ var ListItemHeading = /* @__PURE__ */ (0, import_react25.forwardRef)(({ children, classNames, ...props }, forwardedRef) => {
1275
+ const { tx } = useThemeContext();
1276
+ const density = useDensityContext();
1277
+ return /* @__PURE__ */ import_react25.default.createElement(import_react_list.ListItemHeading, {
1278
+ ...props,
1279
+ className: tx("list.item.heading", "list__listItem__heading", {
1280
+ density
1281
+ }, classNames),
1282
+ ref: forwardedRef
1283
+ }, children);
1284
+ });
1285
+ var ListItemOpenTrigger = /* @__PURE__ */ (0, import_react25.forwardRef)(({ __listItemScope, classNames, children, ...props }, forwardedRef) => {
1286
+ const { tx } = useThemeContext();
1287
+ const density = useDensityContext();
1288
+ const { open } = (0, import_react_list.useListItemContext)(import_react_list.LIST_ITEM_NAME, __listItemScope);
1289
+ const Icon3 = open ? import_react24.CaretDown : import_react24.CaretRight;
1290
+ return /* @__PURE__ */ import_react25.default.createElement(import_react_list.ListItemOpenTrigger, {
1291
+ ...props,
1292
+ className: tx("list.item.openTrigger", "list__listItem__openTrigger", {
1293
+ density
1294
+ }, classNames),
1295
+ ref: forwardedRef
1296
+ }, children || /* @__PURE__ */ import_react25.default.createElement(Icon3, {
1297
+ weight: "bold",
1298
+ className: tx("list.item.openTriggerIcon", "list__listItem__openTrigger__icon", {})
1299
+ }));
1300
+ });
1301
+ var ListItemRoot = /* @__PURE__ */ (0, import_react25.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
1302
+ const { tx } = useThemeContext();
1303
+ const density = useDensityContext();
1304
+ return /* @__PURE__ */ import_react25.default.createElement(import_react_list.ListItem, {
1305
+ ...props,
1306
+ className: tx("list.item.root", "list__listItem", {
1307
+ density,
1308
+ collapsible: props.collapsible
1309
+ }, classNames),
1310
+ ref: forwardedRef
1311
+ }, children);
1312
+ });
1313
+ var ListItem = {
1314
+ Root: ListItemRoot,
1315
+ Endcap: ListItemEndcap,
1316
+ Heading: ListItemHeading,
1317
+ OpenTrigger: ListItemOpenTrigger,
1318
+ CollapsibleContent: import_react_list.ListItemCollapsibleContent,
1319
+ MockOpenTrigger: MockListItemOpenTrigger
1320
+ };
1321
+ var TreeRoot = /* @__PURE__ */ (0, import_react27.forwardRef)((props, forwardedRef) => {
1322
+ return /* @__PURE__ */ import_react27.default.createElement(List, {
1323
+ ...props,
1324
+ ref: forwardedRef
1325
+ });
1326
+ });
1327
+ var TreeBranch = /* @__PURE__ */ (0, import_react27.forwardRef)(({ __listScope, ...props }, forwardedRef) => {
1328
+ const { headingId } = (0, import_react_list.useListItemContext)(import_react_list.LIST_ITEM_NAME, __listScope);
1329
+ return /* @__PURE__ */ import_react27.default.createElement(List, {
1330
+ ...props,
1331
+ "aria-labelledby": headingId,
1332
+ ref: forwardedRef
1333
+ });
1334
+ });
1335
+ var TreeItemRoot = /* @__PURE__ */ (0, import_react27.forwardRef)((props, forwardedRef) => {
1336
+ return /* @__PURE__ */ import_react27.default.createElement(ListItem.Root, {
1337
+ role: "treeitem",
1338
+ ...props,
1339
+ ref: forwardedRef
1340
+ });
1341
+ });
1342
+ var TreeItemHeading = ListItem.Heading;
1343
+ var TreeItemOpenTrigger = ListItem.OpenTrigger;
1344
+ var MockTreeItemOpenTrigger = ListItem.MockOpenTrigger;
1345
+ var TreeItemBody = ListItem.CollapsibleContent;
1346
+ var Tree = {
1347
+ Root: TreeRoot,
1348
+ Branch: TreeBranch
1349
+ };
1350
+ var TreeItem = {
1351
+ Root: TreeItemRoot,
1352
+ Heading: TreeItemHeading,
1353
+ Body: TreeItemBody,
1354
+ OpenTrigger: TreeItemOpenTrigger,
1355
+ MockOpenTrigger: MockTreeItemOpenTrigger
1356
+ };
1357
+ var TREEGRID_ROW_NAME = "TreegridRow";
1358
+ var [createTreegridRowContext, createTreegridRowScope] = (0, import_react_context5.createContextScope)(TREEGRID_ROW_NAME, []);
1359
+ var [TreegridRowProvider, useTreegridRowContext] = createTreegridRowContext(TREEGRID_ROW_NAME);
1360
+ var PATH_SEPARATOR = "~";
1361
+ var PARENT_OF_SEPARATOR = " ";
1362
+ var TreegridRoot = /* @__PURE__ */ (0, import_react28.forwardRef)(({ asChild, classNames, children, style, gridTemplateColumns, ...props }, forwardedRef) => {
1363
+ const { tx } = useThemeContext();
1364
+ const Root3 = asChild ? import_react_slot9.Slot : import_react_primitive8.Primitive.div;
1365
+ const arrowNavigationAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
1366
+ axis: "vertical",
1367
+ tabbable: false,
1368
+ circular: true
1369
+ });
1370
+ return /* @__PURE__ */ import_react28.default.createElement(Root3, {
1371
+ role: "treegrid",
1372
+ ...arrowNavigationAttrs,
1373
+ ...props,
1374
+ className: tx("treegrid.root", "treegrid", {}, classNames),
1375
+ style: {
1376
+ ...style,
1377
+ gridTemplateColumns
1378
+ },
1379
+ ref: forwardedRef
1380
+ }, children);
1381
+ });
1382
+ var TreegridRow = /* @__PURE__ */ (0, import_react28.forwardRef)(({ __treegridRowScope, asChild, classNames, children, id, parentOf, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, ...props }, forwardedRef) => {
1383
+ const { tx } = useThemeContext();
1384
+ const Root3 = asChild ? import_react_slot9.Slot : import_react_primitive8.Primitive.div;
1385
+ const pathParts = id.split(PATH_SEPARATOR);
1386
+ const level = pathParts.length - 1;
1387
+ const [open, onOpenChange] = (0, import_react_use_controllable_state2.useControllableState)({
1388
+ prop: propsOpen,
1389
+ onChange: propsOnOpenChange,
1390
+ defaultProp: defaultOpen
1391
+ });
1392
+ const focusableGroupAttrs = (0, import_react_tabster.useFocusableGroup)({
1393
+ tabBehavior: "limited"
1394
+ });
1395
+ const arrowGroupAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
1396
+ axis: "horizontal",
1397
+ tabbable: false,
1398
+ circular: false,
1399
+ memorizeCurrent: false
1400
+ });
1401
+ return /* @__PURE__ */ import_react28.default.createElement(TreegridRowProvider, {
1402
+ open,
1403
+ onOpenChange,
1404
+ scope: __treegridRowScope
1405
+ }, /* @__PURE__ */ import_react28.default.createElement(Root3, {
1406
+ role: "row",
1407
+ "aria-level": level,
1408
+ className: tx("treegrid.row", "treegrid__row", {
1409
+ level
1410
+ }, classNames),
1411
+ ...parentOf && {
1412
+ "aria-expanded": open,
1413
+ "aria-owns": parentOf
1414
+ },
1415
+ tabIndex: 0,
1416
+ ...focusableGroupAttrs,
1417
+ ...props,
1418
+ id,
1419
+ ref: forwardedRef
1420
+ }, /* @__PURE__ */ import_react28.default.createElement("div", {
1421
+ role: "none",
1422
+ className: "contents",
1423
+ ...arrowGroupAttrs
1424
+ }, children)));
1425
+ });
1426
+ var TreegridCell = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, children, indent, ...props }, forwardedRef) => {
1427
+ const { tx } = useThemeContext();
1428
+ return /* @__PURE__ */ import_react28.default.createElement("div", {
1429
+ role: "gridcell",
1430
+ className: tx("treegrid.cell", "treegrid__cell", {
1431
+ indent
1432
+ }, classNames),
1433
+ ...props,
1434
+ ref: forwardedRef
1435
+ }, children);
1436
+ });
1437
+ var Treegrid = {
1438
+ Root: TreegridRoot,
1439
+ Row: TreegridRow,
1440
+ Cell: TreegridCell,
1441
+ PARENT_OF_SEPARATOR,
1442
+ PATH_SEPARATOR,
1443
+ createTreegridRowScope,
1444
+ useTreegridRowContext
1445
+ };
1446
+ var MotionState;
1447
+ (function(MotionState2) {
1448
+ MotionState2[MotionState2["IDLE"] = 0] = "IDLE";
1449
+ MotionState2[MotionState2["DEBOUNCING"] = 1] = "DEBOUNCING";
1450
+ MotionState2[MotionState2["FOLLOWING"] = 2] = "FOLLOWING";
1451
+ })(MotionState || (MotionState = {}));
1452
+ var useSwipeToDismiss = (ref, {
1453
+ onDismiss,
1454
+ dismissThreshold = 64,
1455
+ debounceThreshold = 8,
1456
+ offset = 0
1457
+ /* side = 'inline-start' */
1458
+ }) => {
1459
+ const $root = ref.current;
1460
+ const [motionState, setMotionState] = (0, import_react30.useState)(0);
1461
+ const [gestureStartX, setGestureStartX] = (0, import_react30.useState)(0);
1462
+ const setIdle = (0, import_react30.useCallback)(() => {
1463
+ setMotionState(0);
1464
+ $root?.style.removeProperty("inset-inline-start");
1465
+ $root?.style.setProperty("transition-duration", "200ms");
1466
+ }, [
1467
+ $root
1468
+ ]);
1469
+ const setFollowing = (0, import_react30.useCallback)(() => {
1470
+ setMotionState(2);
1471
+ $root?.style.setProperty("transition-duration", "0ms");
1472
+ }, [
1473
+ $root
1474
+ ]);
1475
+ const handlePointerDown = (0, import_react30.useCallback)(({ screenX }) => {
1476
+ if (motionState === 0) {
1477
+ setMotionState(1);
1478
+ setGestureStartX(screenX);
1479
+ }
1480
+ }, [
1481
+ motionState
1482
+ ]);
1483
+ const handlePointerMove = (0, import_react30.useCallback)(({ screenX }) => {
1484
+ if ($root) {
1485
+ const delta = Math.min(screenX - gestureStartX, 0);
1486
+ switch (motionState) {
1487
+ case 2:
1488
+ if (Math.abs(delta) > dismissThreshold) {
1489
+ setIdle();
1490
+ onDismiss?.();
1491
+ } else {
1492
+ $root.style.setProperty("inset-inline-start", `${offset + delta}px`);
1493
+ }
1494
+ break;
1495
+ case 1:
1496
+ if (Math.abs(delta) > debounceThreshold) {
1497
+ setFollowing();
1498
+ }
1499
+ break;
1500
+ }
1501
+ }
1502
+ }, [
1503
+ $root,
1504
+ motionState,
1505
+ gestureStartX
1506
+ ]);
1507
+ const handlePointerUp = (0, import_react30.useCallback)(() => {
1508
+ setIdle();
1509
+ }, [
1510
+ setIdle
1511
+ ]);
1512
+ (0, import_react30.useEffect)(() => {
1513
+ $root?.addEventListener("pointerdown", handlePointerDown);
1514
+ return () => {
1515
+ $root?.removeEventListener("pointerdown", handlePointerDown);
1516
+ };
1517
+ }, [
1518
+ $root,
1519
+ handlePointerDown
1520
+ ]);
1521
+ (0, import_react30.useEffect)(() => {
1522
+ $root && document.documentElement.addEventListener("pointermove", handlePointerMove);
1523
+ return () => {
1524
+ document.documentElement.removeEventListener("pointermove", handlePointerMove);
1525
+ };
1526
+ }, [
1527
+ $root,
1528
+ handlePointerMove
1529
+ ]);
1530
+ (0, import_react30.useEffect)(() => {
1531
+ $root && document.documentElement.addEventListener("pointerup", handlePointerUp);
1532
+ return () => {
1533
+ document.documentElement.removeEventListener("pointerup", handlePointerUp);
1534
+ };
1535
+ }, [
1536
+ $root,
1537
+ handlePointerUp
1538
+ ]);
1539
+ };
1540
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui/src/components/Main/Main.tsx";
1541
+ var MAIN_ROOT_NAME = "MainRoot";
1542
+ var NAVIGATION_SIDEBAR_NAME = "NavigationSidebar";
1543
+ var COMPLEMENTARY_SIDEBAR_NAME = "ComplementarySidebar";
1544
+ var MAIN_NAME = "Main";
1545
+ var GENERIC_CONSUMER_NAME = "GenericConsumer";
1546
+ var landmarkAttr = "data-main-landmark";
1547
+ var useLandmarkMover = (propsOnKeyDown, landmark) => {
1548
+ const handleKeyDown = (0, import_react29.useCallback)((event) => {
1549
+ const target = event.target;
1550
+ if (event.target === event.currentTarget && event.key === "Tab" && target.hasAttribute(landmarkAttr)) {
1551
+ event.preventDefault();
1552
+ const landmarks = Array.from(document.querySelectorAll(`[${landmarkAttr}]:not([inert])`)).map((el) => el.hasAttribute(landmarkAttr) ? parseInt(el.getAttribute(landmarkAttr)) : NaN).sort();
1553
+ const l = landmarks.length;
1554
+ const cursor = landmarks.indexOf(parseInt(target.getAttribute(landmarkAttr)));
1555
+ const nextLandmark = landmarks[(cursor + l + (event.getModifierState("Shift") ? -1 : 1)) % l];
1556
+ document.querySelector(`[${landmarkAttr}="${nextLandmark}"]`)?.focus();
1557
+ }
1558
+ propsOnKeyDown?.(event);
1559
+ }, [
1560
+ propsOnKeyDown
1561
+ ]);
1562
+ const focusableAttrs = (0, import_react_tabster2.useFocusableGroup)({
1563
+ tabBehavior: "limited",
1564
+ ignoreDefaultKeydown: {
1565
+ Tab: true
1566
+ }
1567
+ });
1568
+ return {
1569
+ onKeyDown: handleKeyDown,
1570
+ [landmarkAttr]: landmark,
1571
+ tabIndex: 0,
1572
+ ...focusableAttrs
1573
+ };
1574
+ };
1575
+ var [MainProvider, useMainContext] = (0, import_react_context6.createContext)(MAIN_NAME, {
1576
+ resizing: false,
1577
+ navigationSidebarOpen: false,
1578
+ setNavigationSidebarOpen: (nextOpen) => {
1579
+ import_log.log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
1580
+ F: __dxlog_file,
1581
+ L: 81,
1582
+ S: void 0,
1583
+ C: (f, a) => f(...a)
1584
+ });
1585
+ },
1586
+ complementarySidebarOpen: false,
1587
+ setComplementarySidebarOpen: (nextOpen) => {
1588
+ import_log.log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
1589
+ F: __dxlog_file,
1590
+ L: 86,
1591
+ S: void 0,
1592
+ C: (f, a) => f(...a)
1593
+ });
1594
+ }
1595
+ });
1596
+ var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
1597
+ const { setNavigationSidebarOpen, navigationSidebarOpen, setComplementarySidebarOpen, complementarySidebarOpen } = useMainContext(consumerName);
1598
+ return {
1599
+ navigationSidebarOpen,
1600
+ setNavigationSidebarOpen,
1601
+ toggleNavigationSidebar: (0, import_react29.useCallback)(() => setNavigationSidebarOpen(!navigationSidebarOpen), [
1602
+ navigationSidebarOpen,
1603
+ setNavigationSidebarOpen
1604
+ ]),
1605
+ openNavigationSidebar: (0, import_react29.useCallback)(() => setNavigationSidebarOpen(true), [
1606
+ setNavigationSidebarOpen
1607
+ ]),
1608
+ closeNavigationSidebar: (0, import_react29.useCallback)(() => setNavigationSidebarOpen(false), [
1609
+ setNavigationSidebarOpen
1610
+ ]),
1611
+ complementarySidebarOpen,
1612
+ setComplementarySidebarOpen,
1613
+ toggleComplementarySidebar: (0, import_react29.useCallback)(() => setComplementarySidebarOpen(!complementarySidebarOpen), [
1614
+ complementarySidebarOpen,
1615
+ setComplementarySidebarOpen
1616
+ ]),
1617
+ openComplementarySidebar: (0, import_react29.useCallback)(() => setComplementarySidebarOpen(true), [
1618
+ setComplementarySidebarOpen
1619
+ ]),
1620
+ closeComplementarySidebar: (0, import_react29.useCallback)(() => setComplementarySidebarOpen(false), [
1621
+ setComplementarySidebarOpen
1622
+ ])
1623
+ };
1624
+ };
1625
+ var resizeDebounce = 3e3;
1626
+ var MainRoot = ({ navigationSidebarOpen: propsNavigationSidebarOpen, defaultNavigationSidebarOpen, onNavigationSidebarOpenChange, complementarySidebarOpen: propsComplementarySidebarOpen, defaultComplementarySidebarOpen, onComplementarySidebarOpenChange, children, ...props }) => {
1627
+ const [isLg] = (0, import_react_hooks3.useMediaQuery)("lg", {
1628
+ ssr: false
1629
+ });
1630
+ const [navigationSidebarOpen = isLg, setNavigationSidebarOpen] = (0, import_react_use_controllable_state3.useControllableState)({
1631
+ prop: propsNavigationSidebarOpen,
1632
+ defaultProp: defaultNavigationSidebarOpen,
1633
+ onChange: onNavigationSidebarOpenChange
1634
+ });
1635
+ const [complementarySidebarOpen = false, setComplementarySidebarOpen] = (0, import_react_use_controllable_state3.useControllableState)({
1636
+ prop: propsComplementarySidebarOpen,
1637
+ defaultProp: defaultComplementarySidebarOpen,
1638
+ onChange: onComplementarySidebarOpenChange
1639
+ });
1640
+ const [resizing, setResizing] = (0, import_react29.useState)(false);
1641
+ const resizeInterval = (0, import_react29.useRef)(null);
1642
+ const handleResize = (0, import_react29.useCallback)(() => {
1643
+ setResizing(true);
1644
+ if (resizeInterval.current) {
1645
+ clearTimeout(resizeInterval.current);
1646
+ }
1647
+ resizeInterval.current = setTimeout(() => {
1648
+ setResizing(false);
1649
+ resizeInterval.current = null;
1650
+ }, resizeDebounce);
1651
+ }, []);
1652
+ (0, import_react29.useEffect)(() => {
1653
+ window.addEventListener("resize", handleResize);
1654
+ return () => window.removeEventListener("resize", handleResize);
1655
+ }, [
1656
+ handleResize
1657
+ ]);
1658
+ return /* @__PURE__ */ import_react29.default.createElement(MainProvider, {
1659
+ ...props,
1660
+ navigationSidebarOpen,
1661
+ setNavigationSidebarOpen,
1662
+ complementarySidebarOpen,
1663
+ setComplementarySidebarOpen,
1664
+ resizing
1665
+ }, children);
1666
+ };
1667
+ MainRoot.displayName = MAIN_ROOT_NAME;
1668
+ var handleOpenAutoFocus = (event) => {
1669
+ !document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
1670
+ };
1671
+ var MainSidebar = /* @__PURE__ */ (0, import_react29.forwardRef)(({ classNames, children, swipeToDismiss, onOpenAutoFocus, open, resizing, setOpen, side, ...props }, forwardedRef) => {
1672
+ const [isLg] = (0, import_react_hooks3.useMediaQuery)("lg", {
1673
+ ssr: false
1674
+ });
1675
+ const { tx } = useThemeContext();
1676
+ const ref = (0, import_react_hooks3.useForwardedRef)(forwardedRef);
1677
+ const noopRef = (0, import_react29.useRef)(null);
1678
+ useSwipeToDismiss(swipeToDismiss ? ref : noopRef, {
1679
+ onDismiss: () => setOpen(false)
1680
+ });
1681
+ const handleKeyDown = (0, import_react29.useCallback)((event) => {
1682
+ if (event.key === "Escape") {
1683
+ event.target.closest("[data-tabster]")?.focus();
1684
+ }
1685
+ props.onKeyDown?.(event);
1686
+ }, [
1687
+ props.onKeyDown
1688
+ ]);
1689
+ const Root3 = isLg ? import_react_primitive9.Primitive.div : import_react_dialog2.DialogContent;
1690
+ return /* @__PURE__ */ import_react29.default.createElement(import_react_dialog2.Root, {
1691
+ open,
1692
+ modal: false
1693
+ }, /* @__PURE__ */ import_react29.default.createElement(Root3, {
1694
+ ...!isLg && {
1695
+ forceMount: true,
1696
+ tabIndex: -1,
1697
+ onOpenAutoFocus: onOpenAutoFocus ?? handleOpenAutoFocus
1698
+ },
1699
+ ...props,
1700
+ "data-side": side === "inline-end" ? "ie" : "is",
1701
+ "data-state": open ? "open" : "closed",
1702
+ "data-resizing": resizing ? "true" : "false",
1703
+ className: tx("main.sidebar", "main__sidebar", {}, classNames),
1704
+ onKeyDown: handleKeyDown,
1705
+ ...!open && {
1706
+ inert: "true"
1707
+ },
1708
+ ref
1709
+ }, /* @__PURE__ */ import_react29.default.createElement(ElevationProvider, {
1710
+ elevation: "group"
1711
+ }, children)));
1712
+ });
1713
+ var MainNavigationSidebar = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
1714
+ const { navigationSidebarOpen, setNavigationSidebarOpen, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
1715
+ const mover = useLandmarkMover(props.onKeyDown, "0");
1716
+ return /* @__PURE__ */ import_react29.default.createElement(MainSidebar, {
1717
+ ...mover,
1718
+ ...props,
1719
+ open: navigationSidebarOpen,
1720
+ setOpen: setNavigationSidebarOpen,
1721
+ resizing,
1722
+ side: "inline-start",
1723
+ ref: forwardedRef
1724
+ });
1725
+ });
1726
+ MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
1727
+ var MainComplementarySidebar = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
1728
+ const { complementarySidebarOpen, setComplementarySidebarOpen, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
1729
+ const mover = useLandmarkMover(props.onKeyDown, "2");
1730
+ return /* @__PURE__ */ import_react29.default.createElement(MainSidebar, {
1731
+ ...mover,
1732
+ ...props,
1733
+ open: complementarySidebarOpen,
1734
+ setOpen: setComplementarySidebarOpen,
1735
+ resizing,
1736
+ side: "inline-end",
1737
+ ref: forwardedRef
1738
+ });
1739
+ });
1740
+ MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
1741
+ var MainContent = /* @__PURE__ */ (0, import_react29.forwardRef)(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
1742
+ const { navigationSidebarOpen, complementarySidebarOpen } = useMainContext(MAIN_NAME);
1743
+ const { tx } = useThemeContext();
1744
+ const Root3 = asChild ? import_react_slot10.Slot : role ? "div" : "main";
1745
+ const mover = useLandmarkMover(props.onKeyDown, "1");
1746
+ return /* @__PURE__ */ import_react29.default.createElement(Root3, {
1747
+ role,
1748
+ ...handlesFocus && {
1749
+ ...mover
1750
+ },
1751
+ ...props,
1752
+ "data-sidebar-inline-start-state": navigationSidebarOpen ? "open" : "closed",
1753
+ "data-sidebar-inline-end-state": complementarySidebarOpen ? "open" : "closed",
1754
+ className: tx("main.content", "main", {
1755
+ bounce,
1756
+ handlesFocus
1757
+ }, classNames),
1758
+ ref: forwardedRef
1759
+ }, children);
1760
+ });
1761
+ MainContent.displayName = MAIN_NAME;
1762
+ var MainOverlay = /* @__PURE__ */ (0, import_react29.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1763
+ const [isLg] = (0, import_react_hooks3.useMediaQuery)("lg", {
1764
+ ssr: false
1765
+ });
1766
+ const { navigationSidebarOpen, setNavigationSidebarOpen, complementarySidebarOpen, setComplementarySidebarOpen } = useMainContext(MAIN_NAME);
1767
+ const { tx } = useThemeContext();
1768
+ return /* @__PURE__ */ import_react29.default.createElement("div", {
1769
+ onClick: () => {
1770
+ setNavigationSidebarOpen(false);
1771
+ setComplementarySidebarOpen(false);
1772
+ },
1773
+ ...props,
1774
+ className: tx("main.overlay", "main__overlay", {
1775
+ isLg,
1776
+ inlineStartSidebarOpen: navigationSidebarOpen,
1777
+ inlineEndSidebarOpen: complementarySidebarOpen
1778
+ }, classNames),
1779
+ "data-state": navigationSidebarOpen || complementarySidebarOpen ? "open" : "closed",
1780
+ "aria-hidden": "true",
1781
+ ref: forwardedRef
1782
+ });
1783
+ });
1784
+ var MainNotch = /* @__PURE__ */ (0, import_react29.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1785
+ const { tx } = useThemeContext();
1786
+ const { navigationSidebarOpen } = useMainContext(MAIN_NAME);
1787
+ const notchElement = (0, import_react29.useRef)(null);
1788
+ const ref = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, notchElement);
1789
+ const handleKeyDown = (0, import_react29.useCallback)((event) => {
1790
+ switch (event.key) {
1791
+ case "Escape":
1792
+ props?.onKeyDown?.(event);
1793
+ notchElement.current?.focus();
1794
+ }
1795
+ }, [
1796
+ props?.onKeyDown
1797
+ ]);
1798
+ const mover = useLandmarkMover(handleKeyDown, "3");
1799
+ return /* @__PURE__ */ import_react29.default.createElement("div", {
1800
+ role: "toolbar",
1801
+ ...mover,
1802
+ ...props,
1803
+ "data-nav-sidebar-state": navigationSidebarOpen ? "open" : "closed",
1804
+ className: tx("main.notch", "main__notch", {}, classNames),
1805
+ ref
1806
+ });
1807
+ });
1808
+ var Main = {
1809
+ Root: MainRoot,
1810
+ Content: MainContent,
1811
+ Overlay: MainOverlay,
1812
+ NavigationSidebar: MainNavigationSidebar,
1813
+ ComplementarySidebar: MainComplementarySidebar,
1814
+ Notch: MainNotch
1815
+ };
1816
+ var MESSAGE_NAME = "Message";
1817
+ var [MessageProvider, useMessageContext] = (0, import_react_context7.createContext)(MESSAGE_NAME);
1818
+ var MessageRoot = /* @__PURE__ */ (0, import_react31.forwardRef)(({ asChild, valence, elevation: propsElevation, className, titleId: propsTitleId, descriptionId: propsDescriptionId, children, ...props }, forwardedRef) => {
1819
+ const { tx } = useThemeContext();
1820
+ const titleId = (0, import_react_hooks4.useId)("message__title", propsTitleId);
1821
+ const descriptionId = (0, import_react_hooks4.useId)("message__description", propsDescriptionId);
1822
+ const elevation = useElevationContext(propsElevation);
1823
+ const Root3 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.div;
1824
+ return /* @__PURE__ */ import_react31.default.createElement(MessageProvider, {
1825
+ titleId,
1826
+ descriptionId
1827
+ }, /* @__PURE__ */ import_react31.default.createElement(Root3, {
1828
+ ...props,
1829
+ className: tx("message.root", "message", {
1830
+ valence,
1831
+ elevation
1832
+ }, className),
1833
+ "aria-labelledby": titleId,
1834
+ "aria-describedby": descriptionId,
1835
+ ref: forwardedRef
1836
+ }, children));
1837
+ });
1838
+ MessageRoot.displayName = MESSAGE_NAME;
1839
+ var MESSAGE_TITLE_NAME = "MessageTitle";
1840
+ var MessageTitle = /* @__PURE__ */ (0, import_react31.forwardRef)(({ asChild, className, children, ...props }, forwardedRef) => {
1841
+ const { tx } = useThemeContext();
1842
+ const { titleId } = useMessageContext(MESSAGE_TITLE_NAME);
1843
+ const Root3 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.h2;
1844
+ return /* @__PURE__ */ import_react31.default.createElement(Root3, {
1845
+ ...props,
1846
+ className: tx("message.title", "message__title", {}, className),
1847
+ id: titleId,
1848
+ ref: forwardedRef
1849
+ }, children);
1850
+ });
1851
+ MessageTitle.displayName = MESSAGE_TITLE_NAME;
1852
+ var MESSAGE_BODY_NAME = "MessageBody";
1853
+ var MessageBody = /* @__PURE__ */ (0, import_react31.forwardRef)(({ asChild, className, children, ...props }, forwardedRef) => {
1854
+ const { tx } = useThemeContext();
1855
+ const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
1856
+ const Root3 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.p;
1857
+ return /* @__PURE__ */ import_react31.default.createElement(Root3, {
1858
+ ...props,
1859
+ className: tx("message.body", "message__body", {}, className),
1860
+ id: descriptionId,
1861
+ ref: forwardedRef
1862
+ }, children);
1863
+ });
1864
+ MessageBody.displayName = MESSAGE_BODY_NAME;
1865
+ var Message = {
1866
+ Root: MessageRoot,
1867
+ Title: MessageTitle,
1868
+ Body: MessageBody
1869
+ };
1870
+ var PopoverRoot = import_react_popover.Root;
1871
+ var PopoverPortal = import_react_popover.PopoverPortal;
1872
+ var PopoverTrigger = import_react_popover.PopoverTrigger;
1873
+ var PopoverAnchor = import_react_popover.PopoverAnchor;
1874
+ var PopoverClose = import_react_popover.PopoverClose;
1875
+ var PopoverArrow = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1876
+ const { tx } = useThemeContext();
1877
+ return /* @__PURE__ */ import_react32.default.createElement(import_react_popover.PopoverArrow, {
1878
+ ...props,
1879
+ className: tx("popover.arrow", "popover__arrow", {}, classNames),
1880
+ ref: forwardedRef
1881
+ });
1882
+ });
1883
+ var PopoverContent = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
1884
+ const { tx } = useThemeContext();
1885
+ return /* @__PURE__ */ import_react32.default.createElement(import_react_popover.PopoverContent, {
1886
+ sideOffset: 4,
1887
+ collisionPadding: 8,
1888
+ ...props,
1889
+ className: tx("popover.content", "popover", {}, classNames),
1890
+ ref: forwardedRef
1891
+ }, /* @__PURE__ */ import_react32.default.createElement(ElevationProvider, {
1892
+ elevation: "chrome"
1893
+ }, children));
1894
+ });
1895
+ var PopoverViewport = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
1896
+ const { tx } = useThemeContext();
1897
+ const Root3 = asChild ? import_react_slot12.Slot : import_react_primitive11.Primitive.div;
1898
+ return /* @__PURE__ */ import_react32.default.createElement(Root3, {
1899
+ ...props,
1900
+ className: tx("popover.viewport", "popover__viewport", {
1901
+ constrainInline,
1902
+ constrainBlock
1903
+ }, classNames),
1904
+ ref: forwardedRef
1905
+ }, children);
1906
+ });
1907
+ var Popover = {
1908
+ Root: PopoverRoot,
1909
+ Portal: PopoverPortal,
1910
+ Trigger: PopoverTrigger,
1911
+ Anchor: PopoverAnchor,
1912
+ Arrow: PopoverArrow,
1913
+ Close: PopoverClose,
1914
+ Content: PopoverContent,
1915
+ Viewport: PopoverViewport
1916
+ };
1917
+ var Status = /* @__PURE__ */ (0, import_react33.forwardRef)(({ classNames, children, progress = 0, indeterminate, ...props }, forwardedRef) => {
1918
+ const { tx } = useThemeContext();
1919
+ return /* @__PURE__ */ import_react33.default.createElement("span", {
1920
+ role: "status",
1921
+ ...props,
1922
+ className: tx("status.root", "status", {
1923
+ indeterminate
1924
+ }, classNames),
1925
+ ref: forwardedRef
1926
+ }, /* @__PURE__ */ import_react33.default.createElement("span", {
1927
+ role: "none",
1928
+ className: tx("status.bar", "status__bar", {
1929
+ indeterminate
1930
+ }, classNames),
1931
+ ...!indeterminate && {
1932
+ style: {
1933
+ width: `${Math.round(progress * 100)}%`
1934
+ }
1935
+ }
1936
+ }), children);
1937
+ });
1938
+ var ScrollAreaRoot = /* @__PURE__ */ (0, import_react34.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1939
+ const { tx } = useThemeContext();
1940
+ return /* @__PURE__ */ import_react34.default.createElement(import_react_scroll_area.Root, {
1941
+ ...props,
1942
+ className: tx("scrollArea.root", "scroll-area", {}, classNames),
1943
+ ref: forwardedRef
1944
+ });
1945
+ });
1946
+ var ScrollAreaViewport = /* @__PURE__ */ (0, import_react34.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1947
+ const { tx } = useThemeContext();
1948
+ return /* @__PURE__ */ import_react34.default.createElement(import_react_scroll_area.Viewport, {
1949
+ ...props,
1950
+ className: tx("scrollArea.viewport", "scroll-area", {}, classNames),
1951
+ ref: forwardedRef
1952
+ });
1953
+ });
1954
+ var ScrollAreaScrollbar = /* @__PURE__ */ (0, import_react34.forwardRef)(({ classNames, variant = "fine", ...props }, forwardedRef) => {
1955
+ const { tx } = useThemeContext();
1956
+ return /* @__PURE__ */ import_react34.default.createElement(import_react_scroll_area.Scrollbar, {
1957
+ "data-variant": variant,
1958
+ ...props,
1959
+ className: tx("scrollArea.scrollbar", "scroll-area__scrollbar", {}, classNames),
1960
+ ref: forwardedRef
1961
+ });
1962
+ });
1963
+ var ScrollAreaThumb = /* @__PURE__ */ (0, import_react34.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1964
+ const { tx } = useThemeContext();
1965
+ return /* @__PURE__ */ import_react34.default.createElement(import_react_scroll_area.Thumb, {
1966
+ ...props,
1967
+ className: tx("scrollArea.thumb", "scroll-area__thumb", {}, classNames),
1968
+ ref: forwardedRef
1969
+ });
1970
+ });
1971
+ var ScrollAreaCorner = /* @__PURE__ */ (0, import_react34.forwardRef)(({ classNames, ...props }, forwardedRef) => {
1972
+ const { tx } = useThemeContext();
1973
+ return /* @__PURE__ */ import_react34.default.createElement(import_react_scroll_area.Corner, {
1974
+ ...props,
1975
+ className: tx("scrollArea.corner", "scroll-area__corner", {}, classNames),
1976
+ ref: forwardedRef
1977
+ });
1978
+ });
1979
+ var ScrollArea = {
1980
+ Root: ScrollAreaRoot,
1981
+ Viewport: ScrollAreaViewport,
1982
+ Scrollbar: ScrollAreaScrollbar,
1983
+ Thumb: ScrollAreaThumb,
1984
+ Corner: ScrollAreaCorner
1985
+ };
1986
+ var SelectRoot = SelectPrimitive.Root;
1987
+ var SelectTrigger = SelectPrimitive.Trigger;
1988
+ var SelectValue = SelectPrimitive.Value;
1989
+ var SelectIcon = SelectPrimitive.Icon;
1990
+ var SelectPortal = SelectPrimitive.Portal;
1991
+ var SelectTriggerButton = /* @__PURE__ */ (0, import_react36.forwardRef)(({ children, placeholder, ...props }, forwardedRef) => {
1992
+ const { tx } = useThemeContext();
1993
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Trigger, {
1994
+ asChild: true,
1995
+ ref: forwardedRef
1996
+ }, /* @__PURE__ */ import_react36.default.createElement(Button, props, /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Value, {
1997
+ placeholder
1998
+ }, children), /* @__PURE__ */ import_react36.default.createElement("span", {
1999
+ className: "w-1 flex-1"
2000
+ }), /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Icon, {
2001
+ asChild: true
2002
+ }, /* @__PURE__ */ import_react36.default.createElement(import_react35.CaretDown, {
2003
+ className: tx("select.triggerIcon", "select__trigger__icon", {}),
2004
+ weight: "bold"
2005
+ }))));
2006
+ });
2007
+ var SelectContent = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
2008
+ const { tx } = useThemeContext();
2009
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Content, {
2010
+ ...props,
2011
+ className: tx("select.content", "select__content", {}, classNames),
2012
+ position: "popper",
2013
+ ref: forwardedRef
2014
+ }, children);
2015
+ });
2016
+ var SelectScrollUpButton2 = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
2017
+ const { tx } = useThemeContext();
2018
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.SelectScrollUpButton, {
2019
+ ...props,
2020
+ className: tx("select.scrollButton", "select__scroll-button--up", {}, classNames),
2021
+ ref: forwardedRef
2022
+ }, children ?? /* @__PURE__ */ import_react36.default.createElement(import_react35.CaretUp, {
2023
+ weight: "bold"
2024
+ }));
2025
+ });
2026
+ var SelectScrollDownButton2 = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
2027
+ const { tx } = useThemeContext();
2028
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.SelectScrollDownButton, {
2029
+ ...props,
2030
+ className: tx("select.scrollButton", "select__scroll-button--down", {}, classNames),
2031
+ ref: forwardedRef
2032
+ }, children ?? /* @__PURE__ */ import_react36.default.createElement(import_react35.CaretDown, {
2033
+ weight: "bold"
2034
+ }));
2035
+ });
2036
+ var SelectViewport = SelectPrimitive.Viewport;
2037
+ var SelectItem = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, ...props }, forwardedRef) => {
2038
+ const { tx } = useThemeContext();
2039
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Item, {
2040
+ ...props,
2041
+ className: tx("select.item", "option", {}, classNames),
2042
+ ref: forwardedRef
2043
+ });
2044
+ });
2045
+ var SelectItemText = SelectPrimitive.ItemText;
2046
+ var SelectItemIndicator = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
2047
+ const { tx } = useThemeContext();
2048
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.ItemIndicator, {
2049
+ ...props,
2050
+ className: tx("select.itemIndicator", "option__indicator", {}, classNames),
2051
+ ref: forwardedRef
2052
+ }, children);
2053
+ });
2054
+ var SelectOption = /* @__PURE__ */ (0, import_react36.forwardRef)(({ children, classNames, ...props }, forwardedRef) => {
2055
+ const { tx } = useThemeContext();
2056
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Item, {
2057
+ ...props,
2058
+ className: tx("select.item", "option", {}, classNames),
2059
+ ref: forwardedRef
2060
+ }, /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.ItemText, null, children), /* @__PURE__ */ import_react36.default.createElement("span", {
2061
+ className: "grow w-1"
2062
+ }), /* @__PURE__ */ import_react36.default.createElement(Icon, {
2063
+ icon: "ph--check--regular"
2064
+ }));
2065
+ });
2066
+ var SelectGroup = SelectPrimitive.Group;
2067
+ var SelectLabel = SelectPrimitive.Label;
2068
+ var SelectSeparator = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, ...props }, forwardedRef) => {
2069
+ const { tx } = useThemeContext();
2070
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Separator, {
2071
+ ...props,
2072
+ className: tx("select.separator", "select__separator", {}, classNames),
2073
+ ref: forwardedRef
2074
+ });
2075
+ });
2076
+ var SelectArrow = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, ...props }, forwardedRef) => {
2077
+ const { tx } = useThemeContext();
2078
+ return /* @__PURE__ */ import_react36.default.createElement(SelectPrimitive.Arrow, {
2079
+ ...props,
2080
+ className: tx("select.arrow", "select__arrow", {}, classNames),
2081
+ ref: forwardedRef
2082
+ });
2083
+ });
2084
+ var Select = {
2085
+ Root: SelectRoot,
2086
+ Trigger: SelectTrigger,
2087
+ TriggerButton: SelectTriggerButton,
2088
+ Value: SelectValue,
2089
+ Icon: SelectIcon,
2090
+ Portal: SelectPortal,
2091
+ Content: SelectContent,
2092
+ ScrollUpButton: SelectScrollUpButton2,
2093
+ ScrollDownButton: SelectScrollDownButton2,
2094
+ Viewport: SelectViewport,
2095
+ Item: SelectItem,
2096
+ ItemText: SelectItemText,
2097
+ ItemIndicator: SelectItemIndicator,
2098
+ Option: SelectOption,
2099
+ Group: SelectGroup,
2100
+ Label: SelectLabel,
2101
+ Separator: SelectSeparator,
2102
+ Arrow: SelectArrow
2103
+ };
2104
+ var Separator4 = ({ classNames, orientation = "horizontal", ...props }) => {
2105
+ const { tx } = useThemeContext();
2106
+ return /* @__PURE__ */ import_react37.default.createElement(import_react_separator.Separator, {
2107
+ orientation,
2108
+ ...props,
2109
+ className: tx("separator.root", "separator", {
2110
+ orientation
2111
+ }, classNames)
2112
+ });
2113
+ };
2114
+ var Tag = /* @__PURE__ */ (0, import_react38.forwardRef)(({ asChild, palette, classNames, ...props }, forwardedRef) => {
2115
+ const { tx } = useThemeContext();
2116
+ const Root3 = asChild ? import_react_slot13.Slot : import_react_primitive12.Primitive.span;
2117
+ return /* @__PURE__ */ import_react38.default.createElement(Root3, {
2118
+ ...props,
2119
+ className: tx("tag.root", "tag", {
2120
+ palette
2121
+ }, classNames),
2122
+ ref: forwardedRef
2123
+ });
2124
+ });
2125
+ var ToastProvider = import_react_toast.ToastProvider;
2126
+ var ToastViewport = /* @__PURE__ */ (0, import_react39.forwardRef)(({ classNames, ...props }, forwardedRef) => {
2127
+ const { tx } = useThemeContext();
2128
+ return /* @__PURE__ */ import_react39.default.createElement(import_react_toast.ToastViewport, {
2129
+ className: tx("toast.viewport", "toast-viewport", {}, classNames),
2130
+ ref: forwardedRef
2131
+ });
2132
+ });
2133
+ var ToastRoot = /* @__PURE__ */ (0, import_react39.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
2134
+ const { tx } = useThemeContext();
2135
+ return /* @__PURE__ */ import_react39.default.createElement(import_react_toast.Root, {
2136
+ ...props,
2137
+ className: tx("toast.root", "toast", {}, classNames),
2138
+ ref: forwardedRef
2139
+ }, /* @__PURE__ */ import_react39.default.createElement(ElevationProvider, {
2140
+ elevation: "chrome"
2141
+ }, children));
2142
+ });
2143
+ var ToastBody = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
2144
+ const { tx } = useThemeContext();
2145
+ const Root3 = asChild ? import_react_slot14.Slot : import_react_primitive13.Primitive.div;
2146
+ return /* @__PURE__ */ import_react39.default.createElement(Root3, {
2147
+ ...props,
2148
+ className: tx("toast.body", "toast__body", {}, classNames),
2149
+ ref: forwardedRef
2150
+ });
2151
+ });
2152
+ var ToastTitle = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
2153
+ const { tx } = useThemeContext();
2154
+ const Root3 = asChild ? import_react_slot14.Slot : import_react_toast.ToastTitle;
2155
+ return /* @__PURE__ */ import_react39.default.createElement(Root3, {
2156
+ ...props,
2157
+ className: tx("toast.title", "toast__title", {}, classNames),
2158
+ ref: forwardedRef
2159
+ });
2160
+ });
2161
+ var ToastDescription = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
2162
+ const { tx } = useThemeContext();
2163
+ const Root3 = asChild ? import_react_slot14.Slot : import_react_toast.ToastDescription;
2164
+ return /* @__PURE__ */ import_react39.default.createElement(Root3, {
2165
+ ...props,
2166
+ className: tx("toast.description", "toast__description", {}, classNames),
2167
+ ref: forwardedRef
2168
+ });
2169
+ });
2170
+ var ToastActions = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
2171
+ const { tx } = useThemeContext();
2172
+ const Root3 = asChild ? import_react_slot14.Slot : import_react_primitive13.Primitive.div;
2173
+ return /* @__PURE__ */ import_react39.default.createElement(Root3, {
2174
+ ...props,
2175
+ className: tx("toast.actions", "toast__actions", {}, classNames),
2176
+ ref: forwardedRef
2177
+ });
2178
+ });
2179
+ var ToastAction = import_react_toast.ToastAction;
2180
+ var ToastClose = import_react_toast.ToastClose;
2181
+ var Toast = {
2182
+ Provider: ToastProvider,
2183
+ Viewport: ToastViewport,
2184
+ Root: ToastRoot,
2185
+ Body: ToastBody,
2186
+ Title: ToastTitle,
2187
+ Description: ToastDescription,
2188
+ Actions: ToastActions,
2189
+ Action: ToastAction,
2190
+ Close: ToastClose
2191
+ };
2192
+ var ToolbarRoot = /* @__PURE__ */ (0, import_react40.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
2193
+ const { tx } = useThemeContext();
2194
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.Root, {
2195
+ ...props,
2196
+ className: tx("toolbar.root", "toolbar", {}, classNames),
2197
+ ref: forwardedRef
2198
+ }, children);
2199
+ });
2200
+ var ToolbarButton = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
2201
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.Button, {
2202
+ asChild: true
2203
+ }, /* @__PURE__ */ import_react40.default.createElement(Button, {
2204
+ ...props,
2205
+ ref: forwardedRef
2206
+ }));
2207
+ });
2208
+ var ToolbarToggle = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
2209
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.Button, {
2210
+ asChild: true
2211
+ }, /* @__PURE__ */ import_react40.default.createElement(Toggle, {
2212
+ ...props,
2213
+ ref: forwardedRef
2214
+ }));
2215
+ });
2216
+ var ToolbarLink = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
2217
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.Link, {
2218
+ asChild: true
2219
+ }, /* @__PURE__ */ import_react40.default.createElement(Link, {
2220
+ ...props,
2221
+ ref: forwardedRef
2222
+ }));
2223
+ });
2224
+ var ToolbarToggleGroup2 = /* @__PURE__ */ (0, import_react40.forwardRef)(({ classNames, children, elevation, ...props }, forwardedRef) => {
2225
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.ToolbarToggleGroup, {
2226
+ ...props,
2227
+ asChild: true
2228
+ }, /* @__PURE__ */ import_react40.default.createElement(ButtonGroup, {
2229
+ classNames,
2230
+ children,
2231
+ elevation,
2232
+ ref: forwardedRef
2233
+ }));
2234
+ });
2235
+ var ToolbarToggleGroupItem = /* @__PURE__ */ (0, import_react40.forwardRef)(({ variant, density, elevation, classNames, children, ...props }, forwardedRef) => {
2236
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.ToolbarToggleItem, {
2237
+ ...props,
2238
+ asChild: true
2239
+ }, /* @__PURE__ */ import_react40.default.createElement(Button, {
2240
+ variant,
2241
+ density,
2242
+ elevation,
2243
+ classNames,
2244
+ children,
2245
+ ref: forwardedRef
2246
+ }));
2247
+ });
2248
+ var ToolbarSeparator = (props) => {
2249
+ return /* @__PURE__ */ import_react40.default.createElement(ToolbarPrimitive.Separator, {
2250
+ asChild: true
2251
+ }, /* @__PURE__ */ import_react40.default.createElement(Separator4, {
2252
+ orientation: "vertical",
2253
+ ...props
2254
+ }));
2255
+ };
2256
+ var Toolbar = {
2257
+ Root: ToolbarRoot,
2258
+ Button: ToolbarButton,
2259
+ Link: ToolbarLink,
2260
+ Toggle: ToolbarToggle,
2261
+ ToggleGroup: ToolbarToggleGroup2,
2262
+ ToggleGroupItem: ToolbarToggleGroupItem,
2263
+ Separator: ToolbarSeparator
2264
+ };
2265
+ var TooltipProvider = import_react_tooltip.Provider;
2266
+ var TooltipRoot = import_react_tooltip.Root;
2267
+ var TooltipPortal = import_react_tooltip.TooltipPortal;
2268
+ var TooltipTrigger = import_react_tooltip.TooltipTrigger;
2269
+ var TooltipArrow = /* @__PURE__ */ (0, import_react41.forwardRef)(({ classNames, ...props }, forwardedRef) => {
2270
+ const { tx } = useThemeContext();
2271
+ return /* @__PURE__ */ import_react41.default.createElement(import_react_tooltip.TooltipArrow, {
2272
+ ...props,
2273
+ className: tx("tooltip.arrow", "tooltip__arrow", {}, classNames),
2274
+ ref: forwardedRef
2275
+ });
2276
+ });
2277
+ var TooltipContent = /* @__PURE__ */ (0, import_react41.forwardRef)(({ classNames, ...props }, forwardedRef) => {
2278
+ const { tx } = useThemeContext();
2279
+ return /* @__PURE__ */ import_react41.default.createElement(import_react_tooltip.TooltipContent, {
2280
+ sideOffset: 4,
2281
+ collisionPadding: 8,
2282
+ ...props,
2283
+ className: tx("tooltip.content", "tooltip", {}, classNames),
2284
+ ref: forwardedRef
2285
+ });
2286
+ });
2287
+ var Tooltip = {
2288
+ Provider: TooltipProvider,
2289
+ Root: TooltipRoot,
2290
+ Portal: TooltipPortal,
2291
+ Trigger: TooltipTrigger,
2292
+ Arrow: TooltipArrow,
2293
+ Content: TooltipContent
2294
+ };
2295
+ var hasIosKeyboard = () => {
2296
+ return !!navigator.userAgent.match(/iP(ad|od|hone).+Safari/);
2297
+ };
2298
+ var ThemeContext = /* @__PURE__ */ (0, import_react42.createContext)(void 0);
2299
+ var ThemeProvider = ({ children, fallback = null, resourceExtensions, appNs, tx = (_path, defaultClassName, _styleProps, ..._options) => defaultClassName, themeMode = "dark", rootDensity = "fine", rootElevation = "base" }) => {
2300
+ (0, import_react42.useEffect)(() => {
2301
+ if (document.defaultView) {
2302
+ const kb = (0, import_keyborg.createKeyborg)(document.defaultView);
2303
+ kb.subscribe(handleInputModalityChange);
2304
+ return () => kb.unsubscribe(handleInputModalityChange);
2305
+ }
2306
+ }, []);
2307
+ return /* @__PURE__ */ import_react42.default.createElement(ThemeContext.Provider, {
2308
+ value: {
2309
+ tx,
2310
+ themeMode,
2311
+ hasIosKeyboard: hasIosKeyboard()
2312
+ }
2313
+ }, /* @__PURE__ */ import_react42.default.createElement(TranslationsProvider, {
2314
+ fallback,
2315
+ resourceExtensions,
2316
+ appNs
2317
+ }, /* @__PURE__ */ import_react42.default.createElement(ElevationProvider, {
2318
+ elevation: rootElevation
2319
+ }, /* @__PURE__ */ import_react42.default.createElement(DensityProvider, {
2320
+ density: rootDensity
2321
+ }, children))));
2322
+ };
2323
+ var handleInputModalityChange = (isUsingKeyboard) => {
2324
+ if (isUsingKeyboard) {
2325
+ document.body.setAttribute("data-is-keyboard", "true");
2326
+ } else {
2327
+ document.body.removeAttribute("data-is-keyboard");
2328
+ }
2329
+ };
2330
+ // Annotate the CommonJS export names for ESM import in node:
2331
+ 0 && (module.exports = {
2332
+ AlertDialog,
2333
+ AnchoredOverflow,
2334
+ Avatar,
2335
+ AvatarGroup,
2336
+ AvatarGroupItem,
2337
+ BUTTON_GROUP_NAME,
2338
+ Breadcrumb,
2339
+ Button,
2340
+ ButtonGroup,
2341
+ ContextMenu,
2342
+ DensityContext,
2343
+ DensityProvider,
2344
+ Dialog,
2345
+ DropdownMenu,
2346
+ ElevationContext,
2347
+ ElevationProvider,
2348
+ Icon,
2349
+ Input,
2350
+ LIST_ITEM_NAME,
2351
+ LIST_NAME,
2352
+ Link,
2353
+ List,
2354
+ ListItem,
2355
+ Main,
2356
+ Message,
2357
+ Popover,
2358
+ ScrollArea,
2359
+ Select,
2360
+ Separator,
2361
+ Status,
2362
+ Tag,
2363
+ ThemeContext,
2364
+ ThemeProvider,
2365
+ Toast,
2366
+ Toggle,
2367
+ ToggleGroup,
2368
+ ToggleGroupItem,
2369
+ Toolbar,
2370
+ Tooltip,
2371
+ Trans,
2372
+ Tree,
2373
+ TreeItem,
2374
+ Treegrid,
2375
+ hasIosKeyboard,
2376
+ isLabel,
2377
+ toLocalizedString,
2378
+ useAvatarContext,
2379
+ useButtonGroupContext,
2380
+ useDensityContext,
2381
+ useDropdownMenuContext,
2382
+ useDropdownMenuMenuScope,
2383
+ useElevationContext,
2384
+ useListContext,
2385
+ useListItemContext,
2386
+ useMainContext,
2387
+ useSidebars,
2388
+ useThemeContext,
2389
+ useTranslation,
2390
+ useTranslationsContext,
2391
+ useVisualViewport,
2392
+ ...require("@dxos/react-hooks"),
2393
+ ...require("@dxos/react-ui-types")
2394
+ });
2395
+ //# sourceMappingURL=index.cjs.map