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

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
@@ -255,16 +255,12 @@ var AvatarFrame = /* @__PURE__ */ forwardRef3(({ classNames, children, ...props
255
255
  y: ringGap + ringWidth,
256
256
  rx
257
257
  }))), variant === "circle" ? /* @__PURE__ */ React4.createElement("circle", {
258
- className: hue ? tx("hue.fill", "avatar__frame__circle", {
259
- hue
260
- }) : "fill-[var(--surface-bg)]",
261
258
  cx: "50%",
262
259
  cy: "50%",
263
- r
260
+ r,
261
+ fill: hue ? `var(--dx-${hue}Fill)` : "var(--surface-bg)"
264
262
  }) : /* @__PURE__ */ React4.createElement("rect", {
265
- className: hue ? tx("hue.fill", "avatar__frame__rect", {
266
- hue
267
- }) : "fill-[var(--surface-bg)]",
263
+ fill: hue ? `var(--dx-${hue}Fill)` : "var(--surface-bg)",
268
264
  x: ringGap + ringWidth,
269
265
  y: ringGap + ringWidth,
270
266
  width: 2 * r,
@@ -657,12 +653,21 @@ var Tooltip = {
657
653
  };
658
654
 
659
655
  // packages/ui/react-ui/src/components/Buttons/IconButton.tsx
660
- var IconOnlyButton = /* @__PURE__ */ forwardRef9(({ tooltipPortal = true, tooltipZIndex: zIndex, suppressNextTooltip, ...props }, forwardedRef) => {
656
+ var IconOnlyButton = /* @__PURE__ */ forwardRef9(({ noTooltip, tooltipPortal = true, tooltipZIndex: zIndex, tooltipSide, suppressNextTooltip, ...props }, forwardedRef) => {
661
657
  const [triggerTooltipOpen, setTriggerTooltipOpen] = useState4(false);
662
- const content = /* @__PURE__ */ React10.createElement(Tooltip.Content, zIndex && {
663
- style: {
664
- zIndex
665
- }
658
+ if (noTooltip) {
659
+ return /* @__PURE__ */ React10.createElement(LabelledIconButton, {
660
+ ...props,
661
+ ref: forwardedRef
662
+ });
663
+ }
664
+ const content = /* @__PURE__ */ React10.createElement(Tooltip.Content, {
665
+ ...zIndex && {
666
+ style: {
667
+ zIndex
668
+ }
669
+ },
670
+ side: tooltipSide
666
671
  }, props.label, /* @__PURE__ */ React10.createElement(Tooltip.Arrow, null));
667
672
  return /* @__PURE__ */ React10.createElement(Tooltip.Root, {
668
673
  open: triggerTooltipOpen,
@@ -886,7 +891,7 @@ var CopyButtonIconOnly = ({ value, classNames, iconProps, variant, ...props }) =
886
891
  const { t } = useTranslation("os");
887
892
  const { textValue, setTextValue } = useClipboard();
888
893
  const isCopied = textValue === value;
889
- const label = isCopied ? t("copy success label") : t("copy label");
894
+ const label = isCopied ? t("copy success label") : props.label ?? t("copy label");
890
895
  const [open, setOpen] = useState6(false);
891
896
  return /* @__PURE__ */ React17.createElement(Tooltip.Root, {
892
897
  delayDuration: 1500,
@@ -968,13 +973,13 @@ var DialogOverlay = /* @__PURE__ */ forwardRef12(({ classNames, children, blockA
968
973
  }, children));
969
974
  });
970
975
  DialogOverlay.displayName = DIALOG_OVERLAY_NAME;
971
- var DialogContent = /* @__PURE__ */ forwardRef12(({ classNames, children, ...props }, forwardedRef) => {
976
+ var DialogContent = /* @__PURE__ */ forwardRef12(({ classNames, children, inOverlayLayout: propsInOverlayLayout, ...props }, forwardedRef) => {
972
977
  const { tx } = useThemeContext();
973
978
  const { inOverlayLayout } = useOverlayLayoutContext(DIALOG_CONTENT_NAME);
974
979
  return /* @__PURE__ */ React18.createElement(DialogContentPrimitive, {
975
980
  ...props,
976
981
  className: tx("dialog.content", "dialog", {
977
- inOverlayLayout
982
+ inOverlayLayout: propsInOverlayLayout || inOverlayLayout
978
983
  }, classNames),
979
984
  ref: forwardedRef
980
985
  }, children);
@@ -1668,7 +1673,7 @@ var Switch = /* @__PURE__ */ forwardRef16(({ __inputScope, checked: propsChecked
1668
1673
  const { id, validationValence, descriptionId, errorMessageId } = useInputContext(INPUT_NAME, __inputScope);
1669
1674
  return /* @__PURE__ */ React22.createElement("input", {
1670
1675
  type: "checkbox",
1671
- className: "ch-checkbox--switch ch-focus-ring",
1676
+ className: "dx-checkbox--switch dx-focus-ring",
1672
1677
  checked,
1673
1678
  onChange: (event) => {
1674
1679
  onCheckedChange(event.target.checked);
@@ -1711,8 +1716,8 @@ var edgeToOrientationMap = {
1711
1716
  right: "vertical"
1712
1717
  };
1713
1718
  var orientationStyles = {
1714
- horizontal: "h-[--line-thickness] left-[--terminal-radius] right-0 before:left-[--negative-terminal-size]",
1715
- vertical: "w-[--line-thickness] top-[--terminal-radius] bottom-0 before:top-[--negative-terminal-size]"
1719
+ horizontal: "h-[--line-thickness] left-[calc(var(--line-inset)+var(--terminal-radius))] right-[--line-inset] before:left-[--terminal-inset]",
1720
+ vertical: "w-[--line-thickness] top-[calc(var(--line-inset)+var(--terminal-radius))] bottom-[--line-inset] before:top-[--terminal-inset]"
1716
1721
  };
1717
1722
  var edgeStyles = {
1718
1723
  top: "top-[--line-offset] before:top-[--offset-terminal]",
@@ -1723,17 +1728,17 @@ var edgeStyles = {
1723
1728
  var strokeSize = 2;
1724
1729
  var terminalSize = 8;
1725
1730
  var offsetToAlignTerminalWithLine = (strokeSize - terminalSize) / 2;
1726
- var ListDropIndicator = ({ edge, gap = 0 }) => {
1727
- const lineOffset = `calc(-0.5 * (${gap}px + ${strokeSize}px))`;
1731
+ var ListDropIndicator = ({ edge, gap = 0, lineInset = 0, terminalInset = lineInset - terminalSize }) => {
1728
1732
  const orientation = edgeToOrientationMap[edge];
1729
1733
  return /* @__PURE__ */ React23.createElement("div", {
1730
1734
  role: "none",
1731
1735
  style: {
1732
1736
  "--line-thickness": `${strokeSize}px`,
1733
- "--line-offset": `${lineOffset}`,
1737
+ "--line-offset": `calc(-0.5 * (${gap}px + ${strokeSize}px))`,
1738
+ "--line-inset": `${lineInset}px`,
1734
1739
  "--terminal-size": `${terminalSize}px`,
1735
1740
  "--terminal-radius": `${terminalSize / 2}px`,
1736
- "--negative-terminal-size": `-${terminalSize}px`,
1741
+ "--terminal-inset": `${terminalInset}px`,
1737
1742
  "--offset-terminal": `${offsetToAlignTerminalWithLine}px`
1738
1743
  },
1739
1744
  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]}`
@@ -2157,68 +2162,62 @@ var useLandmarkMover = (propsOnKeyDown, landmark) => {
2157
2162
  };
2158
2163
  var [MainProvider, useMainContext] = createContext10(MAIN_NAME, {
2159
2164
  resizing: false,
2160
- navigationSidebarOpen: false,
2161
- setNavigationSidebarOpen: (nextOpen) => {
2165
+ navigationSidebarState: "closed",
2166
+ setNavigationSidebarState: (nextState) => {
2162
2167
  log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
2163
2168
  F: __dxlog_file,
2164
- L: 79,
2169
+ L: 81,
2165
2170
  S: void 0,
2166
2171
  C: (f, a) => f(...a)
2167
2172
  });
2168
2173
  },
2169
- complementarySidebarOpen: false,
2170
- setComplementarySidebarOpen: (nextOpen) => {
2174
+ complementarySidebarState: "closed",
2175
+ setComplementarySidebarState: (nextState) => {
2171
2176
  log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
2172
2177
  F: __dxlog_file,
2173
- L: 84,
2178
+ L: 86,
2174
2179
  S: void 0,
2175
2180
  C: (f, a) => f(...a)
2176
2181
  });
2177
2182
  }
2178
2183
  });
2179
2184
  var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
2180
- const { setNavigationSidebarOpen, navigationSidebarOpen, setComplementarySidebarOpen, complementarySidebarOpen } = useMainContext(consumerName);
2185
+ const { setNavigationSidebarState, navigationSidebarState, setComplementarySidebarState, complementarySidebarState } = useMainContext(consumerName);
2181
2186
  return {
2182
- navigationSidebarOpen,
2183
- setNavigationSidebarOpen,
2184
- toggleNavigationSidebar: useCallback7(() => setNavigationSidebarOpen(!navigationSidebarOpen), [
2185
- navigationSidebarOpen,
2186
- setNavigationSidebarOpen
2187
- ]),
2188
- openNavigationSidebar: useCallback7(() => setNavigationSidebarOpen(true), [
2189
- setNavigationSidebarOpen
2187
+ navigationSidebarState,
2188
+ setNavigationSidebarState,
2189
+ toggleNavigationSidebar: useCallback7(() => setNavigationSidebarState(navigationSidebarState === "expanded" ? "closed" : "expanded"), [
2190
+ navigationSidebarState,
2191
+ setNavigationSidebarState
2190
2192
  ]),
2191
- closeNavigationSidebar: useCallback7(() => setNavigationSidebarOpen(false), [
2192
- setNavigationSidebarOpen
2193
+ openNavigationSidebar: useCallback7(() => setNavigationSidebarState("expanded"), []),
2194
+ collapseNavigationSidebar: useCallback7(() => setNavigationSidebarState("collapsed"), []),
2195
+ closeNavigationSidebar: useCallback7(() => setNavigationSidebarState("closed"), []),
2196
+ complementarySidebarState,
2197
+ setComplementarySidebarState,
2198
+ toggleComplementarySidebar: useCallback7(() => setComplementarySidebarState(complementarySidebarState === "expanded" ? "closed" : "expanded"), [
2199
+ complementarySidebarState,
2200
+ setComplementarySidebarState
2193
2201
  ]),
2194
- complementarySidebarOpen,
2195
- setComplementarySidebarOpen,
2196
- toggleComplementarySidebar: useCallback7(() => setComplementarySidebarOpen(!complementarySidebarOpen), [
2197
- complementarySidebarOpen,
2198
- setComplementarySidebarOpen
2199
- ]),
2200
- openComplementarySidebar: useCallback7(() => setComplementarySidebarOpen(true), [
2201
- setComplementarySidebarOpen
2202
- ]),
2203
- closeComplementarySidebar: useCallback7(() => setComplementarySidebarOpen(false), [
2204
- setComplementarySidebarOpen
2205
- ])
2202
+ openComplementarySidebar: useCallback7(() => setComplementarySidebarState("expanded"), []),
2203
+ collapseComplementarySidebar: useCallback7(() => setComplementarySidebarState("collapsed"), []),
2204
+ closeComplementarySidebar: useCallback7(() => setComplementarySidebarState("closed"), [])
2206
2205
  };
2207
2206
  };
2208
2207
  var resizeDebounce = 3e3;
2209
- var MainRoot = ({ navigationSidebarOpen: propsNavigationSidebarOpen, defaultNavigationSidebarOpen, onNavigationSidebarOpenChange, complementarySidebarOpen: propsComplementarySidebarOpen, defaultComplementarySidebarOpen, onComplementarySidebarOpenChange, children, ...props }) => {
2208
+ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState, onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState, onComplementarySidebarStateChange, children, ...props }) => {
2210
2209
  const [isLg] = useMediaQuery("lg", {
2211
2210
  ssr: false
2212
2211
  });
2213
- const [navigationSidebarOpen = isLg, setNavigationSidebarOpen] = useControllableState4({
2214
- prop: propsNavigationSidebarOpen,
2215
- defaultProp: defaultNavigationSidebarOpen,
2216
- onChange: onNavigationSidebarOpenChange
2212
+ const [navigationSidebarState = isLg ? "expanded" : "collapsed", setNavigationSidebarState] = useControllableState4({
2213
+ prop: propsNavigationSidebarState,
2214
+ defaultProp: defaultNavigationSidebarState,
2215
+ onChange: onNavigationSidebarStateChange
2217
2216
  });
2218
- const [complementarySidebarOpen = false, setComplementarySidebarOpen] = useControllableState4({
2219
- prop: propsComplementarySidebarOpen,
2220
- defaultProp: defaultComplementarySidebarOpen,
2221
- onChange: onComplementarySidebarOpenChange
2217
+ const [complementarySidebarState = isLg ? "expanded" : "collapsed", setComplementarySidebarState] = useControllableState4({
2218
+ prop: propsComplementarySidebarState,
2219
+ defaultProp: defaultComplementarySidebarState,
2220
+ onChange: onComplementarySidebarStateChange
2222
2221
  });
2223
2222
  const [resizing, setResizing] = useState8(false);
2224
2223
  const resizeInterval = useRef2(null);
@@ -2240,10 +2239,10 @@ var MainRoot = ({ navigationSidebarOpen: propsNavigationSidebarOpen, defaultNavi
2240
2239
  ]);
2241
2240
  return /* @__PURE__ */ React28.createElement(MainProvider, {
2242
2241
  ...props,
2243
- navigationSidebarOpen,
2244
- setNavigationSidebarOpen,
2245
- complementarySidebarOpen,
2246
- setComplementarySidebarOpen,
2242
+ navigationSidebarState,
2243
+ setNavigationSidebarState,
2244
+ complementarySidebarState,
2245
+ setComplementarySidebarState,
2247
2246
  resizing
2248
2247
  }, children);
2249
2248
  };
@@ -2251,7 +2250,7 @@ MainRoot.displayName = MAIN_ROOT_NAME;
2251
2250
  var handleOpenAutoFocus = (event) => {
2252
2251
  !document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
2253
2252
  };
2254
- var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToDismiss, onOpenAutoFocus, open, resizing, setOpen, side, ...props }, forwardedRef) => {
2253
+ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToDismiss, onOpenAutoFocus, state, resizing, onStateChange, side, ...props }, forwardedRef) => {
2255
2254
  const [isLg] = useMediaQuery("lg", {
2256
2255
  ssr: false
2257
2256
  });
@@ -2259,7 +2258,7 @@ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToD
2259
2258
  const ref = useForwardedRef(forwardedRef);
2260
2259
  const noopRef = useRef2(null);
2261
2260
  useSwipeToDismiss(swipeToDismiss ? ref : noopRef, {
2262
- onDismiss: () => setOpen(false)
2261
+ onDismiss: () => onStateChange?.("closed")
2263
2262
  });
2264
2263
  const handleKeyDown = useCallback7((event) => {
2265
2264
  if (event.key === "Escape") {
@@ -2271,7 +2270,7 @@ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToD
2271
2270
  ]);
2272
2271
  const Root5 = isLg ? Primitive9.div : DialogContent2;
2273
2272
  return /* @__PURE__ */ React28.createElement(DialogRoot2, {
2274
- open,
2273
+ open: state !== "closed",
2275
2274
  modal: false
2276
2275
  }, /* @__PURE__ */ React28.createElement(Root5, {
2277
2276
  ...!isLg && {
@@ -2281,24 +2280,24 @@ var MainSidebar = /* @__PURE__ */ forwardRef20(({ classNames, children, swipeToD
2281
2280
  },
2282
2281
  ...props,
2283
2282
  "data-side": side === "inline-end" ? "ie" : "is",
2284
- "data-state": open ? "open" : "closed",
2283
+ "data-state": state,
2285
2284
  "data-resizing": resizing ? "true" : "false",
2286
2285
  className: tx("main.sidebar", "main__sidebar", {}, classNames),
2287
2286
  onKeyDown: handleKeyDown,
2288
- ...!open && {
2287
+ ...state === "closed" && {
2289
2288
  inert: "true"
2290
2289
  },
2291
2290
  ref
2292
2291
  }, children));
2293
2292
  });
2294
2293
  var MainNavigationSidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef) => {
2295
- const { navigationSidebarOpen, setNavigationSidebarOpen, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
2294
+ const { navigationSidebarState, setNavigationSidebarState, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
2296
2295
  const mover = useLandmarkMover(props.onKeyDown, "0");
2297
2296
  return /* @__PURE__ */ React28.createElement(MainSidebar, {
2298
2297
  ...mover,
2299
2298
  ...props,
2300
- open: navigationSidebarOpen,
2301
- setOpen: setNavigationSidebarOpen,
2299
+ state: navigationSidebarState,
2300
+ onStateChange: setNavigationSidebarState,
2302
2301
  resizing,
2303
2302
  side: "inline-start",
2304
2303
  ref: forwardedRef
@@ -2306,13 +2305,13 @@ var MainNavigationSidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef) =
2306
2305
  });
2307
2306
  MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
2308
2307
  var MainComplementarySidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef) => {
2309
- const { complementarySidebarOpen, setComplementarySidebarOpen, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
2308
+ const { complementarySidebarState, setComplementarySidebarState, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
2310
2309
  const mover = useLandmarkMover(props.onKeyDown, "2");
2311
2310
  return /* @__PURE__ */ React28.createElement(MainSidebar, {
2312
2311
  ...mover,
2313
2312
  ...props,
2314
- open: complementarySidebarOpen,
2315
- setOpen: setComplementarySidebarOpen,
2313
+ state: complementarySidebarState,
2314
+ onStateChange: setComplementarySidebarState,
2316
2315
  resizing,
2317
2316
  side: "inline-end",
2318
2317
  ref: forwardedRef
@@ -2320,7 +2319,7 @@ var MainComplementarySidebar = /* @__PURE__ */ forwardRef20((props, forwardedRef
2320
2319
  });
2321
2320
  MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
2322
2321
  var MainContent = /* @__PURE__ */ forwardRef20(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
2323
- const { navigationSidebarOpen, complementarySidebarOpen } = useMainContext(MAIN_NAME);
2322
+ const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
2324
2323
  const { tx } = useThemeContext();
2325
2324
  const Root5 = asChild ? Slot10 : role ? "div" : "main";
2326
2325
  const mover = useLandmarkMover(props.onKeyDown, "1");
@@ -2330,8 +2329,8 @@ var MainContent = /* @__PURE__ */ forwardRef20(({ asChild, classNames, bounce, h
2330
2329
  ...mover
2331
2330
  },
2332
2331
  ...props,
2333
- "data-sidebar-inline-start-state": navigationSidebarOpen ? "open" : "closed",
2334
- "data-sidebar-inline-end-state": complementarySidebarOpen ? "open" : "closed",
2332
+ "data-sidebar-inline-start-state": navigationSidebarState,
2333
+ "data-sidebar-inline-end-state": complementarySidebarState,
2335
2334
  className: tx("main.content", "main", {
2336
2335
  bounce,
2337
2336
  handlesFocus
@@ -2344,20 +2343,20 @@ var MainOverlay = /* @__PURE__ */ forwardRef20(({ classNames, ...props }, forwar
2344
2343
  const [isLg] = useMediaQuery("lg", {
2345
2344
  ssr: false
2346
2345
  });
2347
- const { navigationSidebarOpen, setNavigationSidebarOpen, complementarySidebarOpen, setComplementarySidebarOpen } = useMainContext(MAIN_NAME);
2346
+ const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(MAIN_NAME);
2348
2347
  const { tx } = useThemeContext();
2349
2348
  return /* @__PURE__ */ React28.createElement("div", {
2350
2349
  onClick: () => {
2351
- setNavigationSidebarOpen(false);
2352
- setComplementarySidebarOpen(false);
2350
+ setNavigationSidebarState("collapsed");
2351
+ setComplementarySidebarState("collapsed");
2353
2352
  },
2354
2353
  ...props,
2355
2354
  className: tx("main.overlay", "main__overlay", {
2356
2355
  isLg,
2357
- inlineStartSidebarOpen: navigationSidebarOpen,
2358
- inlineEndSidebarOpen: complementarySidebarOpen
2356
+ inlineStartSidebarOpen: navigationSidebarState,
2357
+ inlineEndSidebarOpen: complementarySidebarState
2359
2358
  }, classNames),
2360
- "data-state": navigationSidebarOpen || complementarySidebarOpen ? "open" : "closed",
2359
+ "data-state": navigationSidebarState === "expanded" || complementarySidebarState === "expanded" ? "open" : "closed",
2361
2360
  "aria-hidden": "true",
2362
2361
  ref: forwardedRef
2363
2362
  });
@@ -2982,14 +2981,15 @@ var Separator4 = /* @__PURE__ */ forwardRef26(({ classNames, orientation = "hori
2982
2981
  import { Primitive as Primitive12 } from "@radix-ui/react-primitive";
2983
2982
  import { Slot as Slot13 } from "@radix-ui/react-slot";
2984
2983
  import React35, { forwardRef as forwardRef27 } from "react";
2985
- var Tag = /* @__PURE__ */ forwardRef27(({ asChild, palette, classNames, ...props }, forwardedRef) => {
2984
+ var Tag = /* @__PURE__ */ forwardRef27(({ asChild, palette = "neutral", classNames, ...props }, forwardedRef) => {
2986
2985
  const { tx } = useThemeContext();
2987
2986
  const Root5 = asChild ? Slot13 : Primitive12.span;
2988
2987
  return /* @__PURE__ */ React35.createElement(Root5, {
2989
2988
  ...props,
2990
- className: tx("tag.root", "tag", {
2989
+ className: tx("tag.root", "dx-tag", {
2991
2990
  palette
2992
2991
  }, classNames),
2992
+ "data-hue": palette,
2993
2993
  ref: forwardedRef
2994
2994
  });
2995
2995
  });
@@ -3230,6 +3230,7 @@ export {
3230
3230
  useDropdownMenuContext,
3231
3231
  useDropdownMenuMenuScope,
3232
3232
  useElevationContext,
3233
+ useLandmarkMover,
3233
3234
  useListContext,
3234
3235
  useListItemContext,
3235
3236
  useMainContext,