@exxatdesignux/ui 0.5.1 → 0.5.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.
Files changed (138) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/consumer-extras/cursor-rules/exxat-data-tables.mdc +8 -6
  3. package/consumer-extras/cursor-rules/exxat-ds-agents.mdc +2 -1
  4. package/consumer-extras/cursor-rules/exxat-hub-supported-views.mdc +54 -0
  5. package/consumer-extras/cursor-rules/exxat-nav-single-active.mdc +31 -0
  6. package/consumer-extras/cursor-skills/exxat-ds-skill/SKILL.md +8 -3
  7. package/consumer-extras/cursor-skills/exxat-ds-skill/references/data-table-pattern.md +15 -5
  8. package/consumer-extras/cursor-skills/exxat-token-economy/SKILL.md +11 -4
  9. package/consumer-extras/handbook/HANDBOOK.md +1 -1
  10. package/consumer-extras/handbook/reference-implementations.md +2 -2
  11. package/consumer-extras/patterns/data-views-pattern.md +6 -0
  12. package/consumer-extras/patterns/hub-supported-views-pattern.md +53 -0
  13. package/dist/components/data-table/filter-text-value-input.js +1 -1
  14. package/dist/components/data-table/filter-text-value-input.js.map +1 -1
  15. package/dist/components/data-table/index.js +16 -12
  16. package/dist/components/data-table/index.js.map +1 -1
  17. package/dist/components/data-table/pagination.js +16 -12
  18. package/dist/components/data-table/pagination.js.map +1 -1
  19. package/dist/components/data-views/data-row-list.js +1 -1
  20. package/dist/components/data-views/data-row-list.js.map +1 -1
  21. package/dist/components/data-views/hub-table.d.ts +8 -4
  22. package/dist/components/data-views/hub-table.js +31 -16
  23. package/dist/components/data-views/hub-table.js.map +1 -1
  24. package/dist/components/data-views/index.d.ts +1 -1
  25. package/dist/components/data-views/index.js +31 -16
  26. package/dist/components/data-views/index.js.map +1 -1
  27. package/dist/components/data-views/list-page-connected-view-body.d.ts +1 -1
  28. package/dist/components/data-views/list-page-connected-view-body.js +1 -0
  29. package/dist/components/data-views/list-page-connected-view-body.js.map +1 -1
  30. package/dist/components/table-properties/column-row.js +1 -1
  31. package/dist/components/table-properties/column-row.js.map +1 -1
  32. package/dist/components/table-properties/drawer-button.js +6 -5
  33. package/dist/components/table-properties/drawer-button.js.map +1 -1
  34. package/dist/components/table-properties/drawer.js +6 -5
  35. package/dist/components/table-properties/drawer.js.map +1 -1
  36. package/dist/components/table-properties/filter-card.js +2 -2
  37. package/dist/components/table-properties/filter-card.js.map +1 -1
  38. package/dist/components/table-properties/index.d.ts +1 -1
  39. package/dist/components/table-properties/index.js +6 -5
  40. package/dist/components/table-properties/index.js.map +1 -1
  41. package/dist/components/table-properties/sort-card.js +1 -1
  42. package/dist/components/table-properties/sort-card.js.map +1 -1
  43. package/dist/components/templates/index.d.ts +1 -1
  44. package/dist/components/templates/index.js +16 -6
  45. package/dist/components/templates/index.js.map +1 -1
  46. package/dist/components/templates/list-page.d.ts +4 -2
  47. package/dist/components/templates/list-page.js +16 -6
  48. package/dist/components/templates/list-page.js.map +1 -1
  49. package/dist/components/ui/banner.d.ts +2 -2
  50. package/dist/components/ui/banner.js +1 -1
  51. package/dist/components/ui/banner.js.map +1 -1
  52. package/dist/components/ui/coach-mark.js +1 -1
  53. package/dist/components/ui/coach-mark.js.map +1 -1
  54. package/dist/components/ui/context-menu.js +1 -1
  55. package/dist/components/ui/context-menu.js.map +1 -1
  56. package/dist/components/ui/date-picker-field.js +1 -1
  57. package/dist/components/ui/date-picker-field.js.map +1 -1
  58. package/dist/components/ui/dropdown-menu.js +2 -2
  59. package/dist/components/ui/dropdown-menu.js.map +1 -1
  60. package/dist/components/ui/export-drawer.js +3 -3
  61. package/dist/components/ui/export-drawer.js.map +1 -1
  62. package/dist/components/ui/hover-card.js +1 -1
  63. package/dist/components/ui/hover-card.js.map +1 -1
  64. package/dist/components/ui/key-metrics.js +6 -6
  65. package/dist/components/ui/key-metrics.js.map +1 -1
  66. package/dist/components/ui/page-header.js +1 -1
  67. package/dist/components/ui/page-header.js.map +1 -1
  68. package/dist/components/ui/popover.js +1 -1
  69. package/dist/components/ui/popover.js.map +1 -1
  70. package/dist/components/ui/select.js +1 -1
  71. package/dist/components/ui/select.js.map +1 -1
  72. package/dist/components/ui/sheet.js +1 -1
  73. package/dist/components/ui/sheet.js.map +1 -1
  74. package/dist/components/ui/sidebar.d.ts +1 -1
  75. package/dist/components/ui/sidebar.js +3 -3
  76. package/dist/components/ui/sidebar.js.map +1 -1
  77. package/dist/components/ui/tip.js +1 -1
  78. package/dist/components/ui/tip.js.map +1 -1
  79. package/dist/components/ui/tooltip.js +1 -1
  80. package/dist/components/ui/tooltip.js.map +1 -1
  81. package/dist/components/ui/view-segmented-control.js +1 -1
  82. package/dist/components/ui/view-segmented-control.js.map +1 -1
  83. package/dist/{data-list-view-registry-CyBoBML4.d.ts → data-list-view-registry-BstmlfQ3.d.ts} +16 -1
  84. package/dist/index.d.ts +2 -1
  85. package/dist/index.js +151 -29
  86. package/dist/index.js.map +1 -1
  87. package/dist/lib/data-list-view-registry.d.ts +1 -1
  88. package/dist/lib/data-list-view-registry.js +17 -1
  89. package/dist/lib/data-list-view-registry.js.map +1 -1
  90. package/dist/lib/data-list-view-surface.d.ts +1 -1
  91. package/dist/lib/data-list-view-surface.js +1 -0
  92. package/dist/lib/data-list-view-surface.js.map +1 -1
  93. package/dist/lib/list-page-table-properties.d.ts +1 -1
  94. package/dist/lib/list-page-table-properties.js +1 -0
  95. package/dist/lib/list-page-table-properties.js.map +1 -1
  96. package/dist/lib/nav-active.d.ts +38 -0
  97. package/dist/lib/nav-active.js +104 -0
  98. package/dist/lib/nav-active.js.map +1 -0
  99. package/package.json +1 -1
  100. package/src/components/data-table/index.tsx +25 -17
  101. package/src/components/data-views/data-row-list.tsx +1 -1
  102. package/src/components/data-views/hub-table.tsx +9 -3
  103. package/src/components/templates/list-page.tsx +9 -3
  104. package/src/components/ui/banner.tsx +0 -2
  105. package/src/components/ui/coach-mark.tsx +1 -2
  106. package/src/components/ui/context-menu.tsx +1 -1
  107. package/src/components/ui/dropdown-menu.tsx +2 -2
  108. package/src/components/ui/hover-card.tsx +1 -1
  109. package/src/components/ui/key-metrics.tsx +4 -4
  110. package/src/components/ui/popover.tsx +1 -1
  111. package/src/components/ui/select.tsx +1 -1
  112. package/src/components/ui/sheet.tsx +1 -1
  113. package/src/components/ui/sidebar.tsx +3 -3
  114. package/src/components/ui/tooltip.tsx +1 -1
  115. package/src/index.ts +1 -0
  116. package/src/lib/data-list-view-registry.ts +31 -0
  117. package/src/lib/nav-active.ts +162 -0
  118. package/template/.claude/skills/exxat-ds-skill/SKILL.md +2 -1
  119. package/template/AGENTS.md +16 -1
  120. package/template/components/columns-client.tsx +3 -2
  121. package/template/components/columns-showcase.tsx +22 -18
  122. package/template/components/exxat-product-logo.tsx +1 -1
  123. package/template/components/library-table.tsx +62 -23
  124. package/template/components/new-library-item-form.tsx +0 -7
  125. package/template/components/product-wordmark.tsx +1 -1
  126. package/template/components/sidebar/app-sidebar.tsx +14 -106
  127. package/template/components/sidebar/secondary-nav.tsx +22 -4
  128. package/template/components/tokens-hub-auxiliary-views.tsx +301 -0
  129. package/template/components/tokens-themes-client.tsx +44 -16
  130. package/template/docs/HANDBOOK.md +1 -1
  131. package/template/docs/data-views-pattern.md +6 -0
  132. package/template/docs/glossary.md +2 -1
  133. package/template/docs/hub-supported-views-pattern.md +53 -0
  134. package/template/docs/reference-implementations.md +2 -2
  135. package/template/lib/full-hub-supported-views.ts +8 -0
  136. package/template/lib/library-supported-views.ts +5 -12
  137. package/template/package.json +11 -0
  138. package/tokens/hooks-index.json +2 -2
package/dist/index.js CHANGED
@@ -192,7 +192,7 @@ function TooltipContent({
192
192
  "data-slot": "tooltip-content",
193
193
  sideOffset,
194
194
  className: cn(
195
- "z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 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 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
195
+ "z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
196
196
  className
197
197
  ),
198
198
  ...props,
@@ -416,7 +416,7 @@ function DropdownMenuContent({
416
416
  sideOffset,
417
417
  align,
418
418
  className: cn(
419
- "z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 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 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
419
+ "z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
420
420
  DROPDOWN_MENU_CONTENT_SURFACE_CLASS,
421
421
  className
422
422
  ),
@@ -707,7 +707,7 @@ function DropdownMenuSubContent({
707
707
  {
708
708
  "data-slot": "dropdown-menu-sub-content",
709
709
  className: cn(
710
- "z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
710
+ "z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
711
711
  DROPDOWN_MENU_CONTENT_SURFACE_CLASS,
712
712
  className
713
713
  ),
@@ -742,7 +742,7 @@ function PopoverContent({
742
742
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
743
743
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
744
744
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
745
- "data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
745
+ "data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2",
746
746
  className
747
747
  ),
748
748
  ...props
@@ -2719,13 +2719,15 @@ function useBulkBarFixedToTableScrollEl(scrollRef, active, fullWidth) {
2719
2719
  const scheduled = rafThrottle(apply);
2720
2720
  const ro = new ResizeObserver(scheduled);
2721
2721
  ro.observe(el);
2722
+ el.addEventListener("scroll", scheduled, { passive: true });
2722
2723
  window.addEventListener("resize", scheduled, { passive: true });
2723
- window.addEventListener("scroll", scheduled, { passive: true, capture: true });
2724
+ window.addEventListener("scroll", scheduled, { passive: true });
2724
2725
  return () => {
2725
2726
  scheduled.cancel();
2726
2727
  ro.disconnect();
2728
+ el.removeEventListener("scroll", scheduled);
2727
2729
  window.removeEventListener("resize", scheduled);
2728
- window.removeEventListener("scroll", scheduled, { capture: true });
2730
+ window.removeEventListener("scroll", scheduled);
2729
2731
  };
2730
2732
  }, [active, fullWidth, scrollRef]);
2731
2733
  return style;
@@ -2892,11 +2894,13 @@ function DataTableInner({
2892
2894
  };
2893
2895
  update();
2894
2896
  const scheduled = rafThrottle(update);
2895
- window.addEventListener("scroll", scheduled, { passive: true, capture: true });
2897
+ wrapEl.addEventListener("scroll", scheduled, { passive: true });
2898
+ window.addEventListener("scroll", scheduled, { passive: true });
2896
2899
  window.addEventListener("resize", scheduled, { passive: true });
2897
2900
  return () => {
2898
2901
  scheduled.cancel();
2899
- window.removeEventListener("scroll", scheduled, { capture: true });
2902
+ wrapEl.removeEventListener("scroll", scheduled);
2903
+ window.removeEventListener("scroll", scheduled);
2900
2904
  window.removeEventListener("resize", scheduled);
2901
2905
  };
2902
2906
  }, [showColumnHeaders, rows.length, displayCols.length]);
@@ -3333,11 +3337,11 @@ function DataTableInner({
3333
3337
  const rowPy = rowHeight === "compact" ? "py-1" : rowHeight === "comfortable" ? "py-4" : "py-2.5";
3334
3338
  const cs = cellStyle(col.key);
3335
3339
  const tdBase = cn(
3336
- `px-3 ${rowPy} align-middle`,
3340
+ `px-3 ${rowPy} align-middle max-w-0`,
3337
3341
  showGridlines && !isEdgePin && "border-e border-border last:border-e-0",
3338
3342
  "border-b border-border group-last/row:border-b-0",
3339
3343
  isPinned && [
3340
- "z-20 pinned-cell",
3344
+ "z-20 pinned-cell relative",
3341
3345
  "bg-dt-row-bg",
3342
3346
  "group-data-[state=selected]/row:bg-dt-row-selected",
3343
3347
  "group-hover/row:bg-dt-row-hover",
@@ -3387,17 +3391,17 @@ function DataTableInner({
3387
3391
  wrap && "[&_.truncate]:!whitespace-normal [&_.truncate]:!overflow-visible [&_.truncate]:!text-clip"
3388
3392
  ),
3389
3393
  style: tdStyle,
3390
- children: col.cell(row, {
3394
+ children: /* @__PURE__ */ jsx("div", { className: "min-w-0 overflow-hidden", children: col.cell(row, {
3391
3395
  rowIndex,
3392
3396
  selected: isSelected,
3393
3397
  onSelect: (checked) => checked ? setSelected((prev) => /* @__PURE__ */ new Set([...prev, rowId])) : toggleRow(rowId)
3394
- })
3398
+ }) })
3395
3399
  },
3396
3400
  col.key
3397
3401
  );
3398
3402
  }
3399
3403
  const rawVal = String(row[col.key] ?? "");
3400
- return /* @__PURE__ */ jsx("td", { className: cn(tdBase, "text-sm text-foreground/80"), style: tdStyle, children: /* @__PURE__ */ jsx("span", { className: wrap ? "whitespace-normal" : "block truncate", title: !wrap ? rawVal : void 0, children: rawVal }) }, col.key);
3404
+ return /* @__PURE__ */ jsx("td", { className: cn(tdBase, "text-sm text-foreground/80"), style: tdStyle, children: /* @__PURE__ */ jsx("div", { className: "min-w-0 overflow-hidden", children: /* @__PURE__ */ jsx("span", { className: wrap ? "whitespace-normal" : "block truncate", title: !wrap ? rawVal : void 0, children: rawVal }) }) }, col.key);
3401
3405
  })
3402
3406
  },
3403
3407
  String(rowId)
@@ -3795,6 +3799,22 @@ var BY_VALUE = new Map(
3795
3799
  DEFINITIONS.map((d) => [d.value, d])
3796
3800
  );
3797
3801
  var DATA_LIST_VIEW_REGISTRY = DEFINITIONS;
3802
+ var PRIMARY_HUB_SUPPORTED_VIEWS = [
3803
+ "table",
3804
+ "list",
3805
+ "board",
3806
+ "dashboard"
3807
+ ];
3808
+ var FULL_HUB_SUPPORTED_VIEWS = [
3809
+ "table",
3810
+ "list",
3811
+ "board",
3812
+ "dashboard",
3813
+ "folder",
3814
+ "panel",
3815
+ "tree-panel"
3816
+ ];
3817
+ var ALL_DATA_LIST_VIEW_TYPES = DATA_LIST_VIEW_REGISTRY.map((d) => d.value);
3798
3818
  function dataListViewDefinition(view) {
3799
3819
  const def = BY_VALUE.get(view);
3800
3820
  if (!def) {
@@ -4229,7 +4249,7 @@ function SheetContent({
4229
4249
  "data-slot": "sheet-content",
4230
4250
  "data-side": side,
4231
4251
  className: cn(
4232
- "fixed z-50 flex flex-col gap-4 bg-background bg-clip-padding text-sm shadow-lg outline-none duration-300 ease-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-6 data-[side=left]:data-open:slide-in-from-left-6 data-[side=right]:data-open:slide-in-from-right-6 data-[side=top]:data-open:slide-in-from-top-6 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-6 data-[side=left]:data-closed:slide-out-to-left-6 data-[side=right]:data-closed:slide-out-to-right-6 data-[side=top]:data-closed:slide-out-to-top-6",
4252
+ "fixed z-50 flex flex-col gap-4 bg-background bg-clip-padding text-sm shadow-lg outline-none duration-300 ease-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:start-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=right]:inset-y-0 data-[side=right]:end-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-6 data-[side=left]:data-open:slide-in-from-start-6 data-[side=right]:data-open:slide-in-from-end-6 data-[side=top]:data-open:slide-in-from-top-6 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-6 data-[side=left]:data-closed:slide-out-to-start-6 data-[side=right]:data-closed:slide-out-to-end-6 data-[side=top]:data-closed:slide-out-to-top-6",
4233
4253
  className
4234
4254
  ),
4235
4255
  ...props,
@@ -4359,7 +4379,7 @@ function SelectContent({
4359
4379
  {
4360
4380
  "data-slot": "select-content",
4361
4381
  "data-align-trigger": position === "item-aligned",
4362
- className: cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 rtl:data-[side=left]:translate-x-1 data-[side=right]:translate-x-1 rtl:data-[side=right]:-translate-x-1 data-[side=top]:-translate-y-1", className),
4382
+ className: cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 rtl:data-[side=left]:translate-x-1 data-[side=right]:translate-x-1 rtl:data-[side=right]:-translate-x-1 data-[side=top]:-translate-y-1", className),
4363
4383
  position,
4364
4384
  align,
4365
4385
  ...props,
@@ -5941,7 +5961,7 @@ function DataRowListVirtualized({
5941
5961
  {
5942
5962
  "data-index": vr.index,
5943
5963
  ref: virtualizer.measureElement,
5944
- className: cn("absolute left-0 top-0 w-full pb-2", rowClassName),
5964
+ className: cn("absolute start-0 top-0 w-full pb-2", rowClassName),
5945
5965
  style: { transform: `translateY(${vr.start}px)` },
5946
5966
  children: renderRow(row, vr.index)
5947
5967
  },
@@ -6157,7 +6177,7 @@ function HubTable({
6157
6177
  columns,
6158
6178
  view,
6159
6179
  onViewChange,
6160
- supportedViewTypes,
6180
+ supportedViewTypes: supportedViewTypesProp,
6161
6181
  hubLabel,
6162
6182
  lifecycleTabLabel,
6163
6183
  searchAriaLabel,
@@ -6193,6 +6213,7 @@ function HubTable({
6193
6213
  boardColumnCountBadgeClassName,
6194
6214
  boardEmptyColumnLabel
6195
6215
  }) {
6216
+ const supportedViewTypes = supportedViewTypesProp ?? FULL_HUB_SUPPORTED_VIEWS;
6196
6217
  const filterFields = React10.useMemo(() => columnsToFilterFields(columns), [columns]);
6197
6218
  const fieldDefinitions = React10.useMemo(() => columnsToFieldDefinitions(columns), [columns]);
6198
6219
  const resolveColumnLabel = React10.useCallback(
@@ -8331,8 +8352,8 @@ function ListPageTemplate({
8331
8352
  supportedViewTypes
8332
8353
  }) {
8333
8354
  const addableViewTypes = React10.useMemo(() => {
8334
- if (!supportedViewTypes || supportedViewTypes.length === 0) return VIEW_TYPES;
8335
- const allowed = new Set(supportedViewTypes);
8355
+ const allowlist = supportedViewTypes && supportedViewTypes.length > 0 ? supportedViewTypes : FULL_HUB_SUPPORTED_VIEWS;
8356
+ const allowed = new Set(allowlist);
8336
8357
  return VIEW_TYPES.filter((v) => allowed.has(v.type));
8337
8358
  }, [supportedViewTypes]);
8338
8359
  const controlled = tabsProp !== void 0 && onTabsChange !== void 0 && activeTabIdProp !== void 0 && onActiveTabChange !== void 0;
@@ -8986,6 +9007,107 @@ var DEDICATED_SEARCH_RESULTS_OUTER_CONTENT_CLASSNAME = "border-t border-border/4
8986
9007
  function DedicatedSearchResultsHeaderChrome({ children, className }) {
8987
9008
  return /* @__PURE__ */ jsx("div", { className: cn("border-b border-border/50 bg-muted/15", className), children });
8988
9009
  }
9010
+
9011
+ // src/lib/nav-active.ts
9012
+ function normalizePathname(pathname) {
9013
+ if (pathname.length > 1 && pathname.endsWith("/")) return pathname.slice(0, -1);
9014
+ return pathname;
9015
+ }
9016
+ function navUrlPath(url) {
9017
+ const hash = url.indexOf("#");
9018
+ return hash >= 0 ? url.slice(0, hash) : url;
9019
+ }
9020
+ function navUrlFragment(url) {
9021
+ const i = url.indexOf("#");
9022
+ return i >= 0 ? url.slice(i + 1) : null;
9023
+ }
9024
+ function normalizedLocationHash(locationHash) {
9025
+ if (!locationHash) return "";
9026
+ return locationHash.startsWith("#") ? locationHash.slice(1) : locationHash;
9027
+ }
9028
+ function buildNavHashClaims(urls) {
9029
+ const map = /* @__PURE__ */ new Map();
9030
+ for (const url of urls) {
9031
+ const p = navUrlPath(url);
9032
+ const f = navUrlFragment(url);
9033
+ if (!p || f === null) continue;
9034
+ let set = map.get(p);
9035
+ if (!set) {
9036
+ set = /* @__PURE__ */ new Set();
9037
+ map.set(p, set);
9038
+ }
9039
+ set.add(f);
9040
+ }
9041
+ return map;
9042
+ }
9043
+ function navHasMoreSpecificHashMatch(pathname, locationHash, hashClaimsByPath) {
9044
+ const claims = hashClaimsByPath.get(pathname);
9045
+ if (!claims) return false;
9046
+ const h = normalizedLocationHash(locationHash);
9047
+ if (h === "") return false;
9048
+ return claims.has(h);
9049
+ }
9050
+ function pathnameMatchesNavPath(pathname, pathOnly, locationHash, hashClaimsByPath) {
9051
+ const norm = normalizePathname(pathname);
9052
+ const h = normalizedLocationHash(locationHash);
9053
+ if (pathOnly === "/") {
9054
+ if (norm !== "/" || h !== "") return false;
9055
+ return !navHasMoreSpecificHashMatch("/", locationHash, hashClaimsByPath);
9056
+ }
9057
+ if (norm === pathOnly) {
9058
+ return !navHasMoreSpecificHashMatch(pathOnly, locationHash, hashClaimsByPath);
9059
+ }
9060
+ if (pathOnly === "/library") {
9061
+ return norm.startsWith("/library/");
9062
+ }
9063
+ if (pathOnly.startsWith("/library/")) {
9064
+ return norm === pathOnly;
9065
+ }
9066
+ return norm.startsWith(`${pathOnly}/`);
9067
+ }
9068
+ function resolveActiveNavHref(pathname, candidateUrls, options) {
9069
+ const norm = normalizePathname(pathname);
9070
+ const hashClaims = options?.hashClaimsByPath ?? buildNavHashClaims(candidateUrls);
9071
+ const locationHash = options?.locationHash ?? "";
9072
+ let bestHref = null;
9073
+ let bestLen = -1;
9074
+ for (const url of candidateUrls) {
9075
+ const pathOnly = navUrlPath(url);
9076
+ const frag = navUrlFragment(url);
9077
+ if (!pathOnly || pathOnly === "#") continue;
9078
+ let matches = false;
9079
+ if (frag !== null) {
9080
+ const h = normalizedLocationHash(locationHash);
9081
+ if (pathOnly === "/") matches = norm === "/" && h === frag;
9082
+ else if (pathOnly === "/library") matches = norm.startsWith("/library/") && h === frag;
9083
+ else if (pathOnly.startsWith("/library/")) matches = norm === pathOnly && h === frag;
9084
+ else matches = norm === pathOnly && h === frag;
9085
+ } else {
9086
+ matches = pathnameMatchesNavPath(norm, pathOnly, locationHash, hashClaims);
9087
+ }
9088
+ if (matches && pathOnly.length > bestLen) {
9089
+ bestHref = url;
9090
+ bestLen = pathOnly.length;
9091
+ }
9092
+ }
9093
+ return bestHref;
9094
+ }
9095
+ function isNavHrefActive(pathname, url, allNavUrls, options) {
9096
+ const active = resolveActiveNavHref(pathname, allNavUrls, options);
9097
+ if (!active) return false;
9098
+ return navUrlPath(active) === navUrlPath(url) && navUrlFragment(active) === navUrlFragment(url);
9099
+ }
9100
+ function collectNavUrls(items) {
9101
+ const out = [];
9102
+ const walk = (list) => {
9103
+ for (const it of list) {
9104
+ if (typeof it.url === "string" && it.url.length > 0 && it.url !== "#") out.push(it.url);
9105
+ if (Array.isArray(it.children)) walk(it.children);
9106
+ }
9107
+ };
9108
+ walk(items);
9109
+ return out;
9110
+ }
8989
9111
  function Accordion({
8990
9112
  ...props
8991
9113
  }) {
@@ -10015,7 +10137,7 @@ function CoachMark({
10015
10137
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
10016
10138
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
10017
10139
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
10018
- "data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
10140
+ "data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2",
10019
10141
  className
10020
10142
  ),
10021
10143
  children: [
@@ -10394,7 +10516,7 @@ function ContextMenuContent({
10394
10516
  {
10395
10517
  "data-slot": "context-menu-content",
10396
10518
  className: cn(
10397
- "z-50 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
10519
+ "z-50 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
10398
10520
  DROPDOWN_MENU_CONTENT_SURFACE_CLASS,
10399
10521
  className
10400
10522
  ),
@@ -10666,7 +10788,7 @@ function HoverCardContent({
10666
10788
  align,
10667
10789
  sideOffset,
10668
10790
  className: cn(
10669
- "z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-none 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
10791
+ "z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
10670
10792
  className
10671
10793
  ),
10672
10794
  ...props
@@ -10999,7 +11121,7 @@ function flatMetricsHairlineClass(itemCount, metricsHalfWidthLayout) {
10999
11121
  if (itemCount <= 1) return "gap-0";
11000
11122
  const childBorder = "[&>*]:border-[color:var(--key-metrics-flat-divider)]";
11001
11123
  if (itemCount === 2) {
11002
- return cn("gap-0", childBorder, "[&>*:first-child]:border-r");
11124
+ return cn("gap-0", childBorder, "[&>*:first-child]:border-e");
11003
11125
  }
11004
11126
  if (itemCount === 4) {
11005
11127
  const narrow2x2 = metricsHalfWidthLayout ? "@[max-width:25.99rem]" : "@[max-width:29.99rem]";
@@ -11007,14 +11129,14 @@ function flatMetricsHairlineClass(itemCount, metricsHalfWidthLayout) {
11007
11129
  "gap-0",
11008
11130
  childBorder,
11009
11131
  /* Wide strip (matches `@[30rem]:grid-cols-4`) — verticals between all tiles, no horizontal */
11010
- "[&>*:not(:last-child)]:border-r",
11132
+ "[&>*:not(:last-child)]:border-e",
11011
11133
  /* Narrow strip (`@[18rem]`–`@[30rem]` 2×2) */
11012
11134
  `${narrow2x2}:[&>*:not(:last-child)]:border-e-0`,
11013
- `${narrow2x2}:[&>*:nth-child(odd)]:border-r`,
11135
+ `${narrow2x2}:[&>*:nth-child(odd)]:border-e`,
11014
11136
  `${narrow2x2}:[&>*:not(:nth-last-child(-n+2))]:border-b`
11015
11137
  );
11016
11138
  }
11017
- return cn("gap-0", childBorder, "[&>*:not(:last-child)]:border-r");
11139
+ return cn("gap-0", childBorder, "[&>*:not(:last-child)]:border-e");
11018
11140
  }
11019
11141
  function metricsRowColumnsClass(rowLength, metricsHalfWidthLayout) {
11020
11142
  const half = metricsHalfWidthLayout;
@@ -11903,7 +12025,7 @@ function SidebarProvider({
11903
12025
  const fromCookie = readSidebarStateCookie();
11904
12026
  if (fromCookie === void 0) return;
11905
12027
  _setOpen((prev) => prev === fromCookie ? prev : fromCookie);
11906
- }, []);
12028
+ }, [openProp]);
11907
12029
  const setOpen = React10.useCallback(
11908
12030
  (value, opts) => {
11909
12031
  const openState = typeof value === "function" ? value(open) : value;
@@ -11983,7 +12105,7 @@ function Sidebar({
11983
12105
  collapsible = "offcanvas",
11984
12106
  className,
11985
12107
  children,
11986
- dir,
12108
+ dir: _dir,
11987
12109
  ...props
11988
12110
  }) {
11989
12111
  const { isMobile, state, setOpen } = useSidebar();
@@ -13417,6 +13539,6 @@ function useCoachMark({
13417
13539
  };
13418
13540
  }
13419
13541
 
13420
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AvatarInitials, AvatarLeoAssistant, AvatarNotificationCount, AvatarPlusAction, AvatarStatus, AvatarVerified, Badge, BoardCardIconRow, BoardCardTwoLineBlock, BoardNewCardPlaceholder, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, COACH_MARK_FLOW_COMPLETED_EVENT, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxLabel, CoachMark, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnRow, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CountSyncer, DATA_LIST_SURFACE_VIEW_TYPES, DATA_LIST_VIEW_REGISTRY, DATA_LIST_VIEW_TILES, DATE_PICKER_ICON_CLASS, DEDICATED_SEARCH_RESULTS_OUTER_CONTENT_CLASSNAME, DEFAULT_DATA_LIST_DISPLAY_OPTIONS, DROPDOWN_MENU_CONTENT_SURFACE_CLASS, DataRowList, DataTable, DataTablePaginated, DataTableToolbar, DatePickerField, DateTextInputField, DedicatedSearchLandingTemplate, DedicatedSearchResultsHeaderChrome, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DragHandleGripIcon, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFilterCard, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSortCard, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ExportDrawer, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterDateCalendar, FilterTextValueInput, FinderGroupStrip, FinderPanelView, FolderGridView, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GroupsColumn, HoverCard, HoverCardContent, HoverCardTrigger, HubRecordCard, HubTable, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Kbd, KbdGroup, KeyMetrics, KeyMetricsContent, KeyMetricsProvider, LIST_PAGE_SPLIT_HUB_HEIGHT_STYLE, LIST_PAGE_SPLIT_MILLER_COLUMN_PANEL_CLASS, LIST_PAGE_SPLIT_MILLER_DETAIL_PANEL_CLASS, LIST_PAGE_SPLIT_RESIZABLE_HANDLE_CLASS, LIST_PAGE_VIEW_FRAME_GUTTER, LIST_PAGE_VIEW_FRAME_MAX_ICON_GRID, LIST_PAGE_VIEW_FRAME_MAX_WIDE, Label, ListPageBoardCard, ListPageBoardCardAvatar, ListPageBoardCardBadgeRow, ListPageBoardCardBody, ListPageBoardCardHeader, ListPageBoardCardSecondary, ListPageBoardCardTitleRow, ListPageBoardTemplate, ListPageConnectedViewBody, ListPageSplitDetailsPlaceholder, ListPageSplitHubChrome, ListPageTemplate, ListPageTreeColumnHeader, ListPageTreePanelShell, ListPageViewFrame, ListPageViewNotConfigured, LocalBanner, MaskedInput, NestedSecondaryPanelShell, OPERATOR_LABELS, OS_FOLDER_GLYPH_SRC, OUTLINE_TREE_CHEVRON_GUIDE_SPACER_CLASS, OUTLINE_TREE_COLLAPSIBLE_CONTENT_RAIL_CLASS, OUTLINE_TREE_SUB_ROW_SHIFT_CLASS, OsFolderGlyph, OutlineTreeCollapsibleContentRail, OutlineTreeLeafButton, OutlineTreeMenu, OutlineTreeMenuItem, OutlineTreeSub, OutlineTreeSubItem, PageHeader, PaginationBar, PaymentCardFieldsGroup, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ROW_HEIGHT_TILES, RULE_COLORS, RadioGroup, RadioGroupItem, RadioGroupLabel, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectionTileGrid, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Shortcut, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, StatusBadge, SystemBanner, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TablePropertiesDrawer, TablePropertiesDrawerButton, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tip, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToggleSwitch, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VIEW_TYPES, ViewSegmentedControl, avatarRootVariants, badgeVariants, buttonVariants, chartTooltipKeyboardSyncProps, checkboxVariants, cn, columnsToFieldDefinitions, columnsToFilterFields, composeRefs, conditionalRuleMatchesRow, createListPageEditViewHandler, dataListViewAddShortcut, dataListViewDefinition, dataListViewIcon, dataListViewLabel, dataListViewSelectionTilesForHub, dataListViewTilesForHub, devLog, exxatInputMaskDefaults, exxatMaskPatterns, exxatTimeMaskOptions, formatDateFromDate, formatDateTimeUS, formatDateUS, formatYmdForDisplay, getAllCoachMarkKeys, getConditionalCellBackground, getConditionalRowBackground, getDataListViewRenderKind, isDataListSurfaceViewType, isDataListViewTypeSupported, isEditableTarget, lineClampClass, localDateToYmd, metricTrendAriaQualifier, metricTrendTone, parseRowDateToYmd, radioGroupItemVariants, rafThrottle, resetAllCoachMarks, resetCoachMarkFlow, selectionTileClassNames, selectionTilePreviewClassNames, showsListPageHubMetricsStrip, statusBadgeVariants, tabsListVariants, toggleVariants, useAltKeyLabel, useAppTheme, useCoachMark, useDraggableList, useExxatCustomMask, useExxatDateMDYMask, useExxatMaskedFieldRef, useExxatPhoneMask, useExxatTimeMask, useExxatZipMask, useFormField, useIsMobile, useKeyMetricsContext, useModKeyLabel, useShortcut, useSidebar, useTableState, usesDashboardSurface, usesDataTableComponent, usesToolbarWithFilteredRows, viewSegmentedButtonClass, viewSegmentedToolbarClass, ymdToLocalDate };
13542
+ export { ALL_DATA_LIST_VIEW_TYPES, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AvatarInitials, AvatarLeoAssistant, AvatarNotificationCount, AvatarPlusAction, AvatarStatus, AvatarVerified, Badge, BoardCardIconRow, BoardCardTwoLineBlock, BoardNewCardPlaceholder, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, COACH_MARK_FLOW_COMPLETED_EVENT, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxLabel, CoachMark, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnRow, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CountSyncer, DATA_LIST_SURFACE_VIEW_TYPES, DATA_LIST_VIEW_REGISTRY, DATA_LIST_VIEW_TILES, DATE_PICKER_ICON_CLASS, DEDICATED_SEARCH_RESULTS_OUTER_CONTENT_CLASSNAME, DEFAULT_DATA_LIST_DISPLAY_OPTIONS, DROPDOWN_MENU_CONTENT_SURFACE_CLASS, DataRowList, DataTable, DataTablePaginated, DataTableToolbar, DatePickerField, DateTextInputField, DedicatedSearchLandingTemplate, DedicatedSearchResultsHeaderChrome, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DragHandleGripIcon, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFilterCard, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSortCard, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ExportDrawer, FULL_HUB_SUPPORTED_VIEWS, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterDateCalendar, FilterTextValueInput, FinderGroupStrip, FinderPanelView, FolderGridView, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GroupsColumn, HoverCard, HoverCardContent, HoverCardTrigger, HubRecordCard, HubTable, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Kbd, KbdGroup, KeyMetrics, KeyMetricsContent, KeyMetricsProvider, LIST_PAGE_SPLIT_HUB_HEIGHT_STYLE, LIST_PAGE_SPLIT_MILLER_COLUMN_PANEL_CLASS, LIST_PAGE_SPLIT_MILLER_DETAIL_PANEL_CLASS, LIST_PAGE_SPLIT_RESIZABLE_HANDLE_CLASS, LIST_PAGE_VIEW_FRAME_GUTTER, LIST_PAGE_VIEW_FRAME_MAX_ICON_GRID, LIST_PAGE_VIEW_FRAME_MAX_WIDE, Label, ListPageBoardCard, ListPageBoardCardAvatar, ListPageBoardCardBadgeRow, ListPageBoardCardBody, ListPageBoardCardHeader, ListPageBoardCardSecondary, ListPageBoardCardTitleRow, ListPageBoardTemplate, ListPageConnectedViewBody, ListPageSplitDetailsPlaceholder, ListPageSplitHubChrome, ListPageTemplate, ListPageTreeColumnHeader, ListPageTreePanelShell, ListPageViewFrame, ListPageViewNotConfigured, LocalBanner, MaskedInput, NestedSecondaryPanelShell, OPERATOR_LABELS, OS_FOLDER_GLYPH_SRC, OUTLINE_TREE_CHEVRON_GUIDE_SPACER_CLASS, OUTLINE_TREE_COLLAPSIBLE_CONTENT_RAIL_CLASS, OUTLINE_TREE_SUB_ROW_SHIFT_CLASS, OsFolderGlyph, OutlineTreeCollapsibleContentRail, OutlineTreeLeafButton, OutlineTreeMenu, OutlineTreeMenuItem, OutlineTreeSub, OutlineTreeSubItem, PRIMARY_HUB_SUPPORTED_VIEWS, PageHeader, PaginationBar, PaymentCardFieldsGroup, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ROW_HEIGHT_TILES, RULE_COLORS, RadioGroup, RadioGroupItem, RadioGroupLabel, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectionTileGrid, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Shortcut, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, StatusBadge, SystemBanner, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TablePropertiesDrawer, TablePropertiesDrawerButton, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tip, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToggleSwitch, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VIEW_TYPES, ViewSegmentedControl, avatarRootVariants, badgeVariants, buildNavHashClaims, buttonVariants, chartTooltipKeyboardSyncProps, checkboxVariants, cn, collectNavUrls, columnsToFieldDefinitions, columnsToFilterFields, composeRefs, conditionalRuleMatchesRow, createListPageEditViewHandler, dataListViewAddShortcut, dataListViewDefinition, dataListViewIcon, dataListViewLabel, dataListViewSelectionTilesForHub, dataListViewTilesForHub, devLog, exxatInputMaskDefaults, exxatMaskPatterns, exxatTimeMaskOptions, formatDateFromDate, formatDateTimeUS, formatDateUS, formatYmdForDisplay, getAllCoachMarkKeys, getConditionalCellBackground, getConditionalRowBackground, getDataListViewRenderKind, isDataListSurfaceViewType, isDataListViewTypeSupported, isEditableTarget, isNavHrefActive, lineClampClass, localDateToYmd, metricTrendAriaQualifier, metricTrendTone, navUrlFragment, navUrlPath, normalizePathname, normalizedLocationHash, parseRowDateToYmd, radioGroupItemVariants, rafThrottle, resetAllCoachMarks, resetCoachMarkFlow, resolveActiveNavHref, selectionTileClassNames, selectionTilePreviewClassNames, showsListPageHubMetricsStrip, statusBadgeVariants, tabsListVariants, toggleVariants, useAltKeyLabel, useAppTheme, useCoachMark, useDraggableList, useExxatCustomMask, useExxatDateMDYMask, useExxatMaskedFieldRef, useExxatPhoneMask, useExxatTimeMask, useExxatZipMask, useFormField, useIsMobile, useKeyMetricsContext, useModKeyLabel, useShortcut, useSidebar, useTableState, usesDashboardSurface, usesDataTableComponent, usesToolbarWithFilteredRows, viewSegmentedButtonClass, viewSegmentedToolbarClass, ymdToLocalDate };
13421
13543
  //# sourceMappingURL=index.js.map
13422
13544
  //# sourceMappingURL=index.js.map