@mastra/playground-ui 65.0.0-alpha.1 → 65.0.0-alpha.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 (134) hide show
  1. package/dist/components/ChatShell.cjs.js +2 -2
  2. package/dist/components/ChatShell.cjs.js.map +1 -1
  3. package/dist/components/ChatShell.es.js +2 -2
  4. package/dist/components/ChatShell.es.js.map +1 -1
  5. package/dist/components/Composer.cjs.js +1 -1
  6. package/dist/components/Composer.cjs.js.map +1 -1
  7. package/dist/components/Composer.es.js +1 -1
  8. package/dist/components/Composer.es.js.map +1 -1
  9. package/dist/components/DataList.cjs.js +17 -15
  10. package/dist/components/DataList.cjs.js.map +1 -1
  11. package/dist/components/DataList.es.js +5 -4
  12. package/dist/components/DataList.es.js.map +1 -1
  13. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  14. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  15. package/dist/components/LogsDataList.cjs.js +2 -5
  16. package/dist/components/LogsDataList.cjs.js.map +1 -1
  17. package/dist/components/LogsDataList.es.js +2 -5
  18. package/dist/components/LogsDataList.es.js.map +1 -1
  19. package/dist/components/MessageScroller.cjs.js +1 -1
  20. package/dist/components/MessageScroller.es.js +1 -1
  21. package/dist/components/SavedViews.cjs.js +0 -1
  22. package/dist/components/SavedViews.cjs.js.map +1 -1
  23. package/dist/components/SavedViews.es.js +0 -1
  24. package/dist/components/SavedViews.es.js.map +1 -1
  25. package/dist/components/fluid-hover-highlight.cjs.js +7 -1
  26. package/dist/components/fluid-hover-highlight.cjs.js.map +1 -1
  27. package/dist/components/fluid-hover-highlight.es.js +7 -1
  28. package/dist/components/fluid-hover-highlight.es.js.map +1 -1
  29. package/dist/data-list-CmjTe8xE.cjs +142 -0
  30. package/dist/data-list-CmjTe8xE.cjs.map +1 -0
  31. package/dist/data-list-DT1LVR29.js +138 -0
  32. package/dist/data-list-DT1LVR29.js.map +1 -0
  33. package/dist/{data-list-skeleton-CGKlcoiI.js → data-list-skeleton-bNfITSHs.js} +2 -2
  34. package/dist/{data-list-skeleton-CGKlcoiI.js.map → data-list-skeleton-bNfITSHs.js.map} +1 -1
  35. package/dist/{data-list-skeleton-DGMTqeNP.cjs → data-list-skeleton-sdcaabdX.cjs} +6 -6
  36. package/dist/{data-list-skeleton-DGMTqeNP.cjs.map → data-list-skeleton-sdcaabdX.cjs.map} +1 -1
  37. package/dist/data-list-spacer-CdlT6bDd.cjs +218 -0
  38. package/dist/data-list-spacer-CdlT6bDd.cjs.map +1 -0
  39. package/dist/data-list-spacer-D--gDmOm.js +209 -0
  40. package/dist/data-list-spacer-D--gDmOm.js.map +1 -0
  41. package/dist/{data-list-ecHsw-zr.cjs → data-list-top-DJh08vFA.cjs} +14 -347
  42. package/dist/data-list-top-DJh08vFA.cjs.map +1 -0
  43. package/dist/{data-list-DdCZZctL.js → data-list-top-T-mtdIUp.js} +6 -340
  44. package/dist/data-list-top-T-mtdIUp.js.map +1 -0
  45. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +0 -3
  46. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  47. package/dist/domains/chat/tools/badges/workflow-badge.es.js +0 -3
  48. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  49. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
  50. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  51. package/dist/domains/logs/components/logs-list-view.es.js +2 -3
  52. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  53. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
  54. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  55. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
  56. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  57. package/dist/domains/traces/components/format-hierarchical-spans.cjs.js +12 -13
  58. package/dist/domains/traces/components/format-hierarchical-spans.cjs.js.map +1 -1
  59. package/dist/domains/traces/components/format-hierarchical-spans.es.js +12 -13
  60. package/dist/domains/traces/components/format-hierarchical-spans.es.js.map +1 -1
  61. package/dist/domains/traces/components/span-rows.cjs.js +2 -1
  62. package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
  63. package/dist/domains/traces/components/span-rows.es.js +2 -1
  64. package/dist/domains/traces/components/span-rows.es.js.map +1 -1
  65. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
  66. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
  67. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
  68. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
  69. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  70. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  71. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +0 -1
  72. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  73. package/dist/domains/traces/components/thread-view-by-trace.es.js +0 -1
  74. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  75. package/dist/domains/traces/components/trace-data-panel.cjs.js +0 -3
  76. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  77. package/dist/domains/traces/components/trace-data-panel.es.js +0 -3
  78. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  79. package/dist/domains/traces/components/trace-span-timeline.cjs.js +2 -1
  80. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  81. package/dist/domains/traces/components/trace-span-timeline.es.js +2 -1
  82. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  83. package/dist/domains/traces/components/traces-list-view.cjs.js +5 -4
  84. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  85. package/dist/domains/traces/components/traces-list-view.es.js +4 -3
  86. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  87. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
  88. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  89. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
  90. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  91. package/dist/domains/traces/utils/span-timing.cjs.js +10 -0
  92. package/dist/domains/traces/utils/span-timing.cjs.js.map +1 -1
  93. package/dist/domains/traces/utils/span-timing.es.js +10 -1
  94. package/dist/domains/traces/utils/span-timing.es.js.map +1 -1
  95. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  96. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  97. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  98. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  99. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  100. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  101. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -3
  102. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  103. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -3
  104. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  105. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  106. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  107. package/dist/hooks/use-fluid-hover.cjs.js +3 -2
  108. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
  109. package/dist/hooks/use-fluid-hover.es.js +3 -2
  110. package/dist/hooks/use-fluid-hover.es.js.map +1 -1
  111. package/dist/layout/tabbed-container.cjs.js +1 -1
  112. package/dist/layout/tabbed-container.es.js +1 -1
  113. package/dist/{logs-data-list-DBJINzIL.js → logs-data-list-Cb85LPcT.js} +3 -2
  114. package/dist/{logs-data-list-DBJINzIL.js.map → logs-data-list-Cb85LPcT.js.map} +1 -1
  115. package/dist/{logs-data-list-IWZgMCKG.cjs → logs-data-list-DlQxxrNw.cjs} +22 -21
  116. package/dist/{logs-data-list-IWZgMCKG.cjs.map → logs-data-list-DlQxxrNw.cjs.map} +1 -1
  117. package/dist/{message-scroller-CS1KxKn6.js → message-scroller-C6gXU5d5.js} +2 -2
  118. package/dist/{message-scroller-CS1KxKn6.js.map → message-scroller-C6gXU5d5.js.map} +1 -1
  119. package/dist/{message-scroller-C4fH6uJg.cjs → message-scroller-fjucuCuw.cjs} +2 -2
  120. package/dist/{message-scroller-C4fH6uJg.cjs.map → message-scroller-fjucuCuw.cjs.map} +1 -1
  121. package/dist/scroll-area-CAY0DNQj.cjs.map +1 -1
  122. package/dist/scroll-area-MaMqo4l8.js.map +1 -1
  123. package/dist/src/domains/traces/utils/span-timing.d.ts +2 -0
  124. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +3 -2
  125. package/dist/src/ds/components/ScrollArea/scroll-area.d.ts +4 -0
  126. package/dist/src/hooks/use-fluid-hover.d.ts +1 -0
  127. package/dist/style.css +10 -12
  128. package/dist/{traces-data-list-BH24OVKh.cjs → traces-data-list-Bhhg9drs.cjs} +20 -18
  129. package/dist/{traces-data-list-BH24OVKh.cjs.map → traces-data-list-Bhhg9drs.cjs.map} +1 -1
  130. package/dist/{traces-data-list-BOJB37dV.js → traces-data-list-DMWPJFBc.js} +4 -2
  131. package/dist/{traces-data-list-BOJB37dV.js.map → traces-data-list-DMWPJFBc.js.map} +1 -1
  132. package/package.json +8 -8
  133. package/dist/data-list-DdCZZctL.js.map +0 -1
  134. package/dist/data-list-ecHsw-zr.cjs.map +0 -1
@@ -0,0 +1,142 @@
1
+ 'use strict';
2
+
3
+ const dataListTop = require('./data-list-top-DJh08vFA.cjs');
4
+ const jsxRuntime = require('react/jsx-runtime');
5
+ const React = require('react');
6
+ const hooks_useFluidHover = require('./hooks/use-fluid-hover.cjs.js');
7
+ const utils_cn = require('./cn-DlOJCxrS.cjs');
8
+ const dataListSpacer = require('./data-list-spacer-CdlT6bDd.cjs');
9
+ const lucideReact = require('lucide-react');
10
+ const Button = require('./Button-DH1aTzbs.cjs');
11
+ const Txt = require('./Txt-CIS2G5Jx.cjs');
12
+
13
+ const DataListGroup = React.forwardRef(({ className, ...rest }, ref) => {
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ "section",
16
+ {
17
+ ref,
18
+ ...{ [hooks_useFluidHover.GROUP_ATTR]: "" },
19
+ className: utils_cn.cn("col-span-full grid grid-cols-subgrid gap-y-px [&>:not(.data-list-row)]:col-span-full", className),
20
+ ...rest
21
+ }
22
+ );
23
+ });
24
+ DataListGroup.displayName = "DataListGroup";
25
+
26
+ function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }) {
27
+ const showNavigation = typeof currentPage === "number" && currentPage > 0 || hasMore;
28
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-full flex items-center justify-center gap-4 py-3 text-body text-muted-foreground", children: [
29
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
30
+ "Page ",
31
+ /* @__PURE__ */ jsxRuntime.jsx("b", { children: currentPage ? currentPage + 1 : "1" })
32
+ ] }),
33
+ showNavigation && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
34
+ typeof currentPage === "number" && currentPage > 0 && /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "button", size: "sm", onClick: onPrevPage, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeftIcon, {}), children: "Previous" }),
35
+ hasMore && /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "button", size: "sm", onClick: onNextPage, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRightIcon, {}), children: "Next" })
36
+ ] })
37
+ ] });
38
+ }
39
+
40
+ const DataListRowStatic = React.forwardRef(
41
+ ({ children, className, colStart, colEnd, featured, variant, style, ...rest }, ref) => {
42
+ const isWrapped = dataListSpacer.useDataListRowWrapperContext();
43
+ const hasColumnOverride = colStart !== void 0 || colEnd !== void 0;
44
+ const cellsClass = hasColumnOverride ? void 0 : "data-list-cells";
45
+ const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;
46
+ return /* @__PURE__ */ jsxRuntime.jsx(
47
+ "div",
48
+ {
49
+ ref,
50
+ className: utils_cn.cn(isWrapped ? "grid grid-cols-subgrid gap-4 px-3" : dataListTop.dataListRowStaticStyles, cellsClass, className),
51
+ style: resolvedStyle,
52
+ "data-featured": featured || void 0,
53
+ "data-variant": variant ?? "default",
54
+ ...rest,
55
+ children
56
+ }
57
+ );
58
+ }
59
+ );
60
+ DataListRowStatic.displayName = "DataListRowStatic";
61
+
62
+ const DataListSubheader = React.forwardRef(
63
+ ({ children, className, ...rest }, ref) => {
64
+ return /* @__PURE__ */ jsxRuntime.jsx(
65
+ "div",
66
+ {
67
+ ref,
68
+ className: utils_cn.cn(
69
+ "data-list-subheader relative isolate col-span-full px-3 py-2 text-subheading text-muted-foreground",
70
+ "bg-(--data-list-background)",
71
+ className
72
+ ),
73
+ ...rest,
74
+ children
75
+ }
76
+ );
77
+ }
78
+ );
79
+ DataListSubheader.displayName = "DataListSubheader";
80
+
81
+ function DataListSubHeading({ children, className }) {
82
+ return /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "caption", tone: "faint", className, children });
83
+ }
84
+
85
+ const DataListTopCells = React.forwardRef(
86
+ ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {
87
+ return /* @__PURE__ */ jsxRuntime.jsx(
88
+ "div",
89
+ {
90
+ ref,
91
+ className: utils_cn.cn(
92
+ "pointer-events-none grid grid-cols-subgrid gap-4 px-3 [&>*]:pointer-events-auto",
93
+ !colStart && "data-list-cells col-span-full",
94
+ flushLeft && "pl-0!",
95
+ className
96
+ ),
97
+ style: colStart ? { ...style, gridColumn: `${colStart} / -1` } : style,
98
+ ...rest,
99
+ children
100
+ }
101
+ );
102
+ }
103
+ );
104
+ DataListTopCells.displayName = "DataListTopCells";
105
+
106
+ const DataList = Object.assign(dataListTop.DataListRoot, {
107
+ Top: dataListTop.DataListTop,
108
+ TopCells: DataListTopCells,
109
+ TopCell: dataListTop.DataListTopCell,
110
+ SortableTopCell: dataListSpacer.DataListSortableTopCell,
111
+ TopCellWithTooltip: dataListTop.DataListTopCellWithTooltip,
112
+ TopCellSmart: dataListTop.DataListTopCellSmart,
113
+ RowWrapper: dataListSpacer.DataListRowWrapper,
114
+ RowButton: dataListSpacer.DataListRowButton,
115
+ RowLink: dataListSpacer.DataListRowLink,
116
+ RowStatic: DataListRowStatic,
117
+ Cell: dataListTop.DataListCell,
118
+ ActionsCell: dataListTop.DataListActionsCell,
119
+ TextCell: dataListTop.DataListTextCell,
120
+ NameCell: dataListTop.DataListNameCell,
121
+ DescriptionCell: dataListTop.DataListDescriptionCell,
122
+ IdCell: dataListTop.DataListIdCell,
123
+ RowHeaderCell: dataListTop.DataListRowHeaderCell,
124
+ NumberCell: dataListTop.DataListNumberCell,
125
+ DateCell: dataListTop.DataListDateCell,
126
+ CreatedCell: dataListTop.DataListCreatedCell,
127
+ TimeCell: dataListTop.DataListTimeCell,
128
+ SelectCell: dataListTop.DataListSelectCell,
129
+ TopSelectCell: dataListTop.DataListTopSelectCell,
130
+ NoMatch: dataListSpacer.DataListNoMatch,
131
+ Group: DataListGroup,
132
+ Subheader: DataListSubheader,
133
+ SubHeading: DataListSubHeading,
134
+ Spacer: dataListSpacer.DataListSpacer,
135
+ NextPageLoading: dataListSpacer.DataListNextPageLoading,
136
+ Pagination: DataListPagination
137
+ });
138
+
139
+ exports.DataList = DataList;
140
+ exports.DataListSubHeading = DataListSubHeading;
141
+ exports.DataListSubheader = DataListSubheader;
142
+ //# sourceMappingURL=data-list-CmjTe8xE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-list-CmjTe8xE.cjs","sources":["../src/ds/components/DataList/data-list-group.tsx","../src/ds/components/DataList/data-list-pagination.tsx","../src/ds/components/DataList/data-list-row-static.tsx","../src/ds/components/DataList/data-list-subheader.tsx","../src/ds/components/DataList/data-list-subheading.tsx","../src/ds/components/DataList/data-list-top-cells.tsx","../src/ds/components/DataList/data-list.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { GROUP_ATTR } from '@/hooks/use-fluid-hover';\nimport { cn } from '@/lib/utils';\n\nexport type DataListGroupProps = ComponentPropsWithoutRef<'section'>;\n\n/** Rows sharing the list's columns; the hover lights them only while the pointer is on or between them. */\nexport const DataListGroup = forwardRef<HTMLElement, DataListGroupProps>(({ className, ...rest }, ref) => {\n return (\n <section\n ref={ref}\n {...{ [GROUP_ATTR]: '' }}\n className={cn('col-span-full grid grid-cols-subgrid gap-y-px [&>:not(.data-list-row)]:col-span-full', className)}\n {...rest}\n />\n );\n});\n\nDataListGroup.displayName = 'DataListGroup';\n","import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport type DataListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: DataListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className=\"col-span-full flex items-center justify-center gap-4 py-3 text-body text-muted-foreground\">\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div className=\"flex gap-4\">\n {typeof currentPage === 'number' && currentPage > 0 && (\n <Button type=\"button\" size=\"sm\" onClick={onPrevPage} icon={<ArrowLeftIcon />}>\n Previous\n </Button>\n )}\n {hasMore && (\n <Button type=\"button\" size=\"sm\" onClick={onNextPage} icon={<ArrowRightIcon />}>\n Next\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useDataListRowWrapperContext } from './data-list-row-wrapper-context';\nimport { dataListRowStaticStyles } from './shared';\nimport type { DataListRowSharedProps } from './shared';\nimport { cn } from '@/lib/utils';\n\nexport type DataListRowStaticProps = ComponentPropsWithoutRef<'div'> & DataListRowSharedProps;\n\n/**\n * Non-interactive row. Use when a row should *display* like a regular row but\n * has no link target or click handler\n */\nexport const DataListRowStatic = forwardRef<HTMLDivElement, DataListRowStaticProps>(\n ({ children, className, colStart, colEnd, featured, variant, style, ...rest }, ref) => {\n const isWrapped = useDataListRowWrapperContext();\n const hasColumnOverride = colStart !== undefined || colEnd !== undefined;\n const cellsClass = hasColumnOverride ? undefined : 'data-list-cells';\n const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;\n return (\n <div\n ref={ref}\n className={cn(isWrapped ? 'grid grid-cols-subgrid gap-4 px-3' : dataListRowStaticStyles, cellsClass, className)}\n style={resolvedStyle}\n data-featured={featured || undefined}\n data-variant={variant ?? 'default'}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListRowStatic.displayName = 'DataListRowStatic';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubheaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const DataListSubheader = forwardRef<HTMLDivElement, DataListSubheaderProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'data-list-subheader relative isolate col-span-full px-3 py-2 text-subheading text-muted-foreground',\n 'bg-(--data-list-background)',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListSubheader.displayName = 'DataListSubheader';\n","import type { ReactNode } from 'react';\nimport { Txt } from '@/ds/components/Txt';\n\nexport type DataListSubHeadingProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport function DataListSubHeading({ children, className }: DataListSubHeadingProps) {\n return (\n <Txt as=\"span\" variant=\"caption\" tone=\"faint\" className={className}>\n {children}\n </Txt>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListTopCellsProps = ComponentPropsWithoutRef<'div'> & {\n /**\n * Drop the group's default left margin. Use when this sits as the second\n * child of a gap-0 `DataList.Top`, beside a `DataList.TopSelectCell` that\n * owns the leading column.\n */\n flushLeft?: boolean;\n /**\n * Place the group starting at this column line, spanning through to the\n * last column. Defaults to the full grid (`col-span-full`). Use when this\n * sits beside a leading cell that owns column 1.\n */\n colStart?: number;\n};\n\n/**\n * Non-interactive header equivalent of `DataList.RowButton`. Groups a set of\n * `DataList.TopCell`s with the same horizontal layout (gap, mx, px) as\n * `RowButton`, so columns inside a wrapped `Top` line up cell-for-cell with the\n * columns inside a wrapped `Row`.\n */\nexport const DataListTopCells = forwardRef<HTMLDivElement, DataListTopCellsProps>(\n ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'pointer-events-none grid grid-cols-subgrid gap-4 px-3 [&>*]:pointer-events-auto',\n !colStart && 'data-list-cells col-span-full',\n flushLeft && 'pl-0!',\n className,\n )}\n style={colStart ? { ...style, gridColumn: `${colStart} / -1` } : style}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListTopCells.displayName = 'DataListTopCells';\n","import {\n DataListActionsCell,\n DataListCell,\n DataListTextCell,\n DataListNameCell,\n DataListDescriptionCell,\n DataListIdCell,\n DataListRowHeaderCell,\n DataListNumberCell,\n DataListSelectCell,\n DataListDateCell,\n DataListCreatedCell,\n DataListTimeCell,\n} from './data-list-cells';\nimport { DataListGroup } from './data-list-group';\nimport { DataListNextPageLoading } from './data-list-next-page-loading';\nimport { DataListNoMatch } from './data-list-no-match';\nimport { DataListPagination } from './data-list-pagination';\nimport { DataListRoot } from './data-list-root';\nimport { DataListRowButton } from './data-list-row-button';\nimport { DataListRowLink } from './data-list-row-link';\nimport { DataListRowStatic } from './data-list-row-static';\nimport { DataListRowWrapper } from './data-list-row-wrapper';\nimport { DataListSortableTopCell } from './data-list-sortable-top-cell';\nimport { DataListSpacer } from './data-list-spacer';\nimport { DataListSubheader } from './data-list-subheader';\nimport { DataListSubHeading } from './data-list-subheading';\nimport { DataListTop } from './data-list-top';\nimport {\n DataListTopCell,\n DataListTopCellWithTooltip,\n DataListTopCellSmart,\n DataListTopSelectCell,\n} from './data-list-top-cell';\nimport { DataListTopCells } from './data-list-top-cells';\n\nexport type { DataListRootProps, DataListVariant } from './data-list-root';\nexport type { DataListSortableTopCellProps, DataListSort } from './data-list-sortable-top-cell';\n\nexport const DataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCells: DataListTopCells,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n RowStatic: DataListRowStatic,\n Cell: DataListCell,\n ActionsCell: DataListActionsCell,\n TextCell: DataListTextCell,\n NameCell: DataListNameCell,\n DescriptionCell: DataListDescriptionCell,\n IdCell: DataListIdCell,\n RowHeaderCell: DataListRowHeaderCell,\n NumberCell: DataListNumberCell,\n DateCell: DataListDateCell,\n CreatedCell: DataListCreatedCell,\n TimeCell: DataListTimeCell,\n SelectCell: DataListSelectCell,\n TopSelectCell: DataListTopSelectCell,\n NoMatch: DataListNoMatch,\n Group: DataListGroup,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n NextPageLoading: DataListNextPageLoading,\n Pagination: DataListPagination,\n});\n"],"names":["forwardRef","jsx","GROUP_ATTR","cn","jsxs","Button","ArrowLeftIcon","ArrowRightIcon","useDataListRowWrapperContext","dataListRowStaticStyles","Txt","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListTopCellWithTooltip","DataListTopCellSmart","DataListRowWrapper","DataListRowButton","DataListRowLink","DataListCell","DataListActionsCell","DataListTextCell","DataListNameCell","DataListDescriptionCell","DataListIdCell","DataListRowHeaderCell","DataListNumberCell","DataListDateCell","DataListCreatedCell","DataListTimeCell","DataListSelectCell","DataListTopSelectCell","DataListNoMatch","DataListSpacer","DataListNextPageLoading"],"mappings":";;;;;;;;;;;;AAQO,MAAM,aAAA,GAAgBA,iBAA4C,CAAC,EAAE,WAAW,GAAG,IAAA,IAAQ,GAAA,KAAQ;AACxG,EAAA,uBACEC,cAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACC,GAAG,EAAE,CAACC,8BAAU,GAAG,EAAA,EAAG;AAAA,MACvB,SAAA,EAAWC,WAAA,CAAG,sFAAA,EAAwF,SAAS,CAAA;AAAA,MAC9G,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC,CAAA;AAED,aAAA,CAAc,WAAA,GAAc,eAAA;;ACTrB,SAAS,mBAAmB,EAAE,WAAA,EAAa,OAAA,EAAS,UAAA,EAAY,YAAW,EAA4B;AAC5G,EAAA,MAAM,cAAA,GAAkB,OAAO,WAAA,KAAgB,QAAA,IAAY,cAAc,CAAA,IAAM,OAAA;AAE/E,EAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2FAAA,EACb,QAAA,EAAA;AAAA,oBAAAA,eAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA;AAAA,MAAA,OAAA;AAAA,sBACCH,cAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,WAAA,GAAc,WAAA,GAAc,IAAI,GAAA,EAAI;AAAA,KAAA,EAC/C,CAAA;AAAA,IACC,cAAA,oBACCG,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACZ,QAAA,EAAA;AAAA,MAAA,OAAO,gBAAgB,QAAA,IAAY,WAAA,GAAc,CAAA,oBAChDH,cAAA,CAACI,iBAAO,IAAA,EAAK,QAAA,EAAS,IAAA,EAAK,IAAA,EAAK,SAAS,UAAA,EAAY,IAAA,kBAAMJ,cAAA,CAACK,yBAAA,EAAA,EAAc,GAAI,QAAA,EAAA,UAAA,EAE9E,CAAA;AAAA,MAED,OAAA,oBACCL,cAAA,CAACI,aAAA,EAAA,EAAO,IAAA,EAAK,QAAA,EAAS,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,UAAA,EAAY,IAAA,kBAAMJ,cAAA,CAACM,0BAAA,EAAA,EAAe,GAAI,QAAA,EAAA,MAAA,EAE/E;AAAA,KAAA,EAEJ;AAAA,GAAA,EAEJ,CAAA;AAEJ;;ACrBO,MAAM,iBAAA,GAAoBP,gBAAA;AAAA,EAC/B,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,KAAA,EAAO,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACrF,IAAA,MAAM,YAAYQ,2CAAA,EAA6B;AAC/C,IAAA,MAAM,iBAAA,GAAoB,QAAA,KAAa,MAAA,IAAa,MAAA,KAAW,MAAA;AAC/D,IAAA,MAAM,UAAA,GAAa,oBAAoB,MAAA,GAAY,iBAAA;AACnD,IAAA,MAAM,aAAA,GAAgB,iBAAA,GAAoB,EAAE,GAAG,KAAA,EAAO,UAAA,EAAY,CAAA,EAAG,QAAA,IAAY,CAAC,CAAA,GAAA,EAAM,MAAA,IAAU,EAAE,IAAG,GAAI,KAAA;AAC3G,IAAA,uBACEP,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAWE,WAAA,CAAG,SAAA,GAAY,mCAAA,GAAsCM,mCAAA,EAAyB,YAAY,SAAS,CAAA;AAAA,QAC9G,KAAA,EAAO,aAAA;AAAA,QACP,iBAAe,QAAA,IAAY,MAAA;AAAA,QAC3B,gBAAc,OAAA,IAAW,SAAA;AAAA,QACxB,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;;AC5BzB,MAAM,iBAAA,GAAoBT,gBAAA;AAAA,EAC/B,CAAC,EAAE,QAAA,EAAU,WAAW,GAAG,IAAA,IAAQ,GAAA,KAAQ;AACzC,IAAA,uBACEC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAWE,WAAA;AAAA,UACT,oGAAA;AAAA,UACA,6BAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;;AChBzB,SAAS,kBAAA,CAAmB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA4B;AACnF,EAAA,uBACEF,cAAA,CAACS,WAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,OAAA,EAAQ,SAAA,EAC3C,QAAA,EACH,CAAA;AAEJ;;ACWO,MAAM,gBAAA,GAAmBV,gBAAA;AAAA,EAC9B,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,UAAU,KAAA,EAAO,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACrE,IAAA,uBACEC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAWE,WAAA;AAAA,UACT,iFAAA;AAAA,UACA,CAAC,QAAA,IAAY,+BAAA;AAAA,UACb,SAAA,IAAa,OAAA;AAAA,UACb;AAAA,SACF;AAAA,QACA,KAAA,EAAO,WAAW,EAAE,GAAG,OAAO,UAAA,EAAY,CAAA,EAAG,QAAQ,CAAA,KAAA,CAAA,EAAQ,GAAI,KAAA;AAAA,QAChE,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;ACNxB,MAAM,QAAA,GAAW,MAAA,CAAO,MAAA,CAAOQ,wBAAA,EAAc;AAAA,EAClD,GAAA,EAAKC,uBAAA;AAAA,EACL,QAAA,EAAU,gBAAA;AAAA,EACV,OAAA,EAASC,2BAAA;AAAA,EACT,eAAA,EAAiBC,sCAAA;AAAA,EACjB,kBAAA,EAAoBC,sCAAA;AAAA,EACpB,YAAA,EAAcC,gCAAA;AAAA,EACd,UAAA,EAAYC,iCAAA;AAAA,EACZ,SAAA,EAAWC,gCAAA;AAAA,EACX,OAAA,EAASC,8BAAA;AAAA,EACT,SAAA,EAAW,iBAAA;AAAA,EACX,IAAA,EAAMC,wBAAA;AAAA,EACN,WAAA,EAAaC,+BAAA;AAAA,EACb,QAAA,EAAUC,4BAAA;AAAA,EACV,QAAA,EAAUC,4BAAA;AAAA,EACV,eAAA,EAAiBC,mCAAA;AAAA,EACjB,MAAA,EAAQC,0BAAA;AAAA,EACR,aAAA,EAAeC,iCAAA;AAAA,EACf,UAAA,EAAYC,8BAAA;AAAA,EACZ,QAAA,EAAUC,4BAAA;AAAA,EACV,WAAA,EAAaC,+BAAA;AAAA,EACb,QAAA,EAAUC,4BAAA;AAAA,EACV,UAAA,EAAYC,8BAAA;AAAA,EACZ,aAAA,EAAeC,iCAAA;AAAA,EACf,OAAA,EAASC,8BAAA;AAAA,EACT,KAAA,EAAO,aAAA;AAAA,EACP,SAAA,EAAW,iBAAA;AAAA,EACX,UAAA,EAAY,kBAAA;AAAA,EACZ,MAAA,EAAQC,6BAAA;AAAA,EACR,eAAA,EAAiBC,sCAAA;AAAA,EACjB,UAAA,EAAY;AACd,CAAC;;;;;;"}
@@ -0,0 +1,138 @@
1
+ import { l as dataListRowStaticStyles, D as DataListRoot, m as DataListTopSelectCell, n as DataListSelectCell, f as DataListTimeCell, j as DataListCreatedCell, g as DataListDateCell, o as DataListNumberCell, p as DataListRowHeaderCell, k as DataListIdCell, q as DataListDescriptionCell, r as DataListNameCell, e as DataListTextCell, t as DataListActionsCell, c as DataListCell, h as DataListTopCellSmart, i as DataListTopCellWithTooltip, b as DataListTopCell, a as DataListTop } from './data-list-top-T-mtdIUp.js';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { GROUP_ATTR } from './hooks/use-fluid-hover.es.js';
5
+ import { c as cn } from './cn-CQUhN5Jx.js';
6
+ import { u as useDataListRowWrapperContext, D as DataListNextPageLoading, b as DataListSpacer, a as DataListNoMatch, c as DataListRowLink, d as DataListRowButton, e as DataListRowWrapper, f as DataListSortableTopCell } from './data-list-spacer-D--gDmOm.js';
7
+ import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';
8
+ import { B as Button } from './Button-EGoajBQY.js';
9
+ import { T as Txt } from './Txt-BtIGLRk1.js';
10
+
11
+ const DataListGroup = forwardRef(({ className, ...rest }, ref) => {
12
+ return /* @__PURE__ */ jsx(
13
+ "section",
14
+ {
15
+ ref,
16
+ ...{ [GROUP_ATTR]: "" },
17
+ className: cn("col-span-full grid grid-cols-subgrid gap-y-px [&>:not(.data-list-row)]:col-span-full", className),
18
+ ...rest
19
+ }
20
+ );
21
+ });
22
+ DataListGroup.displayName = "DataListGroup";
23
+
24
+ function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }) {
25
+ const showNavigation = typeof currentPage === "number" && currentPage > 0 || hasMore;
26
+ return /* @__PURE__ */ jsxs("div", { className: "col-span-full flex items-center justify-center gap-4 py-3 text-body text-muted-foreground", children: [
27
+ /* @__PURE__ */ jsxs("span", { children: [
28
+ "Page ",
29
+ /* @__PURE__ */ jsx("b", { children: currentPage ? currentPage + 1 : "1" })
30
+ ] }),
31
+ showNavigation && /* @__PURE__ */ jsxs("div", { className: "flex gap-4", children: [
32
+ typeof currentPage === "number" && currentPage > 0 && /* @__PURE__ */ jsx(Button, { type: "button", size: "sm", onClick: onPrevPage, icon: /* @__PURE__ */ jsx(ArrowLeftIcon, {}), children: "Previous" }),
33
+ hasMore && /* @__PURE__ */ jsx(Button, { type: "button", size: "sm", onClick: onNextPage, icon: /* @__PURE__ */ jsx(ArrowRightIcon, {}), children: "Next" })
34
+ ] })
35
+ ] });
36
+ }
37
+
38
+ const DataListRowStatic = forwardRef(
39
+ ({ children, className, colStart, colEnd, featured, variant, style, ...rest }, ref) => {
40
+ const isWrapped = useDataListRowWrapperContext();
41
+ const hasColumnOverride = colStart !== void 0 || colEnd !== void 0;
42
+ const cellsClass = hasColumnOverride ? void 0 : "data-list-cells";
43
+ const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;
44
+ return /* @__PURE__ */ jsx(
45
+ "div",
46
+ {
47
+ ref,
48
+ className: cn(isWrapped ? "grid grid-cols-subgrid gap-4 px-3" : dataListRowStaticStyles, cellsClass, className),
49
+ style: resolvedStyle,
50
+ "data-featured": featured || void 0,
51
+ "data-variant": variant ?? "default",
52
+ ...rest,
53
+ children
54
+ }
55
+ );
56
+ }
57
+ );
58
+ DataListRowStatic.displayName = "DataListRowStatic";
59
+
60
+ const DataListSubheader = forwardRef(
61
+ ({ children, className, ...rest }, ref) => {
62
+ return /* @__PURE__ */ jsx(
63
+ "div",
64
+ {
65
+ ref,
66
+ className: cn(
67
+ "data-list-subheader relative isolate col-span-full px-3 py-2 text-subheading text-muted-foreground",
68
+ "bg-(--data-list-background)",
69
+ className
70
+ ),
71
+ ...rest,
72
+ children
73
+ }
74
+ );
75
+ }
76
+ );
77
+ DataListSubheader.displayName = "DataListSubheader";
78
+
79
+ function DataListSubHeading({ children, className }) {
80
+ return /* @__PURE__ */ jsx(Txt, { as: "span", variant: "caption", tone: "faint", className, children });
81
+ }
82
+
83
+ const DataListTopCells = forwardRef(
84
+ ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {
85
+ return /* @__PURE__ */ jsx(
86
+ "div",
87
+ {
88
+ ref,
89
+ className: cn(
90
+ "pointer-events-none grid grid-cols-subgrid gap-4 px-3 [&>*]:pointer-events-auto",
91
+ !colStart && "data-list-cells col-span-full",
92
+ flushLeft && "pl-0!",
93
+ className
94
+ ),
95
+ style: colStart ? { ...style, gridColumn: `${colStart} / -1` } : style,
96
+ ...rest,
97
+ children
98
+ }
99
+ );
100
+ }
101
+ );
102
+ DataListTopCells.displayName = "DataListTopCells";
103
+
104
+ const DataList = Object.assign(DataListRoot, {
105
+ Top: DataListTop,
106
+ TopCells: DataListTopCells,
107
+ TopCell: DataListTopCell,
108
+ SortableTopCell: DataListSortableTopCell,
109
+ TopCellWithTooltip: DataListTopCellWithTooltip,
110
+ TopCellSmart: DataListTopCellSmart,
111
+ RowWrapper: DataListRowWrapper,
112
+ RowButton: DataListRowButton,
113
+ RowLink: DataListRowLink,
114
+ RowStatic: DataListRowStatic,
115
+ Cell: DataListCell,
116
+ ActionsCell: DataListActionsCell,
117
+ TextCell: DataListTextCell,
118
+ NameCell: DataListNameCell,
119
+ DescriptionCell: DataListDescriptionCell,
120
+ IdCell: DataListIdCell,
121
+ RowHeaderCell: DataListRowHeaderCell,
122
+ NumberCell: DataListNumberCell,
123
+ DateCell: DataListDateCell,
124
+ CreatedCell: DataListCreatedCell,
125
+ TimeCell: DataListTimeCell,
126
+ SelectCell: DataListSelectCell,
127
+ TopSelectCell: DataListTopSelectCell,
128
+ NoMatch: DataListNoMatch,
129
+ Group: DataListGroup,
130
+ Subheader: DataListSubheader,
131
+ SubHeading: DataListSubHeading,
132
+ Spacer: DataListSpacer,
133
+ NextPageLoading: DataListNextPageLoading,
134
+ Pagination: DataListPagination
135
+ });
136
+
137
+ export { DataList as D, DataListSubHeading as a, DataListSubheader as b };
138
+ //# sourceMappingURL=data-list-DT1LVR29.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-list-DT1LVR29.js","sources":["../src/ds/components/DataList/data-list-group.tsx","../src/ds/components/DataList/data-list-pagination.tsx","../src/ds/components/DataList/data-list-row-static.tsx","../src/ds/components/DataList/data-list-subheader.tsx","../src/ds/components/DataList/data-list-subheading.tsx","../src/ds/components/DataList/data-list-top-cells.tsx","../src/ds/components/DataList/data-list.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { GROUP_ATTR } from '@/hooks/use-fluid-hover';\nimport { cn } from '@/lib/utils';\n\nexport type DataListGroupProps = ComponentPropsWithoutRef<'section'>;\n\n/** Rows sharing the list's columns; the hover lights them only while the pointer is on or between them. */\nexport const DataListGroup = forwardRef<HTMLElement, DataListGroupProps>(({ className, ...rest }, ref) => {\n return (\n <section\n ref={ref}\n {...{ [GROUP_ATTR]: '' }}\n className={cn('col-span-full grid grid-cols-subgrid gap-y-px [&>:not(.data-list-row)]:col-span-full', className)}\n {...rest}\n />\n );\n});\n\nDataListGroup.displayName = 'DataListGroup';\n","import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport type DataListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: DataListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className=\"col-span-full flex items-center justify-center gap-4 py-3 text-body text-muted-foreground\">\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div className=\"flex gap-4\">\n {typeof currentPage === 'number' && currentPage > 0 && (\n <Button type=\"button\" size=\"sm\" onClick={onPrevPage} icon={<ArrowLeftIcon />}>\n Previous\n </Button>\n )}\n {hasMore && (\n <Button type=\"button\" size=\"sm\" onClick={onNextPage} icon={<ArrowRightIcon />}>\n Next\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useDataListRowWrapperContext } from './data-list-row-wrapper-context';\nimport { dataListRowStaticStyles } from './shared';\nimport type { DataListRowSharedProps } from './shared';\nimport { cn } from '@/lib/utils';\n\nexport type DataListRowStaticProps = ComponentPropsWithoutRef<'div'> & DataListRowSharedProps;\n\n/**\n * Non-interactive row. Use when a row should *display* like a regular row but\n * has no link target or click handler\n */\nexport const DataListRowStatic = forwardRef<HTMLDivElement, DataListRowStaticProps>(\n ({ children, className, colStart, colEnd, featured, variant, style, ...rest }, ref) => {\n const isWrapped = useDataListRowWrapperContext();\n const hasColumnOverride = colStart !== undefined || colEnd !== undefined;\n const cellsClass = hasColumnOverride ? undefined : 'data-list-cells';\n const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;\n return (\n <div\n ref={ref}\n className={cn(isWrapped ? 'grid grid-cols-subgrid gap-4 px-3' : dataListRowStaticStyles, cellsClass, className)}\n style={resolvedStyle}\n data-featured={featured || undefined}\n data-variant={variant ?? 'default'}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListRowStatic.displayName = 'DataListRowStatic';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubheaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const DataListSubheader = forwardRef<HTMLDivElement, DataListSubheaderProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'data-list-subheader relative isolate col-span-full px-3 py-2 text-subheading text-muted-foreground',\n 'bg-(--data-list-background)',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListSubheader.displayName = 'DataListSubheader';\n","import type { ReactNode } from 'react';\nimport { Txt } from '@/ds/components/Txt';\n\nexport type DataListSubHeadingProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport function DataListSubHeading({ children, className }: DataListSubHeadingProps) {\n return (\n <Txt as=\"span\" variant=\"caption\" tone=\"faint\" className={className}>\n {children}\n </Txt>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListTopCellsProps = ComponentPropsWithoutRef<'div'> & {\n /**\n * Drop the group's default left margin. Use when this sits as the second\n * child of a gap-0 `DataList.Top`, beside a `DataList.TopSelectCell` that\n * owns the leading column.\n */\n flushLeft?: boolean;\n /**\n * Place the group starting at this column line, spanning through to the\n * last column. Defaults to the full grid (`col-span-full`). Use when this\n * sits beside a leading cell that owns column 1.\n */\n colStart?: number;\n};\n\n/**\n * Non-interactive header equivalent of `DataList.RowButton`. Groups a set of\n * `DataList.TopCell`s with the same horizontal layout (gap, mx, px) as\n * `RowButton`, so columns inside a wrapped `Top` line up cell-for-cell with the\n * columns inside a wrapped `Row`.\n */\nexport const DataListTopCells = forwardRef<HTMLDivElement, DataListTopCellsProps>(\n ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'pointer-events-none grid grid-cols-subgrid gap-4 px-3 [&>*]:pointer-events-auto',\n !colStart && 'data-list-cells col-span-full',\n flushLeft && 'pl-0!',\n className,\n )}\n style={colStart ? { ...style, gridColumn: `${colStart} / -1` } : style}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListTopCells.displayName = 'DataListTopCells';\n","import {\n DataListActionsCell,\n DataListCell,\n DataListTextCell,\n DataListNameCell,\n DataListDescriptionCell,\n DataListIdCell,\n DataListRowHeaderCell,\n DataListNumberCell,\n DataListSelectCell,\n DataListDateCell,\n DataListCreatedCell,\n DataListTimeCell,\n} from './data-list-cells';\nimport { DataListGroup } from './data-list-group';\nimport { DataListNextPageLoading } from './data-list-next-page-loading';\nimport { DataListNoMatch } from './data-list-no-match';\nimport { DataListPagination } from './data-list-pagination';\nimport { DataListRoot } from './data-list-root';\nimport { DataListRowButton } from './data-list-row-button';\nimport { DataListRowLink } from './data-list-row-link';\nimport { DataListRowStatic } from './data-list-row-static';\nimport { DataListRowWrapper } from './data-list-row-wrapper';\nimport { DataListSortableTopCell } from './data-list-sortable-top-cell';\nimport { DataListSpacer } from './data-list-spacer';\nimport { DataListSubheader } from './data-list-subheader';\nimport { DataListSubHeading } from './data-list-subheading';\nimport { DataListTop } from './data-list-top';\nimport {\n DataListTopCell,\n DataListTopCellWithTooltip,\n DataListTopCellSmart,\n DataListTopSelectCell,\n} from './data-list-top-cell';\nimport { DataListTopCells } from './data-list-top-cells';\n\nexport type { DataListRootProps, DataListVariant } from './data-list-root';\nexport type { DataListSortableTopCellProps, DataListSort } from './data-list-sortable-top-cell';\n\nexport const DataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCells: DataListTopCells,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n RowStatic: DataListRowStatic,\n Cell: DataListCell,\n ActionsCell: DataListActionsCell,\n TextCell: DataListTextCell,\n NameCell: DataListNameCell,\n DescriptionCell: DataListDescriptionCell,\n IdCell: DataListIdCell,\n RowHeaderCell: DataListRowHeaderCell,\n NumberCell: DataListNumberCell,\n DateCell: DataListDateCell,\n CreatedCell: DataListCreatedCell,\n TimeCell: DataListTimeCell,\n SelectCell: DataListSelectCell,\n TopSelectCell: DataListTopSelectCell,\n NoMatch: DataListNoMatch,\n Group: DataListGroup,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n NextPageLoading: DataListNextPageLoading,\n Pagination: DataListPagination,\n});\n"],"names":[],"mappings":";;;;;;;;;;AAQO,MAAM,aAAA,GAAgB,WAA4C,CAAC,EAAE,WAAW,GAAG,IAAA,IAAQ,GAAA,KAAQ;AACxG,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACC,GAAG,EAAE,CAAC,UAAU,GAAG,EAAA,EAAG;AAAA,MACvB,SAAA,EAAW,EAAA,CAAG,sFAAA,EAAwF,SAAS,CAAA;AAAA,MAC9G,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC,CAAA;AAED,aAAA,CAAc,WAAA,GAAc,eAAA;;ACTrB,SAAS,mBAAmB,EAAE,WAAA,EAAa,OAAA,EAAS,UAAA,EAAY,YAAW,EAA4B;AAC5G,EAAA,MAAM,cAAA,GAAkB,OAAO,WAAA,KAAgB,QAAA,IAAY,cAAc,CAAA,IAAM,OAAA;AAE/E,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2FAAA,EACb,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA;AAAA,MAAA,OAAA;AAAA,sBACC,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,WAAA,GAAc,WAAA,GAAc,IAAI,GAAA,EAAI;AAAA,KAAA,EAC/C,CAAA;AAAA,IACC,cAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACZ,QAAA,EAAA;AAAA,MAAA,OAAO,gBAAgB,QAAA,IAAY,WAAA,GAAc,CAAA,oBAChD,GAAA,CAAC,UAAO,IAAA,EAAK,QAAA,EAAS,IAAA,EAAK,IAAA,EAAK,SAAS,UAAA,EAAY,IAAA,kBAAM,GAAA,CAAC,aAAA,EAAA,EAAc,GAAI,QAAA,EAAA,UAAA,EAE9E,CAAA;AAAA,MAED,OAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,QAAA,EAAS,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,UAAA,EAAY,IAAA,kBAAM,GAAA,CAAC,cAAA,EAAA,EAAe,GAAI,QAAA,EAAA,MAAA,EAE/E;AAAA,KAAA,EAEJ;AAAA,GAAA,EAEJ,CAAA;AAEJ;;ACrBO,MAAM,iBAAA,GAAoB,UAAA;AAAA,EAC/B,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,KAAA,EAAO,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACrF,IAAA,MAAM,YAAY,4BAAA,EAA6B;AAC/C,IAAA,MAAM,iBAAA,GAAoB,QAAA,KAAa,MAAA,IAAa,MAAA,KAAW,MAAA;AAC/D,IAAA,MAAM,UAAA,GAAa,oBAAoB,MAAA,GAAY,iBAAA;AACnD,IAAA,MAAM,aAAA,GAAgB,iBAAA,GAAoB,EAAE,GAAG,KAAA,EAAO,UAAA,EAAY,CAAA,EAAG,QAAA,IAAY,CAAC,CAAA,GAAA,EAAM,MAAA,IAAU,EAAE,IAAG,GAAI,KAAA;AAC3G,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAW,EAAA,CAAG,SAAA,GAAY,mCAAA,GAAsC,uBAAA,EAAyB,YAAY,SAAS,CAAA;AAAA,QAC9G,KAAA,EAAO,aAAA;AAAA,QACP,iBAAe,QAAA,IAAY,MAAA;AAAA,QAC3B,gBAAc,OAAA,IAAW,SAAA;AAAA,QACxB,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;;AC5BzB,MAAM,iBAAA,GAAoB,UAAA;AAAA,EAC/B,CAAC,EAAE,QAAA,EAAU,WAAW,GAAG,IAAA,IAAQ,GAAA,KAAQ;AACzC,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,oGAAA;AAAA,UACA,6BAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;;AChBzB,SAAS,kBAAA,CAAmB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA4B;AACnF,EAAA,uBACE,GAAA,CAAC,OAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,OAAA,EAAQ,SAAA,EAC3C,QAAA,EACH,CAAA;AAEJ;;ACWO,MAAM,gBAAA,GAAmB,UAAA;AAAA,EAC9B,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,UAAU,KAAA,EAAO,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACrE,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,iFAAA;AAAA,UACA,CAAC,QAAA,IAAY,+BAAA;AAAA,UACb,SAAA,IAAa,OAAA;AAAA,UACb;AAAA,SACF;AAAA,QACA,KAAA,EAAO,WAAW,EAAE,GAAG,OAAO,UAAA,EAAY,CAAA,EAAG,QAAQ,CAAA,KAAA,CAAA,EAAQ,GAAI,KAAA;AAAA,QAChE,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;ACNxB,MAAM,QAAA,GAAW,MAAA,CAAO,MAAA,CAAO,YAAA,EAAc;AAAA,EAClD,GAAA,EAAK,WAAA;AAAA,EACL,QAAA,EAAU,gBAAA;AAAA,EACV,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,kBAAA,EAAoB,0BAAA;AAAA,EACpB,YAAA,EAAc,oBAAA;AAAA,EACd,UAAA,EAAY,kBAAA;AAAA,EACZ,SAAA,EAAW,iBAAA;AAAA,EACX,OAAA,EAAS,eAAA;AAAA,EACT,SAAA,EAAW,iBAAA;AAAA,EACX,IAAA,EAAM,YAAA;AAAA,EACN,WAAA,EAAa,mBAAA;AAAA,EACb,QAAA,EAAU,gBAAA;AAAA,EACV,QAAA,EAAU,gBAAA;AAAA,EACV,eAAA,EAAiB,uBAAA;AAAA,EACjB,MAAA,EAAQ,cAAA;AAAA,EACR,aAAA,EAAe,qBAAA;AAAA,EACf,UAAA,EAAY,kBAAA;AAAA,EACZ,QAAA,EAAU,gBAAA;AAAA,EACV,WAAA,EAAa,mBAAA;AAAA,EACb,QAAA,EAAU,gBAAA;AAAA,EACV,UAAA,EAAY,kBAAA;AAAA,EACZ,aAAA,EAAe,qBAAA;AAAA,EACf,OAAA,EAAS,eAAA;AAAA,EACT,KAAA,EAAO,aAAA;AAAA,EACP,SAAA,EAAW,iBAAA;AAAA,EACX,UAAA,EAAY,kBAAA;AAAA,EACZ,MAAA,EAAQ,cAAA;AAAA,EACR,eAAA,EAAiB,uBAAA;AAAA,EACjB,UAAA,EAAY;AACd,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { s as splitColumns, D as DataListRoot, a as DataListTop, b as DataListTopCell, c as DataListCell, d as dataListRowOuterStyles } from './data-list-DdCZZctL.js';
2
+ import { s as splitColumns, D as DataListRoot, a as DataListTop, b as DataListTopCell, c as DataListCell, d as dataListRowOuterStyles } from './data-list-top-T-mtdIUp.js';
3
3
  import { c as cn } from './cn-CQUhN5Jx.js';
4
4
 
5
5
  const widths = ["75%", "50%", "65%", "90%", "60%", "80%"];
@@ -36,4 +36,4 @@ function DataListSkeleton({
36
36
  }
37
37
 
38
38
  export { DataListSkeleton as D, DataListSkeletonRows as a };
39
- //# sourceMappingURL=data-list-skeleton-CGKlcoiI.js.map
39
+ //# sourceMappingURL=data-list-skeleton-bNfITSHs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-list-skeleton-CGKlcoiI.js","sources":["../src/ds/components/DataList/data-list-skeleton.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n"],"names":["_"],"mappings":";;;;AAQA,MAAM,SAAS,CAAC,KAAA,EAAO,OAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AACxD,MAAM,eAAe,CAAC,MAAA,EAAQ,QAAQ,MAAA,EAAQ,QAAA,EAAU,UAAU,MAAM,CAAA;AASxE,SAAS,WAAA,CAAY,EAAE,KAAA,EAAO,SAAA,EAAU,EAA0C;AAChF,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,uFAAA,EAAyF,SAAS,CAAA;AAAA,MAChH,KAAA,EAAO,EAAE,KAAA;AAAM;AAAA,GACjB;AAEJ;AAWO,SAAS,oBAAA,CAAqB,EAAE,WAAA,EAAa,YAAA,GAAe,GAAE,EAA8B;AACjG,EAAA,MAAM,oBAAA,GAAuB,CAAC,MAAA,EAAgB,MAAA,KAAmB;AAC/D,IAAA,MAAM,KAAA,GAAA,CAAS,MAAA,GAAS,MAAA,GAAS,WAAA,GAAc,gBAAgB,MAAA,CAAO,MAAA;AACtE,IAAA,OAAO,MAAA,CAAO,KAAK,CAAA,IAAK,MAAA,CAAO,CAAC,CAAA;AAAA,EAClC,CAAA;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,cAAc,CAAA,CAAE,IAAI,CAAC,CAAA,EAAG,2BAClD,GAAA,CAAC,KAAA,EAAA,EAAiB,WAAW,EAAA,CAAG,mDAAA,EAAqD,GAAG,sBAAsB,CAAA,EAC3G,gBAAM,IAAA,CAAK,EAAE,QAAQ,WAAA,EAAa,EAAE,GAAA,CAAI,CAACA,IAAG,MAAA,qBAC3C,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAO,oBAAA,CAAqB,MAAA,EAAQ,MAAM,CAAA,EAAG,CAAA,EAAA,EADzC,MAEnB,CACD,CAAA,EAAA,EALO,MAMV,CACD,CAAA;AACH;AAMO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,OAAA,GAAU,oBAAA;AAAA,EACV,YAAA,GAAe,CAAA;AAAA,EACf,GAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,WAAA,GAAc,aAAa,OAAO,CAAA;AACxC,EAAA,MAAM,cAAc,WAAA,CAAY,MAAA;AAChC,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,GAAA,CAAI,CAAA,GAAA,KAAQ,GAAA,KAAQ,SAAS,oBAAA,GAAuB,GAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAEtG,EAAA,uBACE,IAAA,CAAC,YAAA,EAAA,EAAa,OAAA,EAAS,eAAA,EAAiB,KAAU,OAAA,EAChD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAA,EAAA,EACE,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,WAAA,EAAa,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,MAAA,yBAC1C,eAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,YAAA,CAAa,MAAA,GAAS,YAAA,CAAa,MAAM,CAAA,IAAK,YAAA,CAAa,CAAC,CAAA,EAAG,SAAA,EAAU,KAAA,EAAM,CAAA,EAAA,EAD/E,MAEtB,CACD,CAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,oBAAA,EAAA,EAAqB,WAAA,EAA0B,YAAA,EAA4B;AAAA,GAAA,EAC9E,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"data-list-skeleton-bNfITSHs.js","sources":["../src/ds/components/DataList/data-list-skeleton.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n"],"names":["_"],"mappings":";;;;AAQA,MAAM,SAAS,CAAC,KAAA,EAAO,OAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AACxD,MAAM,eAAe,CAAC,MAAA,EAAQ,QAAQ,MAAA,EAAQ,QAAA,EAAU,UAAU,MAAM,CAAA;AASxE,SAAS,WAAA,CAAY,EAAE,KAAA,EAAO,SAAA,EAAU,EAA0C;AAChF,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,uFAAA,EAAyF,SAAS,CAAA;AAAA,MAChH,KAAA,EAAO,EAAE,KAAA;AAAM;AAAA,GACjB;AAEJ;AAWO,SAAS,oBAAA,CAAqB,EAAE,WAAA,EAAa,YAAA,GAAe,GAAE,EAA8B;AACjG,EAAA,MAAM,oBAAA,GAAuB,CAAC,MAAA,EAAgB,MAAA,KAAmB;AAC/D,IAAA,MAAM,KAAA,GAAA,CAAS,MAAA,GAAS,MAAA,GAAS,WAAA,GAAc,gBAAgB,MAAA,CAAO,MAAA;AACtE,IAAA,OAAO,MAAA,CAAO,KAAK,CAAA,IAAK,MAAA,CAAO,CAAC,CAAA;AAAA,EAClC,CAAA;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,cAAc,CAAA,CAAE,IAAI,CAAC,CAAA,EAAG,2BAClD,GAAA,CAAC,KAAA,EAAA,EAAiB,WAAW,EAAA,CAAG,mDAAA,EAAqD,GAAG,sBAAsB,CAAA,EAC3G,gBAAM,IAAA,CAAK,EAAE,QAAQ,WAAA,EAAa,EAAE,GAAA,CAAI,CAACA,IAAG,MAAA,qBAC3C,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAO,oBAAA,CAAqB,MAAA,EAAQ,MAAM,CAAA,EAAG,CAAA,EAAA,EADzC,MAEnB,CACD,CAAA,EAAA,EALO,MAMV,CACD,CAAA;AACH;AAMO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,OAAA,GAAU,oBAAA;AAAA,EACV,YAAA,GAAe,CAAA;AAAA,EACf,GAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,WAAA,GAAc,aAAa,OAAO,CAAA;AACxC,EAAA,MAAM,cAAc,WAAA,CAAY,MAAA;AAChC,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,GAAA,CAAI,CAAA,GAAA,KAAQ,GAAA,KAAQ,SAAS,oBAAA,GAAuB,GAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAEtG,EAAA,uBACE,IAAA,CAAC,YAAA,EAAA,EAAa,OAAA,EAAS,eAAA,EAAiB,KAAU,OAAA,EAChD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAA,EAAA,EACE,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,WAAA,EAAa,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,MAAA,yBAC1C,eAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,YAAA,CAAa,MAAA,GAAS,YAAA,CAAa,MAAM,CAAA,IAAK,YAAA,CAAa,CAAC,CAAA,EAAG,SAAA,EAAU,KAAA,EAAM,CAAA,EAAA,EAD/E,MAEtB,CACD,CAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,oBAAA,EAAA,EAAqB,WAAA,EAA0B,YAAA,EAA4B;AAAA,GAAA,EAC9E,CAAA;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const dataList = require('./data-list-ecHsw-zr.cjs');
4
+ const dataListTop = require('./data-list-top-DJh08vFA.cjs');
5
5
  const utils_cn = require('./cn-DlOJCxrS.cjs');
6
6
 
7
7
  const widths = ["75%", "50%", "65%", "90%", "60%", "80%"];
@@ -20,7 +20,7 @@ function DataListSkeletonRows({ columnCount, numberOfRows = 3 }) {
20
20
  const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;
21
21
  return widths[index] ?? widths[0];
22
22
  };
23
- return Array.from({ length: numberOfRows }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("data-list-cells grid grid-cols-subgrid gap-4 px-3", ...dataList.dataListRowOuterStyles), children: Array.from({ length: columnCount }).map((_2, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonBar, { width: getPseudoRandomWidth(rowIdx, colIdx) }) }, colIdx)) }, rowIdx));
23
+ return Array.from({ length: numberOfRows }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("data-list-cells grid grid-cols-subgrid gap-4 px-3", ...dataListTop.dataListRowOuterStyles), children: Array.from({ length: columnCount }).map((_2, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonBar, { width: getPseudoRandomWidth(rowIdx, colIdx) }) }, colIdx)) }, rowIdx));
24
24
  }
25
25
  function DataListSkeleton({
26
26
  columns = "auto 1fr auto auto",
@@ -28,15 +28,15 @@ function DataListSkeleton({
28
28
  fit,
29
29
  variant
30
30
  }) {
31
- const columnParts = dataList.splitColumns(columns);
31
+ const columnParts = dataListTop.splitColumns(columns);
32
32
  const columnCount = columnParts.length;
33
33
  const skeletonColumns = columnParts.map((col) => col === "auto" ? "minmax(6rem, auto)" : col).join(" ");
34
- return /* @__PURE__ */ jsxRuntime.jsxs(dataList.DataListRoot, { columns: skeletonColumns, fit, variant, children: [
35
- /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListTop, { children: Array.from({ length: columnCount }).map((_, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListTopCell, { children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonBar, { width: headerWidths[colIdx % headerWidths.length] ?? headerWidths[0], className: "h-3" }) }, colIdx)) }),
34
+ return /* @__PURE__ */ jsxRuntime.jsxs(dataListTop.DataListRoot, { columns: skeletonColumns, fit, variant, children: [
35
+ /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListTop, { children: Array.from({ length: columnCount }).map((_, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListTopCell, { children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonBar, { width: headerWidths[colIdx % headerWidths.length] ?? headerWidths[0], className: "h-3" }) }, colIdx)) }),
36
36
  /* @__PURE__ */ jsxRuntime.jsx(DataListSkeletonRows, { columnCount, numberOfRows })
37
37
  ] });
38
38
  }
39
39
 
40
40
  exports.DataListSkeleton = DataListSkeleton;
41
41
  exports.DataListSkeletonRows = DataListSkeletonRows;
42
- //# sourceMappingURL=data-list-skeleton-DGMTqeNP.cjs.map
42
+ //# sourceMappingURL=data-list-skeleton-sdcaabdX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-list-skeleton-DGMTqeNP.cjs","sources":["../src/ds/components/DataList/data-list-skeleton.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n"],"names":["jsx","cn","dataListRowOuterStyles","_","DataListCell","splitColumns","jsxs","DataListRoot","DataListTop","DataListTopCell"],"mappings":";;;;;;AAQA,MAAM,SAAS,CAAC,KAAA,EAAO,OAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AACxD,MAAM,eAAe,CAAC,MAAA,EAAQ,QAAQ,MAAA,EAAQ,QAAA,EAAU,UAAU,MAAM,CAAA;AASxE,SAAS,WAAA,CAAY,EAAE,KAAA,EAAO,SAAA,EAAU,EAA0C;AAChF,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA,CAAG,uFAAA,EAAyF,SAAS,CAAA;AAAA,MAChH,KAAA,EAAO,EAAE,KAAA;AAAM;AAAA,GACjB;AAEJ;AAWO,SAAS,oBAAA,CAAqB,EAAE,WAAA,EAAa,YAAA,GAAe,GAAE,EAA8B;AACjG,EAAA,MAAM,oBAAA,GAAuB,CAAC,MAAA,EAAgB,MAAA,KAAmB;AAC/D,IAAA,MAAM,KAAA,GAAA,CAAS,MAAA,GAAS,MAAA,GAAS,WAAA,GAAc,gBAAgB,MAAA,CAAO,MAAA;AACtE,IAAA,OAAO,MAAA,CAAO,KAAK,CAAA,IAAK,MAAA,CAAO,CAAC,CAAA;AAAA,EAClC,CAAA;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,cAAc,CAAA,CAAE,IAAI,CAAC,CAAA,EAAG,2BAClDD,cAAA,CAAC,KAAA,EAAA,EAAiB,WAAWC,WAAA,CAAG,mDAAA,EAAqD,GAAGC,+BAAsB,CAAA,EAC3G,gBAAM,IAAA,CAAK,EAAE,QAAQ,WAAA,EAAa,EAAE,GAAA,CAAI,CAACC,IAAG,MAAA,qBAC3CH,cAAA,CAACI,yBACC,QAAA,kBAAAJ,cAAA,CAAC,WAAA,EAAA,EAAY,OAAO,oBAAA,CAAqB,MAAA,EAAQ,MAAM,CAAA,EAAG,CAAA,EAAA,EADzC,MAEnB,CACD,CAAA,EAAA,EALO,MAMV,CACD,CAAA;AACH;AAMO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,OAAA,GAAU,oBAAA;AAAA,EACV,YAAA,GAAe,CAAA;AAAA,EACf,GAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,WAAA,GAAcK,sBAAa,OAAO,CAAA;AACxC,EAAA,MAAM,cAAc,WAAA,CAAY,MAAA;AAChC,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,GAAA,CAAI,CAAA,GAAA,KAAQ,GAAA,KAAQ,SAAS,oBAAA,GAAuB,GAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAEtG,EAAA,uBACEC,eAAA,CAACC,qBAAA,EAAA,EAAa,OAAA,EAAS,eAAA,EAAiB,KAAU,OAAA,EAChD,QAAA,EAAA;AAAA,oBAAAP,cAAA,CAACQ,oBAAA,EAAA,EACE,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,WAAA,EAAa,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,MAAA,oCAC1CC,wBAAA,EAAA,EACC,QAAA,kBAAAT,cAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,YAAA,CAAa,MAAA,GAAS,YAAA,CAAa,MAAM,CAAA,IAAK,YAAA,CAAa,CAAC,CAAA,EAAG,SAAA,EAAU,KAAA,EAAM,CAAA,EAAA,EAD/E,MAEtB,CACD,CAAA,EACH,CAAA;AAAA,oBACAA,cAAA,CAAC,oBAAA,EAAA,EAAqB,WAAA,EAA0B,YAAA,EAA4B;AAAA,GAAA,EAC9E,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"data-list-skeleton-sdcaabdX.cjs","sources":["../src/ds/components/DataList/data-list-skeleton.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n"],"names":["jsx","cn","dataListRowOuterStyles","_","DataListCell","splitColumns","jsxs","DataListRoot","DataListTop","DataListTopCell"],"mappings":";;;;;;AAQA,MAAM,SAAS,CAAC,KAAA,EAAO,OAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AACxD,MAAM,eAAe,CAAC,MAAA,EAAQ,QAAQ,MAAA,EAAQ,QAAA,EAAU,UAAU,MAAM,CAAA;AASxE,SAAS,WAAA,CAAY,EAAE,KAAA,EAAO,SAAA,EAAU,EAA0C;AAChF,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA,CAAG,uFAAA,EAAyF,SAAS,CAAA;AAAA,MAChH,KAAA,EAAO,EAAE,KAAA;AAAM;AAAA,GACjB;AAEJ;AAWO,SAAS,oBAAA,CAAqB,EAAE,WAAA,EAAa,YAAA,GAAe,GAAE,EAA8B;AACjG,EAAA,MAAM,oBAAA,GAAuB,CAAC,MAAA,EAAgB,MAAA,KAAmB;AAC/D,IAAA,MAAM,KAAA,GAAA,CAAS,MAAA,GAAS,MAAA,GAAS,WAAA,GAAc,gBAAgB,MAAA,CAAO,MAAA;AACtE,IAAA,OAAO,MAAA,CAAO,KAAK,CAAA,IAAK,MAAA,CAAO,CAAC,CAAA;AAAA,EAClC,CAAA;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,cAAc,CAAA,CAAE,IAAI,CAAC,CAAA,EAAG,2BAClDD,cAAA,CAAC,KAAA,EAAA,EAAiB,WAAWC,WAAA,CAAG,mDAAA,EAAqD,GAAGC,kCAAsB,CAAA,EAC3G,gBAAM,IAAA,CAAK,EAAE,QAAQ,WAAA,EAAa,EAAE,GAAA,CAAI,CAACC,IAAG,MAAA,qBAC3CH,cAAA,CAACI,4BACC,QAAA,kBAAAJ,cAAA,CAAC,WAAA,EAAA,EAAY,OAAO,oBAAA,CAAqB,MAAA,EAAQ,MAAM,CAAA,EAAG,CAAA,EAAA,EADzC,MAEnB,CACD,CAAA,EAAA,EALO,MAMV,CACD,CAAA;AACH;AAMO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,OAAA,GAAU,oBAAA;AAAA,EACV,YAAA,GAAe,CAAA;AAAA,EACf,GAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,WAAA,GAAcK,yBAAa,OAAO,CAAA;AACxC,EAAA,MAAM,cAAc,WAAA,CAAY,MAAA;AAChC,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,GAAA,CAAI,CAAA,GAAA,KAAQ,GAAA,KAAQ,SAAS,oBAAA,GAAuB,GAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAEtG,EAAA,uBACEC,eAAA,CAACC,wBAAA,EAAA,EAAa,OAAA,EAAS,eAAA,EAAiB,KAAU,OAAA,EAChD,QAAA,EAAA;AAAA,oBAAAP,cAAA,CAACQ,uBAAA,EAAA,EACE,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,WAAA,EAAa,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,MAAA,oCAC1CC,2BAAA,EAAA,EACC,QAAA,kBAAAT,cAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,YAAA,CAAa,MAAA,GAAS,YAAA,CAAa,MAAM,CAAA,IAAK,YAAA,CAAa,CAAC,CAAA,EAAG,SAAA,EAAU,KAAA,EAAM,CAAA,EAAA,EAD/E,MAEtB,CACD,CAAA,EACH,CAAA;AAAA,oBACAA,cAAA,CAAC,oBAAA,EAAA,EAAqB,WAAA,EAA0B,YAAA,EAA4B;AAAA,GAAA,EAC9E,CAAA;AAEJ;;;;;"}