@12-apps/ui 6.24.0 → 6.24.1

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 (23) hide show
  1. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +5 -3
  2. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +4 -4
  3. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +5 -5
  4. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +2 -2
  5. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +3 -3
  6. package/dist/_internal/components/data-display/index.js +1 -1
  7. package/dist/_internal/components/index.js +1 -1
  8. package/dist/{chunk-ORSLFKKZ.js → chunk-BPLFM2GL.js} +2 -2
  9. package/dist/{chunk-RPWEXIAW.js → chunk-EZ5Z5UFI.js} +4 -2
  10. package/dist/{chunk-RPWEXIAW.js.map → chunk-EZ5Z5UFI.js.map} +1 -1
  11. package/dist/{chunk-EMUBMZMA.js → chunk-JQ45NDBS.js} +2 -2
  12. package/dist/{chunk-B7DKSBAE.js → chunk-TSYWI3NP.js} +2 -2
  13. package/dist/{chunk-C6KTQF4F.js → chunk-XO753WHD.js} +2 -2
  14. package/dist/data-display/DataGrid.js +1 -1
  15. package/dist/data-display/DataViews.js +5 -5
  16. package/dist/types/components/data-display/DataGrid/DataGrid.d.ts +11 -0
  17. package/dist/types/components/data-display/DataGrid/DataGrid.d.ts.map +1 -1
  18. package/package.json +1 -1
  19. package/src/components/data-display/DataGrid/DataGrid.tsx +5 -1
  20. /package/dist/{chunk-ORSLFKKZ.js.map → chunk-BPLFM2GL.js.map} +0 -0
  21. /package/dist/{chunk-EMUBMZMA.js.map → chunk-JQ45NDBS.js.map} +0 -0
  22. /package/dist/{chunk-B7DKSBAE.js.map → chunk-TSYWI3NP.js.map} +0 -0
  23. /package/dist/{chunk-C6KTQF4F.js.map → chunk-XO753WHD.js.map} +0 -0
@@ -1,6 +1,7 @@
1
1
  import {
2
- DataGrid
3
- } from "../../../../chunk-RPWEXIAW.js";
2
+ DataGrid,
3
+ GRID_ONLY_PROPS
4
+ } from "../../../../chunk-EZ5Z5UFI.js";
4
5
  import "../../../../chunk-5E3XZAED.js";
5
6
  import "../../../../chunk-DLJGBJZW.js";
6
7
  import "../../../../chunk-KZLLTOB2.js";
@@ -8,6 +9,7 @@ import "../../../../chunk-E5LWJDI3.js";
8
9
  import "../../../../chunk-G3E66C6J.js";
9
10
  import "../../../../chunk-PZ5AY32C.js";
10
11
  export {
11
- DataGrid
12
+ DataGrid,
13
+ GRID_ONLY_PROPS
12
14
  };
13
15
  //# sourceMappingURL=DataGrid.js.map
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  DataViewsGrid
4
- } from "../../../../chunk-C6KTQF4F.js";
5
- import "../../../../chunk-B7DKSBAE.js";
6
- import "../../../../chunk-ORSLFKKZ.js";
4
+ } from "../../../../chunk-XO753WHD.js";
5
+ import "../../../../chunk-TSYWI3NP.js";
6
+ import "../../../../chunk-BPLFM2GL.js";
7
7
  import "../../../../chunk-E55CJV65.js";
8
8
  import "../../../../chunk-PN5CQKA2.js";
9
9
  import "../../../../chunk-5OIH36KX.js";
@@ -100,7 +100,7 @@ import "../../../../chunk-SMCLG2RA.js";
100
100
  import "../../../../chunk-G3QKH23Y.js";
101
101
  import "../../../../chunk-JZRSHDNY.js";
102
102
  import "../../../../chunk-L5CPOEDP.js";
103
- import "../../../../chunk-RPWEXIAW.js";
103
+ import "../../../../chunk-EZ5Z5UFI.js";
104
104
  import "../../../../chunk-5E3XZAED.js";
105
105
  import "../../../../chunk-DLJGBJZW.js";
106
106
  import "../../../../chunk-KZLLTOB2.js";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  DataViewsTableBase
4
- } from "../../../../chunk-EMUBMZMA.js";
4
+ } from "../../../../chunk-JQ45NDBS.js";
5
5
  import "../../../../chunk-4X4KM4ZB.js";
6
- import "../../../../chunk-C6KTQF4F.js";
6
+ import "../../../../chunk-XO753WHD.js";
7
7
  import "../../../../chunk-ZOLAYP2D.js";
8
- import "../../../../chunk-B7DKSBAE.js";
9
- import "../../../../chunk-ORSLFKKZ.js";
8
+ import "../../../../chunk-TSYWI3NP.js";
9
+ import "../../../../chunk-BPLFM2GL.js";
10
10
  import "../../../../chunk-E55CJV65.js";
11
11
  import "../../../../chunk-PN5CQKA2.js";
12
12
  import "../../../../chunk-5OIH36KX.js";
@@ -132,7 +132,7 @@ import "../../../../chunk-SMCLG2RA.js";
132
132
  import "../../../../chunk-G3QKH23Y.js";
133
133
  import "../../../../chunk-JZRSHDNY.js";
134
134
  import "../../../../chunk-L5CPOEDP.js";
135
- import "../../../../chunk-RPWEXIAW.js";
135
+ import "../../../../chunk-EZ5Z5UFI.js";
136
136
  import "../../../../chunk-5E3XZAED.js";
137
137
  import "../../../../chunk-DLJGBJZW.js";
138
138
  import "../../../../chunk-KZLLTOB2.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  GridMain
4
- } from "../../../../chunk-ORSLFKKZ.js";
4
+ } from "../../../../chunk-BPLFM2GL.js";
5
5
  import "../../../../chunk-E55CJV65.js";
6
6
  import "../../../../chunk-XKV5ZIBG.js";
7
7
  import "../../../../chunk-CZPU5TW3.js";
@@ -17,7 +17,7 @@ import "../../../../chunk-FA3TYWX2.js";
17
17
  import "../../../../chunk-XJKMH3RX.js";
18
18
  import "../../../../chunk-D2HKCPEH.js";
19
19
  import "../../../../chunk-L5CPOEDP.js";
20
- import "../../../../chunk-RPWEXIAW.js";
20
+ import "../../../../chunk-EZ5Z5UFI.js";
21
21
  import "../../../../chunk-5E3XZAED.js";
22
22
  import "../../../../chunk-DLJGBJZW.js";
23
23
  import "../../../../chunk-KZLLTOB2.js";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  GridShell
4
- } from "../../../../chunk-B7DKSBAE.js";
5
- import "../../../../chunk-ORSLFKKZ.js";
4
+ } from "../../../../chunk-TSYWI3NP.js";
5
+ import "../../../../chunk-BPLFM2GL.js";
6
6
  import "../../../../chunk-E55CJV65.js";
7
7
  import "../../../../chunk-PN5CQKA2.js";
8
8
  import "../../../../chunk-5OIH36KX.js";
@@ -93,7 +93,7 @@ import "../../../../chunk-SMCLG2RA.js";
93
93
  import "../../../../chunk-G3QKH23Y.js";
94
94
  import "../../../../chunk-JZRSHDNY.js";
95
95
  import "../../../../chunk-L5CPOEDP.js";
96
- import "../../../../chunk-RPWEXIAW.js";
96
+ import "../../../../chunk-EZ5Z5UFI.js";
97
97
  import "../../../../chunk-5E3XZAED.js";
98
98
  import "../../../../chunk-DLJGBJZW.js";
99
99
  import "../../../../chunk-KZLLTOB2.js";
@@ -136,7 +136,7 @@ import "../../../chunk-BF4FYOAR.js";
136
136
  import "../../../chunk-L5CPOEDP.js";
137
137
  import {
138
138
  DataGrid
139
- } from "../../../chunk-RPWEXIAW.js";
139
+ } from "../../../chunk-EZ5Z5UFI.js";
140
140
  import "../../../chunk-5E3XZAED.js";
141
141
  import "../../../chunk-DLJGBJZW.js";
142
142
  import "../../../chunk-KZLLTOB2.js";
@@ -638,7 +638,7 @@ import {
638
638
  import "../../chunk-L5CPOEDP.js";
639
639
  import {
640
640
  DataGrid
641
- } from "../../chunk-RPWEXIAW.js";
641
+ } from "../../chunk-EZ5Z5UFI.js";
642
642
  import "../../chunk-5E3XZAED.js";
643
643
  import "../../chunk-DLJGBJZW.js";
644
644
  import "../../chunk-KZLLTOB2.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-KHG57NAE.js";
23
23
  import {
24
24
  DataGrid
25
- } from "./chunk-RPWEXIAW.js";
25
+ } from "./chunk-EZ5Z5UFI.js";
26
26
  import {
27
27
  default as default2
28
28
  } from "./chunk-6DPAWXZ3.js";
@@ -264,4 +264,4 @@ function GridMain(props) {
264
264
  export {
265
265
  GridMain
266
266
  };
267
- //# sourceMappingURL=chunk-ORSLFKKZ.js.map
267
+ //# sourceMappingURL=chunk-BPLFM2GL.js.map
@@ -101,6 +101,7 @@ var GRID_ONLY_PROPS = [
101
101
  "loading",
102
102
  "error",
103
103
  "emptyState",
104
+ "emptyText",
104
105
  "onRequestData",
105
106
  "ariaLabel",
106
107
  "ariaDescription"
@@ -113,6 +114,7 @@ function omitGridProps(rest) {
113
114
  DataGrid.displayName = "DataGrid";
114
115
 
115
116
  export {
116
- DataGrid
117
+ DataGrid,
118
+ GRID_ONLY_PROPS
117
119
  };
118
- //# sourceMappingURL=chunk-RPWEXIAW.js.map
120
+ //# sourceMappingURL=chunk-EZ5Z5UFI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/DataGrid/DataGrid.tsx"],"sourcesContent":["/**\n * `DataGrid` — the shell.\n *\n * Everything that is not \"which of the four renders is this, and what wraps the\n * table\" lives beside it: the state in `DataGrid.model.ts`, the client-mode row\n * pipeline in `DataGrid.rows.ts`, the cells and rows in `DataGrid.cells.tsx`,\n * the head/body in `DataGrid.body.tsx`, and the loading/error/empty renders in\n * `DataGrid.states.tsx`.\n *\n * All FOUR renders carry the caller's `data-testid`. It used to be applied only\n * on the populated one, so a grid whose first paint had no rows could not be\n * found by a test at all — see `DataGrid.states.tsx` for the full story.\n */\nimport Paper from '@mui/material/Paper/index.js';\nimport Table from '@mui/material/Table/index.js';\nimport TableContainer from '@mui/material/TableContainer/index.js';\nimport type React from 'react';\n\nimport { GridBody, GridHeader } from './DataGrid.body';\nimport { useDataGridModel } from './DataGrid.model';\nimport { DataGridEmpty, DataGridError, DataGridLoading } from './DataGrid.states';\nimport type { DataGridProps } from './DataGrid.types';\n\n/**\n * The chrome every render needs, with the defaults resolved ONCE.\n *\n * Extracted from the component body because a dozen destructuring defaults are\n * a dozen branches: the gate counted them, correctly, as complexity the render\n * did not need to carry.\n */\nfunction resolveChrome<T extends Record<string, unknown>>(props: DataGridProps<T>): {\n dataAttrs: Record<string, unknown>;\n placeholder: {\n dataTestId?: string;\n ariaLabel: string;\n className?: string;\n style?: React.CSSProperties;\n htmlProps: React.HTMLAttributes<HTMLElement>;\n };\n} {\n const { className, style, 'data-testid': dataTestId, ...rest } = props;\n const stickyHeader = props.stickyHeader ?? true;\n return {\n dataAttrs: {\n 'data-ui': 'datagrid',\n 'data-density': props.density ?? 'comfortable',\n 'data-size-mode': props.sizeMode ?? 'auto',\n 'data-virtual-rows': props.virtualizeRows ?? true,\n 'data-virtual-cols': props.virtualizeColumns ?? false,\n 'data-sticky-header': stickyHeader,\n },\n placeholder: {\n dataTestId,\n ariaLabel: props.ariaLabel ?? 'Data grid',\n className,\n style,\n // Only the DOM-safe leftovers reach the element: every grid-specific prop\n // is named in `GRID_ONLY_PROPS`, so this cannot smuggle `rows` onto a div.\n htmlProps: omitGridProps(rest as Record<string, unknown>),\n },\n };\n}\n\nexport const DataGrid = <T extends Record<string, unknown> = Record<string, unknown>>(\n props: DataGridProps<T>,\n): React.JSX.Element => {\n const model = useDataGridModel(props);\n const { dataAttrs, placeholder } = resolveChrome(props);\n\n if (props.loading) return <DataGridLoading {...placeholder} />;\n if (props.error) return <DataGridError {...placeholder} error={props.error} />;\n if (model.processedRows.length === 0) {\n return <DataGridEmpty {...placeholder} emptyState={props.emptyState} emptyText={props.emptyText} />;\n }\n\n const leadingColumns = (props.selection?.mode ?? 'none') !== 'none' ? 1 : 0;\n const totalColumns =\n model.visibleColumns.length + leadingColumns + (props.expansion ? 1 : 0);\n const section = { model, props, totalColumns };\n\n return (\n <Paper\n ref={model.containerRef}\n {...dataAttrs}\n data-testid={placeholder.dataTestId}\n className={placeholder.className}\n style={placeholder.style}\n role=\"grid\"\n aria-label={placeholder.ariaLabel}\n aria-description={props.ariaDescription}\n aria-rowcount={model.processedRows.length + 1} // +1 for the header row\n aria-colcount={totalColumns}\n sx={{ height: '100%', overflow: 'hidden', display: 'flex', flexDirection: 'column' }}\n {...placeholder.htmlProps}\n >\n <TableContainer\n sx={{ flex: 1, overflow: 'auto', position: 'relative' }}\n onScroll={model.onScroll}\n >\n <Table stickyHeader={props.stickyHeader ?? true}>\n <GridHeader {...section} />\n <GridBody {...section} />\n </Table>\n </TableContainer>\n </Paper>\n );\n};\n\n/**\n * The grid props that are NOT HTML attributes.\n *\n * `DataGridProps` extends `HTMLAttributes`, so the rest-spread carries the\n * grid's own configuration too. React would warn (or worse, serialize an array\n * of rows into an attribute) if any of it reached the DOM.\n */\nconst GRID_ONLY_PROPS = [\n 'rows',\n 'columns',\n 'getRowId',\n 'sizeMode',\n 'density',\n 'rowHeight',\n 'headerHeight',\n 'footerHeight',\n 'selection',\n 'pagination',\n 'sorting',\n 'filtering',\n 'expansion',\n 'editing',\n 'virtualizeRows',\n 'virtualizeColumns',\n 'stickyHeader',\n 'stickyFooter',\n 'loading',\n 'error',\n 'emptyState',\n 'onRequestData',\n 'ariaLabel',\n 'ariaDescription',\n] as const;\n\nfunction omitGridProps(rest: Record<string, unknown>): React.HTMLAttributes<HTMLElement> {\n const html: Record<string, unknown> = { ...rest };\n for (const key of GRID_ONLY_PROPS) delete html[key];\n return html as React.HTMLAttributes<HTMLElement>;\n}\n\nDataGrid.displayName = 'DataGrid';\n"],"mappings":";;;;;;;;;;;;;;AAaA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,oBAAoB;AAsDC,cA8BpB,YA9BoB;AAvC5B,SAAS,cAAiD,OASxD;AACA,QAAM,EAAE,WAAW,OAAO,eAAe,YAAY,GAAG,KAAK,IAAI;AACjE,QAAM,eAAe,MAAM,gBAAgB;AAC3C,SAAO;AAAA,IACL,WAAW;AAAA,MACT,WAAW;AAAA,MACX,gBAAgB,MAAM,WAAW;AAAA,MACjC,kBAAkB,MAAM,YAAY;AAAA,MACpC,qBAAqB,MAAM,kBAAkB;AAAA,MAC7C,qBAAqB,MAAM,qBAAqB;AAAA,MAChD,sBAAsB;AAAA,IACxB;AAAA,IACA,aAAa;AAAA,MACX;AAAA,MACA,WAAW,MAAM,aAAa;AAAA,MAC9B;AAAA,MACA;AAAA;AAAA;AAAA,MAGA,WAAW,cAAc,IAA+B;AAAA,IAC1D;AAAA,EACF;AACF;AAEO,IAAM,WAAW,CACtB,UACsB;AACtB,QAAM,QAAQ,iBAAiB,KAAK;AACpC,QAAM,EAAE,WAAW,YAAY,IAAI,cAAc,KAAK;AAEtD,MAAI,MAAM,QAAS,QAAO,oBAAC,mBAAiB,GAAG,aAAa;AAC5D,MAAI,MAAM,MAAO,QAAO,oBAAC,iBAAe,GAAG,aAAa,OAAO,MAAM,OAAO;AAC5E,MAAI,MAAM,cAAc,WAAW,GAAG;AACpC,WAAO,oBAAC,iBAAe,GAAG,aAAa,YAAY,MAAM,YAAY,WAAW,MAAM,WAAW;AAAA,EACnG;AAEA,QAAM,kBAAkB,MAAM,WAAW,QAAQ,YAAY,SAAS,IAAI;AAC1E,QAAM,eACJ,MAAM,eAAe,SAAS,kBAAkB,MAAM,YAAY,IAAI;AACxE,QAAM,UAAU,EAAE,OAAO,OAAO,aAAa;AAE7C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACV,GAAG;AAAA,MACJ,eAAa,YAAY;AAAA,MACzB,WAAW,YAAY;AAAA,MACvB,OAAO,YAAY;AAAA,MACnB,MAAK;AAAA,MACL,cAAY,YAAY;AAAA,MACxB,oBAAkB,MAAM;AAAA,MACxB,iBAAe,MAAM,cAAc,SAAS;AAAA,MAC5C,iBAAe;AAAA,MACf,IAAI,EAAE,QAAQ,QAAQ,UAAU,UAAU,SAAS,QAAQ,eAAe,SAAS;AAAA,MAClF,GAAG,YAAY;AAAA,MAEhB;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,EAAE,MAAM,GAAG,UAAU,QAAQ,UAAU,WAAW;AAAA,UACtD,UAAU,MAAM;AAAA,UAEhB,+BAAC,SAAM,cAAc,MAAM,gBAAgB,MACzC;AAAA,gCAAC,cAAY,GAAG,SAAS;AAAA,YACzB,oBAAC,YAAU,GAAG,SAAS;AAAA,aACzB;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AASA,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,cAAc,MAAkE;AACvF,QAAM,OAAgC,EAAE,GAAG,KAAK;AAChD,aAAW,OAAO,gBAAiB,QAAO,KAAK,GAAG;AAClD,SAAO;AACT;AAEA,SAAS,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/components/data-display/DataGrid/DataGrid.tsx"],"sourcesContent":["/**\n * `DataGrid` — the shell.\n *\n * Everything that is not \"which of the four renders is this, and what wraps the\n * table\" lives beside it: the state in `DataGrid.model.ts`, the client-mode row\n * pipeline in `DataGrid.rows.ts`, the cells and rows in `DataGrid.cells.tsx`,\n * the head/body in `DataGrid.body.tsx`, and the loading/error/empty renders in\n * `DataGrid.states.tsx`.\n *\n * All FOUR renders carry the caller's `data-testid`. It used to be applied only\n * on the populated one, so a grid whose first paint had no rows could not be\n * found by a test at all — see `DataGrid.states.tsx` for the full story.\n */\nimport Paper from '@mui/material/Paper/index.js';\nimport Table from '@mui/material/Table/index.js';\nimport TableContainer from '@mui/material/TableContainer/index.js';\nimport type React from 'react';\n\nimport { GridBody, GridHeader } from './DataGrid.body';\nimport { useDataGridModel } from './DataGrid.model';\nimport { DataGridEmpty, DataGridError, DataGridLoading } from './DataGrid.states';\nimport type { DataGridProps } from './DataGrid.types';\n\n/**\n * The chrome every render needs, with the defaults resolved ONCE.\n *\n * Extracted from the component body because a dozen destructuring defaults are\n * a dozen branches: the gate counted them, correctly, as complexity the render\n * did not need to carry.\n */\nfunction resolveChrome<T extends Record<string, unknown>>(props: DataGridProps<T>): {\n dataAttrs: Record<string, unknown>;\n placeholder: {\n dataTestId?: string;\n ariaLabel: string;\n className?: string;\n style?: React.CSSProperties;\n htmlProps: React.HTMLAttributes<HTMLElement>;\n };\n} {\n const { className, style, 'data-testid': dataTestId, ...rest } = props;\n const stickyHeader = props.stickyHeader ?? true;\n return {\n dataAttrs: {\n 'data-ui': 'datagrid',\n 'data-density': props.density ?? 'comfortable',\n 'data-size-mode': props.sizeMode ?? 'auto',\n 'data-virtual-rows': props.virtualizeRows ?? true,\n 'data-virtual-cols': props.virtualizeColumns ?? false,\n 'data-sticky-header': stickyHeader,\n },\n placeholder: {\n dataTestId,\n ariaLabel: props.ariaLabel ?? 'Data grid',\n className,\n style,\n // Only the DOM-safe leftovers reach the element: every grid-specific prop\n // is named in `GRID_ONLY_PROPS`, so this cannot smuggle `rows` onto a div.\n htmlProps: omitGridProps(rest as Record<string, unknown>),\n },\n };\n}\n\nexport const DataGrid = <T extends Record<string, unknown> = Record<string, unknown>>(\n props: DataGridProps<T>,\n): React.JSX.Element => {\n const model = useDataGridModel(props);\n const { dataAttrs, placeholder } = resolveChrome(props);\n\n if (props.loading) return <DataGridLoading {...placeholder} />;\n if (props.error) return <DataGridError {...placeholder} error={props.error} />;\n if (model.processedRows.length === 0) {\n return <DataGridEmpty {...placeholder} emptyState={props.emptyState} emptyText={props.emptyText} />;\n }\n\n const leadingColumns = (props.selection?.mode ?? 'none') !== 'none' ? 1 : 0;\n const totalColumns =\n model.visibleColumns.length + leadingColumns + (props.expansion ? 1 : 0);\n const section = { model, props, totalColumns };\n\n return (\n <Paper\n ref={model.containerRef}\n {...dataAttrs}\n data-testid={placeholder.dataTestId}\n className={placeholder.className}\n style={placeholder.style}\n role=\"grid\"\n aria-label={placeholder.ariaLabel}\n aria-description={props.ariaDescription}\n aria-rowcount={model.processedRows.length + 1} // +1 for the header row\n aria-colcount={totalColumns}\n sx={{ height: '100%', overflow: 'hidden', display: 'flex', flexDirection: 'column' }}\n {...placeholder.htmlProps}\n >\n <TableContainer\n sx={{ flex: 1, overflow: 'auto', position: 'relative' }}\n onScroll={model.onScroll}\n >\n <Table stickyHeader={props.stickyHeader ?? true}>\n <GridHeader {...section} />\n <GridBody {...section} />\n </Table>\n </TableContainer>\n </Paper>\n );\n};\n\n/**\n * The grid props that are NOT HTML attributes.\n *\n * `DataGridProps` extends `HTMLAttributes`, so the rest-spread carries the\n * grid's own configuration too. React would warn (or worse, serialize an array\n * of rows into an attribute) if any of it reached the DOM.\n *\n * Exported so a test can render a grid carrying every name on it and assert\n * none reaches the DOM — the check that would have caught `emptyText` missing.\n */\nexport const GRID_ONLY_PROPS = [\n 'rows',\n 'columns',\n 'getRowId',\n 'sizeMode',\n 'density',\n 'rowHeight',\n 'headerHeight',\n 'footerHeight',\n 'selection',\n 'pagination',\n 'sorting',\n 'filtering',\n 'expansion',\n 'editing',\n 'virtualizeRows',\n 'virtualizeColumns',\n 'stickyHeader',\n 'stickyFooter',\n 'loading',\n 'error',\n 'emptyState',\n 'emptyText',\n 'onRequestData',\n 'ariaLabel',\n 'ariaDescription',\n] as const;\n\nfunction omitGridProps(rest: Record<string, unknown>): React.HTMLAttributes<HTMLElement> {\n const html: Record<string, unknown> = { ...rest };\n for (const key of GRID_ONLY_PROPS) delete html[key];\n return html as React.HTMLAttributes<HTMLElement>;\n}\n\nDataGrid.displayName = 'DataGrid';\n"],"mappings":";;;;;;;;;;;;;;AAaA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,oBAAoB;AAsDC,cA8BpB,YA9BoB;AAvC5B,SAAS,cAAiD,OASxD;AACA,QAAM,EAAE,WAAW,OAAO,eAAe,YAAY,GAAG,KAAK,IAAI;AACjE,QAAM,eAAe,MAAM,gBAAgB;AAC3C,SAAO;AAAA,IACL,WAAW;AAAA,MACT,WAAW;AAAA,MACX,gBAAgB,MAAM,WAAW;AAAA,MACjC,kBAAkB,MAAM,YAAY;AAAA,MACpC,qBAAqB,MAAM,kBAAkB;AAAA,MAC7C,qBAAqB,MAAM,qBAAqB;AAAA,MAChD,sBAAsB;AAAA,IACxB;AAAA,IACA,aAAa;AAAA,MACX;AAAA,MACA,WAAW,MAAM,aAAa;AAAA,MAC9B;AAAA,MACA;AAAA;AAAA;AAAA,MAGA,WAAW,cAAc,IAA+B;AAAA,IAC1D;AAAA,EACF;AACF;AAEO,IAAM,WAAW,CACtB,UACsB;AACtB,QAAM,QAAQ,iBAAiB,KAAK;AACpC,QAAM,EAAE,WAAW,YAAY,IAAI,cAAc,KAAK;AAEtD,MAAI,MAAM,QAAS,QAAO,oBAAC,mBAAiB,GAAG,aAAa;AAC5D,MAAI,MAAM,MAAO,QAAO,oBAAC,iBAAe,GAAG,aAAa,OAAO,MAAM,OAAO;AAC5E,MAAI,MAAM,cAAc,WAAW,GAAG;AACpC,WAAO,oBAAC,iBAAe,GAAG,aAAa,YAAY,MAAM,YAAY,WAAW,MAAM,WAAW;AAAA,EACnG;AAEA,QAAM,kBAAkB,MAAM,WAAW,QAAQ,YAAY,SAAS,IAAI;AAC1E,QAAM,eACJ,MAAM,eAAe,SAAS,kBAAkB,MAAM,YAAY,IAAI;AACxE,QAAM,UAAU,EAAE,OAAO,OAAO,aAAa;AAE7C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACV,GAAG;AAAA,MACJ,eAAa,YAAY;AAAA,MACzB,WAAW,YAAY;AAAA,MACvB,OAAO,YAAY;AAAA,MACnB,MAAK;AAAA,MACL,cAAY,YAAY;AAAA,MACxB,oBAAkB,MAAM;AAAA,MACxB,iBAAe,MAAM,cAAc,SAAS;AAAA,MAC5C,iBAAe;AAAA,MACf,IAAI,EAAE,QAAQ,QAAQ,UAAU,UAAU,SAAS,QAAQ,eAAe,SAAS;AAAA,MAClF,GAAG,YAAY;AAAA,MAEhB;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,EAAE,MAAM,GAAG,UAAU,QAAQ,UAAU,WAAW;AAAA,UACtD,UAAU,MAAM;AAAA,UAEhB,+BAAC,SAAM,cAAc,MAAM,gBAAgB,MACzC;AAAA,gCAAC,cAAY,GAAG,SAAS;AAAA,YACzB,oBAAC,YAAU,GAAG,SAAS;AAAA,aACzB;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAYO,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,cAAc,MAAkE;AACvF,QAAM,OAAgC,EAAE,GAAG,KAAK;AAChD,aAAW,OAAO,gBAAiB,QAAO,KAAK,GAAG;AAClD,SAAO;AACT;AAEA,SAAS,cAAc;","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4X4KM4ZB.js";
4
4
  import {
5
5
  DataViewsGrid
6
- } from "./chunk-C6KTQF4F.js";
6
+ } from "./chunk-XO753WHD.js";
7
7
  import {
8
8
  viewStateKey
9
9
  } from "./chunk-ZOLAYP2D.js";
@@ -178,4 +178,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
178
178
  export {
179
179
  DataViewsTableBase
180
180
  };
181
- //# sourceMappingURL=chunk-EMUBMZMA.js.map
181
+ //# sourceMappingURL=chunk-JQ45NDBS.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GridMain
3
- } from "./chunk-ORSLFKKZ.js";
3
+ } from "./chunk-BPLFM2GL.js";
4
4
  import {
5
5
  FilterDialog,
6
6
  GridFilterPanel
@@ -237,4 +237,4 @@ function GridShell(props) {
237
237
  export {
238
238
  GridShell
239
239
  };
240
- //# sourceMappingURL=chunk-B7DKSBAE.js.map
240
+ //# sourceMappingURL=chunk-TSYWI3NP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-B7DKSBAE.js";
3
+ } from "./chunk-TSYWI3NP.js";
4
4
  import {
5
5
  useDataViewsState
6
6
  } from "./chunk-TX5V42AY.js";
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
27
27
  export {
28
28
  DataViewsGrid
29
29
  };
30
- //# sourceMappingURL=chunk-C6KTQF4F.js.map
30
+ //# sourceMappingURL=chunk-XO753WHD.js.map
@@ -1,7 +1,7 @@
1
1
  import "../chunk-L5CPOEDP.js";
2
2
  import {
3
3
  DataGrid
4
- } from "../chunk-RPWEXIAW.js";
4
+ } from "../chunk-EZ5Z5UFI.js";
5
5
  import "../chunk-5E3XZAED.js";
6
6
  import "../chunk-DLJGBJZW.js";
7
7
  import "../chunk-KZLLTOB2.js";
@@ -3,11 +3,11 @@ import {
3
3
  } from "../chunk-JWW2Z3RH.js";
4
4
  import {
5
5
  DataViewsTableBase
6
- } from "../chunk-EMUBMZMA.js";
6
+ } from "../chunk-JQ45NDBS.js";
7
7
  import "../chunk-4X4KM4ZB.js";
8
8
  import {
9
9
  DataViewsGrid
10
- } from "../chunk-C6KTQF4F.js";
10
+ } from "../chunk-XO753WHD.js";
11
11
  import {
12
12
  BaseListCard
13
13
  } from "../chunk-WR5JFDQ5.js";
@@ -22,8 +22,8 @@ import {
22
22
  DropIndicator,
23
23
  useDragItem
24
24
  } from "../chunk-JCJGJX7V.js";
25
- import "../chunk-B7DKSBAE.js";
26
- import "../chunk-ORSLFKKZ.js";
25
+ import "../chunk-TSYWI3NP.js";
26
+ import "../chunk-BPLFM2GL.js";
27
27
  import {
28
28
  DataViewsBoard
29
29
  } from "../chunk-E55CJV65.js";
@@ -175,7 +175,7 @@ import "../chunk-SMCLG2RA.js";
175
175
  import "../chunk-G3QKH23Y.js";
176
176
  import "../chunk-JZRSHDNY.js";
177
177
  import "../chunk-L5CPOEDP.js";
178
- import "../chunk-RPWEXIAW.js";
178
+ import "../chunk-EZ5Z5UFI.js";
179
179
  import "../chunk-5E3XZAED.js";
180
180
  import "../chunk-DLJGBJZW.js";
181
181
  import "../chunk-KZLLTOB2.js";
@@ -4,4 +4,15 @@ export declare const DataGrid: {
4
4
  <T extends Record<string, unknown> = Record<string, unknown>>(props: DataGridProps<T>): React.JSX.Element;
5
5
  displayName: string;
6
6
  };
7
+ /**
8
+ * The grid props that are NOT HTML attributes.
9
+ *
10
+ * `DataGridProps` extends `HTMLAttributes`, so the rest-spread carries the
11
+ * grid's own configuration too. React would warn (or worse, serialize an array
12
+ * of rows into an attribute) if any of it reached the DOM.
13
+ *
14
+ * Exported so a test can render a grid carrying every name on it and assert
15
+ * none reaches the DOM — the check that would have caught `emptyText` missing.
16
+ */
17
+ export declare const GRID_ONLY_PROPS: readonly ["rows", "columns", "getRowId", "sizeMode", "density", "rowHeight", "headerHeight", "footerHeight", "selection", "pagination", "sorting", "filtering", "expansion", "editing", "virtualizeRows", "virtualizeColumns", "stickyHeader", "stickyFooter", "loading", "error", "emptyState", "emptyText", "onRequestData", "ariaLabel", "ariaDescription"];
7
18
  //# sourceMappingURL=DataGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0CtD,eAAO,MAAM,QAAQ;KAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mCACjD,aAAa,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC,GAAG,CAAC,OAAO;;CAyCnB,CAAC"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0CtD,eAAO,MAAM,QAAQ;KAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mCACjD,aAAa,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC,GAAG,CAAC,OAAO;;CAyCnB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,gWA0BlB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.24.0",
3
+ "version": "6.24.1",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -112,8 +112,11 @@ export const DataGrid = <T extends Record<string, unknown> = Record<string, unkn
112
112
  * `DataGridProps` extends `HTMLAttributes`, so the rest-spread carries the
113
113
  * grid's own configuration too. React would warn (or worse, serialize an array
114
114
  * of rows into an attribute) if any of it reached the DOM.
115
+ *
116
+ * Exported so a test can render a grid carrying every name on it and assert
117
+ * none reaches the DOM — the check that would have caught `emptyText` missing.
115
118
  */
116
- const GRID_ONLY_PROPS = [
119
+ export const GRID_ONLY_PROPS = [
117
120
  'rows',
118
121
  'columns',
119
122
  'getRowId',
@@ -135,6 +138,7 @@ const GRID_ONLY_PROPS = [
135
138
  'loading',
136
139
  'error',
137
140
  'emptyState',
141
+ 'emptyText',
138
142
  'onRequestData',
139
143
  'ariaLabel',
140
144
  'ariaDescription',