@inf-monkeys-tech/monkeys-design 2.0.2 → 2.0.3

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.
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ var jsxRuntime = require('react/jsx-runtime');
7
7
  var PopoverPrimitive = require('@radix-ui/react-popover');
8
8
  var lucideReact = require('lucide-react');
9
9
  var tailwindMerge = require('tailwind-merge');
10
- var DropdownMenu2 = require('@radix-ui/react-dropdown-menu');
10
+ var DropdownMenu3 = require('@radix-ui/react-dropdown-menu');
11
11
  var ContextMenu = require('@radix-ui/react-context-menu');
12
12
  var reactDom = require('react-dom');
13
13
  var Dialog = require('@radix-ui/react-dialog');
@@ -47,7 +47,7 @@ function _interopNamespace(e) {
47
47
  var debounce__default = /*#__PURE__*/_interopDefault(debounce);
48
48
  var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
49
49
  var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
50
- var DropdownMenu2__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu2);
50
+ var DropdownMenu3__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu3);
51
51
  var ContextMenu__namespace = /*#__PURE__*/_interopNamespace(ContextMenu);
52
52
  var Dialog__namespace = /*#__PURE__*/_interopNamespace(Dialog);
53
53
  var Tooltip2__namespace = /*#__PURE__*/_interopNamespace(Tooltip2);
@@ -8803,7 +8803,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
8803
8803
  onOpenChange?.(nextOpen);
8804
8804
  };
8805
8805
  const menuContent = /* @__PURE__ */ jsxRuntime.jsxs(
8806
- DropdownMenu2__namespace.Content,
8806
+ DropdownMenu3__namespace.Content,
8807
8807
  {
8808
8808
  ...componentAttributes,
8809
8809
  side,
@@ -8820,7 +8820,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
8820
8820
  style: theme.styles.dropdownMenu,
8821
8821
  children: [
8822
8822
  hasRenderableNode(label) ? /* @__PURE__ */ jsxRuntime.jsx(
8823
- DropdownMenu2__namespace.Label,
8823
+ DropdownMenu3__namespace.Label,
8824
8824
  {
8825
8825
  ...componentAttributes,
8826
8826
  "data-monkeys-component": "dropdown-menu",
@@ -8840,7 +8840,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
8840
8840
  "data-slot": "item-wrapper",
8841
8841
  children: [
8842
8842
  item.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(
8843
- DropdownMenu2__namespace.Separator,
8843
+ DropdownMenu3__namespace.Separator,
8844
8844
  {
8845
8845
  ...componentAttributes,
8846
8846
  "data-monkeys-component": "dropdown-menu",
@@ -8853,7 +8853,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
8853
8853
  }
8854
8854
  ) : null,
8855
8855
  /* @__PURE__ */ jsxRuntime.jsx(
8856
- DropdownMenu2__namespace.Item,
8856
+ DropdownMenu3__namespace.Item,
8857
8857
  {
8858
8858
  asChild: true,
8859
8859
  disabled: itemDisabled,
@@ -8973,7 +8973,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
8973
8973
  className: cn(theme.slots.dropdownRoot, classNames?.root, className),
8974
8974
  style,
8975
8975
  children: /* @__PURE__ */ jsxRuntime.jsxs(
8976
- DropdownMenu2__namespace.Root,
8976
+ DropdownMenu3__namespace.Root,
8977
8977
  {
8978
8978
  open: isOpen,
8979
8979
  onOpenChange: handleOpenChange,
@@ -8981,7 +8981,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
8981
8981
  modal: false,
8982
8982
  children: [
8983
8983
  /* @__PURE__ */ jsxRuntime.jsx(
8984
- DropdownMenu2__namespace.Trigger,
8984
+ DropdownMenu3__namespace.Trigger,
8985
8985
  {
8986
8986
  ...componentAttributes,
8987
8987
  asChild: true,
@@ -9006,7 +9006,7 @@ var BaseDropdownMenu = React4.forwardRef(function BaseDropdownMenu2({
9006
9006
  })
9007
9007
  }
9008
9008
  ),
9009
- portal && overlayPortal.shouldPortal ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { ...overlayPortal.radixPortalProps, children: menuContent }) : menuContent
9009
+ portal && overlayPortal.shouldPortal ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { ...overlayPortal.radixPortalProps, children: menuContent }) : menuContent
9010
9010
  ]
9011
9011
  }
9012
9012
  )
@@ -16288,9 +16288,9 @@ function UserAccountMenuSelector({
16288
16288
  if (selector.visible === false || selector.options.length === 0) return null;
16289
16289
  const radiusClass = radiusClassNames[menuRadius];
16290
16290
  const currentLabel = getCurrentOptionLabel(selector);
16291
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Sub, { children: [
16291
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Sub, { children: [
16292
16292
  /* @__PURE__ */ jsxRuntime.jsxs(
16293
- DropdownMenu2__namespace.SubTrigger,
16293
+ DropdownMenu3__namespace.SubTrigger,
16294
16294
  {
16295
16295
  disabled: selector.disabled,
16296
16296
  className: cn(
@@ -16305,8 +16305,8 @@ function UserAccountMenuSelector({
16305
16305
  ]
16306
16306
  }
16307
16307
  ),
16308
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
16309
- DropdownMenu2__namespace.SubContent,
16308
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
16309
+ DropdownMenu3__namespace.SubContent,
16310
16310
  {
16311
16311
  sideOffset: 8,
16312
16312
  className: cn(
@@ -16315,8 +16315,8 @@ function UserAccountMenuSelector({
16315
16315
  selector.contentWidthClassName,
16316
16316
  classNames?.subContent
16317
16317
  ),
16318
- children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.RadioGroup, { value: selector.value, onValueChange: selector.onChange, children: selector.options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
16319
- DropdownMenu2__namespace.RadioItem,
16318
+ children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.RadioGroup, { value: selector.value, onValueChange: selector.onChange, children: selector.options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
16319
+ DropdownMenu3__namespace.RadioItem,
16320
16320
  {
16321
16321
  value: option.value,
16322
16322
  disabled: option.disabled,
@@ -16326,7 +16326,7 @@ function UserAccountMenuSelector({
16326
16326
  classNames?.item
16327
16327
  ),
16328
16328
  children: [
16329
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.ItemIndicator, { className: "absolute left-2 inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon2, {}) }),
16329
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.ItemIndicator, { className: "absolute left-2 inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon2, {}) }),
16330
16330
  renderIcon(option.icon, classNames?.itemIcon),
16331
16331
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: option.label })
16332
16332
  ]
@@ -16375,8 +16375,8 @@ function UserAccountMenu({
16375
16375
  }
16376
16376
  );
16377
16377
  const isProfileTrigger = triggerVariant === "profile";
16378
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
16379
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
16378
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
16379
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
16380
16380
  BaseButton,
16381
16381
  {
16382
16382
  appearance,
@@ -16402,8 +16402,8 @@ function UserAccountMenu({
16402
16402
  tone: "muted"
16403
16403
  }
16404
16404
  ) }),
16405
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
16406
- DropdownMenu2__namespace.Content,
16405
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
16406
+ DropdownMenu3__namespace.Content,
16407
16407
  {
16408
16408
  align,
16409
16409
  side,
@@ -16415,7 +16415,7 @@ function UserAccountMenu({
16415
16415
  classNames?.content
16416
16416
  ),
16417
16417
  children: [
16418
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Label, { className: cn("px-2 py-1.5 font-normal", classNames?.label), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
16418
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Label, { className: cn("px-2 py-1.5 font-normal", classNames?.label), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
16419
16419
  avatar,
16420
16420
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col", children: [
16421
16421
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("truncate text-sm font-medium leading-none", classNames?.userName), children: displayName }),
@@ -16432,7 +16432,7 @@ function UserAccountMenu({
16432
16432
  ] })
16433
16433
  ] }) }),
16434
16434
  hasMenuBody ? /* @__PURE__ */ jsxRuntime.jsx(
16435
- DropdownMenu2__namespace.Separator,
16435
+ DropdownMenu3__namespace.Separator,
16436
16436
  {
16437
16437
  className: cn("my-1 h-px bg-[hsl(var(--border))]", classNames?.separator)
16438
16438
  }
@@ -16447,20 +16447,20 @@ function UserAccountMenu({
16447
16447
  selector.id ?? `selector-${index}`
16448
16448
  )),
16449
16449
  visibleSelectors.length > 0 && visibleItems.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
16450
- DropdownMenu2__namespace.Separator,
16450
+ DropdownMenu3__namespace.Separator,
16451
16451
  {
16452
16452
  className: cn("my-1 h-px bg-[hsl(var(--border))]", classNames?.separator)
16453
16453
  }
16454
16454
  ) : null,
16455
16455
  visibleItems.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
16456
16456
  item.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(
16457
- DropdownMenu2__namespace.Separator,
16457
+ DropdownMenu3__namespace.Separator,
16458
16458
  {
16459
16459
  className: cn("my-1 h-px bg-[hsl(var(--border))]", classNames?.separator)
16460
16460
  }
16461
16461
  ) : null,
16462
16462
  /* @__PURE__ */ jsxRuntime.jsxs(
16463
- DropdownMenu2__namespace.Item,
16463
+ DropdownMenu3__namespace.Item,
16464
16464
  {
16465
16465
  disabled: item.disabled,
16466
16466
  onSelect: item.disabled ? void 0 : item.onSelect,
@@ -16584,8 +16584,8 @@ function AppHeader({
16584
16584
  (!tabs || tabs.length === 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1" }),
16585
16585
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-4", children: [
16586
16586
  extra,
16587
- user && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
16588
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("button", { className: "flex h-8 w-8 items-center justify-center rounded-full hover:ring-2 hover:ring-[hsl(var(--ring))]/20 transition-all overflow-hidden focus-visible:outline-none", children: user.photo ? /* @__PURE__ */ jsxRuntime.jsx(
16587
+ user && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
16588
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("button", { className: "flex h-8 w-8 items-center justify-center rounded-full hover:ring-2 hover:ring-[hsl(var(--ring))]/20 transition-all overflow-hidden focus-visible:outline-none", children: user.photo ? /* @__PURE__ */ jsxRuntime.jsx(
16589
16589
  "img",
16590
16590
  {
16591
16591
  src: user.photo,
@@ -16593,14 +16593,14 @@ function AppHeader({
16593
16593
  className: "h-8 w-8 rounded-full object-cover"
16594
16594
  }
16595
16595
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-[hsl(var(--muted))] text-xs font-medium", children: user.name ? getUserInitials(user.name) : "U" }) }) }),
16596
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
16597
- DropdownMenu2__namespace.Content,
16596
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
16597
+ DropdownMenu3__namespace.Content,
16598
16598
  {
16599
16599
  className: "z-50 w-52 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-0 zoom-in-95",
16600
16600
  sideOffset: 5,
16601
16601
  align: "end",
16602
16602
  children: [
16603
- /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Label, { className: "flex items-center gap-2 px-2 py-1.5 font-normal", children: [
16603
+ /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Label, { className: "flex items-center gap-2 px-2 py-1.5 font-normal", children: [
16604
16604
  user.photo ? /* @__PURE__ */ jsxRuntime.jsx(
16605
16605
  "img",
16606
16606
  {
@@ -16614,11 +16614,11 @@ function AppHeader({
16614
16614
  user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[hsl(var(--muted-foreground))] leading-none mt-1", children: user.email })
16615
16615
  ] })
16616
16616
  ] }),
16617
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { className: "h-px bg-[hsl(var(--border))] my-1" }),
16618
- /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Group, { children: [
16617
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { className: "h-px bg-[hsl(var(--border))] my-1" }),
16618
+ /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Group, { children: [
16619
16619
  userMenuItems,
16620
16620
  /* @__PURE__ */ jsxRuntime.jsxs(
16621
- DropdownMenu2__namespace.Item,
16621
+ DropdownMenu3__namespace.Item,
16622
16622
  {
16623
16623
  className: "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-[hsl(var(--destructive))] outline-none transition-colors hover:bg-[hsl(var(--accent))]",
16624
16624
  onSelect: () => onLogout?.(),
@@ -16895,6 +16895,7 @@ function AppLayout({
16895
16895
  }
16896
16896
  var NAVIGATION_LAYOUT_SIDEBAR_EXPANDED_WIDTH = "13.7rem";
16897
16897
  var NAVIGATION_LAYOUT_SIDEBAR_COLLAPSED_WIDTH = "4.25rem";
16898
+ var NAVIGATION_LAYOUT_CONTEXTUAL_SIDEBAR_WIDTH = "15rem";
16898
16899
  var NAVIGATION_LAYOUT_TRANSITION_TIMING = "cubic-bezier(0.22, 1, 0.36, 1)";
16899
16900
  var NAVIGATION_LAYOUT_HEADBAR_DEFAULT_HEIGHT_PX = 72;
16900
16901
  var NAVIGATION_LAYOUT_HEADBAR_MIN_HEIGHT_PX = 56;
@@ -17022,11 +17023,18 @@ function getHeadbarCompoundStyle(active, useTokenRadius = true) {
17022
17023
  function findNavigationRootId(items, activeItemId) {
17023
17024
  for (const item of items) {
17024
17025
  if (item.id === activeItemId) return item.id;
17025
- if (item.children?.some((child) => child.id === activeItemId))
17026
- return item.id;
17026
+ if (containsNavigationItem(item, activeItemId)) return item.id;
17027
17027
  }
17028
17028
  return activeItemId;
17029
17029
  }
17030
+ function containsNavigationItem(item, itemId) {
17031
+ if (!itemId) return false;
17032
+ if (item.id === itemId) return true;
17033
+ return item.children?.some((child) => containsNavigationItem(child, itemId)) ?? false;
17034
+ }
17035
+ function findActiveNavigationBranch(item, activeItemId) {
17036
+ return item.children?.find((child) => containsNavigationItem(child, activeItemId));
17037
+ }
17030
17038
  function getNavigationActionTitle(action) {
17031
17039
  return action.title || (typeof action.label === "string" ? action.label : void 0);
17032
17040
  }
@@ -17095,10 +17103,7 @@ function SidebarNavigationList({
17095
17103
  const [expandedByRoot, setExpandedByRoot] = React4.useState(
17096
17104
  {}
17097
17105
  );
17098
- const canReveal = revealRequest ? items.some(
17099
- (item) => item.id === revealRequest.id && !item.disabled
17100
- ) : false;
17101
- const activeRootId = findNavigationRootId(items, activeItemId);
17106
+ const canReveal = revealRequest ? items.some((item) => containsNavigationItem(item, revealRequest.id) && !item.disabled) : false;
17102
17107
  const toggleRoot = (id) => {
17103
17108
  setExpandedByRoot((current) => ({
17104
17109
  ...current,
@@ -17107,13 +17112,10 @@ function SidebarNavigationList({
17107
17112
  };
17108
17113
  React4.useEffect(() => {
17109
17114
  if (!revealRequest || !canReveal) return;
17110
- setExpandedByRoot((current) => ({
17111
- ...current,
17112
- [revealRequest.id]: true
17113
- }));
17115
+ setExpandedByRoot((current) => ({ ...current, [revealRequest.id]: true }));
17114
17116
  const frameId = window.requestAnimationFrame(() => {
17115
17117
  const targetElement = navRef.current?.querySelector(
17116
- `[data-navigation-sidebar-root-id="${CSS.escape(revealRequest.id)}"]`
17118
+ `[data-navigation-sidebar-item-id="${CSS.escape(revealRequest.id)}"]`
17117
17119
  );
17118
17120
  if (targetElement instanceof HTMLElement) {
17119
17121
  targetElement.scrollIntoView({
@@ -17125,6 +17127,34 @@ function SidebarNavigationList({
17125
17127
  });
17126
17128
  return () => window.cancelAnimationFrame(frameId);
17127
17129
  }, [canReveal, revealRequest]);
17130
+ const renderItems = (navigationItems, depth = 0) => navigationItems.map((item) => {
17131
+ const isGroup = Boolean(item.children?.length);
17132
+ const containsActiveItem = containsNavigationItem(item, activeItemId);
17133
+ const isExpanded = !item.disabled && (expandedByRoot[item.id] ?? containsActiveItem);
17134
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-navigation-sidebar-item-id": item.id, children: [
17135
+ /* @__PURE__ */ jsxRuntime.jsx(
17136
+ NavButton,
17137
+ {
17138
+ active: containsActiveItem,
17139
+ className: depth > 0 ? "pl-3" : void 0,
17140
+ disabled: item.disabled,
17141
+ icon: item.icon,
17142
+ onClick: () => isGroup ? toggleRoot(item.id) : onNavigate?.(item.id),
17143
+ postfix: isGroup ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
17144
+ HeadbarChevronIcon,
17145
+ {
17146
+ open: false,
17147
+ sideways: true,
17148
+ className: "text-[hsl(var(--foreground))] transition-transform duration-200",
17149
+ style: { transform: isExpanded ? "rotate(90deg)" : "rotate(0deg)" }
17150
+ }
17151
+ ) }) : void 0,
17152
+ children: item.label
17153
+ }
17154
+ ),
17155
+ isGroup && isExpanded ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 ml-3 flex flex-col gap-1 border-l border-[hsl(var(--input))] pl-2", children: renderItems(item.children ?? [], depth + 1) }) : null
17156
+ ] }, item.id);
17157
+ });
17128
17158
  return /* @__PURE__ */ jsxRuntime.jsxs(
17129
17159
  "div",
17130
17160
  {
@@ -17137,64 +17167,7 @@ function SidebarNavigationList({
17137
17167
  {
17138
17168
  ref: navRef,
17139
17169
  className: "monkeys-navigation-sidebar-nav flex w-full flex-col gap-2 text-xs text-[hsl(var(--foreground))]",
17140
- children: items.map((item) => {
17141
- const isGroup = Boolean(item.children?.length);
17142
- const isExpanded = !item.disabled && Boolean(expandedByRoot[item.id]);
17143
- const isActive = activeRootId === item.id;
17144
- if (isGroup) {
17145
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-navigation-sidebar-root-id": item.id, children: [
17146
- /* @__PURE__ */ jsxRuntime.jsx(
17147
- NavButton,
17148
- {
17149
- active: isActive,
17150
- disabled: item.disabled,
17151
- icon: item.icon,
17152
- onClick: () => toggleRoot(item.id),
17153
- postfix: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
17154
- "svg",
17155
- {
17156
- xmlns: "http://www.w3.org/2000/svg",
17157
- width: "16",
17158
- height: "16",
17159
- viewBox: "0 0 24 24",
17160
- fill: "none",
17161
- stroke: "currentColor",
17162
- strokeWidth: "2",
17163
- strokeLinecap: "round",
17164
- strokeLinejoin: "round",
17165
- className: "shrink-0 text-[hsl(var(--foreground))] transition-transform duration-200",
17166
- style: {
17167
- transform: isExpanded ? "rotate(90deg)" : "rotate(0deg)"
17168
- },
17169
- children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m9 18 6-6-6-6" })
17170
- }
17171
- ) }),
17172
- children: item.label
17173
- }
17174
- ),
17175
- isExpanded ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex flex-col gap-1", children: item.children?.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
17176
- NavButton,
17177
- {
17178
- active: activeItemId === child.id,
17179
- disabled: child.disabled,
17180
- onClick: () => onNavigate?.(child.id),
17181
- children: child.label
17182
- },
17183
- child.id
17184
- )) }) : null
17185
- ] }, item.id);
17186
- }
17187
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-navigation-sidebar-root-id": item.id, children: /* @__PURE__ */ jsxRuntime.jsx(
17188
- NavButton,
17189
- {
17190
- active: isActive,
17191
- disabled: item.disabled,
17192
- icon: item.icon,
17193
- onClick: () => onNavigate?.(item.id),
17194
- children: item.label
17195
- }
17196
- ) }, item.id);
17197
- })
17170
+ children: renderItems(items)
17198
17171
  }
17199
17172
  )
17200
17173
  ]
@@ -17353,22 +17326,30 @@ function Sidebar({
17353
17326
  ] })
17354
17327
  ] });
17355
17328
  }
17356
- function HeadbarChevronIcon({ open }) {
17329
+ function HeadbarChevronIcon({
17330
+ className,
17331
+ open,
17332
+ sideways = false,
17333
+ style
17334
+ }) {
17357
17335
  return /* @__PURE__ */ jsxRuntime.jsx(
17358
17336
  "svg",
17359
17337
  {
17360
17338
  "aria-hidden": "true",
17361
17339
  className: cn2(
17362
- "h-4 w-4 shrink-0 transition-transform duration-200",
17363
- open && "rotate-180"
17340
+ "h-4 w-4 shrink-0",
17341
+ !sideways && "transition-transform duration-200",
17342
+ !sideways && open && "rotate-180",
17343
+ className
17364
17344
  ),
17345
+ style,
17365
17346
  viewBox: "0 0 24 24",
17366
17347
  fill: "none",
17367
17348
  stroke: "currentColor",
17368
17349
  strokeWidth: "2",
17369
17350
  strokeLinecap: "round",
17370
17351
  strokeLinejoin: "round",
17371
- children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" })
17352
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: sideways ? "m9 18 6-6-6-6" : "m6 9 6 6 6-6" })
17372
17353
  }
17373
17354
  );
17374
17355
  }
@@ -17380,6 +17361,100 @@ function getHeadbarSummaryTitle(rootLabel, childLabel) {
17380
17361
  const childText = childLabel.trim();
17381
17362
  return rootText && childText ? `${rootText} ${childText}` : void 0;
17382
17363
  }
17364
+ var HEADBAR_DROPDOWN_ITEM_CLASS = "relative flex w-full min-w-0 cursor-pointer select-none items-center gap-2.5 px-3 py-2 text-sm outline-none transition-colors hover:!bg-[var(--monkeys-component-navigation-headbar-item-hover-background,hsl(var(--accent)))] hover:!text-[var(--monkeys-component-navigation-headbar-item-hover-foreground,hsl(var(--accent-foreground)))] focus:!bg-[var(--monkeys-component-navigation-headbar-item-hover-background,hsl(var(--accent)))] focus:!text-[var(--monkeys-component-navigation-headbar-item-hover-foreground,hsl(var(--accent-foreground)))] data-[highlighted]:!bg-[var(--monkeys-component-navigation-headbar-item-hover-background,hsl(var(--accent)))] data-[highlighted]:!text-[var(--monkeys-component-navigation-headbar-item-hover-foreground,hsl(var(--accent-foreground)))]";
17365
+ var HEADBAR_DROPDOWN_CONTENT_STYLE = {
17366
+ width: "max-content",
17367
+ maxWidth: "min(20rem, var(--radix-dropdown-menu-content-available-width))",
17368
+ background: "var(--monkeys-component-navigation-headbar-menu-background, hsl(var(--popover)))",
17369
+ borderColor: "var(--monkeys-component-navigation-headbar-menu-border-color, hsl(var(--border)))",
17370
+ color: "var(--monkeys-component-navigation-headbar-menu-foreground, hsl(var(--popover-foreground)))",
17371
+ boxShadow: "var(--monkeys-component-navigation-headbar-menu-shadow, 0 10px 15px -3px rgb(0 0 0 / 0.1))"
17372
+ };
17373
+ function HeadbarDropdownItems({
17374
+ activeItemId,
17375
+ items,
17376
+ menuContentRadiusClass,
17377
+ menuItemRadiusClass,
17378
+ onNavigate,
17379
+ onNavigateComplete,
17380
+ useTokenRadius
17381
+ }) {
17382
+ return items.map((item) => {
17383
+ const label = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17384
+ item.icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex h-4 w-4 shrink-0 items-center justify-center text-[hsl(var(--muted-foreground))]", children: item.icon }) : null,
17385
+ /* @__PURE__ */ jsxRuntime.jsx(
17386
+ "span",
17387
+ {
17388
+ className: cn2(
17389
+ "min-w-0 truncate",
17390
+ Boolean(item.children?.length) && "flex-1"
17391
+ ),
17392
+ children: item.headbarLabel ?? item.label
17393
+ }
17394
+ )
17395
+ ] });
17396
+ if (item.children?.length) {
17397
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Sub, { children: [
17398
+ /* @__PURE__ */ jsxRuntime.jsxs(
17399
+ DropdownMenu3__namespace.SubTrigger,
17400
+ {
17401
+ disabled: item.disabled,
17402
+ className: cn2(HEADBAR_DROPDOWN_ITEM_CLASS, menuItemRadiusClass),
17403
+ children: [
17404
+ label,
17405
+ /* @__PURE__ */ jsxRuntime.jsx(HeadbarChevronIcon, { open: false, sideways: true })
17406
+ ]
17407
+ }
17408
+ ),
17409
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
17410
+ DropdownMenu3__namespace.SubContent,
17411
+ {
17412
+ sideOffset: 4,
17413
+ alignOffset: -6,
17414
+ className: cn2(
17415
+ "z-50 border p-1.5 animate-in fade-in-0 zoom-in-95",
17416
+ menuContentRadiusClass
17417
+ ),
17418
+ style: {
17419
+ ...HEADBAR_DROPDOWN_CONTENT_STYLE,
17420
+ minWidth: "12rem"
17421
+ },
17422
+ children: /* @__PURE__ */ jsxRuntime.jsx(
17423
+ HeadbarDropdownItems,
17424
+ {
17425
+ activeItemId,
17426
+ items: item.children,
17427
+ menuContentRadiusClass,
17428
+ menuItemRadiusClass,
17429
+ onNavigate,
17430
+ onNavigateComplete,
17431
+ useTokenRadius
17432
+ }
17433
+ )
17434
+ }
17435
+ ) })
17436
+ ] }, item.id);
17437
+ }
17438
+ return /* @__PURE__ */ jsxRuntime.jsxs(
17439
+ DropdownMenu3__namespace.Item,
17440
+ {
17441
+ disabled: item.disabled,
17442
+ className: cn2(HEADBAR_DROPDOWN_ITEM_CLASS, menuItemRadiusClass),
17443
+ style: getHeadbarItemStyle(item.id === activeItemId, useTokenRadius),
17444
+ onSelect: () => {
17445
+ if (item.disabled) return;
17446
+ onNavigateComplete();
17447
+ onNavigate?.(item.id);
17448
+ },
17449
+ children: [
17450
+ label,
17451
+ item.trailing
17452
+ ]
17453
+ },
17454
+ item.id
17455
+ );
17456
+ });
17457
+ }
17383
17458
  function HeadbarNavMenuItem({
17384
17459
  activeItemId,
17385
17460
  compound,
@@ -17423,13 +17498,13 @@ function HeadbarNavMenuItem({
17423
17498
  };
17424
17499
  React4.useEffect(() => clearCloseTimer, []);
17425
17500
  return /* @__PURE__ */ jsxRuntime.jsxs(
17426
- DropdownMenu2__namespace.Root,
17501
+ DropdownMenu3__namespace.Root,
17427
17502
  {
17428
17503
  modal: false,
17429
17504
  open: isOpen,
17430
17505
  onOpenChange: (nextOpen) => setOpen(!item.disabled && nextOpen),
17431
17506
  children: [
17432
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
17507
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
17433
17508
  BaseButton,
17434
17509
  {
17435
17510
  appearance: NAVIGATION_LAYOUT_DEFAULT_APPEARANCE,
@@ -17475,8 +17550,8 @@ function HeadbarNavMenuItem({
17475
17550
  )
17476
17551
  }
17477
17552
  ) }),
17478
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
17479
- DropdownMenu2__namespace.Content,
17553
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
17554
+ DropdownMenu3__namespace.Content,
17480
17555
  {
17481
17556
  align: "start",
17482
17557
  sideOffset: 5,
@@ -17488,40 +17563,22 @@ function HeadbarNavMenuItem({
17488
17563
  menuContentRadiusClass
17489
17564
  ),
17490
17565
  style: {
17491
- width: "max-content",
17566
+ ...HEADBAR_DROPDOWN_CONTENT_STYLE,
17492
17567
  minWidth: "var(--radix-dropdown-menu-trigger-width)",
17493
- maxWidth: "min(20rem, var(--radix-dropdown-menu-content-available-width))",
17494
- background: "var(--monkeys-component-navigation-headbar-menu-background, hsl(var(--popover)))",
17495
- borderColor: "var(--monkeys-component-navigation-headbar-menu-border-color, hsl(var(--border)))",
17496
- color: "var(--monkeys-component-navigation-headbar-menu-foreground, hsl(var(--popover-foreground)))",
17497
- boxShadow: "var(--monkeys-component-navigation-headbar-menu-shadow, 0 10px 15px -3px rgb(0 0 0 / 0.1))",
17498
17568
  backdropFilter: "blur(var(--monkeys-component-navigation-headbar-menu-backdrop-blur, 0px))"
17499
17569
  },
17500
- children: item.children?.map((child) => /* @__PURE__ */ jsxRuntime.jsxs(
17501
- DropdownMenu2__namespace.Item,
17570
+ children: /* @__PURE__ */ jsxRuntime.jsx(
17571
+ HeadbarDropdownItems,
17502
17572
  {
17503
- disabled: child.disabled,
17504
- className: cn2(
17505
- "relative flex w-full min-w-0 cursor-pointer select-none items-center gap-2.5 px-3 py-2 text-sm outline-none transition-colors hover:!bg-[var(--monkeys-component-navigation-headbar-item-hover-background,hsl(var(--accent)))] hover:!text-[var(--monkeys-component-navigation-headbar-item-hover-foreground,hsl(var(--accent-foreground)))] focus:!bg-[var(--monkeys-component-navigation-headbar-item-hover-background,hsl(var(--accent)))] focus:!text-[var(--monkeys-component-navigation-headbar-item-hover-foreground,hsl(var(--accent-foreground)))] data-[highlighted]:!bg-[var(--monkeys-component-navigation-headbar-item-hover-background,hsl(var(--accent)))] data-[highlighted]:!text-[var(--monkeys-component-navigation-headbar-item-hover-foreground,hsl(var(--accent-foreground)))]",
17506
- menuItemRadiusClass
17507
- ),
17508
- style: getHeadbarItemStyle(
17509
- child.id === activeItemId,
17510
- useTokenRadius
17511
- ),
17512
- onSelect: () => {
17513
- if (child.disabled) return;
17514
- setOpen(false);
17515
- onNavigate?.(child.id);
17516
- },
17517
- children: [
17518
- child.icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex h-4 w-4 shrink-0 items-center justify-center text-[hsl(var(--muted-foreground))]", children: child.icon }) : null,
17519
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: child.headbarLabel ?? child.label }),
17520
- child.trailing
17521
- ]
17522
- },
17523
- child.id
17524
- ))
17573
+ activeItemId,
17574
+ items: item.children ?? [],
17575
+ menuContentRadiusClass,
17576
+ menuItemRadiusClass,
17577
+ onNavigate,
17578
+ onNavigateComplete: () => setOpen(false),
17579
+ useTokenRadius
17580
+ }
17581
+ )
17525
17582
  }
17526
17583
  ) })
17527
17584
  ]
@@ -17547,9 +17604,7 @@ function NavigationHeadbarMenu({
17547
17604
  const isActive = activeRootId === item.id || activeItemId === item.id;
17548
17605
  const hasSecondaryAction = Boolean(item.headbarSecondaryAction);
17549
17606
  const rootLabel = item.headbarLabel ?? item.label;
17550
- const activeChild = item.children?.find(
17551
- (child) => child.id === activeItemId
17552
- );
17607
+ const activeChild = findActiveNavigationBranch(item, activeItemId);
17553
17608
  const activeChildLabel = activeChild ? activeChild.headbarLabel ?? activeChild.label : void 0;
17554
17609
  const label = activeChild ? /* @__PURE__ */ jsxRuntime.jsxs(
17555
17610
  "span",
@@ -17755,6 +17810,9 @@ function NavigationLayout({
17755
17810
  className,
17756
17811
  collapsedSidebarAccountMenu,
17757
17812
  collapsedSidebarWidth = NAVIGATION_LAYOUT_SIDEBAR_COLLAPSED_WIDTH,
17813
+ contextualSidebar = false,
17814
+ contextualSidebarHeader,
17815
+ contextualSidebarWidth = NAVIGATION_LAYOUT_CONTEXTUAL_SIDEBAR_WIDTH,
17758
17816
  defaultMode = "headbar",
17759
17817
  defaultSidebarCollapsed = false,
17760
17818
  expandedSidebarWidth = NAVIGATION_LAYOUT_SIDEBAR_EXPANDED_WIDTH,
@@ -17786,6 +17844,9 @@ function NavigationLayout({
17786
17844
  const sidebarCollapsed = isSidebarCollapsedControlled ? controlledSidebarCollapsed : uncontrolledSidebarCollapsed;
17787
17845
  const isHeadbarMode = navigationMode === "headbar";
17788
17846
  const sidebarWidth = sidebarCollapsed ? collapsedSidebarWidth : expandedSidebarWidth;
17847
+ const resolvedActiveRootId = activeRootId ?? findNavigationRootId(navItems, activeItemId);
17848
+ const activeRoot = navItems.find((item) => item.id === resolvedActiveRootId);
17849
+ const contextualItems = activeRoot?.children ?? [];
17789
17850
  React4.useEffect(() => {
17790
17851
  if (!isModeControlled) {
17791
17852
  setUncontrolledMode(defaultMode);
@@ -17856,7 +17917,25 @@ function NavigationLayout({
17856
17917
  }
17857
17918
  )
17858
17919
  });
17859
- const sidebar = isHeadbarMode ? null : /* @__PURE__ */ jsxRuntime.jsx(
17920
+ const sidebar = isHeadbarMode && contextualSidebar && contextualItems.length ? /* @__PURE__ */ jsxRuntime.jsx(
17921
+ "aside",
17922
+ {
17923
+ className: "relative h-full min-h-0 shrink-0 overflow-hidden",
17924
+ "data-navigation-contextual-sidebar": resolvedActiveRootId,
17925
+ style: { width: contextualSidebarWidth },
17926
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 w-full flex-col gap-3 rounded-xl border border-[hsl(var(--input))] bg-[hsl(var(--background))] px-4 py-4", children: [
17927
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 px-2 text-sm font-semibold text-[hsl(var(--foreground))]", children: contextualSidebarHeader ?? activeRoot?.label }),
17928
+ /* @__PURE__ */ jsxRuntime.jsx(
17929
+ SidebarNavigationList,
17930
+ {
17931
+ activeItemId,
17932
+ items: contextualItems,
17933
+ onNavigate
17934
+ }
17935
+ )
17936
+ ] })
17937
+ }
17938
+ ) : isHeadbarMode ? null : /* @__PURE__ */ jsxRuntime.jsx(
17860
17939
  "div",
17861
17940
  {
17862
17941
  className: cn2(
@@ -17895,7 +17974,7 @@ function NavigationLayout({
17895
17974
  NavigationHeadbar,
17896
17975
  {
17897
17976
  activeItemId,
17898
- activeRootId: activeRootId ?? findNavigationRootId(navItems, activeItemId),
17977
+ activeRootId: resolvedActiveRootId,
17899
17978
  actions: allowModeSwitch ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17900
17979
  headbarActions,
17901
17980
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -18358,45 +18437,45 @@ var InputGroupTextarea = React4__namespace.forwardRef(({ className, ...props },
18358
18437
  InputGroupTextarea.displayName = "InputGroupTextarea";
18359
18438
  var menuItemClassName = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
18360
18439
  var menuContentClassName = "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-menu-surface p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2";
18361
- var DropdownMenu4 = DropdownMenu2__namespace.Root;
18362
- var DropdownMenuTrigger = DropdownMenu2__namespace.Trigger;
18363
- var DropdownMenuSubTrigger = React4__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.SubTrigger, { ref, className: cn(menuItemClassName, "data-[state=open]:bg-accent", inset && "pl-8", className), ...props, children: [
18440
+ var DropdownMenu4 = DropdownMenu3__namespace.Root;
18441
+ var DropdownMenuTrigger = DropdownMenu3__namespace.Trigger;
18442
+ var DropdownMenuSubTrigger = React4__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.SubTrigger, { ref, className: cn(menuItemClassName, "data-[state=open]:bg-accent", inset && "pl-8", className), ...props, children: [
18364
18443
  children,
18365
18444
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { "aria-hidden": "true", className: "ml-auto" })
18366
18445
  ] }));
18367
18446
  DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
18368
18447
  var DropdownMenuSubContent = React4__namespace.forwardRef(
18369
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.SubContent, { ref, className: cn(menuContentClassName, className), ...props })
18448
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.SubContent, { ref, className: cn(menuContentClassName, className), ...props })
18370
18449
  );
18371
18450
  DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
18372
18451
  var DropdownMenuContent = React4__namespace.forwardRef(
18373
- ({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Content, { ref, sideOffset, className: cn(menuContentClassName, className), ...props }) })
18452
+ ({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Content, { ref, sideOffset, className: cn(menuContentClassName, className), ...props }) })
18374
18453
  );
18375
18454
  DropdownMenuContent.displayName = "DropdownMenuContent";
18376
18455
  var DropdownMenuItem = React4__namespace.forwardRef(
18377
- ({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Item, { ref, className: cn(menuItemClassName, inset && "pl-8", className), ...props })
18456
+ ({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Item, { ref, className: cn(menuItemClassName, inset && "pl-8", className), ...props })
18378
18457
  );
18379
18458
  DropdownMenuItem.displayName = "DropdownMenuItem";
18380
18459
  var DropdownMenuCheckboxItem = React4__namespace.forwardRef(
18381
- ({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.CheckboxItem, { ref, className: cn(menuItemClassName, "pl-8", className), checked, ...props, children: [
18382
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { "aria-hidden": "true", className: "h-4 w-4" }) }) }),
18460
+ ({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.CheckboxItem, { ref, className: cn(menuItemClassName, "pl-8", className), checked, ...props, children: [
18461
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { "aria-hidden": "true", className: "h-4 w-4" }) }) }),
18383
18462
  children
18384
18463
  ] })
18385
18464
  );
18386
18465
  DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
18387
18466
  var DropdownMenuRadioItem = React4__namespace.forwardRef(
18388
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.RadioItem, { ref, className: cn(menuItemClassName, "pl-8", className), ...props, children: [
18389
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { "aria-hidden": "true", className: "h-2 w-2 fill-current" }) }) }),
18467
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.RadioItem, { ref, className: cn(menuItemClassName, "pl-8", className), ...props, children: [
18468
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { "aria-hidden": "true", className: "h-2 w-2 fill-current" }) }) }),
18390
18469
  children
18391
18470
  ] })
18392
18471
  );
18393
18472
  DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
18394
18473
  var DropdownMenuLabel = React4__namespace.forwardRef(
18395
- ({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className), ...props })
18474
+ ({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className), ...props })
18396
18475
  );
18397
18476
  DropdownMenuLabel.displayName = "DropdownMenuLabel";
18398
18477
  var DropdownMenuSeparator = React4__namespace.forwardRef(
18399
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props })
18478
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props })
18400
18479
  );
18401
18480
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
18402
18481
  var SelectTrigger = React4__namespace.forwardRef(
@@ -22654,8 +22733,8 @@ function DataExplorerSelect({
22654
22733
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
22655
22734
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: selected?.label ?? placeholder })
22656
22735
  ] }) : selected?.label ?? label ?? placeholder;
22657
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
22658
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
22736
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
22737
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
22659
22738
  "button",
22660
22739
  {
22661
22740
  type: "button",
@@ -22683,8 +22762,8 @@ function DataExplorerSelect({
22683
22762
  ]
22684
22763
  }
22685
22764
  ) }),
22686
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
22687
- DropdownMenu2__namespace.Content,
22765
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
22766
+ DropdownMenu3__namespace.Content,
22688
22767
  {
22689
22768
  align,
22690
22769
  sideOffset,
@@ -22692,7 +22771,7 @@ function DataExplorerSelect({
22692
22771
  style: theme.styles.menuContent,
22693
22772
  onClick: (event) => event.stopPropagation(),
22694
22773
  children: /* @__PURE__ */ jsxRuntime.jsx(
22695
- DropdownMenu2__namespace.RadioGroup,
22774
+ DropdownMenu3__namespace.RadioGroup,
22696
22775
  {
22697
22776
  value,
22698
22777
  onValueChange: (nextValue) => {
@@ -22700,7 +22779,7 @@ function DataExplorerSelect({
22700
22779
  void onValueChange?.(nextValue);
22701
22780
  },
22702
22781
  children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
22703
- DropdownMenu2__namespace.RadioItem,
22782
+ DropdownMenu3__namespace.RadioItem,
22704
22783
  {
22705
22784
  value: option.value,
22706
22785
  title: option.title,
@@ -22746,9 +22825,9 @@ function renderMenuItem(action, context, theme, className) {
22746
22825
  const disabled = (resolveDataExplorerValue(action.disabled, context) ?? false) || (resolveDataExplorerValue(action.loading, context) ?? false);
22747
22826
  const active = resolveDataExplorerValue(action.active, context) ?? false;
22748
22827
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22749
- action.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { className: theme.slots.menuSeparator }) : null,
22828
+ action.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { className: theme.slots.menuSeparator }) : null,
22750
22829
  /* @__PURE__ */ jsxRuntime.jsxs(
22751
- DropdownMenu2__namespace.Item,
22830
+ DropdownMenu3__namespace.Item,
22752
22831
  {
22753
22832
  title: action.title,
22754
22833
  disabled,
@@ -22769,7 +22848,7 @@ function renderMenuItem(action, context, theme, className) {
22769
22848
  ]
22770
22849
  }
22771
22850
  ),
22772
- action.separatorAfter ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { className: theme.slots.menuSeparator }) : null
22851
+ action.separatorAfter ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { className: theme.slots.menuSeparator }) : null
22773
22852
  ] }, action.id);
22774
22853
  }
22775
22854
  function renderMenuAction(action, context, theme, classNames, appearance) {
@@ -22778,8 +22857,8 @@ function renderMenuAction(action, context, theme, classNames, appearance) {
22778
22857
  const visibleItems = (action.items ?? []).filter(
22779
22858
  (item) => resolveDataExplorerValue(item.visible, context) ?? true
22780
22859
  );
22781
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
22782
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
22860
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
22861
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
22783
22862
  DataExplorerButton,
22784
22863
  {
22785
22864
  title: action.title,
@@ -22795,8 +22874,8 @@ function renderMenuAction(action, context, theme, classNames, appearance) {
22795
22874
  className: classNames?.action
22796
22875
  }
22797
22876
  ) }),
22798
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
22799
- DropdownMenu2__namespace.Content,
22877
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
22878
+ DropdownMenu3__namespace.Content,
22800
22879
  {
22801
22880
  align: action.align ?? "end",
22802
22881
  sideOffset: action.sideOffset ?? 6,
@@ -22805,8 +22884,8 @@ function renderMenuAction(action, context, theme, classNames, appearance) {
22805
22884
  onClick: (event) => event.stopPropagation(),
22806
22885
  children: [
22807
22886
  action.menuLabel ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
22808
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Label, { className: theme.slots.menuLabel, children: action.menuLabel }),
22809
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { className: theme.slots.menuSeparator })
22887
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Label, { className: theme.slots.menuLabel, children: action.menuLabel }),
22888
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { className: theme.slots.menuSeparator })
22810
22889
  ] }) : null,
22811
22890
  visibleItems.map(
22812
22891
  (item) => renderMenuItem(item, context, theme, classNames?.menuItem)
@@ -23637,8 +23716,8 @@ function DataExplorerDisplayActionMenu({
23637
23716
  if (visibleActions.length === 0) {
23638
23717
  return null;
23639
23718
  }
23640
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn3("inline-flex", classNames?.root), children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { open, onOpenChange: setOpen, children: [
23641
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
23719
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn3("inline-flex", classNames?.root), children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { open, onOpenChange: setOpen, children: [
23720
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
23642
23721
  "button",
23643
23722
  {
23644
23723
  type: "button",
@@ -23655,8 +23734,8 @@ function DataExplorerDisplayActionMenu({
23655
23734
  ]
23656
23735
  }
23657
23736
  ) }),
23658
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
23659
- DropdownMenu2__namespace.Content,
23737
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
23738
+ DropdownMenu3__namespace.Content,
23660
23739
  {
23661
23740
  align,
23662
23741
  sideOffset,
@@ -23669,7 +23748,7 @@ function DataExplorerDisplayActionMenu({
23669
23748
  children: [
23670
23749
  label ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
23671
23750
  /* @__PURE__ */ jsxRuntime.jsx(
23672
- DropdownMenu2__namespace.Label,
23751
+ DropdownMenu3__namespace.Label,
23673
23752
  {
23674
23753
  className: cn3(
23675
23754
  theme.slots.menuLabel,
@@ -23679,7 +23758,7 @@ function DataExplorerDisplayActionMenu({
23679
23758
  }
23680
23759
  ),
23681
23760
  /* @__PURE__ */ jsxRuntime.jsx(
23682
- DropdownMenu2__namespace.Separator,
23761
+ DropdownMenu3__namespace.Separator,
23683
23762
  {
23684
23763
  className: cn3(
23685
23764
  theme.slots.menuSeparator,
@@ -23693,7 +23772,7 @@ function DataExplorerDisplayActionMenu({
23693
23772
  if (action.render) {
23694
23773
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
23695
23774
  action.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(
23696
- DropdownMenu2__namespace.Separator,
23775
+ DropdownMenu3__namespace.Separator,
23697
23776
  {
23698
23777
  className: cn3(
23699
23778
  theme.slots.menuSeparator,
@@ -23703,7 +23782,7 @@ function DataExplorerDisplayActionMenu({
23703
23782
  ) : null,
23704
23783
  action.render(context),
23705
23784
  action.separatorAfter ? /* @__PURE__ */ jsxRuntime.jsx(
23706
- DropdownMenu2__namespace.Separator,
23785
+ DropdownMenu3__namespace.Separator,
23707
23786
  {
23708
23787
  className: cn3(
23709
23788
  theme.slots.menuSeparator,
@@ -23715,7 +23794,7 @@ function DataExplorerDisplayActionMenu({
23715
23794
  }
23716
23795
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
23717
23796
  action.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(
23718
- DropdownMenu2__namespace.Separator,
23797
+ DropdownMenu3__namespace.Separator,
23719
23798
  {
23720
23799
  className: cn3(
23721
23800
  "-mx-1 my-1 h-px bg-border",
@@ -23724,7 +23803,7 @@ function DataExplorerDisplayActionMenu({
23724
23803
  }
23725
23804
  ) : null,
23726
23805
  /* @__PURE__ */ jsxRuntime.jsxs(
23727
- DropdownMenu2__namespace.Item,
23806
+ DropdownMenu3__namespace.Item,
23728
23807
  {
23729
23808
  title: action.title,
23730
23809
  disabled,
@@ -23775,7 +23854,7 @@ function DataExplorerDisplayActionMenu({
23775
23854
  }
23776
23855
  ),
23777
23856
  action.separatorAfter ? /* @__PURE__ */ jsxRuntime.jsx(
23778
- DropdownMenu2__namespace.Separator,
23857
+ DropdownMenu3__namespace.Separator,
23779
23858
  {
23780
23859
  className: cn3(
23781
23860
  theme.slots.menuSeparator,
@@ -26254,8 +26333,8 @@ function DataExplorerViewTree({
26254
26333
  return resolveDataExplorerValue(action.visible, payload) ?? true;
26255
26334
  });
26256
26335
  if (visibleActions.length === 0) return null;
26257
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
26258
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
26336
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
26337
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
26259
26338
  "button",
26260
26339
  {
26261
26340
  type: "button",
@@ -26270,8 +26349,8 @@ function DataExplorerViewTree({
26270
26349
  children: /* @__PURE__ */ jsxRuntime.jsx(MoreIcon3, {})
26271
26350
  }
26272
26351
  ) }),
26273
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
26274
- DropdownMenu2__namespace.Content,
26352
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
26353
+ DropdownMenu3__namespace.Content,
26275
26354
  {
26276
26355
  align: "end",
26277
26356
  sideOffset: 6,
@@ -26286,9 +26365,9 @@ function DataExplorerViewTree({
26286
26365
  return /* @__PURE__ */ jsxRuntime.jsx("div", { children: action.render(payload) }, action.id);
26287
26366
  }
26288
26367
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
26289
- action.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { className: theme.slots.menuSeparator }) : null,
26368
+ action.separatorBefore ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { className: theme.slots.menuSeparator }) : null,
26290
26369
  /* @__PURE__ */ jsxRuntime.jsxs(
26291
- DropdownMenu2__namespace.Item,
26370
+ DropdownMenu3__namespace.Item,
26292
26371
  {
26293
26372
  title: action.title,
26294
26373
  disabled,
@@ -26310,7 +26389,7 @@ function DataExplorerViewTree({
26310
26389
  ]
26311
26390
  }
26312
26391
  ),
26313
- action.separatorAfter ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Separator, { className: theme.slots.menuSeparator }) : null
26392
+ action.separatorAfter ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Separator, { className: theme.slots.menuSeparator }) : null
26314
26393
  ] }, action.id);
26315
26394
  })
26316
26395
  }
@@ -27581,8 +27660,8 @@ function CollapsedChildMenu({
27581
27660
  const itemLabel = typeof item.label === "string" ? item.label : item.id;
27582
27661
  const itemTriggerDisabled = Boolean(item.disabled) || !onChildSelect || enabledChildren.length === 0;
27583
27662
  const domProps = item.domProps ?? {};
27584
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
27585
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: triggerVariant === "item" && appearance ? /* @__PURE__ */ jsxRuntime.jsx(
27663
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
27664
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: triggerVariant === "item" && appearance ? /* @__PURE__ */ jsxRuntime.jsx(
27586
27665
  "button",
27587
27666
  {
27588
27667
  ...domProps,
@@ -27628,8 +27707,8 @@ function CollapsedChildMenu({
27628
27707
  children: triggerVariant === "disclosure" ? /* @__PURE__ */ jsxRuntime.jsx(DisclosureIcon, { expanded: false }) : /* @__PURE__ */ jsxRuntime.jsx(MoreIcon4, {})
27629
27708
  }
27630
27709
  ) }),
27631
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
27632
- DropdownMenu2__namespace.Content,
27710
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
27711
+ DropdownMenu3__namespace.Content,
27633
27712
  {
27634
27713
  side: "right",
27635
27714
  align: "start",
@@ -27639,7 +27718,7 @@ function CollapsedChildMenu({
27639
27718
  classNames?.childMenuContent
27640
27719
  ),
27641
27720
  children: item.children?.map((child) => /* @__PURE__ */ jsxRuntime.jsxs(
27642
- DropdownMenu2__namespace.Item,
27721
+ DropdownMenu3__namespace.Item,
27643
27722
  {
27644
27723
  disabled: child.disabled,
27645
27724
  "data-navigation-sidebar-child-id": child.id,
@@ -35122,7 +35201,7 @@ function DarkModeSelector({
35122
35201
  { value: "light", label: resolvedLabels.light, Icon: SunIcon },
35123
35202
  { value: "dark", label: resolvedLabels.dark, Icon: MoonIcon }
35124
35203
  ];
35125
- const trigger = /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
35204
+ const trigger = /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
35126
35205
  "button",
35127
35206
  {
35128
35207
  ...componentAttributes,
@@ -35136,7 +35215,7 @@ function DarkModeSelector({
35136
35215
  ]
35137
35216
  }
35138
35217
  ) });
35139
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
35218
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
35140
35219
  tooltip ? /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Provider, { delayDuration: 300, children: /* @__PURE__ */ jsxRuntime.jsxs(Tooltip2__namespace.Root, { children: [
35141
35220
  /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Trigger, { asChild: true, children: trigger }),
35142
35221
  /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
@@ -35151,14 +35230,14 @@ function DarkModeSelector({
35151
35230
  }
35152
35231
  ) })
35153
35232
  ] }) }) : trigger,
35154
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
35155
- DropdownMenu2__namespace.Content,
35233
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
35234
+ DropdownMenu3__namespace.Content,
35156
35235
  {
35157
35236
  className: "z-50 min-w-[8rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-0 zoom-in-95",
35158
35237
  sideOffset: 5,
35159
35238
  align: "end",
35160
35239
  children: options.map(({ value, label, Icon: Icon2 }) => /* @__PURE__ */ jsxRuntime.jsxs(
35161
- DropdownMenu2__namespace.Item,
35240
+ DropdownMenu3__namespace.Item,
35162
35241
  {
35163
35242
  className: cn5(
35164
35243
  "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]",
@@ -35215,9 +35294,9 @@ function DarkModeSubMenu({
35215
35294
  { value: "light", label: resolvedLabels.light, Icon: SunIcon },
35216
35295
  { value: "dark", label: resolvedLabels.dark, Icon: MoonIcon }
35217
35296
  ];
35218
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Sub, { children: [
35297
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Sub, { children: [
35219
35298
  /* @__PURE__ */ jsxRuntime.jsxs(
35220
- DropdownMenu2__namespace.SubTrigger,
35299
+ DropdownMenu3__namespace.SubTrigger,
35221
35300
  {
35222
35301
  ...componentAttributes,
35223
35302
  className: "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))] data-[state=open]:bg-[hsl(var(--accent))]",
@@ -35228,13 +35307,13 @@ function DarkModeSubMenu({
35228
35307
  ]
35229
35308
  }
35230
35309
  ),
35231
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
35232
- DropdownMenu2__namespace.SubContent,
35310
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
35311
+ DropdownMenu3__namespace.SubContent,
35233
35312
  {
35234
35313
  className: "z-50 min-w-[8rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-0 zoom-in-95",
35235
35314
  sideOffset: 8,
35236
35315
  children: options.map(({ value, label: optLabel, Icon: Icon2 }) => /* @__PURE__ */ jsxRuntime.jsxs(
35237
- DropdownMenu2__namespace.CheckboxItem,
35316
+ DropdownMenu3__namespace.CheckboxItem,
35238
35317
  {
35239
35318
  checked: mode === value,
35240
35319
  disabled: mode === value,
@@ -35243,7 +35322,7 @@ function DarkModeSubMenu({
35243
35322
  ),
35244
35323
  onCheckedChange: () => onModeChange(value),
35245
35324
  children: [
35246
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.ItemIndicator, { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 6 9 17l-5-5" }) }) }),
35325
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.ItemIndicator, { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 6 9 17l-5-5" }) }) }),
35247
35326
  /* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: "h-4 w-4" }),
35248
35327
  optLabel
35249
35328
  ]
@@ -35273,7 +35352,7 @@ function I18nSelector({
35273
35352
  }) {
35274
35353
  const locale = useMonkeysLocale();
35275
35354
  const componentAttributes = useMonkeysComponentAttributes();
35276
- const trigger = /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
35355
+ const trigger = /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
35277
35356
  "button",
35278
35357
  {
35279
35358
  ...componentAttributes,
@@ -35287,7 +35366,7 @@ function I18nSelector({
35287
35366
  ]
35288
35367
  }
35289
35368
  ) });
35290
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu2__namespace.Root, { children: [
35369
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu3__namespace.Root, { children: [
35291
35370
  tooltip ? /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Provider, { delayDuration: 300, children: /* @__PURE__ */ jsxRuntime.jsxs(Tooltip2__namespace.Root, { children: [
35292
35371
  /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Trigger, { asChild: true, children: trigger }),
35293
35372
  /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
@@ -35302,14 +35381,14 @@ function I18nSelector({
35302
35381
  }
35303
35382
  ) })
35304
35383
  ] }) }) : trigger,
35305
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu2__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
35306
- DropdownMenu2__namespace.Content,
35384
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
35385
+ DropdownMenu3__namespace.Content,
35307
35386
  {
35308
35387
  className: "z-50 min-w-[8rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-0 zoom-in-95",
35309
35388
  sideOffset: 5,
35310
35389
  align: "end",
35311
35390
  children: languages.map(({ code, label }) => /* @__PURE__ */ jsxRuntime.jsx(
35312
- DropdownMenu2__namespace.Item,
35391
+ DropdownMenu3__namespace.Item,
35313
35392
  {
35314
35393
  className: cn6(
35315
35394
  "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]",