@exxatdesignux/ui 0.5.2 → 0.5.4
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/CHANGELOG.md +18 -0
- package/README.md +1 -1
- package/consumer-extras/cursor-rules/exxat-accessibility.mdc +1 -1
- package/consumer-extras/cursor-rules/exxat-data-tables.mdc +8 -6
- package/consumer-extras/cursor-rules/exxat-drawer-vs-dialog.mdc +4 -4
- package/consumer-extras/cursor-rules/exxat-ds-agents.mdc +6 -1
- package/consumer-extras/cursor-rules/exxat-hub-supported-views.mdc +54 -0
- package/consumer-extras/cursor-rules/exxat-nav-single-active.mdc +31 -0
- package/consumer-extras/cursor-rules/exxat-no-vaul.mdc +25 -0
- package/consumer-extras/cursor-rules/exxat-page-header-actions.mdc +31 -0
- package/consumer-extras/cursor-rules/exxat-table-row-preview.mdc +24 -0
- package/consumer-extras/cursor-rules/exxat-tabs-chrome.mdc +31 -0
- package/consumer-extras/cursor-skills/exxat-drawer-vs-dialog/SKILL.md +5 -5
- package/consumer-extras/cursor-skills/exxat-ds-skill/SKILL.md +10 -5
- package/consumer-extras/cursor-skills/exxat-ds-skill/references/accessibility.md +1 -1
- package/consumer-extras/cursor-skills/exxat-ds-skill/references/data-table-pattern.md +15 -5
- package/consumer-extras/cursor-skills/exxat-token-economy/SKILL.md +14 -5
- package/consumer-extras/handbook/HANDBOOK.md +1 -1
- package/consumer-extras/handbook/reference-implementations.md +2 -2
- package/consumer-extras/patterns/consumer-upgrade-checklist.md +14 -1
- package/consumer-extras/patterns/data-views-pattern.md +6 -0
- package/consumer-extras/patterns/drawer-vs-dialog-pattern.md +50 -0
- package/consumer-extras/patterns/hub-supported-views-pattern.md +53 -0
- package/dist/components/data-table/index.js +13 -9
- package/dist/components/data-table/index.js.map +1 -1
- package/dist/components/data-table/pagination.js +13 -9
- package/dist/components/data-table/pagination.js.map +1 -1
- package/dist/components/data-views/hub-table.d.ts +8 -4
- package/dist/components/data-views/hub-table.js +25 -10
- package/dist/components/data-views/hub-table.js.map +1 -1
- package/dist/components/data-views/index.d.ts +1 -1
- package/dist/components/data-views/index.js +25 -10
- package/dist/components/data-views/index.js.map +1 -1
- package/dist/components/data-views/list-page-connected-view-body.d.ts +1 -1
- package/dist/components/data-views/list-page-connected-view-body.js +1 -0
- package/dist/components/data-views/list-page-connected-view-body.js.map +1 -1
- package/dist/components/table-properties/drawer-button.js +1 -0
- package/dist/components/table-properties/drawer-button.js.map +1 -1
- package/dist/components/table-properties/drawer.js +1 -0
- package/dist/components/table-properties/drawer.js.map +1 -1
- package/dist/components/table-properties/index.d.ts +1 -1
- package/dist/components/table-properties/index.js +1 -0
- package/dist/components/table-properties/index.js.map +1 -1
- package/dist/components/templates/index.d.ts +1 -1
- package/dist/components/templates/index.js +12 -2
- package/dist/components/templates/index.js.map +1 -1
- package/dist/components/templates/list-page.d.ts +4 -2
- package/dist/components/templates/list-page.js +12 -2
- package/dist/components/templates/list-page.js.map +1 -1
- package/dist/{data-list-view-registry-CyBoBML4.d.ts → data-list-view-registry-BstmlfQ3.d.ts} +16 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +135 -126
- package/dist/index.js.map +1 -1
- package/dist/lib/data-list-view-registry.d.ts +1 -1
- package/dist/lib/data-list-view-registry.js +17 -1
- package/dist/lib/data-list-view-registry.js.map +1 -1
- package/dist/lib/data-list-view-surface.d.ts +1 -1
- package/dist/lib/data-list-view-surface.js +1 -0
- package/dist/lib/data-list-view-surface.js.map +1 -1
- package/dist/lib/list-page-table-properties.d.ts +1 -1
- package/dist/lib/list-page-table-properties.js +1 -0
- package/dist/lib/list-page-table-properties.js.map +1 -1
- package/dist/lib/nav-active.d.ts +38 -0
- package/dist/lib/nav-active.js +104 -0
- package/dist/lib/nav-active.js.map +1 -0
- package/package.json +1 -2
- package/src/components/data-table/index.tsx +25 -17
- package/src/components/data-views/hub-table.tsx +9 -3
- package/src/components/templates/list-page.tsx +9 -3
- package/src/index.ts +1 -1
- package/src/lib/data-list-view-registry.ts +31 -0
- package/src/lib/nav-active.ts +162 -0
- package/template/.claude/skills/exxat-ds-skill/SKILL.md +2 -1
- package/template/.cursor/rules/exxat-accessibility.mdc +1 -1
- package/template/AGENTS.md +18 -3
- package/template/components/columns-client.tsx +3 -2
- package/template/components/columns-showcase.tsx +22 -18
- package/template/components/exxat-product-logo.tsx +1 -1
- package/template/components/library-table.tsx +62 -23
- package/template/components/new-library-item-form.tsx +0 -7
- package/template/components/product-wordmark.tsx +1 -1
- package/template/components/sidebar/app-sidebar.tsx +14 -106
- package/template/components/sidebar/secondary-nav.tsx +22 -4
- package/template/components/site-header.tsx +1 -1
- package/template/components/tokens-hub-auxiliary-views.tsx +301 -0
- package/template/components/tokens-themes-client.tsx +44 -16
- package/template/docs/HANDBOOK.md +2 -2
- package/template/docs/component-selection-guide.md +1 -1
- package/template/docs/consumer-upgrade-checklist.md +51 -0
- package/template/docs/data-views-pattern.md +6 -0
- package/template/docs/drawer-vs-dialog-pattern.md +8 -8
- package/template/docs/glossary.md +2 -1
- package/template/docs/hub-supported-views-pattern.md +53 -0
- package/template/docs/reference-implementations.md +2 -2
- package/template/lib/full-hub-supported-views.ts +8 -0
- package/template/lib/library-supported-views.ts +5 -12
- package/template/lib/motion-ui.ts +2 -2
- package/template/package.json +1 -1
- package/tokens/hooks-index.json +2 -2
- package/dist/components/ui/drawer.d.ts +0 -16
- package/dist/components/ui/drawer.js +0 -125
- package/dist/components/ui/drawer.js.map +0 -1
- package/src/components/ui/drawer.tsx +0 -134
- package/template/components/ui/drawer.tsx +0 -1
package/dist/{data-list-view-registry-CyBoBML4.d.ts → data-list-view-registry-BstmlfQ3.d.ts}
RENAMED
|
@@ -39,6 +39,7 @@ declare function usesToolbarWithFilteredRows(view: DataListViewType): boolean;
|
|
|
39
39
|
* `getDataListViewRenderKind` + `ListPageConnectedViewBody` (never a dashboard fallback).
|
|
40
40
|
*
|
|
41
41
|
* @see `docs/data-views-pattern.md` — "View registry and connected bodies"
|
|
42
|
+
* @see `.cursor/rules/exxat-hub-supported-views.mdc` — default hubs use **`FULL_HUB_SUPPORTED_VIEWS`** (seven views)
|
|
42
43
|
*/
|
|
43
44
|
|
|
44
45
|
interface DataListViewDefinition {
|
|
@@ -50,6 +51,20 @@ interface DataListViewDefinition {
|
|
|
50
51
|
hubMetricsStrip: boolean;
|
|
51
52
|
}
|
|
52
53
|
declare const DATA_LIST_VIEW_REGISTRY: readonly DataListViewDefinition[];
|
|
54
|
+
/**
|
|
55
|
+
* Default view allowlist for **primary list hubs** (Placements / Team / Students-style pages).
|
|
56
|
+
* Pair with `ListPageTemplate` + `HubTable` when the hub implements table, list, board,
|
|
57
|
+
* and dashboard renderers. Omit `supportedViewTypes` on both components to use this default.
|
|
58
|
+
*/
|
|
59
|
+
declare const PRIMARY_HUB_SUPPORTED_VIEWS: readonly ["table", "list", "board", "dashboard"];
|
|
60
|
+
/**
|
|
61
|
+
* Default allowlist for **list-page hubs** in this design system (Library / Column types /
|
|
62
|
+
* Tokens, etc.). Matches the All questions hub: table, list, board, dashboard, folder,
|
|
63
|
+
* panel, and tree-panel. Pair with renderers for each kind on `HubTable` + `ListPageTemplate`.
|
|
64
|
+
*/
|
|
65
|
+
declare const FULL_HUB_SUPPORTED_VIEWS: readonly ["table", "list", "board", "dashboard", "folder", "panel", "tree-panel"];
|
|
66
|
+
/** Every registered view type (includes folder, panel, calendar, tree-panel). */
|
|
67
|
+
declare const ALL_DATA_LIST_VIEW_TYPES: DataListViewType[];
|
|
53
68
|
declare function dataListViewDefinition(view: DataListViewType): DataListViewDefinition;
|
|
54
69
|
/** `ListPageTemplate` hub KPI strip — false for calendar and dashboard (inline KPIs). */
|
|
55
70
|
declare function showsListPageHubMetricsStrip(view: DataListViewType): boolean;
|
|
@@ -70,4 +85,4 @@ declare const DATA_LIST_SURFACE_VIEW_TYPES: ReadonlySet<DataListViewType>;
|
|
|
70
85
|
declare function isDataListSurfaceViewType(viewType: string): viewType is DataListViewType;
|
|
71
86
|
declare function isDataListViewTypeSupported(view: DataListViewType, supported: readonly DataListViewType[]): boolean;
|
|
72
87
|
|
|
73
|
-
export { DATA_LIST_SURFACE_VIEW_TYPES as D, DATA_LIST_VIEW_REGISTRY as a, type DataListViewDefinition as b, type DataListViewRenderKind as c, dataListViewDefinition as d, dataListViewSelectionTilesForHub as e, dataListViewTilesForHub as f, getDataListViewRenderKind as g, isDataListViewTypeSupported as h, isDataListSurfaceViewType as i, usesDataTableComponent as j, usesToolbarWithFilteredRows as k, showsListPageHubMetricsStrip as s, usesDashboardSurface as u };
|
|
88
|
+
export { ALL_DATA_LIST_VIEW_TYPES as A, DATA_LIST_SURFACE_VIEW_TYPES as D, FULL_HUB_SUPPORTED_VIEWS as F, PRIMARY_HUB_SUPPORTED_VIEWS as P, DATA_LIST_VIEW_REGISTRY as a, type DataListViewDefinition as b, type DataListViewRenderKind as c, dataListViewDefinition as d, dataListViewSelectionTilesForHub as e, dataListViewTilesForHub as f, getDataListViewRenderKind as g, isDataListViewTypeSupported as h, isDataListSurfaceViewType as i, usesDataTableComponent as j, usesToolbarWithFilteredRows as k, showsListPageHubMetricsStrip as s, usesDashboardSurface as u };
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,8 @@ export { ColumnRow } from './components/table-properties/column-row.js';
|
|
|
31
31
|
export { useDraggableList } from './components/table-properties/draggable-list.js';
|
|
32
32
|
export { CreateListPageEditViewHandlerOptions, OpenTablePropertiesHandle, createListPageEditViewHandler } from './lib/list-page-table-properties.js';
|
|
33
33
|
export { DATA_LIST_VIEW_TILES, DataListViewType, dataListViewAddShortcut, dataListViewIcon, dataListViewLabel } from './lib/data-list-view.js';
|
|
34
|
-
export { D as DATA_LIST_SURFACE_VIEW_TYPES, a as DATA_LIST_VIEW_REGISTRY, b as DataListViewDefinition, c as DataListViewRenderKind, d as dataListViewDefinition, e as dataListViewSelectionTilesForHub, f as dataListViewTilesForHub, g as getDataListViewRenderKind, i as isDataListSurfaceViewType, h as isDataListViewTypeSupported, s as showsListPageHubMetricsStrip, u as usesDashboardSurface, j as usesDataTableComponent, k as usesToolbarWithFilteredRows } from './data-list-view-registry-
|
|
34
|
+
export { A as ALL_DATA_LIST_VIEW_TYPES, D as DATA_LIST_SURFACE_VIEW_TYPES, a as DATA_LIST_VIEW_REGISTRY, b as DataListViewDefinition, c as DataListViewRenderKind, F as FULL_HUB_SUPPORTED_VIEWS, P as PRIMARY_HUB_SUPPORTED_VIEWS, d as dataListViewDefinition, e as dataListViewSelectionTilesForHub, f as dataListViewTilesForHub, g as getDataListViewRenderKind, i as isDataListSurfaceViewType, h as isDataListViewTypeSupported, s as showsListPageHubMetricsStrip, u as usesDashboardSurface, j as usesDataTableComponent, k as usesToolbarWithFilteredRows } from './data-list-view-registry-BstmlfQ3.js';
|
|
35
|
+
export { buildNavHashClaims, collectNavUrls, isNavHrefActive, navUrlFragment, navUrlPath, normalizePathname, normalizedLocationHash, resolveActiveNavHref } from './lib/nav-active.js';
|
|
35
36
|
export { BoardLineCount, DEFAULT_DATA_LIST_DISPLAY_OPTIONS, DataListDisplayOptions } from './lib/data-list-display-options.js';
|
|
36
37
|
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './components/ui/accordion.js';
|
|
37
38
|
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './components/ui/alert-dialog.js';
|
|
@@ -51,7 +52,6 @@ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGr
|
|
|
51
52
|
export { DATE_PICKER_ICON_CLASS, DatePickerField, DatePickerFieldProps, DateTextInputField, DateTextInputFieldProps } from './components/ui/date-picker-field.js';
|
|
52
53
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './components/ui/dialog.js';
|
|
53
54
|
export { DragHandleGripIcon } from './components/ui/drag-handle-grip.js';
|
|
54
|
-
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from './components/ui/drawer.js';
|
|
55
55
|
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Shortcut, useShortcut } from './components/ui/dropdown-menu.js';
|
|
56
56
|
export { ExportDrawer, ExportDrawerProps } from './components/ui/export-drawer.js';
|
|
57
57
|
export { HoverCard, HoverCardContent, HoverCardTrigger } from './components/ui/hover-card.js';
|
|
@@ -114,7 +114,6 @@ import 'react-day-picker';
|
|
|
114
114
|
import 'recharts';
|
|
115
115
|
import 'cmdk';
|
|
116
116
|
import '@radix-ui/react-dialog';
|
|
117
|
-
import 'vaul';
|
|
118
117
|
import 'react-hook-form';
|
|
119
118
|
import 'sonner';
|
|
120
119
|
import 'clsx';
|
package/dist/index.js
CHANGED
|
@@ -20,7 +20,6 @@ import { motion } from 'motion/react';
|
|
|
20
20
|
import * as RechartsPrimitive from 'recharts';
|
|
21
21
|
import { Command as Command$1 } from 'cmdk';
|
|
22
22
|
import * as DialogPrimitive2 from '@radix-ui/react-dialog';
|
|
23
|
-
import { Drawer as Drawer$1 } from 'vaul';
|
|
24
23
|
import { usePaymentInputs } from 'react-payment-inputs';
|
|
25
24
|
export { usePaymentInputs } from 'react-payment-inputs';
|
|
26
25
|
import images from 'react-payment-inputs/images';
|
|
@@ -2719,13 +2718,15 @@ function useBulkBarFixedToTableScrollEl(scrollRef, active, fullWidth) {
|
|
|
2719
2718
|
const scheduled = rafThrottle(apply);
|
|
2720
2719
|
const ro = new ResizeObserver(scheduled);
|
|
2721
2720
|
ro.observe(el);
|
|
2721
|
+
el.addEventListener("scroll", scheduled, { passive: true });
|
|
2722
2722
|
window.addEventListener("resize", scheduled, { passive: true });
|
|
2723
|
-
window.addEventListener("scroll", scheduled, { passive: true
|
|
2723
|
+
window.addEventListener("scroll", scheduled, { passive: true });
|
|
2724
2724
|
return () => {
|
|
2725
2725
|
scheduled.cancel();
|
|
2726
2726
|
ro.disconnect();
|
|
2727
|
+
el.removeEventListener("scroll", scheduled);
|
|
2727
2728
|
window.removeEventListener("resize", scheduled);
|
|
2728
|
-
window.removeEventListener("scroll", scheduled
|
|
2729
|
+
window.removeEventListener("scroll", scheduled);
|
|
2729
2730
|
};
|
|
2730
2731
|
}, [active, fullWidth, scrollRef]);
|
|
2731
2732
|
return style;
|
|
@@ -2892,11 +2893,13 @@ function DataTableInner({
|
|
|
2892
2893
|
};
|
|
2893
2894
|
update();
|
|
2894
2895
|
const scheduled = rafThrottle(update);
|
|
2895
|
-
|
|
2896
|
+
wrapEl.addEventListener("scroll", scheduled, { passive: true });
|
|
2897
|
+
window.addEventListener("scroll", scheduled, { passive: true });
|
|
2896
2898
|
window.addEventListener("resize", scheduled, { passive: true });
|
|
2897
2899
|
return () => {
|
|
2898
2900
|
scheduled.cancel();
|
|
2899
|
-
|
|
2901
|
+
wrapEl.removeEventListener("scroll", scheduled);
|
|
2902
|
+
window.removeEventListener("scroll", scheduled);
|
|
2900
2903
|
window.removeEventListener("resize", scheduled);
|
|
2901
2904
|
};
|
|
2902
2905
|
}, [showColumnHeaders, rows.length, displayCols.length]);
|
|
@@ -3333,11 +3336,11 @@ function DataTableInner({
|
|
|
3333
3336
|
const rowPy = rowHeight === "compact" ? "py-1" : rowHeight === "comfortable" ? "py-4" : "py-2.5";
|
|
3334
3337
|
const cs = cellStyle(col.key);
|
|
3335
3338
|
const tdBase = cn(
|
|
3336
|
-
`px-3 ${rowPy} align-middle`,
|
|
3339
|
+
`px-3 ${rowPy} align-middle max-w-0`,
|
|
3337
3340
|
showGridlines && !isEdgePin && "border-e border-border last:border-e-0",
|
|
3338
3341
|
"border-b border-border group-last/row:border-b-0",
|
|
3339
3342
|
isPinned && [
|
|
3340
|
-
"z-20 pinned-cell",
|
|
3343
|
+
"z-20 pinned-cell relative",
|
|
3341
3344
|
"bg-dt-row-bg",
|
|
3342
3345
|
"group-data-[state=selected]/row:bg-dt-row-selected",
|
|
3343
3346
|
"group-hover/row:bg-dt-row-hover",
|
|
@@ -3387,17 +3390,17 @@ function DataTableInner({
|
|
|
3387
3390
|
wrap && "[&_.truncate]:!whitespace-normal [&_.truncate]:!overflow-visible [&_.truncate]:!text-clip"
|
|
3388
3391
|
),
|
|
3389
3392
|
style: tdStyle,
|
|
3390
|
-
children: col.cell(row, {
|
|
3393
|
+
children: /* @__PURE__ */ jsx("div", { className: "min-w-0 overflow-hidden", children: col.cell(row, {
|
|
3391
3394
|
rowIndex,
|
|
3392
3395
|
selected: isSelected,
|
|
3393
3396
|
onSelect: (checked) => checked ? setSelected((prev) => /* @__PURE__ */ new Set([...prev, rowId])) : toggleRow(rowId)
|
|
3394
|
-
})
|
|
3397
|
+
}) })
|
|
3395
3398
|
},
|
|
3396
3399
|
col.key
|
|
3397
3400
|
);
|
|
3398
3401
|
}
|
|
3399
3402
|
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);
|
|
3403
|
+
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
3404
|
})
|
|
3402
3405
|
},
|
|
3403
3406
|
String(rowId)
|
|
@@ -3795,6 +3798,22 @@ var BY_VALUE = new Map(
|
|
|
3795
3798
|
DEFINITIONS.map((d) => [d.value, d])
|
|
3796
3799
|
);
|
|
3797
3800
|
var DATA_LIST_VIEW_REGISTRY = DEFINITIONS;
|
|
3801
|
+
var PRIMARY_HUB_SUPPORTED_VIEWS = [
|
|
3802
|
+
"table",
|
|
3803
|
+
"list",
|
|
3804
|
+
"board",
|
|
3805
|
+
"dashboard"
|
|
3806
|
+
];
|
|
3807
|
+
var FULL_HUB_SUPPORTED_VIEWS = [
|
|
3808
|
+
"table",
|
|
3809
|
+
"list",
|
|
3810
|
+
"board",
|
|
3811
|
+
"dashboard",
|
|
3812
|
+
"folder",
|
|
3813
|
+
"panel",
|
|
3814
|
+
"tree-panel"
|
|
3815
|
+
];
|
|
3816
|
+
var ALL_DATA_LIST_VIEW_TYPES = DATA_LIST_VIEW_REGISTRY.map((d) => d.value);
|
|
3798
3817
|
function dataListViewDefinition(view) {
|
|
3799
3818
|
const def = BY_VALUE.get(view);
|
|
3800
3819
|
if (!def) {
|
|
@@ -6157,7 +6176,7 @@ function HubTable({
|
|
|
6157
6176
|
columns,
|
|
6158
6177
|
view,
|
|
6159
6178
|
onViewChange,
|
|
6160
|
-
supportedViewTypes,
|
|
6179
|
+
supportedViewTypes: supportedViewTypesProp,
|
|
6161
6180
|
hubLabel,
|
|
6162
6181
|
lifecycleTabLabel,
|
|
6163
6182
|
searchAriaLabel,
|
|
@@ -6193,6 +6212,7 @@ function HubTable({
|
|
|
6193
6212
|
boardColumnCountBadgeClassName,
|
|
6194
6213
|
boardEmptyColumnLabel
|
|
6195
6214
|
}) {
|
|
6215
|
+
const supportedViewTypes = supportedViewTypesProp ?? FULL_HUB_SUPPORTED_VIEWS;
|
|
6196
6216
|
const filterFields = React10.useMemo(() => columnsToFilterFields(columns), [columns]);
|
|
6197
6217
|
const fieldDefinitions = React10.useMemo(() => columnsToFieldDefinitions(columns), [columns]);
|
|
6198
6218
|
const resolveColumnLabel = React10.useCallback(
|
|
@@ -8331,8 +8351,8 @@ function ListPageTemplate({
|
|
|
8331
8351
|
supportedViewTypes
|
|
8332
8352
|
}) {
|
|
8333
8353
|
const addableViewTypes = React10.useMemo(() => {
|
|
8334
|
-
|
|
8335
|
-
const allowed = new Set(
|
|
8354
|
+
const allowlist = supportedViewTypes && supportedViewTypes.length > 0 ? supportedViewTypes : FULL_HUB_SUPPORTED_VIEWS;
|
|
8355
|
+
const allowed = new Set(allowlist);
|
|
8336
8356
|
return VIEW_TYPES.filter((v) => allowed.has(v.type));
|
|
8337
8357
|
}, [supportedViewTypes]);
|
|
8338
8358
|
const controlled = tabsProp !== void 0 && onTabsChange !== void 0 && activeTabIdProp !== void 0 && onActiveTabChange !== void 0;
|
|
@@ -8986,6 +9006,107 @@ var DEDICATED_SEARCH_RESULTS_OUTER_CONTENT_CLASSNAME = "border-t border-border/4
|
|
|
8986
9006
|
function DedicatedSearchResultsHeaderChrome({ children, className }) {
|
|
8987
9007
|
return /* @__PURE__ */ jsx("div", { className: cn("border-b border-border/50 bg-muted/15", className), children });
|
|
8988
9008
|
}
|
|
9009
|
+
|
|
9010
|
+
// src/lib/nav-active.ts
|
|
9011
|
+
function normalizePathname(pathname) {
|
|
9012
|
+
if (pathname.length > 1 && pathname.endsWith("/")) return pathname.slice(0, -1);
|
|
9013
|
+
return pathname;
|
|
9014
|
+
}
|
|
9015
|
+
function navUrlPath(url) {
|
|
9016
|
+
const hash = url.indexOf("#");
|
|
9017
|
+
return hash >= 0 ? url.slice(0, hash) : url;
|
|
9018
|
+
}
|
|
9019
|
+
function navUrlFragment(url) {
|
|
9020
|
+
const i = url.indexOf("#");
|
|
9021
|
+
return i >= 0 ? url.slice(i + 1) : null;
|
|
9022
|
+
}
|
|
9023
|
+
function normalizedLocationHash(locationHash) {
|
|
9024
|
+
if (!locationHash) return "";
|
|
9025
|
+
return locationHash.startsWith("#") ? locationHash.slice(1) : locationHash;
|
|
9026
|
+
}
|
|
9027
|
+
function buildNavHashClaims(urls) {
|
|
9028
|
+
const map = /* @__PURE__ */ new Map();
|
|
9029
|
+
for (const url of urls) {
|
|
9030
|
+
const p = navUrlPath(url);
|
|
9031
|
+
const f = navUrlFragment(url);
|
|
9032
|
+
if (!p || f === null) continue;
|
|
9033
|
+
let set = map.get(p);
|
|
9034
|
+
if (!set) {
|
|
9035
|
+
set = /* @__PURE__ */ new Set();
|
|
9036
|
+
map.set(p, set);
|
|
9037
|
+
}
|
|
9038
|
+
set.add(f);
|
|
9039
|
+
}
|
|
9040
|
+
return map;
|
|
9041
|
+
}
|
|
9042
|
+
function navHasMoreSpecificHashMatch(pathname, locationHash, hashClaimsByPath) {
|
|
9043
|
+
const claims = hashClaimsByPath.get(pathname);
|
|
9044
|
+
if (!claims) return false;
|
|
9045
|
+
const h = normalizedLocationHash(locationHash);
|
|
9046
|
+
if (h === "") return false;
|
|
9047
|
+
return claims.has(h);
|
|
9048
|
+
}
|
|
9049
|
+
function pathnameMatchesNavPath(pathname, pathOnly, locationHash, hashClaimsByPath) {
|
|
9050
|
+
const norm = normalizePathname(pathname);
|
|
9051
|
+
const h = normalizedLocationHash(locationHash);
|
|
9052
|
+
if (pathOnly === "/") {
|
|
9053
|
+
if (norm !== "/" || h !== "") return false;
|
|
9054
|
+
return !navHasMoreSpecificHashMatch("/", locationHash, hashClaimsByPath);
|
|
9055
|
+
}
|
|
9056
|
+
if (norm === pathOnly) {
|
|
9057
|
+
return !navHasMoreSpecificHashMatch(pathOnly, locationHash, hashClaimsByPath);
|
|
9058
|
+
}
|
|
9059
|
+
if (pathOnly === "/library") {
|
|
9060
|
+
return norm.startsWith("/library/");
|
|
9061
|
+
}
|
|
9062
|
+
if (pathOnly.startsWith("/library/")) {
|
|
9063
|
+
return norm === pathOnly;
|
|
9064
|
+
}
|
|
9065
|
+
return norm.startsWith(`${pathOnly}/`);
|
|
9066
|
+
}
|
|
9067
|
+
function resolveActiveNavHref(pathname, candidateUrls, options) {
|
|
9068
|
+
const norm = normalizePathname(pathname);
|
|
9069
|
+
const hashClaims = options?.hashClaimsByPath ?? buildNavHashClaims(candidateUrls);
|
|
9070
|
+
const locationHash = options?.locationHash ?? "";
|
|
9071
|
+
let bestHref = null;
|
|
9072
|
+
let bestLen = -1;
|
|
9073
|
+
for (const url of candidateUrls) {
|
|
9074
|
+
const pathOnly = navUrlPath(url);
|
|
9075
|
+
const frag = navUrlFragment(url);
|
|
9076
|
+
if (!pathOnly || pathOnly === "#") continue;
|
|
9077
|
+
let matches = false;
|
|
9078
|
+
if (frag !== null) {
|
|
9079
|
+
const h = normalizedLocationHash(locationHash);
|
|
9080
|
+
if (pathOnly === "/") matches = norm === "/" && h === frag;
|
|
9081
|
+
else if (pathOnly === "/library") matches = norm.startsWith("/library/") && h === frag;
|
|
9082
|
+
else if (pathOnly.startsWith("/library/")) matches = norm === pathOnly && h === frag;
|
|
9083
|
+
else matches = norm === pathOnly && h === frag;
|
|
9084
|
+
} else {
|
|
9085
|
+
matches = pathnameMatchesNavPath(norm, pathOnly, locationHash, hashClaims);
|
|
9086
|
+
}
|
|
9087
|
+
if (matches && pathOnly.length > bestLen) {
|
|
9088
|
+
bestHref = url;
|
|
9089
|
+
bestLen = pathOnly.length;
|
|
9090
|
+
}
|
|
9091
|
+
}
|
|
9092
|
+
return bestHref;
|
|
9093
|
+
}
|
|
9094
|
+
function isNavHrefActive(pathname, url, allNavUrls, options) {
|
|
9095
|
+
const active = resolveActiveNavHref(pathname, allNavUrls, options);
|
|
9096
|
+
if (!active) return false;
|
|
9097
|
+
return navUrlPath(active) === navUrlPath(url) && navUrlFragment(active) === navUrlFragment(url);
|
|
9098
|
+
}
|
|
9099
|
+
function collectNavUrls(items) {
|
|
9100
|
+
const out = [];
|
|
9101
|
+
const walk = (list) => {
|
|
9102
|
+
for (const it of list) {
|
|
9103
|
+
if (typeof it.url === "string" && it.url.length > 0 && it.url !== "#") out.push(it.url);
|
|
9104
|
+
if (Array.isArray(it.children)) walk(it.children);
|
|
9105
|
+
}
|
|
9106
|
+
};
|
|
9107
|
+
walk(items);
|
|
9108
|
+
return out;
|
|
9109
|
+
}
|
|
8989
9110
|
function Accordion({
|
|
8990
9111
|
...props
|
|
8991
9112
|
}) {
|
|
@@ -10531,118 +10652,6 @@ function ContextMenuShortcut({
|
|
|
10531
10652
|
}
|
|
10532
10653
|
);
|
|
10533
10654
|
}
|
|
10534
|
-
function Drawer({
|
|
10535
|
-
...props
|
|
10536
|
-
}) {
|
|
10537
|
-
return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
|
|
10538
|
-
}
|
|
10539
|
-
function DrawerTrigger({
|
|
10540
|
-
...props
|
|
10541
|
-
}) {
|
|
10542
|
-
return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
10543
|
-
}
|
|
10544
|
-
function DrawerPortal({
|
|
10545
|
-
...props
|
|
10546
|
-
}) {
|
|
10547
|
-
return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
|
|
10548
|
-
}
|
|
10549
|
-
function DrawerClose({
|
|
10550
|
-
...props
|
|
10551
|
-
}) {
|
|
10552
|
-
return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
|
|
10553
|
-
}
|
|
10554
|
-
function DrawerOverlay({
|
|
10555
|
-
className,
|
|
10556
|
-
...props
|
|
10557
|
-
}) {
|
|
10558
|
-
return /* @__PURE__ */ jsx(
|
|
10559
|
-
Drawer$1.Overlay,
|
|
10560
|
-
{
|
|
10561
|
-
"data-slot": "drawer-overlay",
|
|
10562
|
-
className: cn(
|
|
10563
|
-
"fixed inset-0 z-50 bg-overlay duration-300 ease-out supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
10564
|
-
className
|
|
10565
|
-
),
|
|
10566
|
-
...props
|
|
10567
|
-
}
|
|
10568
|
-
);
|
|
10569
|
-
}
|
|
10570
|
-
function DrawerContent({
|
|
10571
|
-
className,
|
|
10572
|
-
children,
|
|
10573
|
-
...props
|
|
10574
|
-
}) {
|
|
10575
|
-
return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
10576
|
-
/* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
10577
|
-
/* @__PURE__ */ jsxs(
|
|
10578
|
-
Drawer$1.Content,
|
|
10579
|
-
{
|
|
10580
|
-
"data-slot": "drawer-content",
|
|
10581
|
-
className: cn(
|
|
10582
|
-
"group/drawer-content fixed z-50 flex h-auto flex-col bg-background text-sm duration-300 ease-out outline-none data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:start-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-e-xl data-[vaul-drawer-direction=left]:border-e data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:end-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-s-xl data-[vaul-drawer-direction=right]:border-s data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
10583
|
-
className
|
|
10584
|
-
),
|
|
10585
|
-
...props,
|
|
10586
|
-
children: [
|
|
10587
|
-
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
10588
|
-
children
|
|
10589
|
-
]
|
|
10590
|
-
}
|
|
10591
|
-
)
|
|
10592
|
-
] });
|
|
10593
|
-
}
|
|
10594
|
-
function DrawerHeader({ className, ...props }) {
|
|
10595
|
-
return /* @__PURE__ */ jsx(
|
|
10596
|
-
"div",
|
|
10597
|
-
{
|
|
10598
|
-
"data-slot": "drawer-header",
|
|
10599
|
-
className: cn(
|
|
10600
|
-
"flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-start",
|
|
10601
|
-
className
|
|
10602
|
-
),
|
|
10603
|
-
...props
|
|
10604
|
-
}
|
|
10605
|
-
);
|
|
10606
|
-
}
|
|
10607
|
-
function DrawerFooter({ className, ...props }) {
|
|
10608
|
-
return /* @__PURE__ */ jsx(
|
|
10609
|
-
"div",
|
|
10610
|
-
{
|
|
10611
|
-
"data-slot": "drawer-footer",
|
|
10612
|
-
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
10613
|
-
...props
|
|
10614
|
-
}
|
|
10615
|
-
);
|
|
10616
|
-
}
|
|
10617
|
-
function DrawerTitle({
|
|
10618
|
-
className,
|
|
10619
|
-
...props
|
|
10620
|
-
}) {
|
|
10621
|
-
return /* @__PURE__ */ jsx(
|
|
10622
|
-
Drawer$1.Title,
|
|
10623
|
-
{
|
|
10624
|
-
"data-slot": "drawer-title",
|
|
10625
|
-
className: cn(
|
|
10626
|
-
"font-heading text-base font-medium text-foreground",
|
|
10627
|
-
className
|
|
10628
|
-
),
|
|
10629
|
-
...props
|
|
10630
|
-
}
|
|
10631
|
-
);
|
|
10632
|
-
}
|
|
10633
|
-
function DrawerDescription({
|
|
10634
|
-
className,
|
|
10635
|
-
...props
|
|
10636
|
-
}) {
|
|
10637
|
-
return /* @__PURE__ */ jsx(
|
|
10638
|
-
Drawer$1.Description,
|
|
10639
|
-
{
|
|
10640
|
-
"data-slot": "drawer-description",
|
|
10641
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
10642
|
-
...props
|
|
10643
|
-
}
|
|
10644
|
-
);
|
|
10645
|
-
}
|
|
10646
10655
|
function HoverCard({
|
|
10647
10656
|
...props
|
|
10648
10657
|
}) {
|
|
@@ -13417,6 +13426,6 @@ function useCoachMark({
|
|
|
13417
13426
|
};
|
|
13418
13427
|
}
|
|
13419
13428
|
|
|
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,
|
|
13429
|
+
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, DrawerFilterCard, DrawerSortCard, 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
13430
|
//# sourceMappingURL=index.js.map
|
|
13422
13431
|
//# sourceMappingURL=index.js.map
|