@dxos/react-ui 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb

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 (183) hide show
  1. package/dist/lib/browser/{chunk-CEKVHJ27.mjs → chunk-6DTBPJE4.mjs} +4 -4
  2. package/dist/lib/browser/chunk-6DTBPJE4.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +456 -309
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +5 -4
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node-esm/{chunk-2NHEX4AD.mjs → chunk-JKHQSGNU.mjs} +4 -4
  9. package/dist/lib/node-esm/chunk-JKHQSGNU.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +456 -309
  11. package/dist/lib/node-esm/index.mjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing/index.mjs +5 -4
  14. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  15. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +7 -0
  16. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +1 -1
  17. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  18. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  19. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  20. package/dist/types/src/components/Dialog/AlertDialog.d.ts +4 -2
  21. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  22. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
  23. package/dist/types/src/components/Dialog/Dialog.d.ts +7 -1
  24. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  25. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +1 -5
  26. package/dist/types/src/components/Dialog/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 +1 -1
  29. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/List/List.d.ts.map +1 -1
  31. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  32. package/dist/types/src/components/Main/Main.d.ts +8 -9
  33. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  34. package/dist/types/src/components/Main/Main.stories.d.ts +0 -3
  35. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  36. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -1
  37. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  38. package/dist/types/src/components/Message/Message.stories.d.ts +2 -3
  39. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  40. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +23 -26
  41. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  42. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +43 -9
  43. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  44. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  45. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +6 -1
  46. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
  47. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  48. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  49. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  50. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  51. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  52. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  53. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  54. package/dist/types/src/components/Splitter/Splitter.d.ts +26 -0
  55. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  56. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  57. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  58. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  59. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  60. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  61. package/dist/types/src/components/Tag/Tag.stories.d.ts +1 -5
  62. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +1 -0
  64. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  65. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  66. package/dist/types/src/components/Toolbar/Toolbar.d.ts +7 -6
  67. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  68. package/dist/types/src/components/index.d.ts +2 -0
  69. package/dist/types/src/components/index.d.ts.map +1 -1
  70. package/dist/types/src/exemplars/generics.stories.d.ts +17 -0
  71. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  72. package/dist/types/src/exemplars/slot.stories.d.ts +14 -0
  73. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  74. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  75. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  76. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  77. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  78. package/dist/types/src/index.d.ts +1 -0
  79. package/dist/types/src/index.d.ts.map +1 -1
  80. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  81. package/dist/types/src/primitives/Container/Container.d.ts +23 -0
  82. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  83. package/dist/types/src/primitives/Container/Container.stories.d.ts +11 -0
  84. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  85. package/dist/types/src/primitives/Container/Layout.d.ts +18 -0
  86. package/dist/types/src/primitives/Container/Layout.d.ts.map +1 -0
  87. package/dist/types/src/primitives/Container/Layout.stories.d.ts +10 -0
  88. package/dist/types/src/primitives/Container/Layout.stories.d.ts.map +1 -0
  89. package/dist/types/src/primitives/Container/index.d.ts +3 -0
  90. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  91. package/dist/types/src/primitives/Flex/Flex.d.ts +8 -0
  92. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  93. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  94. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  95. package/dist/types/src/primitives/index.d.ts +3 -0
  96. package/dist/types/src/primitives/index.d.ts.map +1 -0
  97. package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
  98. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  99. package/dist/types/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +23 -22
  101. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +10 -12
  102. package/src/components/Avatars/Avatar.stories.tsx +2 -2
  103. package/src/components/Avatars/Avatar.tsx +2 -9
  104. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
  105. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
  106. package/src/components/Breadcrumb/Breadcrumb.tsx +5 -31
  107. package/src/components/Button/Button.stories.tsx +3 -3
  108. package/src/components/Button/Button.tsx +1 -7
  109. package/src/components/Button/IconButton.stories.tsx +2 -2
  110. package/src/components/Button/IconButton.tsx +1 -1
  111. package/src/components/Button/Toggle.stories.tsx +2 -2
  112. package/src/components/Button/ToggleGroup.stories.tsx +2 -2
  113. package/src/components/Dialog/AlertDialog.stories.tsx +6 -7
  114. package/src/components/Dialog/AlertDialog.tsx +78 -9
  115. package/src/components/Dialog/Dialog.stories.tsx +11 -11
  116. package/src/components/Dialog/Dialog.tsx +44 -19
  117. package/src/components/Icon/Icon.stories.tsx +2 -2
  118. package/src/components/Icon/Icon.tsx +1 -1
  119. package/src/components/Input/Input.stories.tsx +11 -10
  120. package/src/components/Input/Input.tsx +10 -25
  121. package/src/components/Link/Link.stories.tsx +2 -2
  122. package/src/components/Link/Link.tsx +1 -1
  123. package/src/components/List/List.stories.tsx +2 -2
  124. package/src/components/List/List.tsx +7 -13
  125. package/src/components/List/Tree.stories.tsx +2 -2
  126. package/src/components/List/Treegrid.stories.tsx +2 -2
  127. package/src/components/List/Treegrid.tsx +4 -9
  128. package/src/components/Main/Main.stories.tsx +41 -23
  129. package/src/components/Main/Main.tsx +128 -71
  130. package/src/components/Menu/ContextMenu.stories.tsx +2 -2
  131. package/src/components/Menu/ContextMenu.tsx +7 -31
  132. package/src/components/Menu/DropdownMenu.stories.tsx +2 -2
  133. package/src/components/Menu/DropdownMenu.tsx +8 -8
  134. package/src/components/Message/Message.stories.tsx +23 -8
  135. package/src/components/Message/Message.tsx +8 -21
  136. package/src/components/Popover/Popover.stories.tsx +2 -2
  137. package/src/components/Popover/Popover.tsx +3 -3
  138. package/src/components/ScrollArea/ScrollArea.stories.tsx +152 -76
  139. package/src/components/ScrollArea/ScrollArea.tsx +68 -116
  140. package/src/components/ScrollArea/index.ts +1 -1
  141. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +24 -9
  142. package/src/components/ScrollContainer/ScrollContainer.tsx +14 -9
  143. package/src/components/Select/Select.stories.tsx +2 -2
  144. package/src/components/Select/Select.tsx +9 -25
  145. package/src/components/Separator/Separator.tsx +1 -1
  146. package/src/components/Skeleton/Skeleton.stories.tsx +52 -0
  147. package/src/components/Skeleton/Skeleton.tsx +26 -0
  148. package/src/components/Skeleton/index.ts +5 -0
  149. package/src/components/Splitter/Splitter.stories.tsx +73 -0
  150. package/src/components/Splitter/Splitter.tsx +123 -0
  151. package/src/components/Splitter/index.ts +5 -0
  152. package/src/components/Status/Status.stories.tsx +2 -2
  153. package/src/components/Status/Status.tsx +2 -2
  154. package/src/components/Tag/Tag.stories.tsx +3 -7
  155. package/src/components/Tag/Tag.tsx +1 -6
  156. package/src/components/ThemeProvider/ThemeProvider.tsx +2 -1
  157. package/src/components/Toast/Toast.stories.tsx +2 -2
  158. package/src/components/Toast/Toast.tsx +6 -10
  159. package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
  160. package/src/components/Toolbar/Toolbar.tsx +13 -9
  161. package/src/components/Tooltip/Tooltip.stories.tsx +2 -2
  162. package/src/components/Tooltip/Tooltip.tsx +2 -2
  163. package/src/components/index.ts +2 -0
  164. package/src/exemplars/generics.stories.tsx +44 -0
  165. package/src/exemplars/slot.stories.tsx +108 -0
  166. package/src/exemplars/tabster.stories.tsx +127 -0
  167. package/src/exemplars/virtualizer.stories.tsx +133 -0
  168. package/src/index.ts +1 -0
  169. package/src/playground/Controls.stories.tsx +3 -4
  170. package/src/playground/Custom.stories.tsx +2 -2
  171. package/src/playground/Typography.stories.tsx +2 -2
  172. package/src/primitives/Container/Container.stories.tsx +67 -0
  173. package/src/primitives/Container/Container.tsx +79 -0
  174. package/src/primitives/Container/Layout.stories.tsx +57 -0
  175. package/src/primitives/Container/Layout.tsx +61 -0
  176. package/src/primitives/Container/index.ts +6 -0
  177. package/src/primitives/Flex/Flex.tsx +26 -0
  178. package/src/primitives/Flex/index.ts +5 -0
  179. package/src/primitives/index.ts +6 -0
  180. package/src/testing/decorators/withLayoutVariants.tsx +1 -1
  181. package/src/testing/decorators/withTheme.tsx +19 -17
  182. package/dist/lib/browser/chunk-CEKVHJ27.mjs.map +0 -7
  183. package/dist/lib/node-esm/chunk-2NHEX4AD.mjs.map +0 -7
@@ -16,7 +16,7 @@ import {
16
16
  useThemeContext,
17
17
  useTooltipContext,
18
18
  useTranslation
19
- } from "./chunk-2NHEX4AD.mjs";
19
+ } from "./chunk-JKHQSGNU.mjs";
20
20
 
21
21
  // src/index.ts
22
22
  import { Trans } from "react-i18next";
@@ -69,21 +69,21 @@ var useVisualViewport = (deps) => {
69
69
  // src/components/AnchoredOverflow/AnchoredOverflow.tsx
70
70
  var AnchoredOverflowRoot = /* @__PURE__ */ forwardRef(({ asChild, classNames, children, ...props }, forwardedRef) => {
71
71
  const { tx } = useThemeContext();
72
- const Root6 = asChild ? Slot : Primitive.div;
73
- return /* @__PURE__ */ React.createElement(Root6, {
72
+ const Root8 = asChild ? Slot : Primitive.div;
73
+ return /* @__PURE__ */ React.createElement(Root8, {
74
74
  role: "none",
75
75
  ...props,
76
- className: tx("anchoredOverflow.root", "overflow-anchored", {}, classNames),
76
+ className: tx("anchoredOverflow.root", {}, classNames),
77
77
  ref: forwardedRef
78
78
  }, children);
79
79
  });
80
80
  var AnchoredOverflowAnchor = /* @__PURE__ */ forwardRef(({ asChild, classNames, children, ...props }, forwardedRef) => {
81
81
  const { tx } = useThemeContext();
82
- const Root6 = asChild ? Slot : Primitive.div;
83
- return /* @__PURE__ */ React.createElement(Root6, {
82
+ const Root8 = asChild ? Slot : Primitive.div;
83
+ return /* @__PURE__ */ React.createElement(Root8, {
84
84
  role: "none",
85
85
  ...props,
86
- className: tx("anchoredOverflow.anchor", "overflow-anchor", {}, classNames),
86
+ className: tx("anchoredOverflow.anchor", {}, classNames),
87
87
  ref: forwardedRef
88
88
  }, children);
89
89
  });
@@ -124,27 +124,27 @@ var AvatarContent = /* @__PURE__ */ forwardRef2(({ icon, classNames, ...props },
124
124
  });
125
125
  });
126
126
  var AvatarLabel = /* @__PURE__ */ forwardRef2(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
127
- const Root6 = asChild ? Slot2 : Primitive2.span;
127
+ const Root8 = asChild ? Slot2 : Primitive2.span;
128
128
  const { tx } = useThemeContext();
129
129
  const { labelId } = useAvatarContext("AvatarLabel");
130
- return /* @__PURE__ */ React2.createElement(Root6, {
130
+ return /* @__PURE__ */ React2.createElement(Root8, {
131
131
  ...props,
132
132
  id: labelId,
133
133
  ref: forwardedRef,
134
- className: tx("avatar.label", "avatar__label", {
134
+ className: tx("avatar.label", {
135
135
  srOnly
136
136
  }, classNames)
137
137
  });
138
138
  });
139
139
  var AvatarDescription = /* @__PURE__ */ forwardRef2(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
140
- const Root6 = asChild ? Slot2 : Primitive2.span;
140
+ const Root8 = asChild ? Slot2 : Primitive2.span;
141
141
  const { tx } = useThemeContext();
142
142
  const { descriptionId } = useAvatarContext("AvatarDescription");
143
- return /* @__PURE__ */ React2.createElement(Root6, {
143
+ return /* @__PURE__ */ React2.createElement(Root8, {
144
144
  ...props,
145
145
  id: descriptionId,
146
146
  ref: forwardedRef,
147
- className: tx("avatar.description", "avatar__description", {
147
+ className: tx("avatar.description", {
148
148
  srOnly
149
149
  }, classNames)
150
150
  });
@@ -168,7 +168,7 @@ var Icon = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef3(({ icon, classNames,
168
168
  const href = useIconHref(icon);
169
169
  return /* @__PURE__ */ React3.createElement("svg", {
170
170
  ...props,
171
- className: tx("icon.root", "icon", {
171
+ className: tx("icon.root", {
172
172
  size
173
173
  }, classNames),
174
174
  ref: forwardedRef
@@ -183,10 +183,10 @@ import { Slot as Slot3 } from "@radix-ui/react-slot";
183
183
  import React4, { forwardRef as forwardRef4 } from "react";
184
184
  var Link = /* @__PURE__ */ forwardRef4(({ asChild, variant, classNames, ...props }, forwardedRef) => {
185
185
  const { tx } = useThemeContext();
186
- const Root6 = asChild ? Slot3 : Primitive3.a;
187
- return /* @__PURE__ */ React4.createElement(Root6, {
186
+ const Root8 = asChild ? Slot3 : Primitive3.a;
187
+ return /* @__PURE__ */ React4.createElement(Root8, {
188
188
  ...props,
189
- className: tx("link.root", "link", {
189
+ className: tx("link.root", {
190
190
  variant
191
191
  }, classNames),
192
192
  ref: forwardedRef
@@ -196,48 +196,48 @@ var Link = /* @__PURE__ */ forwardRef4(({ asChild, variant, classNames, ...props
196
196
  // src/components/Breadcrumb/Breadcrumb.tsx
197
197
  var BreadcrumbRoot = /* @__PURE__ */ forwardRef5(({ asChild, classNames, ...props }, forwardedRef) => {
198
198
  const { tx } = useThemeContext();
199
- const Root6 = asChild ? Slot4 : Primitive4.div;
200
- return /* @__PURE__ */ React5.createElement(Root6, {
199
+ const Root8 = asChild ? Slot4 : Primitive4.div;
200
+ return /* @__PURE__ */ React5.createElement(Root8, {
201
201
  role: "navigation",
202
202
  ...props,
203
- className: tx("breadcrumb.root", "breadcrumb", {}, classNames),
203
+ className: tx("breadcrumb.root", {}, classNames),
204
204
  ref: forwardedRef
205
205
  });
206
206
  });
207
207
  var BreadcrumbList = /* @__PURE__ */ forwardRef5(({ asChild, classNames, ...props }, forwardedRef) => {
208
208
  const { tx } = useThemeContext();
209
- const Root6 = asChild ? Slot4 : Primitive4.ol;
210
- return /* @__PURE__ */ React5.createElement(Root6, {
209
+ const Root8 = asChild ? Slot4 : Primitive4.ol;
210
+ return /* @__PURE__ */ React5.createElement(Root8, {
211
211
  role: "list",
212
212
  ...props,
213
- className: tx("breadcrumb.list", "breadcrumb__list", {}, classNames),
213
+ className: tx("breadcrumb.list", {}, classNames),
214
214
  ref: forwardedRef
215
215
  });
216
216
  });
217
217
  var BreadcrumbListItem = /* @__PURE__ */ forwardRef5(({ asChild, classNames, ...props }, forwardedRef) => {
218
218
  const { tx } = useThemeContext();
219
- const Root6 = asChild ? Slot4 : Primitive4.li;
220
- return /* @__PURE__ */ React5.createElement(Root6, {
219
+ const Root8 = asChild ? Slot4 : Primitive4.li;
220
+ return /* @__PURE__ */ React5.createElement(Root8, {
221
221
  role: "listitem",
222
222
  ...props,
223
- className: tx("breadcrumb.listItem", "breadcrumb__list__item", {}, classNames),
223
+ className: tx("breadcrumb.listItem", {}, classNames),
224
224
  ref: forwardedRef
225
225
  });
226
226
  });
227
227
  var BreadcrumbLink = /* @__PURE__ */ forwardRef5(({ asChild, ...props }, forwardedRef) => {
228
- const Root6 = asChild ? Slot4 : Link;
229
- return /* @__PURE__ */ React5.createElement(Root6, {
228
+ const Root8 = asChild ? Slot4 : Link;
229
+ return /* @__PURE__ */ React5.createElement(Root8, {
230
230
  ...props,
231
231
  ref: forwardedRef
232
232
  });
233
233
  });
234
234
  var BreadcrumbCurrent = /* @__PURE__ */ forwardRef5(({ asChild, classNames, ...props }, forwardedRef) => {
235
235
  const { tx } = useThemeContext();
236
- const Root6 = asChild ? Slot4 : "h1";
237
- return /* @__PURE__ */ React5.createElement(Root6, {
236
+ const Root8 = asChild ? Slot4 : "h1";
237
+ return /* @__PURE__ */ React5.createElement(Root8, {
238
238
  ...props,
239
239
  "aria-current": "page",
240
- className: tx("breadcrumb.current", "breadcrumb__item__heading--current", {}, classNames),
240
+ className: tx("breadcrumb.current", {}, classNames),
241
241
  ref: forwardedRef
242
242
  });
243
243
  });
@@ -247,7 +247,7 @@ var BreadcrumbSeparator = ({ children, classNames, ...props }) => {
247
247
  role: "separator",
248
248
  "aria-hidden": "true",
249
249
  ...props,
250
- className: tx("breadcrumb.separator", "breadcrumb__separator", {}, classNames)
250
+ className: tx("breadcrumb.separator", {}, classNames)
251
251
  }, children ?? /* @__PURE__ */ React5.createElement(Icon, {
252
252
  icon: "ph--dot--bold"
253
253
  }));
@@ -276,14 +276,14 @@ var Button = /* @__PURE__ */ memo2(/* @__PURE__ */ forwardRef6(({ classNames, ch
276
276
  const { tx } = useThemeContext();
277
277
  const elevation = useElevationContext(propsElevation);
278
278
  const density = useDensityContext(propsDensity);
279
- const Root6 = asChild ? Slot5 : Primitive5.button;
280
- return /* @__PURE__ */ React6.createElement(Root6, {
279
+ const Root8 = asChild ? Slot5 : Primitive5.button;
280
+ return /* @__PURE__ */ React6.createElement(Root8, {
281
281
  ref,
282
282
  ...props,
283
283
  "data-variant": variant,
284
284
  "data-density": density,
285
285
  "data-props": inGroup ? "grouped" : "",
286
- className: tx("button.root", "button", {
286
+ className: tx("button.root", {
287
287
  variant,
288
288
  inGroup,
289
289
  disabled: props.disabled,
@@ -299,11 +299,11 @@ Button.displayName = BUTTON_NAME;
299
299
  var ButtonGroup = /* @__PURE__ */ forwardRef6(({ children, elevation: propsElevation, classNames, asChild, ...props }, forwardedRef) => {
300
300
  const { tx } = useThemeContext();
301
301
  const elevation = useElevationContext(propsElevation);
302
- const Root6 = asChild ? Slot5 : Primitive5.div;
303
- return /* @__PURE__ */ React6.createElement(Root6, {
302
+ const Root8 = asChild ? Slot5 : Primitive5.div;
303
+ return /* @__PURE__ */ React6.createElement(Root8, {
304
304
  role: "none",
305
305
  ...props,
306
- className: tx("button.group", "button-group", {
306
+ className: tx("button.group", {
307
307
  elevation
308
308
  }, classNames),
309
309
  ref: forwardedRef
@@ -342,7 +342,7 @@ var LabelledIconButton = /* @__PURE__ */ forwardRef7(({ size = 5, icon, iconOnly
342
342
  const { tx } = useThemeContext();
343
343
  return /* @__PURE__ */ React7.createElement(Button, {
344
344
  ...props,
345
- classNames: tx("iconButton.root", "iconButton", {
345
+ classNames: tx("iconButton.root", {
346
346
  iconOnly
347
347
  }, classNames),
348
348
  ref: forwardedRef
@@ -567,7 +567,7 @@ var DialogOverlay = /* @__PURE__ */ forwardRef10(({ classNames, children, blockA
567
567
  const { tx } = useThemeContext();
568
568
  return /* @__PURE__ */ React12.createElement(DialogOverlayPrimitive, {
569
569
  ...props,
570
- className: tx("dialog.overlay", "dialog__overlay", {}, classNames),
570
+ className: tx("dialog.overlay", {}, classNames),
571
571
  ref: forwardedRef,
572
572
  "data-block-align": blockAlign
573
573
  }, /* @__PURE__ */ React12.createElement(OverlayLayoutProvider, {
@@ -584,7 +584,7 @@ var DialogContent = /* @__PURE__ */ forwardRef10(({ classNames, children, size,
584
584
  // https://www.radix-ui.com/primitives/docs/components/dialog#description
585
585
  "aria-describedby": void 0,
586
586
  ...props,
587
- className: tx("dialog.content", "dialog", {
587
+ className: tx("dialog.content", {
588
588
  inOverlayLayout: propsInOverlayLayout || inOverlayLayout,
589
589
  size
590
590
  }, classNames),
@@ -597,17 +597,25 @@ var DialogHeader = /* @__PURE__ */ forwardRef10(({ classNames, srOnly, ...props
597
597
  return /* @__PURE__ */ React12.createElement("div", {
598
598
  ...props,
599
599
  role: "header",
600
- className: tx("dialog.header", "dialog__header", {
600
+ className: tx("dialog.header", {
601
601
  srOnly
602
602
  }, classNames),
603
603
  ref: forwardedRef
604
604
  });
605
605
  });
606
+ var DialogBody = /* @__PURE__ */ forwardRef10(({ children, ...props }, forwardedRef) => {
607
+ const { tx } = useThemeContext();
608
+ return /* @__PURE__ */ React12.createElement("div", {
609
+ ...props,
610
+ className: tx("dialog.body"),
611
+ ref: forwardedRef
612
+ }, children);
613
+ });
606
614
  var DialogTitle = /* @__PURE__ */ forwardRef10(({ classNames, srOnly, ...props }, forwardedRef) => {
607
615
  const { tx } = useThemeContext();
608
616
  return /* @__PURE__ */ React12.createElement(DialogTitlePrimitive, {
609
617
  ...props,
610
- className: tx("dialog.title", "dialog__title", {
618
+ className: tx("dialog.title", {
611
619
  srOnly
612
620
  }, classNames),
613
621
  ref: forwardedRef
@@ -617,12 +625,20 @@ var DialogDescription = /* @__PURE__ */ forwardRef10(({ classNames, srOnly, ...p
617
625
  const { tx } = useThemeContext();
618
626
  return /* @__PURE__ */ React12.createElement(DialogDescriptionPrimitive, {
619
627
  ...props,
620
- className: tx("dialog.description", "dialog__description", {
628
+ className: tx("dialog.description", {
621
629
  srOnly
622
630
  }, classNames),
623
631
  ref: forwardedRef
624
632
  });
625
633
  });
634
+ var DialogActionBar = /* @__PURE__ */ forwardRef10(({ children, classNames, ...props }, forwardedRef) => {
635
+ const { tx } = useThemeContext();
636
+ return /* @__PURE__ */ React12.createElement("div", {
637
+ ...props,
638
+ className: tx("dialog.actionbar", {}, classNames),
639
+ ref: forwardedRef
640
+ }, children);
641
+ });
626
642
  var DialogClose = DialogClosePrimitive;
627
643
  var DialogCloseIconButton = /* @__PURE__ */ forwardRef10((props, forwardedRef) => {
628
644
  const { t } = useTranslation2(osTranslations2);
@@ -644,8 +660,10 @@ var Dialog = {
644
660
  Overlay: DialogOverlay,
645
661
  Content: DialogContent,
646
662
  Header: DialogHeader,
663
+ Body: DialogBody,
647
664
  Title: DialogTitle,
648
665
  Description: DialogDescription,
666
+ ActionBar: DialogActionBar,
649
667
  Close: DialogClose,
650
668
  CloseIconButton: DialogCloseIconButton
651
669
  };
@@ -665,7 +683,7 @@ var AlertDialogTitle = /* @__PURE__ */ forwardRef11(({ classNames, srOnly, ...pr
665
683
  const { tx } = useThemeContext();
666
684
  return /* @__PURE__ */ React13.createElement(AlertDialogTitlePrimitive, {
667
685
  ...props,
668
- className: tx("dialog.title", "dialog--alert__title", {
686
+ className: tx("dialog.title", {
669
687
  srOnly
670
688
  }, classNames),
671
689
  ref: forwardedRef
@@ -675,7 +693,7 @@ var AlertDialogDescription = /* @__PURE__ */ forwardRef11(({ classNames, srOnly,
675
693
  const { tx } = useThemeContext();
676
694
  return /* @__PURE__ */ React13.createElement(AlertDialogDescriptionPrimitive, {
677
695
  ...props,
678
- className: tx("dialog.description", "dialog--alert__description", {
696
+ className: tx("dialog.description", {
679
697
  srOnly
680
698
  }, classNames),
681
699
  ref: forwardedRef
@@ -683,6 +701,7 @@ var AlertDialogDescription = /* @__PURE__ */ forwardRef11(({ classNames, srOnly,
683
701
  });
684
702
  var ALERT_DIALOG_OVERLAY_NAME = "AlertDialogOverlay";
685
703
  var ALERT_DIALOG_CONTENT_NAME = "AlertDialogContent";
704
+ var ALERT_DIALOG_ACTIONBAR_NAME = "AlertDialogActionBar";
686
705
  var [OverlayLayoutProvider2, useOverlayLayoutContext2] = createContext5(ALERT_DIALOG_OVERLAY_NAME, {
687
706
  inOverlayLayout: false
688
707
  });
@@ -690,7 +709,7 @@ var AlertDialogOverlay = /* @__PURE__ */ forwardRef11(({ classNames, children, b
690
709
  const { tx } = useThemeContext();
691
710
  return /* @__PURE__ */ React13.createElement(AlertDialogOverlayPrimitive, {
692
711
  ...props,
693
- className: tx("dialog.overlay", "dialog--alert__overlay", {}, classNames, "data-[block-align=start]:justify-center", "data-[block-align=start]:items-start", "data-[block-align=center]:place-content-center"),
712
+ className: tx("dialog.overlay", {}, classNames, "data-[block-align=start]:justify-center", "data-[block-align=start]:items-start", "data-[block-align=center]:place-content-center"),
694
713
  ref: forwardedRef,
695
714
  "data-block-align": blockAlign
696
715
  }, /* @__PURE__ */ React13.createElement(OverlayLayoutProvider2, {
@@ -703,13 +722,22 @@ var AlertDialogContent = /* @__PURE__ */ forwardRef11(({ classNames, children, .
703
722
  const { inOverlayLayout } = useOverlayLayoutContext2(ALERT_DIALOG_CONTENT_NAME);
704
723
  return /* @__PURE__ */ React13.createElement(AlertDialogContentPrimitive, {
705
724
  ...props,
706
- className: tx("dialog.content", "dialog--alert", {
725
+ className: tx("dialog.content", {
707
726
  inOverlayLayout
708
727
  }, classNames),
709
728
  ref: forwardedRef
710
729
  }, children);
711
730
  });
712
731
  AlertDialogContent.displayName = ALERT_DIALOG_CONTENT_NAME;
732
+ var AlertDialogActionBar = /* @__PURE__ */ forwardRef11(({ children, classNames, ...props }, forwardedRef) => {
733
+ const { tx } = useThemeContext();
734
+ return /* @__PURE__ */ React13.createElement("div", {
735
+ ...props,
736
+ className: tx("dialog.actionbar", {}, classNames),
737
+ ref: forwardedRef
738
+ }, children);
739
+ });
740
+ AlertDialogActionBar.displayName = ALERT_DIALOG_ACTIONBAR_NAME;
713
741
  var AlertDialog = {
714
742
  Root: AlertDialogRoot,
715
743
  Trigger: AlertDialogTrigger,
@@ -718,6 +746,7 @@ var AlertDialog = {
718
746
  Content: AlertDialogContent,
719
747
  Title: AlertDialogTitle,
720
748
  Description: AlertDialogDescription,
749
+ ActionBar: AlertDialogActionBar,
721
750
  Cancel: AlertDialogCancel,
722
751
  Action: AlertDialogAction
723
752
  };
@@ -732,7 +761,7 @@ var Label = /* @__PURE__ */ forwardRef12(({ srOnly, classNames, children, ...pro
732
761
  const { tx } = useThemeContext();
733
762
  return /* @__PURE__ */ React14.createElement(LabelPrimitive, {
734
763
  ...props,
735
- className: tx("input.label", "input__label", {
764
+ className: tx("input.label", {
736
765
  srOnly
737
766
  }, classNames),
738
767
  ref: forwardedRef
@@ -742,7 +771,7 @@ var Description = /* @__PURE__ */ forwardRef12(({ srOnly, classNames, children,
742
771
  const { tx } = useThemeContext();
743
772
  return /* @__PURE__ */ React14.createElement(DescriptionPrimitive, {
744
773
  ...props,
745
- className: tx("input.description", "input__description", {
774
+ className: tx("input.description", {
746
775
  srOnly
747
776
  }, classNames),
748
777
  ref: forwardedRef
@@ -753,7 +782,7 @@ var Validation = /* @__PURE__ */ forwardRef12(({ __inputScope, srOnly, className
753
782
  const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
754
783
  return /* @__PURE__ */ React14.createElement(ValidationPrimitive, {
755
784
  ...props,
756
- className: tx("input.validation", `input__validation-message input__validation-message--${validationValence}`, {
785
+ className: tx("input.validation", {
757
786
  srOnly,
758
787
  validationValence
759
788
  }, classNames),
@@ -764,25 +793,25 @@ var DescriptionAndValidation = /* @__PURE__ */ forwardRef12(({ srOnly, className
764
793
  const { tx } = useThemeContext();
765
794
  return /* @__PURE__ */ React14.createElement(DescriptionAndValidationPrimitive, {
766
795
  ...props,
767
- className: tx("input.descriptionAndValidation", "input__description-and-validation", {
796
+ className: tx("input.descriptionAndValidation", {
768
797
  srOnly
769
798
  }, classNames),
770
799
  ref: forwardedRef
771
800
  }, children);
772
801
  });
773
- var PinInput = /* @__PURE__ */ forwardRef12(({ density: propsDensity, elevation: propsElevation, segmentClassName: propsSegmentClassName, inputClassName, variant, ...props }, forwardedRef) => {
802
+ var PinInput = /* @__PURE__ */ forwardRef12(({ density: propsDensity, elevation: propsElevation, segmentClassName: propsSegmentClassName, inputClassName, ...props }, forwardedRef) => {
774
803
  const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
775
804
  const { tx } = useThemeContext();
776
805
  const density = useDensityContext(propsDensity);
777
806
  const elevation = useElevationContext(propsElevation);
778
- const segmentClassName = useCallback4(({ focused, validationValence }) => tx("input.input", "input--pin-segment", {
807
+ const segmentClassName = useCallback4(({ focused, validationValence }) => tx("input.input", {
779
808
  variant: "static",
780
809
  focused,
781
810
  disabled: props.disabled,
782
811
  density,
783
812
  elevation,
784
813
  validationValence
785
- }, propsSegmentClassName), [
814
+ }, propsSegmentClassName) || "", [
786
815
  tx,
787
816
  props.disabled,
788
817
  elevation,
@@ -795,23 +824,22 @@ var PinInput = /* @__PURE__ */ forwardRef12(({ density: propsDensity, elevation:
795
824
  ...props.autoFocus && !hasIosKeyboard2 && {
796
825
  autoFocus: true
797
826
  },
798
- inputClassName: tx("input.inputWithSegments", "input input--pin", {
827
+ inputClassName: tx("input.inputWithSegments", {
799
828
  disabled: props.disabled
800
- }, inputClassName),
829
+ }, inputClassName) || "",
801
830
  ref: forwardedRef
802
831
  });
803
832
  });
804
833
  var TextInput = /* @__PURE__ */ forwardRef12(({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, noAutoFill, ...props }, forwardedRef) => {
805
834
  const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
806
- const themeContextValue = useThemeContext();
835
+ const { tx } = useThemeContext();
807
836
  const density = useDensityContext(propsDensity);
808
837
  const elevation = useElevationContext(propsElevation);
809
838
  const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
810
- const { tx } = themeContextValue;
811
839
  return /* @__PURE__ */ React14.createElement(TextInputPrimitive, {
812
840
  ...props,
813
841
  "data-1p-ignore": noAutoFill,
814
- className: tx("input.input", "input", {
842
+ className: tx("input.input", {
815
843
  variant,
816
844
  disabled: props.disabled,
817
845
  density,
@@ -832,7 +860,7 @@ var TextArea = /* @__PURE__ */ forwardRef12(({ __inputScope, classNames, density
832
860
  const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
833
861
  return /* @__PURE__ */ React14.createElement(TextAreaPrimitive, {
834
862
  ...props,
835
- className: tx("input.input", "input--text-area", {
863
+ className: tx("input.input", {
836
864
  variant,
837
865
  disabled: props.disabled,
838
866
  density,
@@ -863,13 +891,13 @@ var Checkbox = /* @__PURE__ */ forwardRef12(({ __inputScope, checked: propsCheck
863
891
  "aria-invalid": "true",
864
892
  "aria-errormessage": errorMessageId
865
893
  },
866
- className: tx("input.checkbox", "input--checkbox", {
894
+ className: tx("input.checkbox", {
867
895
  size
868
896
  }, "shrink-0", classNames),
869
897
  ref: forwardedRef
870
898
  }, /* @__PURE__ */ React14.createElement(Icon, {
871
899
  icon: checked === "indeterminate" ? "ph--minus--regular" : "ph--check--regular",
872
- classNames: tx("input.checkboxIndicator", "input--checkbox__indicator", {
900
+ classNames: tx("input.checkboxIndicator", {
873
901
  size,
874
902
  checked
875
903
  })
@@ -963,20 +991,20 @@ var List = /* @__PURE__ */ forwardRef13(({ classNames, children, ...props }, for
963
991
  density
964
992
  }, /* @__PURE__ */ React16.createElement(ListPrimitive, {
965
993
  ...props,
966
- className: tx("list.root", "list", {}, classNames),
994
+ className: tx("list.root", {}, classNames),
967
995
  ref: forwardedRef
968
996
  }, children));
969
997
  });
970
998
  var ListItemEndcap = /* @__PURE__ */ forwardRef13(({ children, classNames, asChild, ...props }, forwardedRef) => {
971
- const Root6 = asChild ? Slot6 : "div";
999
+ const Root8 = asChild ? Slot6 : "div";
972
1000
  const density = useDensityContext();
973
1001
  const { tx } = useThemeContext();
974
- return /* @__PURE__ */ React16.createElement(Root6, {
1002
+ return /* @__PURE__ */ React16.createElement(Root8, {
975
1003
  ...!asChild && {
976
1004
  role: "none"
977
1005
  },
978
1006
  ...props,
979
- className: tx("list.item.endcap", "list__listItem__endcap", {
1007
+ className: tx("list.item.endcap", {
980
1008
  density
981
1009
  }, classNames),
982
1010
  ref: forwardedRef
@@ -988,7 +1016,7 @@ var MockListItemOpenTrigger = ({ classNames, ...props }) => {
988
1016
  return /* @__PURE__ */ React16.createElement("div", {
989
1017
  role: "none",
990
1018
  ...props,
991
- className: tx("list.item.openTrigger", "list__listItem__openTrigger--mock", {
1019
+ className: tx("list.item.openTrigger", {
992
1020
  density
993
1021
  }, classNames)
994
1022
  });
@@ -998,7 +1026,7 @@ var ListItemHeading = /* @__PURE__ */ forwardRef13(({ children, classNames, ...p
998
1026
  const density = useDensityContext();
999
1027
  return /* @__PURE__ */ React16.createElement(ListPrimitiveItemHeading, {
1000
1028
  ...props,
1001
- className: tx("list.item.heading", "list__listItem__heading", {
1029
+ className: tx("list.item.heading", {
1002
1030
  density
1003
1031
  }, classNames),
1004
1032
  ref: forwardedRef
@@ -1010,14 +1038,14 @@ var ListItemOpenTrigger = /* @__PURE__ */ forwardRef13(({ __listItemScope, class
1010
1038
  const { open } = useListItemContext(LIST_ITEM_NAME, __listItemScope);
1011
1039
  return /* @__PURE__ */ React16.createElement(ListPrimitiveItemOpenTrigger, {
1012
1040
  ...props,
1013
- className: tx("list.item.openTrigger", "list__listItem__openTrigger", {
1041
+ className: tx("list.item.openTrigger", {
1014
1042
  density
1015
1043
  }, classNames),
1016
1044
  ref: forwardedRef
1017
1045
  }, children || /* @__PURE__ */ React16.createElement(Icon, {
1018
1046
  size: 3,
1019
1047
  icon: open ? "ph--caret-down--bold" : "ph--caret-right--bold",
1020
- classNames: tx("list.item.openTriggerIcon", "list__listItem__openTrigger__icon", {})
1048
+ classNames: tx("list.item.openTriggerIcon", {})
1021
1049
  }));
1022
1050
  });
1023
1051
  var ListItemRoot = /* @__PURE__ */ forwardRef13(({ classNames, children, ...props }, forwardedRef) => {
@@ -1025,7 +1053,7 @@ var ListItemRoot = /* @__PURE__ */ forwardRef13(({ classNames, children, ...prop
1025
1053
  const density = useDensityContext();
1026
1054
  return /* @__PURE__ */ React16.createElement(ListPrimitiveItem, {
1027
1055
  ...props,
1028
- className: tx("list.item.root", "list__listItem", {
1056
+ className: tx("list.item.root", {
1029
1057
  density,
1030
1058
  collapsible: props.collapsible
1031
1059
  }, classNames),
@@ -1143,7 +1171,7 @@ var PATH_SEPARATOR = "~";
1143
1171
  var PARENT_OF_SEPARATOR = " ";
1144
1172
  var TreegridRoot = /* @__PURE__ */ forwardRef15(({ asChild, classNames, children, style, gridTemplateColumns, ...props }, forwardedRef) => {
1145
1173
  const { tx } = useThemeContext();
1146
- const Root6 = asChild ? Slot7 : Primitive6.div;
1174
+ const Root8 = asChild ? Slot7 : Primitive6.div;
1147
1175
  const { findFirstFocusable } = useFocusFinders();
1148
1176
  const handleKeyDown = useCallback5((event) => {
1149
1177
  switch (event.key) {
@@ -1178,21 +1206,21 @@ var TreegridRoot = /* @__PURE__ */ forwardRef15(({ asChild, classNames, children
1178
1206
  }, [
1179
1207
  findFirstFocusable
1180
1208
  ]);
1181
- return /* @__PURE__ */ React19.createElement(Root6, {
1209
+ return /* @__PURE__ */ React19.createElement(Root8, {
1182
1210
  role: "treegrid",
1183
- onKeyDown: handleKeyDown,
1184
1211
  ...props,
1185
- className: tx("treegrid.root", "treegrid", {}, classNames),
1212
+ className: tx("treegrid.root", {}, classNames),
1186
1213
  style: {
1187
1214
  ...style,
1188
1215
  gridTemplateColumns
1189
1216
  },
1217
+ onKeyDown: handleKeyDown,
1190
1218
  ref: forwardedRef
1191
1219
  }, children);
1192
1220
  });
1193
1221
  var TreegridRow = /* @__PURE__ */ forwardRef15(({ __treegridRowScope, asChild, classNames, children, id, parentOf, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, ...props }, forwardedRef) => {
1194
1222
  const { tx } = useThemeContext();
1195
- const Root6 = asChild ? Slot7 : Primitive6.div;
1223
+ const Root8 = asChild ? Slot7 : Primitive6.div;
1196
1224
  const pathParts = id.split(PATH_SEPARATOR);
1197
1225
  const level = pathParts.length - 1;
1198
1226
  const [open, onOpenChange] = useControllableState2({
@@ -1204,10 +1232,10 @@ var TreegridRow = /* @__PURE__ */ forwardRef15(({ __treegridRowScope, asChild, c
1204
1232
  open,
1205
1233
  onOpenChange,
1206
1234
  scope: __treegridRowScope
1207
- }, /* @__PURE__ */ React19.createElement(Root6, {
1235
+ }, /* @__PURE__ */ React19.createElement(Root8, {
1208
1236
  role: "row",
1209
1237
  "aria-level": level,
1210
- className: tx("treegrid.row", "treegrid__row", {
1238
+ className: tx("treegrid.row", {
1211
1239
  level
1212
1240
  }, classNames),
1213
1241
  ...parentOf && {
@@ -1223,7 +1251,7 @@ var TreegridCell = /* @__PURE__ */ forwardRef15(({ classNames, children, indent,
1223
1251
  const { tx } = useThemeContext();
1224
1252
  return /* @__PURE__ */ React19.createElement("div", {
1225
1253
  role: "gridcell",
1226
- className: tx("treegrid.cell", "treegrid__cell", {
1254
+ className: tx("treegrid.cell", {
1227
1255
  indent
1228
1256
  }, classNames),
1229
1257
  ...props,
@@ -1248,6 +1276,7 @@ import { Primitive as Primitive7 } from "@radix-ui/react-primitive";
1248
1276
  import { Slot as Slot8 } from "@radix-ui/react-slot";
1249
1277
  import { useControllableState as useControllableState3 } from "@radix-ui/react-use-controllable-state";
1250
1278
  import React20, { forwardRef as forwardRef16, useCallback as useCallback7, useEffect as useEffect3, useRef, useState as useState5 } from "react";
1279
+ import { addEventListener } from "@dxos/async";
1251
1280
  import { log } from "@dxos/log";
1252
1281
  import { useForwardedRef, useMediaQuery } from "@dxos/react-hooks";
1253
1282
 
@@ -1346,9 +1375,12 @@ var useSwipeToDismiss = (ref, {
1346
1375
  var __dxlog_file = "/__w/dxos/dxos/packages/ui/react-ui/src/components/Main/Main.tsx";
1347
1376
  var MAIN_NAME = "Main";
1348
1377
  var MAIN_ROOT_NAME = "MainRoot";
1378
+ var MAIN_OVERLAY_NAME = "MainOverlay";
1349
1379
  var NAVIGATION_SIDEBAR_NAME = "NavigationSidebar";
1350
1380
  var COMPLEMENTARY_SIDEBAR_NAME = "ComplementarySidebar";
1351
- var GENERIC_CONSUMER_NAME = "GenericConsumer";
1381
+ var handleOpenAutoFocus = (event) => {
1382
+ !document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
1383
+ };
1352
1384
  var landmarkAttr = "data-main-landmark";
1353
1385
  var useLandmarkMover = (propsOnKeyDown, landmark) => {
1354
1386
  const handleKeyDown = useCallback7((event) => {
@@ -1372,9 +1404,9 @@ var useLandmarkMover = (propsOnKeyDown, landmark) => {
1372
1404
  }
1373
1405
  });
1374
1406
  return {
1375
- onKeyDown: handleKeyDown,
1376
1407
  [landmarkAttr]: landmark,
1377
1408
  tabIndex: 0,
1409
+ onKeyDown: handleKeyDown,
1378
1410
  ...focusableGroupAttrs
1379
1411
  };
1380
1412
  };
@@ -1382,25 +1414,25 @@ var [MainProvider, useMainContext] = createContext6(MAIN_NAME, {
1382
1414
  resizing: false,
1383
1415
  navigationSidebarState: "closed",
1384
1416
  setNavigationSidebarState: (_nextState) => {
1385
- log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
1417
+ log.warn("Not initialized", void 0, {
1386
1418
  F: __dxlog_file,
1387
- L: 92,
1419
+ L: 111,
1388
1420
  S: void 0,
1389
1421
  C: (f, a) => f(...a)
1390
1422
  });
1391
1423
  },
1392
1424
  complementarySidebarState: "closed",
1393
1425
  setComplementarySidebarState: (_nextState) => {
1394
- log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
1426
+ log.warn("Not initialized", void 0, {
1395
1427
  F: __dxlog_file,
1396
- L: 97,
1428
+ L: 116,
1397
1429
  S: void 0,
1398
1430
  C: (f, a) => f(...a)
1399
1431
  });
1400
1432
  }
1401
1433
  });
1402
- var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
1403
- const { setNavigationSidebarState, navigationSidebarState, setComplementarySidebarState, complementarySidebarState } = useMainContext(consumerName);
1434
+ var useSidebars = (consumerName) => {
1435
+ const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(consumerName);
1404
1436
  return {
1405
1437
  navigationSidebarState,
1406
1438
  setNavigationSidebarState,
@@ -1422,8 +1454,7 @@ var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
1422
1454
  closeComplementarySidebar: useCallback7(() => setComplementarySidebarState("closed"), [])
1423
1455
  };
1424
1456
  };
1425
- var resizeDebounce = 3e3;
1426
- var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState, onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState, onComplementarySidebarStateChange, children, ...props }) => {
1457
+ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState = "closed", onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState = "closed", onComplementarySidebarStateChange, children, ...props }) => {
1427
1458
  const [isLg] = useMediaQuery("lg");
1428
1459
  const [navigationSidebarState = isLg ? "expanded" : "collapsed", setNavigationSidebarState] = useControllableState3({
1429
1460
  prop: propsNavigationSidebarState,
@@ -1437,7 +1468,7 @@ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNa
1437
1468
  });
1438
1469
  const [resizing, setResizing] = useState5(false);
1439
1470
  const resizeInterval = useRef(null);
1440
- const handleResize = useCallback7(() => {
1471
+ useEffect3(() => addEventListener(window, "resize", () => {
1441
1472
  setResizing(true);
1442
1473
  if (resizeInterval.current) {
1443
1474
  clearTimeout(resizeInterval.current);
@@ -1445,14 +1476,8 @@ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNa
1445
1476
  resizeInterval.current = setTimeout(() => {
1446
1477
  setResizing(false);
1447
1478
  resizeInterval.current = null;
1448
- }, resizeDebounce);
1449
- }, []);
1450
- useEffect3(() => {
1451
- window.addEventListener("resize", handleResize);
1452
- return () => window.removeEventListener("resize", handleResize);
1453
- }, [
1454
- handleResize
1455
- ]);
1479
+ }, 3e3);
1480
+ }), []);
1456
1481
  return /* @__PURE__ */ React20.createElement(MainProvider, {
1457
1482
  ...props,
1458
1483
  navigationSidebarState,
@@ -1463,9 +1488,27 @@ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNa
1463
1488
  }, children);
1464
1489
  };
1465
1490
  MainRoot.displayName = MAIN_ROOT_NAME;
1466
- var handleOpenAutoFocus = (event) => {
1467
- !document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
1468
- };
1491
+ var MainOverlay = /* @__PURE__ */ forwardRef16(({ classNames, ...props }, forwardedRef) => {
1492
+ const [isLg] = useMediaQuery("lg");
1493
+ const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(MAIN_OVERLAY_NAME);
1494
+ const { tx } = useThemeContext();
1495
+ return /* @__PURE__ */ React20.createElement("div", {
1496
+ ...props,
1497
+ onClick: () => {
1498
+ setNavigationSidebarState("collapsed");
1499
+ setComplementarySidebarState("collapsed");
1500
+ },
1501
+ className: tx("main.overlay", {
1502
+ isLg,
1503
+ inlineStartSidebarOpen: navigationSidebarState,
1504
+ inlineEndSidebarOpen: complementarySidebarState
1505
+ }, classNames),
1506
+ "data-state": navigationSidebarState === "expanded" || complementarySidebarState === "expanded" ? "open" : "closed",
1507
+ "aria-hidden": "true",
1508
+ ref: forwardedRef
1509
+ });
1510
+ });
1511
+ MainOverlay.displayName = MAIN_OVERLAY_NAME;
1469
1512
  var MainSidebar = /* @__PURE__ */ forwardRef16(({ classNames, children, swipeToDismiss, onOpenAutoFocus, state, resizing, onStateChange, side, label, ...props }, forwardedRef) => {
1470
1513
  const [isLg] = useMediaQuery("lg");
1471
1514
  const { tx } = useThemeContext();
@@ -1486,28 +1529,28 @@ var MainSidebar = /* @__PURE__ */ forwardRef16(({ classNames, children, swipeToD
1486
1529
  }, [
1487
1530
  props.onKeyDown
1488
1531
  ]);
1489
- const Root6 = isLg ? Primitive7.div : DialogContent2;
1532
+ const Root8 = isLg ? Primitive7.div : DialogContent2;
1490
1533
  return /* @__PURE__ */ React20.createElement(DialogRoot2, {
1491
1534
  open: state !== "closed",
1492
1535
  "aria-label": toLocalizedString(label, t),
1493
1536
  modal: false
1494
1537
  }, !isLg && /* @__PURE__ */ React20.createElement(DialogTitle2, {
1495
1538
  className: "sr-only"
1496
- }, toLocalizedString(label, t)), /* @__PURE__ */ React20.createElement(Root6, {
1539
+ }, toLocalizedString(label, t)), /* @__PURE__ */ React20.createElement(Root8, {
1497
1540
  ...!isLg && {
1498
1541
  forceMount: true,
1499
1542
  tabIndex: -1,
1500
1543
  onOpenAutoFocus: onOpenAutoFocus ?? handleOpenAutoFocus
1501
1544
  },
1545
+ ...state === "closed" && {
1546
+ inert: true
1547
+ },
1502
1548
  ...props,
1503
1549
  "data-side": side === "inline-end" ? "ie" : "is",
1504
1550
  "data-state": state,
1505
1551
  "data-resizing": resizing ? "true" : "false",
1506
- className: tx("main.sidebar", "main__sidebar", {}, classNames),
1552
+ className: tx("main.sidebar", {}, classNames),
1507
1553
  onKeyDownCapture: handleKeyDown,
1508
- ...state === "closed" && {
1509
- inert: true
1510
- },
1511
1554
  ref
1512
1555
  }, children));
1513
1556
  });
@@ -1538,13 +1581,13 @@ var MainComplementarySidebar = /* @__PURE__ */ forwardRef16((props, forwardedRef
1538
1581
  ref: forwardedRef
1539
1582
  });
1540
1583
  });
1541
- MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
1584
+ MainComplementarySidebar.displayName = COMPLEMENTARY_SIDEBAR_NAME;
1542
1585
  var MainContent = /* @__PURE__ */ forwardRef16(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
1543
1586
  const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
1544
1587
  const { tx } = useThemeContext();
1545
- const Root6 = asChild ? Slot8 : role ? "div" : "main";
1588
+ const Root8 = asChild ? Slot8 : role ? "div" : "main";
1546
1589
  const mover = useLandmarkMover(props.onKeyDown, "1");
1547
- return /* @__PURE__ */ React20.createElement(Root6, {
1590
+ return /* @__PURE__ */ React20.createElement(Root8, {
1548
1591
  role,
1549
1592
  ...handlesFocus && {
1550
1593
  ...mover
@@ -1553,7 +1596,7 @@ var MainContent = /* @__PURE__ */ forwardRef16(({ asChild, classNames, bounce, h
1553
1596
  "data-sidebar-inline-start-state": navigationSidebarState,
1554
1597
  "data-sidebar-inline-end-state": complementarySidebarState,
1555
1598
  "data-handles-focus": handlesFocus,
1556
- className: tx("main.content", "main", {
1599
+ className: tx("main.content", {
1557
1600
  bounce,
1558
1601
  handlesFocus
1559
1602
  }, classNames),
@@ -1561,30 +1604,10 @@ var MainContent = /* @__PURE__ */ forwardRef16(({ asChild, classNames, bounce, h
1561
1604
  }, children);
1562
1605
  });
1563
1606
  MainContent.displayName = MAIN_NAME;
1564
- var MainOverlay = /* @__PURE__ */ forwardRef16(({ classNames, ...props }, forwardedRef) => {
1565
- const [isLg] = useMediaQuery("lg");
1566
- const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(MAIN_NAME);
1567
- const { tx } = useThemeContext();
1568
- return /* @__PURE__ */ React20.createElement("div", {
1569
- onClick: () => {
1570
- setNavigationSidebarState("collapsed");
1571
- setComplementarySidebarState("collapsed");
1572
- },
1573
- ...props,
1574
- className: tx("main.overlay", "main__overlay", {
1575
- isLg,
1576
- inlineStartSidebarOpen: navigationSidebarState,
1577
- inlineEndSidebarOpen: complementarySidebarState
1578
- }, classNames),
1579
- "data-state": navigationSidebarState === "expanded" || complementarySidebarState === "expanded" ? "open" : "closed",
1580
- "aria-hidden": "true",
1581
- ref: forwardedRef
1582
- });
1583
- });
1584
1607
  var Main = {
1585
1608
  Root: MainRoot,
1586
- Content: MainContent,
1587
1609
  Overlay: MainOverlay,
1610
+ Content: MainContent,
1588
1611
  NavigationSidebar: MainNavigationSidebar,
1589
1612
  ComplementarySidebar: MainComplementarySidebar
1590
1613
  };
@@ -1627,7 +1650,7 @@ var ContextMenuContent = /* @__PURE__ */ forwardRef17(({ classNames, children, c
1627
1650
  ...props,
1628
1651
  "data-arrow-keys": "up down",
1629
1652
  collisionPadding: safeCollisionPadding,
1630
- className: tx("menu.content", "menu", {
1653
+ className: tx("menu.content", {
1631
1654
  elevation
1632
1655
  }, classNames),
1633
1656
  ref: forwardedRef
@@ -1635,10 +1658,10 @@ var ContextMenuContent = /* @__PURE__ */ forwardRef17(({ classNames, children, c
1635
1658
  });
1636
1659
  var ContextMenuViewport = /* @__PURE__ */ forwardRef17(({ classNames, asChild, children, ...props }, forwardedRef) => {
1637
1660
  const { tx } = useThemeContext();
1638
- const Root6 = asChild ? Slot9 : Primitive8.div;
1639
- return /* @__PURE__ */ React21.createElement(Root6, {
1661
+ const Root8 = asChild ? Slot9 : Primitive8.div;
1662
+ return /* @__PURE__ */ React21.createElement(Root8, {
1640
1663
  ...props,
1641
- className: tx("menu.viewport", "menu__viewport", {}, classNames),
1664
+ className: tx("menu.viewport", {}, classNames),
1642
1665
  ref: forwardedRef
1643
1666
  }, children);
1644
1667
  });
@@ -1646,7 +1669,7 @@ var ContextMenuArrow = /* @__PURE__ */ forwardRef17(({ classNames, ...props }, f
1646
1669
  const { tx } = useThemeContext();
1647
1670
  return /* @__PURE__ */ React21.createElement(ContextMenuPrimitive.Arrow, {
1648
1671
  ...props,
1649
- className: tx("menu.arrow", "menu__arrow", {}, classNames),
1672
+ className: tx("menu.arrow", {}, classNames),
1650
1673
  ref: forwardedRef
1651
1674
  });
1652
1675
  });
@@ -1656,7 +1679,7 @@ var ContextMenuItem = /* @__PURE__ */ forwardRef17(({ classNames, ...props }, fo
1656
1679
  const { tx } = useThemeContext();
1657
1680
  return /* @__PURE__ */ React21.createElement(ContextMenuPrimitive.Item, {
1658
1681
  ...props,
1659
- className: tx("menu.item", "menu__item", {}, classNames),
1682
+ className: tx("menu.item", {}, classNames),
1660
1683
  ref: forwardedRef
1661
1684
  });
1662
1685
  });
@@ -1664,7 +1687,7 @@ var ContextMenuCheckboxItem = /* @__PURE__ */ forwardRef17(({ classNames, ...pro
1664
1687
  const { tx } = useThemeContext();
1665
1688
  return /* @__PURE__ */ React21.createElement(ContextMenuPrimitive.CheckboxItem, {
1666
1689
  ...props,
1667
- className: tx("menu.item", "menu__item--checkbox", {}, classNames),
1690
+ className: tx("menu.item", {}, classNames),
1668
1691
  ref: forwardedRef
1669
1692
  });
1670
1693
  });
@@ -1672,7 +1695,7 @@ var ContextMenuSeparator = /* @__PURE__ */ forwardRef17(({ classNames, ...props
1672
1695
  const { tx } = useThemeContext();
1673
1696
  return /* @__PURE__ */ React21.createElement(ContextMenuPrimitive.Separator, {
1674
1697
  ...props,
1675
- className: tx("menu.separator", "menu__item", {}, classNames),
1698
+ className: tx("menu.separator", {}, classNames),
1676
1699
  ref: forwardedRef
1677
1700
  });
1678
1701
  });
@@ -1680,7 +1703,7 @@ var ContextMenuGroupLabel = /* @__PURE__ */ forwardRef17(({ classNames, ...props
1680
1703
  const { tx } = useThemeContext();
1681
1704
  return /* @__PURE__ */ React21.createElement(ContextMenuPrimitive.Label, {
1682
1705
  ...props,
1683
- className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
1706
+ className: tx("menu.groupLabel", {}, classNames),
1684
1707
  ref: forwardedRef
1685
1708
  });
1686
1709
  });
@@ -1825,10 +1848,10 @@ var DropdownMenuPortal = (props) => {
1825
1848
  DropdownMenuPortal.displayName = PORTAL_NAME;
1826
1849
  var DropdownMenuViewport = /* @__PURE__ */ forwardRef18(({ classNames, asChild, children, ...props }, forwardedRef) => {
1827
1850
  const { tx } = useThemeContext();
1828
- const Root6 = asChild ? Slot10 : Primitive9.div;
1829
- return /* @__PURE__ */ React22.createElement(Root6, {
1851
+ const Root8 = asChild ? Slot10 : Primitive9.div;
1852
+ return /* @__PURE__ */ React22.createElement(Root8, {
1830
1853
  ...props,
1831
- className: tx("menu.viewport", "menu__viewport", {}, classNames),
1854
+ className: tx("menu.viewport", {}, classNames),
1832
1855
  ref: forwardedRef
1833
1856
  }, children);
1834
1857
  });
@@ -1881,7 +1904,7 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef18((props, forwardedRef) =>
1881
1904
  }
1882
1905
  }),
1883
1906
  "data-arrow-keys": "up down",
1884
- className: tx("menu.content", "menu", {
1907
+ className: tx("menu.content", {
1885
1908
  elevation
1886
1909
  }, classNames),
1887
1910
  style: {
@@ -1917,7 +1940,7 @@ var DropdownMenuGroupLabel = /* @__PURE__ */ forwardRef18((props, forwardedRef)
1917
1940
  return /* @__PURE__ */ React22.createElement(MenuPrimitive.Label, {
1918
1941
  ...menuScope,
1919
1942
  ...labelProps,
1920
- className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
1943
+ className: tx("menu.groupLabel", {}, classNames),
1921
1944
  ref: forwardedRef
1922
1945
  });
1923
1946
  });
@@ -1930,7 +1953,7 @@ var DropdownMenuItem = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
1930
1953
  return /* @__PURE__ */ React22.createElement(MenuPrimitive.Item, {
1931
1954
  ...menuScope,
1932
1955
  ...itemProps,
1933
- className: tx("menu.item", "menu__item", {}, classNames),
1956
+ className: tx("menu.item", {}, classNames),
1934
1957
  ref: forwardedRef
1935
1958
  });
1936
1959
  });
@@ -1943,7 +1966,7 @@ var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef18((props, forwardedRef
1943
1966
  return /* @__PURE__ */ React22.createElement(MenuPrimitive.CheckboxItem, {
1944
1967
  ...menuScope,
1945
1968
  ...checkboxItemProps,
1946
- className: tx("menu.item", "menu__item--checkbox", {}, classNames),
1969
+ className: tx("menu.item", {}, classNames),
1947
1970
  ref: forwardedRef
1948
1971
  });
1949
1972
  });
@@ -1967,7 +1990,7 @@ var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef18((props, forwardedRef) =
1967
1990
  return /* @__PURE__ */ React22.createElement(MenuPrimitive.Item, {
1968
1991
  ...menuScope,
1969
1992
  ...itemProps,
1970
- className: tx("menu.item", "menu__item", {}, classNames),
1993
+ className: tx("menu.item", {}, classNames),
1971
1994
  ref: forwardedRef
1972
1995
  });
1973
1996
  });
@@ -1991,7 +2014,7 @@ var DropdownMenuSeparator = /* @__PURE__ */ forwardRef18((props, forwardedRef) =
1991
2014
  return /* @__PURE__ */ React22.createElement(MenuPrimitive.Separator, {
1992
2015
  ...menuScope,
1993
2016
  ...separatorProps,
1994
- className: tx("menu.separator", "menu__item", {}, classNames),
2017
+ className: tx("menu.separator", {}, classNames),
1995
2018
  ref: forwardedRef
1996
2019
  });
1997
2020
  });
@@ -2004,7 +2027,7 @@ var DropdownMenuArrow = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
2004
2027
  return /* @__PURE__ */ React22.createElement(MenuPrimitive.Arrow, {
2005
2028
  ...menuScope,
2006
2029
  ...arrowProps,
2007
- className: tx("menu.arrow", "menu__arrow", {}, classNames),
2030
+ className: tx("menu.arrow", {}, classNames),
2008
2031
  ref: forwardedRef
2009
2032
  });
2010
2033
  });
@@ -2098,15 +2121,15 @@ var MessageRoot = /* @__PURE__ */ forwardRef19(({ asChild, valence = "neutral",
2098
2121
  const titleId = useId3("message__title", propsTitleId);
2099
2122
  const descriptionId = useId3("message__description", propsDescriptionId);
2100
2123
  const elevation = useElevationContext(propsElevation);
2101
- const Root6 = asChild ? Slot11 : Primitive10.div;
2124
+ const Root8 = asChild ? Slot11 : Primitive10.div;
2102
2125
  return /* @__PURE__ */ React23.createElement(MessageProvider, {
2103
2126
  titleId,
2104
2127
  descriptionId,
2105
2128
  valence
2106
- }, /* @__PURE__ */ React23.createElement(Root6, {
2129
+ }, /* @__PURE__ */ React23.createElement(Root8, {
2107
2130
  role: valence === "neutral" ? "paragraph" : "alert",
2108
2131
  ...props,
2109
- className: tx("message.root", "message", {
2132
+ className: tx("message.root", {
2110
2133
  valence,
2111
2134
  elevation
2112
2135
  }, classNames),
@@ -2120,29 +2143,31 @@ var MESSAGE_TITLE_NAME = "MessageTitle";
2120
2143
  var MessageTitle = /* @__PURE__ */ forwardRef19(({ asChild, classNames, children, icon, ...props }, forwardedRef) => {
2121
2144
  const { tx } = useThemeContext();
2122
2145
  const { titleId, valence } = useMessageContext(MESSAGE_TITLE_NAME);
2123
- const Root6 = asChild ? Slot11 : Primitive10.h2;
2124
- return /* @__PURE__ */ React23.createElement(Root6, {
2146
+ const Root8 = asChild ? Slot11 : Primitive10.h2;
2147
+ return /* @__PURE__ */ React23.createElement(Root8, {
2125
2148
  ...props,
2126
- className: tx("message.title", "message__title", {}, classNames),
2149
+ className: tx("message.header", {}, classNames),
2127
2150
  id: titleId,
2128
2151
  ref: forwardedRef
2129
- }, !icon && valence === "neutral" ? null : /* @__PURE__ */ React23.createElement(Icon, {
2152
+ }, !icon && valence === "neutral" ? /* @__PURE__ */ React23.createElement("div", null) : /* @__PURE__ */ React23.createElement(Icon, {
2130
2153
  size: 5,
2131
2154
  icon: icon ?? messageIcons[valence],
2132
- classNames: tx("message.icon", "message__icon", {
2155
+ classNames: tx("message.icon", {
2133
2156
  valence
2134
2157
  })
2135
- }), /* @__PURE__ */ React23.createElement("span", null, children));
2158
+ }), /* @__PURE__ */ React23.createElement("span", {
2159
+ className: tx("message.title", {}, classNames)
2160
+ }, children));
2136
2161
  });
2137
2162
  MessageTitle.displayName = MESSAGE_TITLE_NAME;
2138
2163
  var MESSAGE_CONTENT_NAME = "MessageContent";
2139
2164
  var MessageContent = /* @__PURE__ */ forwardRef19(({ asChild, classNames, children, ...props }, forwardedRef) => {
2140
2165
  const { tx } = useThemeContext();
2141
2166
  const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
2142
- const Root6 = asChild ? Slot11 : Primitive10.p;
2143
- return /* @__PURE__ */ React23.createElement(Root6, {
2167
+ const Root8 = asChild ? Slot11 : Primitive10.p;
2168
+ return /* @__PURE__ */ React23.createElement(Root8, {
2144
2169
  ...props,
2145
- className: tx("message.content", "message__content", {}, classNames),
2170
+ className: tx("message.content", {}, classNames),
2146
2171
  id: descriptionId,
2147
2172
  ref: forwardedRef
2148
2173
  }, children);
@@ -2424,7 +2449,7 @@ var PopoverContentImpl = /* @__PURE__ */ forwardRef20((props, forwardedRef) => {
2424
2449
  ...contentProps,
2425
2450
  collisionPadding: safeCollisionPadding,
2426
2451
  collisionBoundary: computedCollisionBoundary,
2427
- className: tx("popover.content", "popover", {
2452
+ className: tx("popover.content", {
2428
2453
  elevation
2429
2454
  }, classNames),
2430
2455
  ref: forwardedRef,
@@ -2461,17 +2486,17 @@ var PopoverArrow = /* @__PURE__ */ forwardRef20((props, forwardedRef) => {
2461
2486
  return /* @__PURE__ */ React24.createElement(PopperPrimitive.Arrow, {
2462
2487
  ...popperScope,
2463
2488
  ...arrowProps,
2464
- className: tx("popover.arrow", "popover__arrow", {}, classNames),
2489
+ className: tx("popover.arrow", {}, classNames),
2465
2490
  ref: forwardedRef
2466
2491
  });
2467
2492
  });
2468
2493
  PopoverArrow.displayName = ARROW_NAME2;
2469
2494
  var PopoverViewport = /* @__PURE__ */ forwardRef20(({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
2470
2495
  const { tx } = useThemeContext();
2471
- const Root6 = asChild ? Slot12 : Primitive11.div;
2472
- return /* @__PURE__ */ React24.createElement(Root6, {
2496
+ const Root8 = asChild ? Slot12 : Primitive11.div;
2497
+ return /* @__PURE__ */ React24.createElement(Root8, {
2473
2498
  ...props,
2474
- className: tx("popover.viewport", "popover__viewport", {
2499
+ className: tx("popover.viewport", {
2475
2500
  constrainInline,
2476
2501
  constrainBlock
2477
2502
  }, classNames),
@@ -2498,14 +2523,14 @@ var Status = /* @__PURE__ */ forwardRef21(({ classNames, children, progress = 0,
2498
2523
  return /* @__PURE__ */ React25.createElement("span", {
2499
2524
  role: "status",
2500
2525
  ...props,
2501
- className: tx("status.root", "status", {
2526
+ className: tx("status.root", {
2502
2527
  indeterminate,
2503
2528
  variant
2504
2529
  }, classNames),
2505
2530
  ref: forwardedRef
2506
2531
  }, /* @__PURE__ */ React25.createElement("span", {
2507
2532
  role: "none",
2508
- className: tx("status.bar", "status__bar", {
2533
+ className: tx("status.bar", {
2509
2534
  indeterminate,
2510
2535
  variant
2511
2536
  }, classNames),
@@ -2518,80 +2543,59 @@ var Status = /* @__PURE__ */ forwardRef21(({ classNames, children, progress = 0,
2518
2543
  });
2519
2544
 
2520
2545
  // src/components/ScrollArea/ScrollArea.tsx
2521
- import { Corner as ScrollAreaPrimitiveCorner, Root as ScrollAreaPrimitiveRoot, Scrollbar as ScrollAreaPrimitiveScrollbar, Thumb as ScrollAreaPrimitiveThumb, Viewport as ScrollAreaPrimitiveViewport } from "@radix-ui/react-scroll-area";
2546
+ import { createContext as createContext8 } from "@radix-ui/react-context";
2522
2547
  import React26, { forwardRef as forwardRef22 } from "react";
2523
- import { mx as mx4 } from "@dxos/ui-theme";
2524
- var ScrollAreaRoot = /* @__PURE__ */ forwardRef22(({ classNames, ...props }, forwardedRef) => {
2548
+ var SCROLLAREA_NAME = "ScrollArea";
2549
+ var [ScrollAreaProvider, useScrollAreaContext] = createContext8(SCROLLAREA_NAME);
2550
+ var SCROLLAREA_ROOT_NAME = "ScrollArea.Root";
2551
+ var ScrollAreaRoot = /* @__PURE__ */ forwardRef22(({ classNames, className, children, orientation = "vertical", autoHide = true, margin = true, padding = false, thin = false, snap = false, ...props }, forwardedRef) => {
2525
2552
  const { tx } = useThemeContext();
2526
- return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitiveRoot, {
2527
- ...props,
2528
- className: tx("scrollArea.root", "scroll-area", {}, classNames),
2529
- ref: forwardedRef
2530
- });
2531
- });
2532
- var ScrollAreaViewport = /* @__PURE__ */ forwardRef22(({ classNames, ...props }, forwardedRef) => {
2533
- const { tx } = useThemeContext();
2534
- return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitiveViewport, {
2535
- ...props,
2536
- className: tx("scrollArea.viewport", "scroll-area", {}, classNames),
2537
- ref: forwardedRef
2538
- });
2539
- });
2540
- var ScrollAreaScrollbar = /* @__PURE__ */ forwardRef22(({ classNames, variant = "fine", ...props }, forwardedRef) => {
2541
- const { tx } = useThemeContext();
2542
- return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitiveScrollbar, {
2543
- "data-variant": variant,
2544
- ...props,
2545
- className: tx("scrollArea.scrollbar", "scroll-area__scrollbar", {}, classNames),
2546
- ref: forwardedRef
2547
- });
2548
- });
2549
- var ScrollAreaThumb = /* @__PURE__ */ forwardRef22(({ classNames, ...props }, forwardedRef) => {
2550
- const { tx } = useThemeContext();
2551
- return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitiveThumb, {
2553
+ const options = {
2554
+ orientation,
2555
+ autoHide,
2556
+ margin,
2557
+ padding,
2558
+ thin,
2559
+ snap
2560
+ };
2561
+ return /* @__PURE__ */ React26.createElement(ScrollAreaProvider, options, /* @__PURE__ */ React26.createElement("div", {
2552
2562
  ...props,
2553
- className: tx("scrollArea.thumb", "scroll-area__thumb", {}, classNames),
2563
+ className: tx("scrollArea.root", options, [
2564
+ className,
2565
+ classNames
2566
+ ]),
2554
2567
  ref: forwardedRef
2555
- });
2568
+ }, children));
2556
2569
  });
2557
- var ScrollAreaCorner = /* @__PURE__ */ forwardRef22(({ classNames, ...props }, forwardedRef) => {
2570
+ ScrollAreaRoot.displayName = SCROLLAREA_ROOT_NAME;
2571
+ var SCROLLAREA_VIEWPORT_NAME = "ScrollArea.Viewport";
2572
+ var ScrollAreaViewport = /* @__PURE__ */ forwardRef22(({ classNames, children, ...props }, forwardedRef) => {
2558
2573
  const { tx } = useThemeContext();
2559
- return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitiveCorner, {
2574
+ const options = useScrollAreaContext(SCROLLAREA_VIEWPORT_NAME);
2575
+ return /* @__PURE__ */ React26.createElement("div", {
2560
2576
  ...props,
2561
- className: tx("scrollArea.corner", "scroll-area__corner", {}, classNames),
2577
+ className: tx("scrollArea.viewport", options, classNames),
2562
2578
  ref: forwardedRef
2563
- });
2579
+ }, children);
2564
2580
  });
2565
- var ScrollAreaExpander = ({ classNames, children }) => {
2566
- return /* @__PURE__ */ React26.createElement("div", {
2567
- role: "none",
2568
- className: mx4("relative bs-full is-full overflow-hidden", classNames)
2569
- }, /* @__PURE__ */ React26.createElement("div", {
2570
- role: "none",
2571
- className: "absolute inset-0 overflow-hidden"
2572
- }, children));
2573
- };
2581
+ ScrollAreaViewport.displayName = SCROLLAREA_VIEWPORT_NAME;
2574
2582
  var ScrollArea = {
2575
2583
  Root: ScrollAreaRoot,
2576
- Viewport: ScrollAreaViewport,
2577
- Scrollbar: ScrollAreaScrollbar,
2578
- Thumb: ScrollAreaThumb,
2579
- Corner: ScrollAreaCorner,
2580
- Expander: ScrollAreaExpander
2584
+ Viewport: ScrollAreaViewport
2581
2585
  };
2582
2586
 
2583
2587
  // src/components/ScrollContainer/ScrollContainer.tsx
2584
- import { createContext as createContext8 } from "@radix-ui/react-context";
2588
+ import { createContext as createContext9 } from "@radix-ui/react-context";
2585
2589
  import React27, { forwardRef as forwardRef23, useCallback as useCallback10, useEffect as useEffect6, useImperativeHandle, useMemo as useMemo5, useRef as useRef4, useState as useState7 } from "react";
2586
- import { addEventListener, combine } from "@dxos/async";
2590
+ import { addEventListener as addEventListener2, combine } from "@dxos/async";
2587
2591
  import { invariant } from "@dxos/invariant";
2588
2592
  import { useForwardedRef as useForwardedRef2 } from "@dxos/react-hooks";
2589
- import { mx as mx5 } from "@dxos/ui-theme";
2593
+ import { mx as mx4 } from "@dxos/ui-theme";
2590
2594
  var __dxlog_file2 = "/__w/dxos/dxos/packages/ui/react-ui/src/components/ScrollContainer/ScrollContainer.tsx";
2591
2595
  var isBottom = (el) => {
2592
2596
  return !!(el && el.scrollHeight - el.scrollTop === el.clientHeight);
2593
2597
  };
2594
- var [ScrollContainerProvider, useScrollContainerContext] = createContext8("ScrollContainer");
2598
+ var [ScrollContainerProvider, useScrollContainerContext] = createContext9("ScrollContainer");
2595
2599
  var Root3 = /* @__PURE__ */ forwardRef23(({ children, classNames, pin, fade, behavior: behaviorProp = "smooth" }, forwardedRef) => {
2596
2600
  const scrollerRef = useRef4(null);
2597
2601
  const autoScrollRef = useRef4(false);
@@ -2621,7 +2625,7 @@ var Root3 = /* @__PURE__ */ forwardRef23(({ children, classNames, pin, fade, beh
2621
2625
  scrollToTop: () => {
2622
2626
  invariant(scrollerRef.current, void 0, {
2623
2627
  F: __dxlog_file2,
2624
- L: 94,
2628
+ L: 95,
2625
2629
  S: void 0,
2626
2630
  A: [
2627
2631
  "scrollerRef.current",
@@ -2650,11 +2654,11 @@ var Root3 = /* @__PURE__ */ forwardRef23(({ children, classNames, pin, fade, beh
2650
2654
  }
2651
2655
  return combine(
2652
2656
  // Check if user scrolls.
2653
- addEventListener(scrollerRef.current, "wheel", () => {
2657
+ addEventListener2(scrollerRef.current, "wheel", () => {
2654
2658
  setPinned(isBottom(scrollerRef.current));
2655
2659
  }),
2656
2660
  // Check if scrolls.
2657
- addEventListener(scrollerRef.current, "scroll", () => {
2661
+ addEventListener2(scrollerRef.current, "scroll", () => {
2658
2662
  setOverflow((scrollerRef.current?.scrollTop ?? 0) > 0);
2659
2663
  })
2660
2664
  );
@@ -2668,21 +2672,24 @@ var Root3 = /* @__PURE__ */ forwardRef23(({ children, classNames, pin, fade, beh
2668
2672
  }, fade && /* @__PURE__ */ React27.createElement("div", {
2669
2673
  role: "none",
2670
2674
  "data-visible": overflow,
2671
- className: mx5(
2675
+ className: mx4(
2672
2676
  // NOTE: Gradients may not be visible with dark reader extensions.
2673
2677
  "z-10 absolute block-start-0 inset-inline-0 bs-24 is-full",
2674
2678
  'opacity-0 duration-200 transition-opacity data-[visible="true"]:opacity-100',
2675
2679
  "bg-gradient-to-b from-[--surface-bg] to-transparent pointer-events-none"
2676
2680
  )
2677
- }), /* @__PURE__ */ React27.createElement("div", {
2678
- className: mx5("flex flex-col min-bs-0 overflow-y-auto scrollbar-thin", classNames),
2681
+ }), /* @__PURE__ */ React27.createElement(ScrollArea.Root, {
2682
+ classNames: mx4("min-bs-0", classNames),
2683
+ thin: true
2684
+ }, /* @__PURE__ */ React27.createElement(ScrollArea.Viewport, {
2679
2685
  ref: scrollerRef
2680
- }, children)));
2686
+ }, children))));
2681
2687
  });
2682
2688
  Root3.displayName = "ScrollContainer.Root";
2689
+ var VIEWPORT_NAME = "ScrollContainer.Viewport";
2683
2690
  var Viewport = /* @__PURE__ */ forwardRef23(({ classNames, children, ...props }, forwardedRef) => {
2684
2691
  const contentRef = useForwardedRef2(forwardedRef);
2685
- const { pinned, scrollToBottom } = useScrollContainerContext(Viewport.displayName);
2692
+ const { pinned, scrollToBottom } = useScrollContainerContext(VIEWPORT_NAME);
2686
2693
  useEffect6(() => {
2687
2694
  if (!pinned || !contentRef.current) {
2688
2695
  return;
@@ -2696,17 +2703,18 @@ var Viewport = /* @__PURE__ */ forwardRef23(({ classNames, children, ...props },
2696
2703
  scrollToBottom
2697
2704
  ]);
2698
2705
  return /* @__PURE__ */ React27.createElement("div", {
2699
- className: mx5("is-full", classNames),
2706
+ className: mx4("is-full", classNames),
2700
2707
  ...props,
2701
2708
  ref: contentRef
2702
2709
  }, children);
2703
2710
  });
2704
- Viewport.displayName = "ScrollContainer.Viewport";
2711
+ Viewport.displayName = VIEWPORT_NAME;
2712
+ var SCROLL_DOWN_BUTTON_NAME = "ScrollContainer.ScrollDownButton";
2705
2713
  var ScrollDownButton = ({ classNames }) => {
2706
- const { pinned, scrollToBottom } = useScrollContainerContext(ScrollDownButton.displayName);
2714
+ const { pinned, scrollToBottom } = useScrollContainerContext(SCROLL_DOWN_BUTTON_NAME);
2707
2715
  return /* @__PURE__ */ React27.createElement("div", {
2708
2716
  role: "none",
2709
- className: mx5("absolute bottom-2 right-4 opacity-100 transition-opacity duration-300", pinned && "opacity-0", classNames)
2717
+ className: mx4("absolute bottom-2 right-4 opacity-100 transition-opacity duration-300", pinned && "opacity-0", classNames)
2710
2718
  }, /* @__PURE__ */ React27.createElement(IconButton, {
2711
2719
  variant: "primary",
2712
2720
  icon: "ph--arrow-down--regular",
@@ -2716,7 +2724,7 @@ var ScrollDownButton = ({ classNames }) => {
2716
2724
  onClick: () => scrollToBottom()
2717
2725
  }));
2718
2726
  };
2719
- ScrollDownButton.displayName = "ScrollContainer.ScrollDownButton";
2727
+ ScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
2720
2728
  var ScrollContainer = {
2721
2729
  Root: Root3,
2722
2730
  Viewport,
@@ -2754,7 +2762,7 @@ var SelectContent = /* @__PURE__ */ forwardRef24(({ classNames, children, collis
2754
2762
  ...props,
2755
2763
  "data-arrow-keys": "up down",
2756
2764
  collisionPadding: safeCollisionPadding,
2757
- className: tx("select.content", "select__content", {
2765
+ className: tx("select.content", {
2758
2766
  elevation
2759
2767
  }, classNames),
2760
2768
  position: "popper",
@@ -2765,7 +2773,7 @@ var SelectScrollUpButton2 = /* @__PURE__ */ forwardRef24(({ classNames, children
2765
2773
  const { tx } = useThemeContext();
2766
2774
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.SelectScrollUpButton, {
2767
2775
  ...props,
2768
- className: tx("select.scrollButton", "select__scroll-button--up", {}, classNames),
2776
+ className: tx("select.scrollButton", {}, classNames),
2769
2777
  ref: forwardedRef
2770
2778
  }, children ?? /* @__PURE__ */ React28.createElement(Icon, {
2771
2779
  size: 3,
@@ -2776,7 +2784,7 @@ var SelectScrollDownButton2 = /* @__PURE__ */ forwardRef24(({ classNames, childr
2776
2784
  const { tx } = useThemeContext();
2777
2785
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.SelectScrollDownButton, {
2778
2786
  ...props,
2779
- className: tx("select.scrollButton", "select__scroll-button--down", {}, classNames),
2787
+ className: tx("select.scrollButton", {}, classNames),
2780
2788
  ref: forwardedRef
2781
2789
  }, children ?? /* @__PURE__ */ React28.createElement(Icon, {
2782
2790
  size: 3,
@@ -2787,7 +2795,7 @@ var SelectViewport2 = /* @__PURE__ */ forwardRef24(({ classNames, children, ...p
2787
2795
  const { tx } = useThemeContext();
2788
2796
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.SelectViewport, {
2789
2797
  ...props,
2790
- className: tx("select.viewport", "select__viewport", {}, classNames),
2798
+ className: tx("select.viewport", {}, classNames),
2791
2799
  ref: forwardedRef
2792
2800
  }, children);
2793
2801
  });
@@ -2795,7 +2803,7 @@ var SelectItem = /* @__PURE__ */ forwardRef24(({ classNames, ...props }, forward
2795
2803
  const { tx } = useThemeContext();
2796
2804
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.Item, {
2797
2805
  ...props,
2798
- className: tx("select.item", "option", {}, classNames),
2806
+ className: tx("select.item", {}, classNames),
2799
2807
  ref: forwardedRef
2800
2808
  });
2801
2809
  });
@@ -2804,7 +2812,7 @@ var SelectItemIndicator = /* @__PURE__ */ forwardRef24(({ classNames, children,
2804
2812
  const { tx } = useThemeContext();
2805
2813
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.ItemIndicator, {
2806
2814
  ...props,
2807
- className: tx("select.itemIndicator", "option__indicator", {}, classNames),
2815
+ className: tx("select.itemIndicator", {}, classNames),
2808
2816
  ref: forwardedRef
2809
2817
  }, children);
2810
2818
  });
@@ -2812,7 +2820,7 @@ var SelectOption = /* @__PURE__ */ forwardRef24(({ children, classNames, ...prop
2812
2820
  const { tx } = useThemeContext();
2813
2821
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.Item, {
2814
2822
  ...props,
2815
- className: tx("select.item", "option", {}, classNames),
2823
+ className: tx("select.item", {}, classNames),
2816
2824
  ref: forwardedRef
2817
2825
  }, /* @__PURE__ */ React28.createElement(SelectPrimitive.ItemText, null, children), /* @__PURE__ */ React28.createElement("span", {
2818
2826
  className: "grow is-1"
@@ -2826,7 +2834,7 @@ var SelectSeparator = /* @__PURE__ */ forwardRef24(({ classNames, ...props }, fo
2826
2834
  const { tx } = useThemeContext();
2827
2835
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.Separator, {
2828
2836
  ...props,
2829
- className: tx("select.separator", "select__separator", {}, classNames),
2837
+ className: tx("select.separator", {}, classNames),
2830
2838
  ref: forwardedRef
2831
2839
  });
2832
2840
  });
@@ -2834,7 +2842,7 @@ var SelectArrow = /* @__PURE__ */ forwardRef24(({ classNames, ...props }, forwar
2834
2842
  const { tx } = useThemeContext();
2835
2843
  return /* @__PURE__ */ React28.createElement(SelectPrimitive.Arrow, {
2836
2844
  ...props,
2837
- className: tx("select.arrow", "select__arrow", {}, classNames),
2845
+ className: tx("select.arrow", {}, classNames),
2838
2846
  ref: forwardedRef
2839
2847
  });
2840
2848
  });
@@ -2867,7 +2875,7 @@ var Separator4 = /* @__PURE__ */ forwardRef25(({ classNames, orientation = "hori
2867
2875
  return /* @__PURE__ */ React29.createElement(SeparatorPrimitive, {
2868
2876
  orientation,
2869
2877
  ...props,
2870
- className: tx("separator.root", "separator", {
2878
+ className: tx("separator.root", {
2871
2879
  orientation,
2872
2880
  subdued
2873
2881
  }, classNames),
@@ -2875,16 +2883,76 @@ var Separator4 = /* @__PURE__ */ forwardRef25(({ classNames, orientation = "hori
2875
2883
  });
2876
2884
  });
2877
2885
 
2886
+ // src/components/Skeleton/Skeleton.tsx
2887
+ import React30, { forwardRef as forwardRef26 } from "react";
2888
+ var Skeleton = /* @__PURE__ */ forwardRef26(({ classNames, variant = "default", ...props }, forwardedRef) => {
2889
+ const { tx } = useThemeContext();
2890
+ return /* @__PURE__ */ React30.createElement("div", {
2891
+ ...props,
2892
+ className: tx("skeleton.root", {
2893
+ variant
2894
+ }, classNames),
2895
+ ref: forwardedRef
2896
+ });
2897
+ });
2898
+
2899
+ // src/components/Splitter/Splitter.tsx
2900
+ import { createContextScope as createContextScope4 } from "@radix-ui/react-context";
2901
+ import React31, { forwardRef as forwardRef27 } from "react";
2902
+ import { mx as mx5 } from "@dxos/ui-theme";
2903
+ var SPLITTER_NAME = "Splitter";
2904
+ var [createSplitterContext, createSplitterScope] = createContextScope4(SPLITTER_NAME);
2905
+ var [SplitterProvider, useSplitterContext] = createSplitterContext(SPLITTER_NAME);
2906
+ var ROOT_NAME = "Splitter.Root";
2907
+ var Root5 = /* @__PURE__ */ forwardRef27(({ __scopeSplitter, classNames, mode = "upper", ratio = 0.5, transition = 250, children, ...rootProps }, forwardedRef) => {
2908
+ return /* @__PURE__ */ React31.createElement(SplitterProvider, {
2909
+ scope: __scopeSplitter,
2910
+ mode,
2911
+ ratio,
2912
+ transition
2913
+ }, /* @__PURE__ */ React31.createElement("div", {
2914
+ role: "none",
2915
+ ...rootProps,
2916
+ ref: forwardedRef,
2917
+ className: mx5("relative bs-full overflow-hidden", classNames)
2918
+ }, children));
2919
+ });
2920
+ Root5.displayName = ROOT_NAME;
2921
+ var PANEL_NAME = "Splitter.Panel";
2922
+ var Panel = /* @__PURE__ */ forwardRef27(({ __scopeSplitter, classNames, children, position, style, ...panelProps }, forwardedRef) => {
2923
+ const context = useSplitterContext(PANEL_NAME, __scopeSplitter);
2924
+ const { mode, ratio, transition } = context;
2925
+ const isUpper = position === "upper";
2926
+ const top = isUpper ? "0%" : mode === "upper" ? "100%" : mode === "lower" ? "0%" : `${ratio * 100}%`;
2927
+ const height = isUpper ? mode === "upper" ? "100%" : mode === "lower" ? "0%" : `${ratio * 100}%` : mode === "lower" ? "100%" : mode === "upper" ? "0%" : `${(1 - ratio) * 100}%`;
2928
+ return /* @__PURE__ */ React31.createElement("div", {
2929
+ ...panelProps,
2930
+ ref: forwardedRef,
2931
+ className: mx5("absolute inset-inline-0 flex flex-col overflow-hidden", classNames),
2932
+ style: {
2933
+ top,
2934
+ height,
2935
+ transition: `top ${transition}ms, height ${transition}ms ease-out`,
2936
+ ...style
2937
+ }
2938
+ }, children);
2939
+ });
2940
+ Panel.displayName = PANEL_NAME;
2941
+ var Splitter = {
2942
+ Root: Root5,
2943
+ Panel
2944
+ };
2945
+
2878
2946
  // src/components/Tag/Tag.tsx
2879
2947
  import { Primitive as Primitive12 } from "@radix-ui/react-primitive";
2880
2948
  import { Slot as Slot13 } from "@radix-ui/react-slot";
2881
- import React30, { forwardRef as forwardRef26 } from "react";
2882
- var Tag = /* @__PURE__ */ forwardRef26(({ asChild, palette = "neutral", classNames, ...props }, forwardedRef) => {
2949
+ import React32, { forwardRef as forwardRef28 } from "react";
2950
+ var Tag = /* @__PURE__ */ forwardRef28(({ asChild, palette = "neutral", classNames, ...props }, forwardedRef) => {
2883
2951
  const { tx } = useThemeContext();
2884
- const Root6 = asChild ? Slot13 : Primitive12.span;
2885
- return /* @__PURE__ */ React30.createElement(Root6, {
2952
+ const Root8 = asChild ? Slot13 : Primitive12.span;
2953
+ return /* @__PURE__ */ React32.createElement(Root8, {
2886
2954
  ...props,
2887
- className: tx("tag.root", "dx-tag", {
2955
+ className: tx("tag.root", {
2888
2956
  palette
2889
2957
  }, classNames),
2890
2958
  "data-hue": palette,
@@ -2896,58 +2964,58 @@ var Tag = /* @__PURE__ */ forwardRef26(({ asChild, palette = "neutral", classNam
2896
2964
  import { Primitive as Primitive13 } from "@radix-ui/react-primitive";
2897
2965
  import { Slot as Slot14 } from "@radix-ui/react-slot";
2898
2966
  import { ToastAction as ToastActionPrimitive, ToastClose as ToastClosePrimitive, ToastDescription as ToastDescriptionPrimitive, ToastProvider as ToastProviderPrimitive, Root as ToastRootPrimitive, ToastTitle as ToastTitlePrimitive, ToastViewport as ToastViewportPrimitive } from "@radix-ui/react-toast";
2899
- import React31, { forwardRef as forwardRef27 } from "react";
2967
+ import React33, { forwardRef as forwardRef29 } from "react";
2900
2968
  var ToastProvider = ToastProviderPrimitive;
2901
- var ToastViewport = /* @__PURE__ */ forwardRef27(({ classNames, ...props }, forwardedRef) => {
2969
+ var ToastViewport = /* @__PURE__ */ forwardRef29(({ classNames, ...props }, forwardedRef) => {
2902
2970
  const { tx } = useThemeContext();
2903
- return /* @__PURE__ */ React31.createElement(ToastViewportPrimitive, {
2904
- className: tx("toast.viewport", "toast-viewport", {}, classNames),
2971
+ return /* @__PURE__ */ React33.createElement(ToastViewportPrimitive, {
2972
+ className: tx("toast.viewport", {}, classNames),
2905
2973
  ref: forwardedRef
2906
2974
  });
2907
2975
  });
2908
- var ToastRoot = /* @__PURE__ */ forwardRef27(({ classNames, children, ...props }, forwardedRef) => {
2976
+ var ToastRoot = /* @__PURE__ */ forwardRef29(({ classNames, children, ...props }, forwardedRef) => {
2909
2977
  const { tx } = useThemeContext();
2910
- return /* @__PURE__ */ React31.createElement(ToastRootPrimitive, {
2978
+ return /* @__PURE__ */ React33.createElement(ToastRootPrimitive, {
2911
2979
  ...props,
2912
- className: tx("toast.root", "toast", {}, classNames),
2980
+ className: tx("toast.root", {}, classNames),
2913
2981
  ref: forwardedRef
2914
- }, /* @__PURE__ */ React31.createElement(ElevationProvider, {
2982
+ }, /* @__PURE__ */ React33.createElement(ElevationProvider, {
2915
2983
  elevation: "toast"
2916
2984
  }, children));
2917
2985
  });
2918
- var ToastBody = /* @__PURE__ */ forwardRef27(({ asChild, classNames, ...props }, forwardedRef) => {
2986
+ var ToastBody = /* @__PURE__ */ forwardRef29(({ asChild, classNames, ...props }, forwardedRef) => {
2919
2987
  const { tx } = useThemeContext();
2920
- const Root6 = asChild ? Slot14 : Primitive13.div;
2921
- return /* @__PURE__ */ React31.createElement(Root6, {
2988
+ const Root8 = asChild ? Slot14 : Primitive13.div;
2989
+ return /* @__PURE__ */ React33.createElement(Root8, {
2922
2990
  ...props,
2923
- className: tx("toast.body", "toast__body", {}, classNames),
2991
+ className: tx("toast.body", {}, classNames),
2924
2992
  ref: forwardedRef
2925
2993
  });
2926
2994
  });
2927
- var ToastTitle = /* @__PURE__ */ forwardRef27(({ asChild, classNames, ...props }, forwardedRef) => {
2995
+ var ToastTitle = /* @__PURE__ */ forwardRef29(({ asChild, classNames, ...props }, forwardedRef) => {
2928
2996
  const { tx } = useThemeContext();
2929
- const Root6 = asChild ? Slot14 : ToastTitlePrimitive;
2930
- return /* @__PURE__ */ React31.createElement(Root6, {
2997
+ const Root8 = asChild ? Slot14 : ToastTitlePrimitive;
2998
+ return /* @__PURE__ */ React33.createElement(Root8, {
2931
2999
  ...props,
2932
- className: tx("toast.title", "toast__title", {}, classNames),
3000
+ className: tx("toast.title", {}, classNames),
2933
3001
  ref: forwardedRef
2934
3002
  });
2935
3003
  });
2936
- var ToastDescription = /* @__PURE__ */ forwardRef27(({ asChild, classNames, ...props }, forwardedRef) => {
3004
+ var ToastDescription = /* @__PURE__ */ forwardRef29(({ asChild, classNames, ...props }, forwardedRef) => {
2937
3005
  const { tx } = useThemeContext();
2938
- const Root6 = asChild ? Slot14 : ToastDescriptionPrimitive;
2939
- return /* @__PURE__ */ React31.createElement(Root6, {
3006
+ const Root8 = asChild ? Slot14 : ToastDescriptionPrimitive;
3007
+ return /* @__PURE__ */ React33.createElement(Root8, {
2940
3008
  ...props,
2941
- className: tx("toast.description", "toast__description", {}, classNames),
3009
+ className: tx("toast.description", {}, classNames),
2942
3010
  ref: forwardedRef
2943
3011
  });
2944
3012
  });
2945
- var ToastActions = /* @__PURE__ */ forwardRef27(({ asChild, classNames, ...props }, forwardedRef) => {
3013
+ var ToastActions = /* @__PURE__ */ forwardRef29(({ asChild, classNames, ...props }, forwardedRef) => {
2946
3014
  const { tx } = useThemeContext();
2947
- const Root6 = asChild ? Slot14 : Primitive13.div;
2948
- return /* @__PURE__ */ React31.createElement(Root6, {
3015
+ const Root8 = asChild ? Slot14 : Primitive13.div;
3016
+ return /* @__PURE__ */ React33.createElement(Root8, {
2949
3017
  ...props,
2950
- className: tx("toast.actions", "toast__actions", {}, classNames),
3018
+ className: tx("toast.actions", {}, classNames),
2951
3019
  ref: forwardedRef
2952
3020
  });
2953
3021
  });
@@ -2967,75 +3035,76 @@ var Toast = {
2967
3035
 
2968
3036
  // src/components/Toolbar/Toolbar.tsx
2969
3037
  import * as ToolbarPrimitive from "@radix-ui/react-toolbar";
2970
- import React32, { Fragment, forwardRef as forwardRef28 } from "react";
2971
- var ToolbarRoot = /* @__PURE__ */ forwardRef28(({ classNames, children, disabled, layoutManaged, textBlockWidth: textBlockWidthProp, ...props }, forwardedRef) => {
3038
+ import React34, { Fragment, forwardRef as forwardRef30 } from "react";
3039
+ var ToolbarRoot = /* @__PURE__ */ forwardRef30(({ classNames, children, density, disabled, layoutManaged, textBlockWidth: textBlockWidthProp, ...props }, forwardedRef) => {
2972
3040
  const { tx } = useThemeContext();
2973
3041
  const InnerRoot = textBlockWidthProp ? "div" : Fragment;
2974
3042
  const innerRootProps = textBlockWidthProp ? {
2975
3043
  role: "none",
2976
- className: tx("toolbar.inner", "toolbar", {
3044
+ className: tx("toolbar.inner", {
2977
3045
  layoutManaged
2978
3046
  }, classNames)
2979
3047
  } : {};
2980
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Root, {
3048
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Root, {
2981
3049
  ...props,
2982
3050
  "data-arrow-keys": props.orientation === "vertical" ? "up down" : "left right",
2983
- className: tx("toolbar.root", "toolbar", {
2984
- layoutManaged,
2985
- disabled
3051
+ className: tx("toolbar.root", {
3052
+ density,
3053
+ disabled,
3054
+ layoutManaged
2986
3055
  }, classNames),
2987
3056
  ref: forwardedRef
2988
- }, /* @__PURE__ */ React32.createElement(InnerRoot, innerRootProps, children));
3057
+ }, /* @__PURE__ */ React34.createElement(InnerRoot, innerRootProps, children));
2989
3058
  });
2990
- var ToolbarButton = /* @__PURE__ */ forwardRef28((props, forwardedRef) => {
2991
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Button, {
3059
+ var ToolbarButton = /* @__PURE__ */ forwardRef30((props, forwardedRef) => {
3060
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Button, {
2992
3061
  asChild: true
2993
- }, /* @__PURE__ */ React32.createElement(Button, {
3062
+ }, /* @__PURE__ */ React34.createElement(Button, {
2994
3063
  ...props,
2995
3064
  ref: forwardedRef
2996
3065
  }));
2997
3066
  });
2998
- var ToolbarIconButton = /* @__PURE__ */ forwardRef28((props, forwardedRef) => {
2999
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Button, {
3067
+ var ToolbarIconButton = /* @__PURE__ */ forwardRef30((props, forwardedRef) => {
3068
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Button, {
3000
3069
  asChild: true
3001
- }, /* @__PURE__ */ React32.createElement(IconButton, {
3070
+ }, /* @__PURE__ */ React34.createElement(IconButton, {
3002
3071
  ...props,
3003
3072
  noTooltip: true,
3004
3073
  ref: forwardedRef
3005
3074
  }));
3006
3075
  });
3007
- var ToolbarToggle = /* @__PURE__ */ forwardRef28((props, forwardedRef) => {
3008
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Button, {
3076
+ var ToolbarToggle = /* @__PURE__ */ forwardRef30((props, forwardedRef) => {
3077
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Button, {
3009
3078
  asChild: true
3010
- }, /* @__PURE__ */ React32.createElement(Toggle, {
3079
+ }, /* @__PURE__ */ React34.createElement(Toggle, {
3011
3080
  ...props,
3012
3081
  ref: forwardedRef
3013
3082
  }));
3014
3083
  });
3015
- var ToolbarLink = /* @__PURE__ */ forwardRef28((props, forwardedRef) => {
3016
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Link, {
3084
+ var ToolbarLink = /* @__PURE__ */ forwardRef30((props, forwardedRef) => {
3085
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Link, {
3017
3086
  asChild: true
3018
- }, /* @__PURE__ */ React32.createElement(Link, {
3087
+ }, /* @__PURE__ */ React34.createElement(Link, {
3019
3088
  ...props,
3020
3089
  ref: forwardedRef
3021
3090
  }));
3022
3091
  });
3023
- var ToolbarToggleGroup2 = /* @__PURE__ */ forwardRef28(({ classNames, children, elevation, ...props }, forwardedRef) => {
3024
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.ToolbarToggleGroup, {
3092
+ var ToolbarToggleGroup2 = /* @__PURE__ */ forwardRef30(({ classNames, children, elevation, ...props }, forwardedRef) => {
3093
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.ToolbarToggleGroup, {
3025
3094
  ...props,
3026
3095
  asChild: true
3027
- }, /* @__PURE__ */ React32.createElement(ButtonGroup, {
3096
+ }, /* @__PURE__ */ React34.createElement(ButtonGroup, {
3028
3097
  classNames,
3029
3098
  children,
3030
3099
  elevation,
3031
3100
  ref: forwardedRef
3032
3101
  }));
3033
3102
  });
3034
- var ToolbarToggleGroupItem = /* @__PURE__ */ forwardRef28(({ variant, density, elevation, classNames, children, ...props }, forwardedRef) => {
3035
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.ToolbarToggleItem, {
3103
+ var ToolbarToggleGroupItem = /* @__PURE__ */ forwardRef30(({ variant, density, elevation, classNames, children, ...props }, forwardedRef) => {
3104
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.ToolbarToggleItem, {
3036
3105
  ...props,
3037
3106
  asChild: true
3038
- }, /* @__PURE__ */ React32.createElement(Button, {
3107
+ }, /* @__PURE__ */ React34.createElement(Button, {
3039
3108
  variant,
3040
3109
  density,
3041
3110
  elevation,
@@ -3044,11 +3113,11 @@ var ToolbarToggleGroupItem = /* @__PURE__ */ forwardRef28(({ variant, density, e
3044
3113
  ref: forwardedRef
3045
3114
  }));
3046
3115
  });
3047
- var ToolbarToggleGroupIconItem = /* @__PURE__ */ forwardRef28(({ variant, density, elevation, classNames, icon, label, iconOnly, ...props }, forwardedRef) => {
3048
- return /* @__PURE__ */ React32.createElement(ToolbarPrimitive.ToolbarToggleItem, {
3116
+ var ToolbarToggleGroupIconItem = /* @__PURE__ */ forwardRef30(({ variant, density, elevation, classNames, icon, label, iconOnly, ...props }, forwardedRef) => {
3117
+ return /* @__PURE__ */ React34.createElement(ToolbarPrimitive.ToolbarToggleItem, {
3049
3118
  ...props,
3050
3119
  asChild: true
3051
- }, /* @__PURE__ */ React32.createElement(IconButton, {
3120
+ }, /* @__PURE__ */ React34.createElement(IconButton, {
3052
3121
  variant,
3053
3122
  density,
3054
3123
  elevation,
@@ -3059,13 +3128,13 @@ var ToolbarToggleGroupIconItem = /* @__PURE__ */ forwardRef28(({ variant, densit
3059
3128
  ref: forwardedRef
3060
3129
  }));
3061
3130
  });
3062
- var ToolbarSeparator = /* @__PURE__ */ forwardRef28(({ variant = "line", ...props }, forwardedRef) => {
3063
- return variant === "line" ? /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Separator, {
3131
+ var ToolbarSeparator = /* @__PURE__ */ forwardRef30(({ variant = "line", ...props }, forwardedRef) => {
3132
+ return variant === "line" ? /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Separator, {
3064
3133
  asChild: true
3065
- }, /* @__PURE__ */ React32.createElement(Separator4, {
3134
+ }, /* @__PURE__ */ React34.createElement(Separator4, {
3066
3135
  ...props,
3067
3136
  ref: forwardedRef
3068
- })) : /* @__PURE__ */ React32.createElement(ToolbarPrimitive.Separator, {
3137
+ })) : /* @__PURE__ */ React34.createElement(ToolbarPrimitive.Separator, {
3069
3138
  className: "grow",
3070
3139
  ref: forwardedRef
3071
3140
  });
@@ -3081,6 +3150,78 @@ var Toolbar = {
3081
3150
  ToggleGroupIconItem: ToolbarToggleGroupIconItem,
3082
3151
  Separator: ToolbarSeparator
3083
3152
  };
3153
+
3154
+ // src/primitives/Container/Container.tsx
3155
+ import { createContext as createContext10 } from "@radix-ui/react-context";
3156
+ import { Primitive as Primitive14 } from "@radix-ui/react-primitive";
3157
+ import { Slot as Slot15 } from "@radix-ui/react-slot";
3158
+ import React35, { forwardRef as forwardRef31 } from "react";
3159
+ var [ContainerProvider, useContext4] = createContext10("Container");
3160
+ var Root7 = ({ variant, children }) => {
3161
+ return /* @__PURE__ */ React35.createElement(ContainerProvider, {
3162
+ variant
3163
+ }, children);
3164
+ };
3165
+ var CONTAINER_COLUMN_NAME = "Container.Column";
3166
+ var Column = /* @__PURE__ */ forwardRef31(({ classNames, className, asChild, role = "none", children, variant, ...props }, ref) => {
3167
+ const { tx } = useThemeContext();
3168
+ const Root8 = asChild ? Slot15 : Primitive14.div;
3169
+ const context = useContext4(CONTAINER_COLUMN_NAME);
3170
+ return /* @__PURE__ */ React35.createElement(Root8, {
3171
+ ...props,
3172
+ className: tx("container.column", {
3173
+ variant: variant ?? context.variant
3174
+ }, [
3175
+ className,
3176
+ classNames
3177
+ ]),
3178
+ role,
3179
+ ref
3180
+ }, children);
3181
+ });
3182
+ Column.displayName = CONTAINER_COLUMN_NAME;
3183
+ var Container = {
3184
+ Root: Root7,
3185
+ Column
3186
+ };
3187
+
3188
+ // src/primitives/Container/Layout.tsx
3189
+ import React36, { forwardRef as forwardRef32, useMemo as useMemo6 } from "react";
3190
+ import { mx as mx6 } from "@dxos/ui-theme";
3191
+ var Main2 = /* @__PURE__ */ forwardRef32(({ classNames, children, role, toolbar, statusbar }, forwardedRef) => {
3192
+ const style = useMemo6(() => ({
3193
+ gridTemplateRows: [
3194
+ toolbar && "var(--toolbar-size)",
3195
+ "1fr",
3196
+ statusbar && "var(--statusbar-size)"
3197
+ ].filter(Boolean).join(" ")
3198
+ }), [
3199
+ toolbar,
3200
+ statusbar
3201
+ ]);
3202
+ return /* @__PURE__ */ React36.createElement("div", {
3203
+ ref: forwardedRef,
3204
+ role: role ?? "none",
3205
+ style,
3206
+ className: mx6("bs-full is-full grid grid-cols-[100%] overflow-hidden", toolbar && [
3207
+ "[.dx-main-mobile-layout_&>.dx-toolbar]:pli-3 [&>.dx-toolbar]:relative",
3208
+ "[&>.dx-toolbar]:border-be [&>.dx-toolbar]:border-subduedSeparator"
3209
+ ], classNames)
3210
+ }, children);
3211
+ });
3212
+ var Layout = {
3213
+ Main: Main2
3214
+ };
3215
+
3216
+ // src/primitives/Flex/Flex.tsx
3217
+ import React37 from "react";
3218
+ import { mx as mx7 } from "@dxos/ui-theme";
3219
+ var Flex = ({ children, classNames, role, column, grow }) => {
3220
+ return /* @__PURE__ */ React37.createElement("div", {
3221
+ role: role ?? "none",
3222
+ className: mx7("flex", column && "flex-col", grow && "flex-1 overflow-hidden", classNames)
3223
+ }, children);
3224
+ };
3084
3225
  export {
3085
3226
  AlertDialog,
3086
3227
  AnchoredOverflow,
@@ -3091,6 +3232,7 @@ export {
3091
3232
  ButtonGroup,
3092
3233
  Callout,
3093
3234
  Clipboard,
3235
+ Container,
3094
3236
  ContextMenu2 as ContextMenu,
3095
3237
  DensityContext,
3096
3238
  DensityProvider,
@@ -3098,11 +3240,13 @@ export {
3098
3240
  DropdownMenu,
3099
3241
  ElevationContext,
3100
3242
  ElevationProvider,
3243
+ Flex,
3101
3244
  Icon,
3102
3245
  IconButton,
3103
3246
  Input,
3104
3247
  LIST_ITEM_NAME,
3105
3248
  LIST_NAME,
3249
+ Layout,
3106
3250
  Link,
3107
3251
  List,
3108
3252
  ListItem,
@@ -3113,6 +3257,8 @@ export {
3113
3257
  ScrollContainer,
3114
3258
  Select,
3115
3259
  Separator4 as Separator,
3260
+ Skeleton,
3261
+ Splitter,
3116
3262
  Status,
3117
3263
  Tag,
3118
3264
  ThemeContext,
@@ -3130,6 +3276,7 @@ export {
3130
3276
  Treegrid,
3131
3277
  createDropdownMenuScope,
3132
3278
  createPopoverScope,
3279
+ createSplitterScope,
3133
3280
  createTooltipScope,
3134
3281
  hasIosKeyboard,
3135
3282
  initialSafeArea,