@dxos/react-ui 0.7.5-main.9d2a38b → 0.7.5-main.b19bfc8

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 (111) hide show
  1. package/dist/lib/browser/index.mjs +87 -86
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node/index.cjs +88 -86
  5. package/dist/lib/node/index.cjs.map +3 -3
  6. package/dist/lib/node/meta.json +1 -1
  7. package/dist/lib/node-esm/index.mjs +87 -86
  8. package/dist/lib/node-esm/index.mjs.map +3 -3
  9. package/dist/lib/node-esm/meta.json +1 -1
  10. package/dist/types/src/components/Avatars/Avatar.d.ts +6 -10
  11. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  12. package/dist/types/src/components/Avatars/Avatar.stories.d.ts +12 -13
  13. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  14. package/dist/types/src/components/Avatars/AvatarGroup.d.ts +1 -1
  15. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +2 -2
  16. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  17. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +3 -3
  18. package/dist/types/src/components/Buttons/Button.stories.d.ts +2 -2
  19. package/dist/types/src/components/Buttons/IconButton.d.ts +3 -0
  20. package/dist/types/src/components/Buttons/IconButton.d.ts.map +1 -1
  21. package/dist/types/src/components/Buttons/IconButton.stories.d.ts +2 -2
  22. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +2 -2
  23. package/dist/types/src/components/Buttons/ToggleGroup.d.ts +4 -4
  24. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +6 -6
  25. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts +1 -1
  26. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  27. package/dist/types/src/components/Clipboard/CopyButton.d.ts +6 -3
  28. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  29. package/dist/types/src/components/Clipboard/index.d.ts +8 -3
  30. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  31. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
  32. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  33. package/dist/types/src/components/Dialogs/AlertDialog.d.ts +1 -1
  34. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +1 -1
  35. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +2 -2
  36. package/dist/types/src/components/Dialogs/Dialog.d.ts +4 -2
  37. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +1 -1
  38. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +2 -2
  39. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
  40. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  41. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  42. package/dist/types/src/components/Input/Input.d.ts +1 -1
  43. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  44. package/dist/types/src/components/Input/Input.stories.d.ts +7 -7
  45. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  46. package/dist/types/src/components/Lists/List.stories.d.ts +5 -5
  47. package/dist/types/src/components/Lists/ListDropIndicator.d.ts +3 -2
  48. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +1 -1
  49. package/dist/types/src/components/Lists/Tree.stories.d.ts +3 -3
  50. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts +1 -2
  51. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +1 -1
  52. package/dist/types/src/components/Lists/Treegrid.stories.d.ts +2 -2
  53. package/dist/types/src/components/Main/Main.d.ts +35 -22
  54. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  55. package/dist/types/src/components/Main/Main.stories.d.ts +3 -4
  56. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/Menus/ContextMenu.d.ts +6 -6
  58. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts +8 -8
  59. package/dist/types/src/components/Menus/DropdownMenu.d.ts +3 -7
  60. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +1 -1
  61. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +4 -4
  62. package/dist/types/src/components/Message/Message.stories.d.ts +2 -2
  63. package/dist/types/src/components/Popover/Popover.d.ts +1 -1
  64. package/dist/types/src/components/Popover/Popover.stories.d.ts +5 -5
  65. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +5 -5
  66. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +7 -7
  67. package/dist/types/src/components/Select/Select.d.ts +9 -9
  68. package/dist/types/src/components/Select/Select.stories.d.ts +2 -3
  69. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  70. package/dist/types/src/components/Separator/Separator.d.ts +1 -1
  71. package/dist/types/src/components/Status/Status.stories.d.ts +3 -3
  72. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  73. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  74. package/dist/types/src/components/Tag/Tag.stories.d.ts +12 -5
  75. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  76. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +2 -2
  77. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  78. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -1
  79. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  80. package/dist/types/src/components/Toast/Toast.d.ts +4 -4
  81. package/dist/types/src/components/Toast/Toast.stories.d.ts +8 -8
  82. package/dist/types/src/components/Toolbar/Toolbar.d.ts +6 -6
  83. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +12 -12
  84. package/dist/types/src/components/Tooltip/Tooltip.d.ts +2 -2
  85. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +16 -4
  86. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  87. package/dist/types/src/hooks/useThemeContext.d.ts +1 -1
  88. package/dist/types/src/hooks/useThemeContext.d.ts.map +1 -1
  89. package/dist/types/src/hooks/useTranslationsContext.d.ts +1 -1
  90. package/dist/types/src/playground/Controls.stories.d.ts +2 -3
  91. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  92. package/dist/types/src/playground/Typography.stories.d.ts +2 -3
  93. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  94. package/dist/types/src/util/ThemedClassName.d.ts +1 -1
  95. package/dist/types/src/util/ThemedClassName.d.ts.map +1 -1
  96. package/package.json +43 -42
  97. package/src/components/Avatars/Avatar.tsx +5 -13
  98. package/src/components/Buttons/IconButton.tsx +11 -3
  99. package/src/components/Clipboard/CopyButton.tsx +6 -2
  100. package/src/components/Dialogs/AlertDialog.tsx +3 -1
  101. package/src/components/Dialogs/Dialog.stories.tsx +1 -1
  102. package/src/components/Dialogs/Dialog.tsx +9 -4
  103. package/src/components/Icon/Icon.tsx +4 -1
  104. package/src/components/Input/Input.tsx +1 -1
  105. package/src/components/Lists/ListDropIndicator.tsx +15 -7
  106. package/src/components/Main/Main.stories.tsx +1 -1
  107. package/src/components/Main/Main.tsx +78 -72
  108. package/src/components/Tag/Tag.stories.tsx +17 -31
  109. package/src/components/Tag/Tag.tsx +15 -6
  110. package/src/components/Tooltip/Tooltip.stories.tsx +13 -2
  111. package/src/util/ThemedClassName.ts +1 -1
@@ -253,16 +253,12 @@ var AvatarFrame = /* @__PURE__ */ forwardRef3(({ classNames, children, ...props
253
253
  y: ringGap + ringWidth,
254
254
  rx
255
255
  }))), variant === "circle" ? /* @__PURE__ */ React4.createElement("circle", {
256
- className: hue ? tx("hue.fill", "avatar__frame__circle", {
257
- hue
258
- }) : "fill-[var(--surface-bg)]",
259
256
  cx: "50%",
260
257
  cy: "50%",
261
- r
258
+ r,
259
+ fill: hue ? `var(--dx-${hue}Fill)` : "var(--surface-bg)"
262
260
  }) : /* @__PURE__ */ React4.createElement("rect", {
263
- className: hue ? tx("hue.fill", "avatar__frame__rect", {
264
- hue
265
- }) : "fill-[var(--surface-bg)]",
261
+ fill: hue ? `var(--dx-${hue}Fill)` : "var(--surface-bg)",
266
262
  x: ringGap + ringWidth,
267
263
  y: ringGap + ringWidth,
268
264
  width: 2 * r,
@@ -655,12 +651,21 @@ var Tooltip = {
655
651
  };
656
652
 
657
653
  // packages/ui/react-ui/src/components/Buttons/IconButton.tsx
658
- var IconOnlyButton = /* @__PURE__ */ forwardRef9(({ tooltipPortal = true, tooltipZIndex: zIndex, suppressNextTooltip, ...props }, forwardedRef) => {
654
+ var IconOnlyButton = /* @__PURE__ */ forwardRef9(({ noTooltip, tooltipPortal = true, tooltipZIndex: zIndex, tooltipSide, suppressNextTooltip, ...props }, forwardedRef) => {
659
655
  const [triggerTooltipOpen, setTriggerTooltipOpen] = useState4(false);
660
- const content = /* @__PURE__ */ React10.createElement(Tooltip.Content, zIndex && {
661
- style: {
662
- zIndex
663
- }
656
+ if (noTooltip) {
657
+ return /* @__PURE__ */ React10.createElement(LabelledIconButton, {
658
+ ...props,
659
+ ref: forwardedRef
660
+ });
661
+ }
662
+ const content = /* @__PURE__ */ React10.createElement(Tooltip.Content, {
663
+ ...zIndex && {
664
+ style: {
665
+ zIndex
666
+ }
667
+ },
668
+ side: tooltipSide
664
669
  }, props.label, /* @__PURE__ */ React10.createElement(Tooltip.Arrow, null));
665
670
  return /* @__PURE__ */ React10.createElement(Tooltip.Root, {
666
671
  open: triggerTooltipOpen,
@@ -884,7 +889,7 @@ var CopyButtonIconOnly = ({ value, classNames, iconProps, variant, ...props }) =
884
889
  const { t } = useTranslation("os");
885
890
  const { textValue, setTextValue } = useClipboard();
886
891
  const isCopied = textValue === value;
887
- const label = isCopied ? t("copy success label") : t("copy label");
892
+ const label = isCopied ? t("copy success label") : props.label ?? t("copy label");
888
893
  const [open, setOpen] = useState6(false);
889
894
  return /* @__PURE__ */ React17.createElement(Tooltip.Root, {
890
895
  delayDuration: 1500,
@@ -966,13 +971,13 @@ var DialogOverlay = /* @__PURE__ */ forwardRef12(({ classNames, children, blockA
966
971
  }, children));
967
972
  });
968
973
  DialogOverlay.displayName = DIALOG_OVERLAY_NAME;
969
- var DialogContent = /* @__PURE__ */ forwardRef12(({ classNames, children, ...props }, forwardedRef) => {
974
+ var DialogContent = /* @__PURE__ */ forwardRef12(({ classNames, children, inOverlayLayout: propsInOverlayLayout, ...props }, forwardedRef) => {
970
975
  const { tx } = useThemeContext();
971
976
  const { inOverlayLayout } = useOverlayLayoutContext(DIALOG_CONTENT_NAME);
972
977
  return /* @__PURE__ */ React18.createElement(DialogContentPrimitive, {
973
978
  ...props,
974
979
  className: tx("dialog.content", "dialog", {
975
- inOverlayLayout
980
+ inOverlayLayout: propsInOverlayLayout || inOverlayLayout
976
981
  }, classNames),
977
982
  ref: forwardedRef
978
983
  }, children);
@@ -1666,7 +1671,7 @@ var Switch = /* @__PURE__ */ forwardRef16(({ __inputScope, checked: propsChecked
1666
1671
  const { id, validationValence, descriptionId, errorMessageId } = useInputContext(INPUT_NAME, __inputScope);
1667
1672
  return /* @__PURE__ */ React22.createElement("input", {
1668
1673
  type: "checkbox",
1669
- className: "ch-checkbox--switch ch-focus-ring",
1674
+ className: "dx-checkbox--switch dx-focus-ring",
1670
1675
  checked,
1671
1676
  onChange: (event) => {
1672
1677
  onCheckedChange(event.target.checked);
@@ -1709,8 +1714,8 @@ var edgeToOrientationMap = {
1709
1714
  right: "vertical"
1710
1715
  };
1711
1716
  var orientationStyles = {
1712
- horizontal: "h-[--line-thickness] left-[--terminal-radius] right-0 before:left-[--negative-terminal-size]",
1713
- vertical: "w-[--line-thickness] top-[--terminal-radius] bottom-0 before:top-[--negative-terminal-size]"
1717
+ horizontal: "h-[--line-thickness] left-[calc(var(--line-inset)+var(--terminal-radius))] right-[--line-inset] before:left-[--terminal-inset]",
1718
+ vertical: "w-[--line-thickness] top-[calc(var(--line-inset)+var(--terminal-radius))] bottom-[--line-inset] before:top-[--terminal-inset]"
1714
1719
  };
1715
1720
  var edgeStyles = {
1716
1721
  top: "top-[--line-offset] before:top-[--offset-terminal]",
@@ -1721,17 +1726,17 @@ var edgeStyles = {
1721
1726
  var strokeSize = 2;
1722
1727
  var terminalSize = 8;
1723
1728
  var offsetToAlignTerminalWithLine = (strokeSize - terminalSize) / 2;
1724
- var ListDropIndicator = ({ edge, gap = 0 }) => {
1725
- const lineOffset = `calc(-0.5 * (${gap}px + ${strokeSize}px))`;
1729
+ var ListDropIndicator = ({ edge, gap = 0, lineInset = 0, terminalInset = lineInset - terminalSize }) => {
1726
1730
  const orientation = edgeToOrientationMap[edge];
1727
1731
  return /* @__PURE__ */ React23.createElement("div", {
1728
1732
  role: "none",
1729
1733
  style: {
1730
1734
  "--line-thickness": `${strokeSize}px`,
1731
- "--line-offset": `${lineOffset}`,
1735
+ "--line-offset": `calc(-0.5 * (${gap}px + ${strokeSize}px))`,
1736
+ "--line-inset": `${lineInset}px`,
1732
1737
  "--terminal-size": `${terminalSize}px`,
1733
1738
  "--terminal-radius": `${terminalSize / 2}px`,
1734
- "--negative-terminal-size": `-${terminalSize}px`,
1739
+ "--terminal-inset": `${terminalInset}px`,
1735
1740
  "--offset-terminal": `${offsetToAlignTerminalWithLine}px`
1736
1741
  },
1737
1742
  className: `absolute z-10 pointer-events-none bg-accentSurface before:content-[''] before:w-[--terminal-size] before:h-[--terminal-size] box-border before:absolute before:border-[length:--line-thickness] before:border-solid before:border-accentSurface before:rounded-full ${orientationStyles[orientation]} ${edgeStyles[edge]}`
@@ -2155,68 +2160,62 @@ var useLandmarkMover = (propsOnKeyDown, landmark) => {
2155
2160
  };
2156
2161
  var [MainProvider, useMainContext] = createContext10(MAIN_NAME, {
2157
2162
  resizing: false,
2158
- navigationSidebarOpen: false,
2159
- setNavigationSidebarOpen: (nextOpen) => {
2163
+ navigationSidebarState: "closed",
2164
+ setNavigationSidebarState: (nextState) => {
2160
2165
  log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
2161
2166
  F: __dxlog_file,
2162
- L: 79,
2167
+ L: 81,
2163
2168
  S: void 0,
2164
2169
  C: (f, a) => f(...a)
2165
2170
  });
2166
2171
  },
2167
- complementarySidebarOpen: false,
2168
- setComplementarySidebarOpen: (nextOpen) => {
2172
+ complementarySidebarState: "closed",
2173
+ setComplementarySidebarState: (nextState) => {
2169
2174
  log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
2170
2175
  F: __dxlog_file,
2171
- L: 84,
2176
+ L: 86,
2172
2177
  S: void 0,
2173
2178
  C: (f, a) => f(...a)
2174
2179
  });
2175
2180
  }
2176
2181
  });
2177
2182
  var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
2178
- const { setNavigationSidebarOpen, navigationSidebarOpen, setComplementarySidebarOpen, complementarySidebarOpen } = useMainContext(consumerName);
2183
+ const { setNavigationSidebarState, navigationSidebarState, setComplementarySidebarState, complementarySidebarState } = useMainContext(consumerName);
2179
2184
  return {
2180
- navigationSidebarOpen,
2181
- setNavigationSidebarOpen,
2182
- toggleNavigationSidebar: useCallback7(() => setNavigationSidebarOpen(!navigationSidebarOpen), [
2183
- navigationSidebarOpen,
2184
- setNavigationSidebarOpen
2185
- ]),
2186
- openNavigationSidebar: useCallback7(() => setNavigationSidebarOpen(true), [
2187
- setNavigationSidebarOpen
2185
+ navigationSidebarState,
2186
+ setNavigationSidebarState,
2187
+ toggleNavigationSidebar: useCallback7(() => setNavigationSidebarState(navigationSidebarState === "expanded" ? "closed" : "expanded"), [
2188
+ navigationSidebarState,
2189
+ setNavigationSidebarState
2188
2190
  ]),
2189
- closeNavigationSidebar: useCallback7(() => setNavigationSidebarOpen(false), [
2190
- setNavigationSidebarOpen
2191
+ openNavigationSidebar: useCallback7(() => setNavigationSidebarState("expanded"), []),
2192
+ collapseNavigationSidebar: useCallback7(() => setNavigationSidebarState("collapsed"), []),
2193
+ closeNavigationSidebar: useCallback7(() => setNavigationSidebarState("closed"), []),
2194
+ complementarySidebarState,
2195
+ setComplementarySidebarState,
2196
+ toggleComplementarySidebar: useCallback7(() => setComplementarySidebarState(complementarySidebarState === "expanded" ? "closed" : "expanded"), [
2197
+ complementarySidebarState,
2198
+ setComplementarySidebarState
2191
2199
  ]),
2192
- complementarySidebarOpen,
2193
- setComplementarySidebarOpen,
2194
- toggleComplementarySidebar: useCallback7(() => setComplementarySidebarOpen(!complementarySidebarOpen), [
2195
- complementarySidebarOpen,
2196
- setComplementarySidebarOpen
2197
- ]),
2198
- openComplementarySidebar: useCallback7(() => setComplementarySidebarOpen(true), [
2199
- setComplementarySidebarOpen
2200
- ]),
2201
- closeComplementarySidebar: useCallback7(() => setComplementarySidebarOpen(false), [
2202
- setComplementarySidebarOpen
2203
- ])
2200
+ openComplementarySidebar: useCallback7(() => setComplementarySidebarState("expanded"), []),
2201
+ collapseComplementarySidebar: useCallback7(() => setComplementarySidebarState("collapsed"), []),
2202
+ closeComplementarySidebar: useCallback7(() => setComplementarySidebarState("closed"), [])
2204
2203
  };
2205
2204
  };
2206
2205
  var resizeDebounce = 3e3;
2207
- var MainRoot = ({ navigationSidebarOpen: propsNavigationSidebarOpen, defaultNavigationSidebarOpen, onNavigationSidebarOpenChange, complementarySidebarOpen: propsComplementarySidebarOpen, defaultComplementarySidebarOpen, onComplementarySidebarOpenChange, children, ...props }) => {
2206
+ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState, onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState, onComplementarySidebarStateChange, children, ...props }) => {
2208
2207
  const [isLg] = useMediaQuery("lg", {
2209
2208
  ssr: false
2210
2209
  });
2211
- const [navigationSidebarOpen = isLg, setNavigationSidebarOpen] = useControllableState4({
2212
- prop: propsNavigationSidebarOpen,
2213
- defaultProp: defaultNavigationSidebarOpen,
2214
- onChange: onNavigationSidebarOpenChange
2210
+ const [navigationSidebarState = isLg ? "expanded" : "collapsed", setNavigationSidebarState] = useControllableState4({
2211
+ prop: propsNavigationSidebarState,
2212
+ defaultProp: defaultNavigationSidebarState,
2213
+ onChange: onNavigationSidebarStateChange
2215
2214
  });
2216
- const [complementarySidebarOpen = false, setComplementarySidebarOpen] = useControllableState4({
2217
- prop: propsComplementarySidebarOpen,
2218
- defaultProp: defaultComplementarySidebarOpen,
2219
- onChange: onComplementarySidebarOpenChange
2215
+ const [complementarySidebarState = isLg ? "expanded" : "collapsed", setComplementarySidebarState] = useControllableState4({
2216
+ prop: propsComplementarySidebarState,
2217
+ defaultProp: defaultComplementarySidebarState,
2218
+ onChange: onComplementarySidebarStateChange
2220
2219
  });
2221
2220
  const [resizing, setResizing] = useState8(false);
2222
2221
  const resizeInterval = useRef2(null);
@@ -2238,10 +2237,10 @@ var MainRoot = ({ navigationSidebarOpen: propsNavigationSidebarOpen, defaultNavi
2238
2237
  ]);
2239
2238
  return /* @__PURE__ */ React28.createElement(MainProvider, {
2240
2239
  ...props,
2241
- navigationSidebarOpen,
2242
- setNavigationSidebarOpen,
2243
- complementarySidebarOpen,
2244
- setComplementarySidebarOpen,
2240
+ navigationSidebarState,
2241
+ setNavigationSidebarState,
2242
+ complementarySidebarState,
2243
+ setComplementarySidebarState,
2245
2244
  resizing
2246
2245
  }, children);
2247
2246
  };
@@ -2249,7 +2248,7 @@ MainRoot.displayName = MAIN_ROOT_NAME;
2249
2248
  var handleOpenAutoFocus = (event) => {
2250
2249
  !document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
2251
2250
  };
2252
- var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToDismiss, onOpenAutoFocus, open, resizing, setOpen, side, ...props }, forwardedRef) => {
2251
+ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToDismiss, onOpenAutoFocus, state, resizing, onStateChange, side, ...props }, forwardedRef) => {
2253
2252
  const [isLg] = useMediaQuery("lg", {
2254
2253
  ssr: false
2255
2254
  });
@@ -2257,7 +2256,7 @@ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToD
2257
2256
  const ref = useForwardedRef(forwardedRef);
2258
2257
  const noopRef = useRef2(null);
2259
2258
  useSwipeToDismiss(swipeToDismiss ? ref : noopRef, {
2260
- onDismiss: () => setOpen(false)
2259
+ onDismiss: () => onStateChange?.("closed")
2261
2260
  });
2262
2261
  const handleKeyDown = useCallback7((event) => {
2263
2262
  if (event.key === "Escape") {
@@ -2269,7 +2268,7 @@ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToD
2269
2268
  ]);
2270
2269
  const Root5 = isLg ? Primitive9.div : DialogContent2;
2271
2270
  return /* @__PURE__ */ React28.createElement(DialogRoot2, {
2272
- open,
2271
+ open: state !== "closed",
2273
2272
  modal: false
2274
2273
  }, /* @__PURE__ */ React28.createElement(Root5, {
2275
2274
  ...!isLg && {
@@ -2279,24 +2278,24 @@ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToD
2279
2278
  },
2280
2279
  ...props,
2281
2280
  "data-side": side === "inline-end" ? "ie" : "is",
2282
- "data-state": open ? "open" : "closed",
2281
+ "data-state": state,
2283
2282
  "data-resizing": resizing ? "true" : "false",
2284
2283
  className: tx("main.sidebar", "main__sidebar", {}, classNames),
2285
2284
  onKeyDown: handleKeyDown,
2286
- ...!open && {
2285
+ ...state === "closed" && {
2287
2286
  inert: "true"
2288
2287
  },
2289
2288
  ref
2290
2289
  }, children));
2291
2290
  });
2292
2291
  var MainNavigationSidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef) => {
2293
- const { navigationSidebarOpen, setNavigationSidebarOpen, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
2292
+ const { navigationSidebarState, setNavigationSidebarState, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
2294
2293
  const mover = useLandmarkMover(props.onKeyDown, "0");
2295
2294
  return /* @__PURE__ */ React28.createElement(MainSidebar, {
2296
2295
  ...mover,
2297
2296
  ...props,
2298
- open: navigationSidebarOpen,
2299
- setOpen: setNavigationSidebarOpen,
2297
+ state: navigationSidebarState,
2298
+ onStateChange: setNavigationSidebarState,
2300
2299
  resizing,
2301
2300
  side: "inline-start",
2302
2301
  ref: forwardedRef
@@ -2304,13 +2303,13 @@ var MainNavigationSidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef) =
2304
2303
  });
2305
2304
  MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
2306
2305
  var MainComplementarySidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef) => {
2307
- const { complementarySidebarOpen, setComplementarySidebarOpen, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
2306
+ const { complementarySidebarState, setComplementarySidebarState, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
2308
2307
  const mover = useLandmarkMover(props.onKeyDown, "2");
2309
2308
  return /* @__PURE__ */ React28.createElement(MainSidebar, {
2310
2309
  ...mover,
2311
2310
  ...props,
2312
- open: complementarySidebarOpen,
2313
- setOpen: setComplementarySidebarOpen,
2311
+ state: complementarySidebarState,
2312
+ onStateChange: setComplementarySidebarState,
2314
2313
  resizing,
2315
2314
  side: "inline-end",
2316
2315
  ref: forwardedRef
@@ -2318,7 +2317,7 @@ var MainComplementarySidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef
2318
2317
  });
2319
2318
  MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
2320
2319
  var MainContent = /* @__PURE__ */ forwardRef20(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
2321
- const { navigationSidebarOpen, complementarySidebarOpen } = useMainContext(MAIN_NAME);
2320
+ const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
2322
2321
  const { tx } = useThemeContext();
2323
2322
  const Root5 = asChild ? Slot10 : role ? "div" : "main";
2324
2323
  const mover = useLandmarkMover(props.onKeyDown, "1");
@@ -2328,8 +2327,8 @@ var MainContent = /* @__PURE__ */ forwardRef20(({ asChild, classNames, bounce, h
2328
2327
  ...mover
2329
2328
  },
2330
2329
  ...props,
2331
- "data-sidebar-inline-start-state": navigationSidebarOpen ? "open" : "closed",
2332
- "data-sidebar-inline-end-state": complementarySidebarOpen ? "open" : "closed",
2330
+ "data-sidebar-inline-start-state": navigationSidebarState,
2331
+ "data-sidebar-inline-end-state": complementarySidebarState,
2333
2332
  className: tx("main.content", "main", {
2334
2333
  bounce,
2335
2334
  handlesFocus
@@ -2342,20 +2341,20 @@ var MainOverlay = /* @__PURE__ */ forwardRef20(({ classNames, ...props }, forwar
2342
2341
  const [isLg] = useMediaQuery("lg", {
2343
2342
  ssr: false
2344
2343
  });
2345
- const { navigationSidebarOpen, setNavigationSidebarOpen, complementarySidebarOpen, setComplementarySidebarOpen } = useMainContext(MAIN_NAME);
2344
+ const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(MAIN_NAME);
2346
2345
  const { tx } = useThemeContext();
2347
2346
  return /* @__PURE__ */ React28.createElement("div", {
2348
2347
  onClick: () => {
2349
- setNavigationSidebarOpen(false);
2350
- setComplementarySidebarOpen(false);
2348
+ setNavigationSidebarState("collapsed");
2349
+ setComplementarySidebarState("collapsed");
2351
2350
  },
2352
2351
  ...props,
2353
2352
  className: tx("main.overlay", "main__overlay", {
2354
2353
  isLg,
2355
- inlineStartSidebarOpen: navigationSidebarOpen,
2356
- inlineEndSidebarOpen: complementarySidebarOpen
2354
+ inlineStartSidebarOpen: navigationSidebarState,
2355
+ inlineEndSidebarOpen: complementarySidebarState
2357
2356
  }, classNames),
2358
- "data-state": navigationSidebarOpen || complementarySidebarOpen ? "open" : "closed",
2357
+ "data-state": navigationSidebarState === "expanded" || complementarySidebarState === "expanded" ? "open" : "closed",
2359
2358
  "aria-hidden": "true",
2360
2359
  ref: forwardedRef
2361
2360
  });
@@ -2980,14 +2979,15 @@ var Separator4 = /* @__PURE__ */ forwardRef26(({ classNames, orientation = "hori
2980
2979
  import { Primitive as Primitive12 } from "@radix-ui/react-primitive";
2981
2980
  import { Slot as Slot13 } from "@radix-ui/react-slot";
2982
2981
  import React35, { forwardRef as forwardRef27 } from "react";
2983
- var Tag = /* @__PURE__ */ forwardRef27(({ asChild, palette, classNames, ...props }, forwardedRef) => {
2982
+ var Tag = /* @__PURE__ */ forwardRef27(({ asChild, palette = "neutral", classNames, ...props }, forwardedRef) => {
2984
2983
  const { tx } = useThemeContext();
2985
2984
  const Root5 = asChild ? Slot13 : Primitive12.span;
2986
2985
  return /* @__PURE__ */ React35.createElement(Root5, {
2987
2986
  ...props,
2988
- className: tx("tag.root", "tag", {
2987
+ className: tx("tag.root", "dx-tag", {
2989
2988
  palette
2990
2989
  }, classNames),
2990
+ "data-hue": palette,
2991
2991
  ref: forwardedRef
2992
2992
  });
2993
2993
  });
@@ -3228,6 +3228,7 @@ export {
3228
3228
  useDropdownMenuContext,
3229
3229
  useDropdownMenuMenuScope,
3230
3230
  useElevationContext,
3231
+ useLandmarkMover,
3231
3232
  useListContext,
3232
3233
  useListItemContext,
3233
3234
  useMainContext,