@multiplatform.one/table 7.11.0 → 7.15.0

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 (265) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/ChildTable/index.cjs +8 -2
  3. package/dist/cjs/components/ChildTable/index.native.js +8 -2
  4. package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
  5. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +77 -111
  6. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +89 -129
  7. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  8. package/dist/cjs/components/DataTable/DataTableRoot.cjs +17 -1
  9. package/dist/cjs/components/DataTable/DataTableRoot.native.js +25 -2
  10. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  11. package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +72 -70
  12. package/dist/cjs/components/DataTableCell/index.cjs +2 -2
  13. package/dist/cjs/components/DataTableCell/index.native.js +2 -11
  14. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  15. package/dist/cjs/components/DataTableDateFilter/index.cjs +135 -158
  16. package/dist/cjs/components/DataTableDateFilter/index.native.js +153 -183
  17. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  18. package/dist/cjs/components/DataTableExport/index.cjs +122 -139
  19. package/dist/cjs/components/DataTableExport/index.native.js +135 -157
  20. package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
  21. package/dist/cjs/components/DataTableGrouping/index.cjs +192 -212
  22. package/dist/cjs/components/DataTableGrouping/index.native.js +209 -230
  23. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  24. package/dist/cjs/components/DataTableSearch/index.cjs +103 -115
  25. package/dist/cjs/components/DataTableSearch/index.native.js +111 -123
  26. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  27. package/dist/cjs/components/DataTableToolbar/index.cjs +44 -61
  28. package/dist/cjs/components/DataTableToolbar/index.native.js +46 -65
  29. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  30. package/dist/cjs/components/DataTableViewOptions/index.cjs +38 -54
  31. package/dist/cjs/components/DataTableViewOptions/index.native.js +40 -56
  32. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  33. package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +3 -11
  34. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +3 -11
  35. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  36. package/dist/cjs/components/SimpleTable/index.cjs +2 -6
  37. package/dist/cjs/components/SimpleTable/index.native.js +2 -6
  38. package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
  39. package/dist/cjs/components/TableInput/RowDetailEditor.cjs +190 -0
  40. package/dist/cjs/components/TableInput/RowDetailEditor.native.js +172 -0
  41. package/dist/cjs/components/TableInput/RowDetailEditor.native.js.map +1 -0
  42. package/dist/cjs/components/TableInput/index.cjs +42 -5
  43. package/dist/cjs/components/TableInput/index.native.js +64 -1
  44. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  45. package/dist/cjs/components/TableInput/shared.cjs +8 -0
  46. package/dist/cjs/components/TableInput/shared.native.js +10 -0
  47. package/dist/cjs/components/TableInput/shared.native.js.map +1 -1
  48. package/dist/cjs/hooks/useDataTable.cjs +11 -1
  49. package/dist/cjs/hooks/useDataTable.native.js +12 -2
  50. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  51. package/dist/cjs/index.native.js.map +1 -1
  52. package/dist/cjs/utils/rowPress.cjs +4 -1
  53. package/dist/cjs/utils/rowPress.native.js +4 -1
  54. package/dist/cjs/utils/rowPress.native.js.map +1 -1
  55. package/dist/esm/components/ChildTable/index.mjs +8 -2
  56. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  57. package/dist/esm/components/ChildTable/index.native.js +8 -2
  58. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  59. package/dist/esm/components/ColumnHeaderFilter/index.mjs +80 -114
  60. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  61. package/dist/esm/components/ColumnHeaderFilter/index.native.js +92 -132
  62. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  63. package/dist/esm/components/DataTable/DataTableRoot.mjs +17 -1
  64. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  65. package/dist/esm/components/DataTable/DataTableRoot.native.js +25 -2
  66. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  67. package/dist/esm/components/DataTableCell/CellModalEditor.mjs +76 -74
  68. package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  69. package/dist/esm/components/DataTableCell/index.mjs +3 -3
  70. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  71. package/dist/esm/components/DataTableCell/index.native.js +3 -12
  72. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  73. package/dist/esm/components/DataTableDateFilter/index.mjs +137 -160
  74. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  75. package/dist/esm/components/DataTableDateFilter/index.native.js +155 -185
  76. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  77. package/dist/esm/components/DataTableExport/index.mjs +124 -141
  78. package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
  79. package/dist/esm/components/DataTableExport/index.native.js +137 -159
  80. package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
  81. package/dist/esm/components/DataTableGrouping/index.mjs +194 -214
  82. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  83. package/dist/esm/components/DataTableGrouping/index.native.js +211 -232
  84. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  85. package/dist/esm/components/DataTableSearch/index.mjs +105 -117
  86. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  87. package/dist/esm/components/DataTableSearch/index.native.js +113 -125
  88. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  89. package/dist/esm/components/DataTableToolbar/index.mjs +46 -63
  90. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  91. package/dist/esm/components/DataTableToolbar/index.native.js +48 -67
  92. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  93. package/dist/esm/components/DataTableViewOptions/index.mjs +40 -56
  94. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  95. package/dist/esm/components/DataTableViewOptions/index.native.js +42 -58
  96. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  97. package/dist/esm/components/FilterOperatorValueEditor/index.mjs +3 -11
  98. package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  99. package/dist/esm/components/FilterOperatorValueEditor/index.native.js +3 -11
  100. package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  101. package/dist/esm/components/SimpleTable/index.mjs +3 -7
  102. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  103. package/dist/esm/components/SimpleTable/index.native.js +3 -7
  104. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  105. package/dist/esm/components/TableInput/RowDetailEditor.mjs +165 -0
  106. package/dist/esm/components/TableInput/RowDetailEditor.mjs.map +1 -0
  107. package/dist/esm/components/TableInput/RowDetailEditor.native.js +144 -0
  108. package/dist/esm/components/TableInput/RowDetailEditor.native.js.map +1 -0
  109. package/dist/esm/components/TableInput/index.mjs +42 -5
  110. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  111. package/dist/esm/components/TableInput/index.native.js +64 -1
  112. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  113. package/dist/esm/components/TableInput/shared.mjs +7 -1
  114. package/dist/esm/components/TableInput/shared.mjs.map +1 -1
  115. package/dist/esm/components/TableInput/shared.native.js +9 -1
  116. package/dist/esm/components/TableInput/shared.native.js.map +1 -1
  117. package/dist/esm/hooks/useDataTable.mjs +11 -1
  118. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  119. package/dist/esm/hooks/useDataTable.native.js +12 -2
  120. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  121. package/dist/esm/index.mjs.map +1 -1
  122. package/dist/esm/index.native.js.map +1 -1
  123. package/dist/esm/utils/rowPress.mjs +4 -1
  124. package/dist/esm/utils/rowPress.mjs.map +1 -1
  125. package/dist/esm/utils/rowPress.native.js +4 -1
  126. package/dist/esm/utils/rowPress.native.js.map +1 -1
  127. package/dist/jsx/components/ChildTable/index.mjs +8 -2
  128. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  129. package/dist/jsx/components/ChildTable/index.native.js +8 -2
  130. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  131. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +80 -114
  132. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  133. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +89 -129
  134. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  135. package/dist/jsx/components/DataTable/DataTableRoot.mjs +17 -1
  136. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  137. package/dist/jsx/components/DataTable/DataTableRoot.native.js +25 -2
  138. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  139. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +76 -74
  140. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  141. package/dist/jsx/components/DataTableCell/index.mjs +3 -3
  142. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  143. package/dist/jsx/components/DataTableCell/index.native.js +2 -11
  144. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  145. package/dist/jsx/components/DataTableDateFilter/index.mjs +137 -160
  146. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  147. package/dist/jsx/components/DataTableDateFilter/index.native.js +153 -183
  148. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  149. package/dist/jsx/components/DataTableExport/index.mjs +124 -141
  150. package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
  151. package/dist/jsx/components/DataTableExport/index.native.js +135 -157
  152. package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
  153. package/dist/jsx/components/DataTableGrouping/index.mjs +194 -214
  154. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  155. package/dist/jsx/components/DataTableGrouping/index.native.js +209 -230
  156. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  157. package/dist/jsx/components/DataTableSearch/index.mjs +105 -117
  158. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  159. package/dist/jsx/components/DataTableSearch/index.native.js +111 -123
  160. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  161. package/dist/jsx/components/DataTableToolbar/index.mjs +46 -63
  162. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  163. package/dist/jsx/components/DataTableToolbar/index.native.js +46 -65
  164. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  165. package/dist/jsx/components/DataTableViewOptions/index.mjs +40 -56
  166. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  167. package/dist/jsx/components/DataTableViewOptions/index.native.js +40 -56
  168. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  169. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +3 -11
  170. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  171. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +3 -11
  172. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  173. package/dist/jsx/components/SimpleTable/index.mjs +3 -7
  174. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  175. package/dist/jsx/components/SimpleTable/index.native.js +2 -6
  176. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  177. package/dist/jsx/components/TableInput/RowDetailEditor.mjs +165 -0
  178. package/dist/jsx/components/TableInput/RowDetailEditor.mjs.map +1 -0
  179. package/dist/jsx/components/TableInput/RowDetailEditor.native.js +172 -0
  180. package/dist/jsx/components/TableInput/RowDetailEditor.native.js.map +1 -0
  181. package/dist/jsx/components/TableInput/index.mjs +42 -5
  182. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  183. package/dist/jsx/components/TableInput/index.native.js +64 -1
  184. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  185. package/dist/jsx/components/TableInput/shared.mjs +7 -1
  186. package/dist/jsx/components/TableInput/shared.mjs.map +1 -1
  187. package/dist/jsx/components/TableInput/shared.native.js +10 -0
  188. package/dist/jsx/components/TableInput/shared.native.js.map +1 -1
  189. package/dist/jsx/hooks/useDataTable.mjs +11 -1
  190. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  191. package/dist/jsx/hooks/useDataTable.native.js +12 -2
  192. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  193. package/dist/jsx/index.js.map +1 -1
  194. package/dist/jsx/index.mjs.map +1 -1
  195. package/dist/jsx/index.native.js.map +1 -1
  196. package/dist/jsx/utils/rowPress.mjs +4 -1
  197. package/dist/jsx/utils/rowPress.mjs.map +1 -1
  198. package/dist/jsx/utils/rowPress.native.js +4 -1
  199. package/dist/jsx/utils/rowPress.native.js.map +1 -1
  200. package/package.json +14 -14
  201. package/src/components/ChildTable/childTable.cellHidden.spec.tsx +57 -0
  202. package/src/components/ChildTable/childTable.rowDetail.spec.tsx +120 -0
  203. package/src/components/ChildTable/index.tsx +16 -0
  204. package/src/components/ColumnHeaderFilter/index.tsx +89 -116
  205. package/src/components/DataTable/DataTable.stories.tsx +71 -6
  206. package/src/components/DataTable/DataTableRoot.tsx +27 -4
  207. package/src/components/DataTable/dataTableMobileCards.spec.tsx +1 -4
  208. package/src/components/DataTable/headerContainment.spec.tsx +91 -0
  209. package/src/components/DataTable/rowPress.spec.tsx +2 -6
  210. package/src/components/DataTableBulkActions/DataTableBulkActions.stories.tsx +5 -4
  211. package/src/components/DataTableCell/CellModalEditor.tsx +95 -75
  212. package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +12 -2
  213. package/src/components/DataTableCell/cellModalEditor.spec.tsx +75 -49
  214. package/src/components/DataTableCell/dataTableCell.spec.tsx +31 -14
  215. package/src/components/DataTableCell/index.tsx +3 -2
  216. package/src/components/DataTableDateFilter/DataTableDateFilter.spec.tsx +6 -3
  217. package/src/components/DataTableDateFilter/index.tsx +151 -180
  218. package/src/components/DataTableExport/index.tsx +135 -142
  219. package/src/components/DataTableGrouping/index.tsx +193 -195
  220. package/src/components/DataTableSearch/index.tsx +111 -109
  221. package/src/components/DataTableToolbar/index.tsx +39 -46
  222. package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +52 -0
  223. package/src/components/DataTableViewOptions/index.tsx +32 -40
  224. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +64 -2
  225. package/src/components/FilterOperatorValueEditor/index.tsx +0 -8
  226. package/src/components/SimpleTable/index.tsx +3 -2
  227. package/src/components/SimpleTable/simpleTable.spec.tsx +15 -0
  228. package/src/components/Table/accessibility.spec.tsx +7 -19
  229. package/src/components/TableInput/RowDetailEditor.native.tsx +134 -0
  230. package/src/components/TableInput/RowDetailEditor.tsx +173 -0
  231. package/src/components/TableInput/index.native.tsx +49 -1
  232. package/src/components/TableInput/index.tsx +65 -10
  233. package/src/components/TableInput/shared.ts +29 -0
  234. package/src/components/tableDropdowns.spec.tsx +172 -0
  235. package/src/hooks/useDataTable.spec.ts +39 -0
  236. package/src/hooks/useDataTable.ts +15 -1
  237. package/src/index.ts +1 -0
  238. package/src/utils/rowPress.ts +3 -0
  239. package/types/components/ChildTable/index.d.ts +10 -0
  240. package/types/components/ChildTable/index.d.ts.map +1 -1
  241. package/types/components/ColumnHeaderFilter/index.d.ts +1 -1
  242. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  243. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  244. package/types/components/DataTableCell/CellModalEditor.d.ts +10 -7
  245. package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
  246. package/types/components/DataTableCell/index.d.ts.map +1 -1
  247. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  248. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  249. package/types/components/DataTableSearch/index.d.ts.map +1 -1
  250. package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
  251. package/types/components/SimpleTable/index.d.ts.map +1 -1
  252. package/types/components/TableInput/RowDetailEditor.d.ts +24 -0
  253. package/types/components/TableInput/RowDetailEditor.d.ts.map +1 -0
  254. package/types/components/TableInput/RowDetailEditor.native.d.ts +11 -0
  255. package/types/components/TableInput/RowDetailEditor.native.d.ts.map +1 -0
  256. package/types/components/TableInput/index.d.ts +11 -2
  257. package/types/components/TableInput/index.d.ts.map +1 -1
  258. package/types/components/TableInput/index.native.d.ts +8 -1
  259. package/types/components/TableInput/index.native.d.ts.map +1 -1
  260. package/types/components/TableInput/shared.d.ts +11 -0
  261. package/types/components/TableInput/shared.d.ts.map +1 -1
  262. package/types/hooks/useDataTable.d.ts.map +1 -1
  263. package/types/index.d.ts +1 -0
  264. package/types/index.d.ts.map +1 -1
  265. package/types/utils/rowPress.d.ts.map +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * TableInput — the child-table field (the forms↔table bridge).
3
3
  *
4
- * Follows the forms field contract (agent-os/standards/frontend/field-architecture.md):
4
+ * Follows the forms field contract (docs/standards/frontend/field-architecture.md):
5
5
  * - Canonical change prop is `onChange(rows)` (LC-14 ONCHANGE-CANONICAL);
6
6
  * `onDataChange(rows)` survives as a deprecated alias that fires from the
7
7
  * same emit site, and `onCellChange(rowIndex, columnId, value)` is a
@@ -17,6 +17,8 @@
17
17
  * Row identity: added rows get a collision-free generated `id`. TableInput
18
18
  * reorders through the shared kanbanDnd machine (`enableReorder`); Frappe
19
19
  * `idx` renumbering is the ChildTable layer (MPO-22), not this field.
20
+ * `rowDetail` opens one row as a form over `detailColumns` (RowDetailEditor);
21
+ * `isCellHidden` blanks a cell per row, and the caller owns the rule.
20
22
  */
21
23
 
22
24
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -47,14 +49,18 @@ import type {
47
49
  } from "../../types";
48
50
  import { DataTableCell } from "../DataTableCell";
49
51
  import { withInterp } from "../../utils/withInterp";
52
+ import { RowDetailEditor } from "./RowDetailEditor";
50
53
  import {
51
54
  childRowAttrs,
52
55
  childTableKeyAction,
53
56
  generateRowId,
54
57
  isEmptyRows,
55
58
  SKELETON_ROW_COUNT,
59
+ type ChildCellHidden,
56
60
  } from "./shared";
57
61
 
62
+ const chromeColumnIds = new Set(["_reorder", "_rowNumber", "_detail", "_actions"]);
63
+
58
64
  export interface TableInputProps<TData extends DataTableData = DataTableData> {
59
65
  /** Data array for the table (ignored in favor of form state in the form branch) */
60
66
  data?: TData[];
@@ -104,6 +110,12 @@ export interface TableInputProps<TData extends DataTableData = DataTableData> {
104
110
  * this on and writes `idx` on the change payload (MPO-22).
105
111
  */
106
112
  enableReorder?: boolean;
113
+ /** Per-row button that opens the row in a detail editor (MPO-22). */
114
+ rowDetail?: boolean;
115
+ /** Fields the detail editor shows. Defaults to `columns`. */
116
+ detailColumns?: DataTableColumn<TData>[];
117
+ /** Hides one row's cell, in the grid and in the detail editor. */
118
+ isCellHidden?: ChildCellHidden<TData>;
107
119
  }
108
120
 
109
121
  export function TableInput<TData extends DataTableData = DataTableData>({
@@ -128,6 +140,9 @@ export function TableInput<TData extends DataTableData = DataTableData>({
128
140
  "aria-label": ariaLabel,
129
141
  compact = true,
130
142
  enableReorder = false,
143
+ rowDetail = false,
144
+ detailColumns,
145
+ isCellHidden,
131
146
  }: TableInputProps<TData>) {
132
147
  const { t } = useTranslation();
133
148
  const { resolvedForm } = useFormField({ form: formProp });
@@ -164,6 +179,9 @@ export function TableInput<TData extends DataTableData = DataTableData>({
164
179
  ariaLabel: resolvedAriaLabel,
165
180
  compact,
166
181
  enableReorder,
182
+ rowDetail,
183
+ detailColumns: detailColumns ?? columns,
184
+ isCellHidden,
167
185
  t,
168
186
  };
169
187
 
@@ -218,6 +236,9 @@ interface TableInputInnerProps<TData extends DataTableData> {
218
236
  ariaLabel: string;
219
237
  compact: boolean;
220
238
  enableReorder: boolean;
239
+ rowDetail: boolean;
240
+ detailColumns: DataTableColumn<TData>[];
241
+ isCellHidden?: ChildCellHidden<TData>;
221
242
  t: (key: string, options?: Record<string, unknown>) => string;
222
243
  }
223
244
 
@@ -238,6 +259,9 @@ function TableInputInner<TData extends DataTableData>({
238
259
  ariaLabel,
239
260
  compact,
240
261
  enableReorder,
262
+ rowDetail,
263
+ detailColumns,
264
+ isCellHidden,
241
265
  t,
242
266
  }: TableInputInnerProps<TData>) {
243
267
  const theme = useTheme();
@@ -248,6 +272,7 @@ function TableInputInner<TData extends DataTableData>({
248
272
  const pendingFocusRef = useRef<string | null>(null);
249
273
  const gridRef = useRef<HTMLElement | null>(null);
250
274
  const reorderEnabled = enableReorder && !readOnly && !skeleton;
275
+ const Detail = RowDetailEditor<TData>;
251
276
 
252
277
  const firstDataKey = useMemo(() => {
253
278
  const first = columns[0];
@@ -329,6 +354,16 @@ function TableInputInner<TData extends DataTableData>({
329
354
  [rows, commit, minRows],
330
355
  );
331
356
 
357
+ const handleRowDetailCommit = useCallback(
358
+ (rowIndex: number, next: TData, changed: string[]) => {
359
+ for (const columnId of changed) {
360
+ onCellChange?.(rowIndex, columnId, next[columnId as keyof TData]);
361
+ }
362
+ commit(rows.map((row, index) => (index === rowIndex ? next : row)));
363
+ },
364
+ [rows, commit, onCellChange],
365
+ );
366
+
332
367
  useEffect(() => {
333
368
  const id = pendingFocusRef.current;
334
369
  if (!id || typeof document === "undefined") return;
@@ -432,6 +467,7 @@ function TableInputInner<TData extends DataTableData>({
432
467
  ...col,
433
468
  id: columnId,
434
469
  cell: ({ row }) => {
470
+ if (isCellHidden?.(row.original, columnId, row.index)) return null;
435
471
  const value = row.original[columnId as keyof TData];
436
472
  const field = (col.field || "input") as DataTableField;
437
473
  const fieldProps = col.fieldProps as DataTableFieldProps | undefined;
@@ -454,6 +490,25 @@ function TableInputInner<TData extends DataTableData>({
454
490
  } as ColumnDef<TData, unknown>);
455
491
  });
456
492
 
493
+ if (rowDetail) {
494
+ cols.push({
495
+ id: "_detail",
496
+ header: "",
497
+ size: chromePx + 16,
498
+ cell: ({ row }) => (
499
+ <Detail
500
+ row={row.original}
501
+ rowIndex={row.index}
502
+ columns={detailColumns}
503
+ readOnly={readOnly}
504
+ compact={compact}
505
+ isCellHidden={isCellHidden}
506
+ onCommit={(next, changed) => handleRowDetailCommit(row.index, next, changed)}
507
+ />
508
+ ),
509
+ });
510
+ }
511
+
457
512
  if (showDeleteRow && !readOnly) {
458
513
  cols.push({
459
514
  id: "_actions",
@@ -495,6 +550,10 @@ function TableInputInner<TData extends DataTableData>({
495
550
  knobProps.label.fontSize,
496
551
  knobProps.nestedControl.hitSlop,
497
552
  reorderEnabled,
553
+ rowDetail,
554
+ detailColumns,
555
+ isCellHidden,
556
+ handleRowDetailCommit,
498
557
  ]);
499
558
 
500
559
  const table = useReactTable({
@@ -556,10 +615,7 @@ function TableInputInner<TData extends DataTableData>({
556
615
  key={header.id}
557
616
  style={{
558
617
  width: header.getSize(),
559
- ...(isEmpty &&
560
- header.column.id !== "_rowNumber" &&
561
- header.column.id !== "_actions" &&
562
- header.column.id !== "_reorder"
618
+ ...(isEmpty && !chromeColumnIds.has(header.column.id)
563
619
  ? { flexGrow: 1 }
564
620
  : null),
565
621
  }}
@@ -578,7 +634,9 @@ function TableInputInner<TData extends DataTableData>({
578
634
  <Table.Row key={`skeleton-${rowIndex}`}>
579
635
  {table.getAllLeafColumns().map((column) => (
580
636
  <Table.Cell key={column.id}>
581
- {column.id === "_actions" || column.id === "_reorder" ? null : (
637
+ {column.id === "_actions" ||
638
+ column.id === "_reorder" ||
639
+ column.id === "_detail" ? null : (
582
640
  <Skeleton
583
641
  variant="rounded"
584
642
  width={column.id === "_rowNumber" ? 16 : "70%"}
@@ -617,10 +675,7 @@ function TableInputInner<TData extends DataTableData>({
617
675
  >)}
618
676
  >
619
677
  {row.getVisibleCells().map((cell) => {
620
- const isData =
621
- cell.column.id !== "_rowNumber" &&
622
- cell.column.id !== "_actions" &&
623
- cell.column.id !== "_reorder";
678
+ const isData = !chromeColumnIds.has(cell.column.id);
624
679
  const field = columns.find((col) => {
625
680
  const id =
626
681
  typeof col.accessorKey === "string"
@@ -1,5 +1,7 @@
1
1
  /** Shared TableInput internals (web + native). */
2
2
 
3
+ import type { DataTableColumn, DataTableData } from "../../types";
4
+
3
5
  let rowIdCounter = 0;
4
6
 
5
7
  /**
@@ -75,3 +77,30 @@ export function childTableKeyAction(
75
77
  if (next < 0 || next >= ctx.rowCount) return null;
76
78
  return { type: "move", rowIndex: next, columnId: ctx.columnId };
77
79
  }
80
+
81
+ /**
82
+ * Per-row cell visibility (Frappe child `depends_on`, evaluated by the
83
+ * caller). True hides that cell's editor in the grid and its field in the
84
+ * row detail editor.
85
+ */
86
+ export type ChildCellHidden<TData extends DataTableData = DataTableData> = (
87
+ row: TData,
88
+ columnId: string,
89
+ rowIndex: number,
90
+ ) => boolean;
91
+
92
+ /** Row-data key a column reads (accessorKey, else id). */
93
+ export function columnKey<TData extends DataTableData>(col: DataTableColumn<TData>): string {
94
+ return typeof col.accessorKey === "string" ? col.accessorKey : col.id || String(col.accessorKey);
95
+ }
96
+
97
+ /** Column keys whose value differs between two versions of a row. */
98
+ export function changedColumns<TData extends DataTableData>(
99
+ before: TData,
100
+ after: TData,
101
+ columns: DataTableColumn<TData>[],
102
+ ): string[] {
103
+ return columns
104
+ .map(columnKey)
105
+ .filter((key) => !Object.is(before[key as keyof TData], after[key as keyof TData]));
106
+ }
@@ -0,0 +1,172 @@
1
+ /**
2
+ * MPO-221: a table dropdown is a FloatingPanel (the cover family, MPO-38),
3
+ * never Tamagui's Popover. Each surface opens the FloatingPanel viewport from
4
+ * its trigger, and no component source under components/ imports Popover.
5
+ */
6
+
7
+ import { readdirSync, readFileSync, statSync } from "node:fs";
8
+ import { join } from "node:path";
9
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
10
+ import { fireEvent, screen, waitFor } from "@testing-library/react";
11
+ import type { ReactElement } from "react";
12
+ import { describe, expect, it, vi } from "vitest";
13
+ import { ColumnHeaderFilter } from "./ColumnHeaderFilter";
14
+ import { DataTableDateFilter } from "./DataTableDateFilter";
15
+ import { DataTableExport } from "./DataTableExport";
16
+ import { DataTableGroupingConfig } from "./DataTableGrouping";
17
+ import { DataTableSearch } from "./DataTableSearch";
18
+ import { DataTableToolbar } from "./DataTableToolbar";
19
+ import { DataTableViewOptions } from "./DataTableViewOptions";
20
+
21
+ const panel = () =>
22
+ document.querySelector('[data-testid="floating-panel-viewport"]') as HTMLElement | null;
23
+
24
+ const rows = [{ name: "Ada", city: "London" }];
25
+ const columns = [
26
+ { accessorKey: "name", header: "Name", id: "name", searchable: true },
27
+ { accessorKey: "city", header: "City", id: "city", searchable: true },
28
+ ];
29
+
30
+ interface Surface {
31
+ name: string;
32
+ ui: ReactElement;
33
+ trigger: () => HTMLElement;
34
+ content: string;
35
+ }
36
+
37
+ const surfaces: Surface[] = [
38
+ {
39
+ name: "column header filter",
40
+ ui: (
41
+ <ColumnHeaderFilter
42
+ columnId="name"
43
+ columnLabel="Name"
44
+ columnType="text"
45
+ onFilterChange={vi.fn()}
46
+ />
47
+ ),
48
+ trigger: () => screen.getByLabelText("Filter column Name"),
49
+ content: "Filter: Name",
50
+ },
51
+ {
52
+ name: "export options",
53
+ ui: <DataTableExport data={rows} columns={columns} />,
54
+ trigger: () => screen.getByRole("button", { name: "Export options" }),
55
+ content: "Export Options",
56
+ },
57
+ {
58
+ name: "grouping",
59
+ ui: (
60
+ <DataTableGroupingConfig
61
+ columns={columns}
62
+ currentConfig={{ columns: [], aggregations: [] }}
63
+ onConfigChange={vi.fn()}
64
+ />
65
+ ),
66
+ trigger: () => screen.getByLabelText("Grouping configuration"),
67
+ content: "Grouping & Aggregation",
68
+ },
69
+ {
70
+ name: "date filter",
71
+ ui: <DataTableDateFilter placeholder="Pick a date" />,
72
+ trigger: () => screen.getByText("Pick a date"),
73
+ content: "Date Filter",
74
+ },
75
+ {
76
+ name: "search options",
77
+ ui: <DataTableSearch data={rows} columns={columns} onSearchResults={vi.fn()} />,
78
+ trigger: () => screen.getByRole("button", { name: "Search options" }),
79
+ content: "Search Options",
80
+ },
81
+ {
82
+ name: "toolbar save-view",
83
+ ui: (
84
+ <DataTableToolbar
85
+ onSaveView={vi.fn()}
86
+ onLoadView={vi.fn()}
87
+ views={[]}
88
+ enableViews
89
+ showViewSelector
90
+ />
91
+ ),
92
+ trigger: () => screen.getByRole("button", { name: "Save view" }),
93
+ content: "",
94
+ },
95
+ {
96
+ name: "view options save-view",
97
+ ui: (
98
+ <DataTableViewOptions
99
+ columns={[{ id: "name", label: "Name", visible: true, order: 0 }]}
100
+ onSaveView={vi.fn()}
101
+ onLoadView={vi.fn()}
102
+ onResetToDefault={vi.fn()}
103
+ showViewManagement
104
+ />
105
+ ),
106
+ trigger: () => screen.getByText("Save Current View"),
107
+ content: "Save View",
108
+ },
109
+ ];
110
+
111
+ describe("table dropdowns open FloatingPanel (MPO-221)", () => {
112
+ it.each(surfaces)("$name opens the FloatingPanel viewport", async ({ ui, trigger, content }) => {
113
+ renderWithProviders(ui);
114
+ expect(panel()).toBeNull();
115
+ fireEvent.click(trigger());
116
+ await waitFor(() => expect(panel()).not.toBeNull());
117
+ if (content) expect(panel()!.textContent).toContain(content);
118
+ // A compose-class editor declares its dismissal contract (LC-21 VERIFY).
119
+ expect(panel()!.querySelector('[data-dismiss-class="compose"]')).not.toBeNull();
120
+ });
121
+
122
+ it.each(surfaces)("$name closes on Escape", async ({ ui, trigger }) => {
123
+ renderWithProviders(ui);
124
+ fireEvent.click(trigger());
125
+ await waitFor(() => expect(panel()).not.toBeNull());
126
+ fireEvent.keyDown(document.activeElement ?? document.body, { key: "Escape" });
127
+ await waitFor(() => expect(panel()).toBeNull());
128
+ });
129
+
130
+ it("the save-view panel holds the view-name field and its two actions", async () => {
131
+ const onSaveView = vi.fn();
132
+ renderWithProviders(
133
+ <DataTableToolbar
134
+ onSaveView={onSaveView}
135
+ onLoadView={vi.fn()}
136
+ views={[]}
137
+ enableViews
138
+ showViewSelector
139
+ />,
140
+ );
141
+ fireEvent.click(screen.getByRole("button", { name: "Save view" }));
142
+ await waitFor(() => expect(panel()).not.toBeNull());
143
+ fireEvent.change(screen.getByLabelText("View name"), { target: { value: "Mine" } });
144
+ fireEvent.click(screen.getByRole("button", { name: "Save" }));
145
+ expect(onSaveView).toHaveBeenCalledWith("Mine");
146
+ await waitFor(() => expect(panel()).toBeNull());
147
+ });
148
+ });
149
+
150
+ function componentSources(dir: string): string[] {
151
+ return readdirSync(dir).flatMap((entry) => {
152
+ const path = join(dir, entry);
153
+ if (statSync(path).isDirectory()) return componentSources(path);
154
+ return /\.tsx?$/.test(entry) && !/\.(spec|stories)\.tsx?$/.test(entry) ? [path] : [];
155
+ });
156
+ }
157
+
158
+ describe("no Tamagui Popover in the table (MPO-221)", () => {
159
+ it("no component source imports Popover from tamagui", () => {
160
+ const offenders = componentSources(__dirname).filter((file) =>
161
+ /import\s*{[^}]*\bPopover\b[^}]*}\s*from\s*["']tamagui["']/.test(readFileSync(file, "utf8")),
162
+ );
163
+ expect(offenders).toEqual([]);
164
+ });
165
+
166
+ it("no component source mounts the components PopoverContent", () => {
167
+ const offenders = componentSources(__dirname).filter((file) =>
168
+ /\bPopoverContent\b/.test(readFileSync(file, "utf8")),
169
+ );
170
+ expect(offenders).toEqual([]);
171
+ });
172
+ });
@@ -225,3 +225,42 @@ describe("useDataTable column width normalization", () => {
225
225
  expect(result.current.table.getColumn("status")?.columnDef.sortingFn).toBe(sortingFn);
226
226
  });
227
227
  });
228
+
229
+ // ---------------------------------------------------------------------------
230
+ // columnOrder seeding — id-less columns keep the caller's declared order
231
+ // (MPO-292: `col.id || ""` matched no column, so every id-less column fell
232
+ // behind every id'd one)
233
+ // ---------------------------------------------------------------------------
234
+
235
+ describe("useDataTable columnOrder seeding", () => {
236
+ type Row = { id: number; name: string; status: string; owner: { name: string } };
237
+ const rows: Row[] = [
238
+ { id: 1, name: "Alice", status: "Active", owner: { name: "Ops" } },
239
+ { id: 2, name: "Bob", status: "Lead", owner: { name: "Sales" } },
240
+ ];
241
+
242
+ it("seeds columnOrder with TanStack's own key for every column, id or not", () => {
243
+ const columns = [
244
+ { accessorKey: "name", header: "Name" },
245
+ { id: "_actions", header: "Actions", cell: () => null },
246
+ { accessorKey: "owner.name", header: "Owner" },
247
+ { accessorFn: (row: Row) => row.status, header: "Status" },
248
+ ] as DataTableColumn<Row>[];
249
+ const { result } = renderHook(() => useDataTable({ data: rows, columns }));
250
+ const order = result.current.state.columnOrder;
251
+ expect(order).toEqual(["name", "_actions", "owner_name", "Status"]);
252
+ expect(new Set(order).size).toBe(columns.length);
253
+ for (const key of order) expect(result.current.table.getColumn(key)?.id).toBe(key);
254
+ });
255
+
256
+ it("renders getVisibleCells() in the declared order when id'd and id-less columns mix", () => {
257
+ const columns = [
258
+ { accessorKey: "name", header: "Name" },
259
+ { id: "_actions", header: "Actions", cell: () => null },
260
+ { accessorKey: "status", header: "Status" },
261
+ ] as DataTableColumn<Row>[];
262
+ const { result } = renderHook(() => useDataTable({ data: rows, columns }));
263
+ const cells = result.current.table.getRowModel().rows[0].getVisibleCells();
264
+ expect(cells.map((cell) => cell.column.id)).toEqual(["name", "_actions", "status"]);
265
+ });
266
+ });
@@ -221,6 +221,20 @@ function normalizeColumnWidths<TData extends DataTableData>(
221
221
  return Object.keys(sizing).length ? { ...column, ...sizing } : column;
222
222
  }
223
223
 
224
+ // TanStack keys an id-less column by its accessorKey (dots folded to "_"),
225
+ // then by a string header; a seeded order must use that same key or the
226
+ // column falls behind every matched one.
227
+ function columnOrderKey<TData extends DataTableData>(
228
+ column: ColumnDef<TData>,
229
+ index: number,
230
+ ): string {
231
+ if (column.id) return column.id;
232
+ const { accessorKey, header } = column as { accessorKey?: unknown; header?: unknown };
233
+ if (typeof accessorKey === "string" && accessorKey) return accessorKey.replace(/\./g, "_");
234
+ if (typeof header === "string" && header) return header;
235
+ return String(index);
236
+ }
237
+
224
238
  export function useDataTable<TData extends DataTableData = DataTableData>({
225
239
  data = [],
226
240
  columns = [],
@@ -269,7 +283,7 @@ export function useDataTable<TData extends DataTableData = DataTableData>({
269
283
  columnFilters: [],
270
284
  globalFilter: "",
271
285
  columnVisibility: {},
272
- columnOrder: columns.map((col) => col.id || ""),
286
+ columnOrder: columns.map((column, index) => columnOrderKey(column, index)),
273
287
  columnSizing: {},
274
288
  views: [],
275
289
  ...initialState,
package/src/index.ts CHANGED
@@ -125,6 +125,7 @@ export type {
125
125
 
126
126
  export { TableInput, type TableInputProps } from "./components/TableInput";
127
127
  export { ChildTable, type ChildTableProps } from "./components/ChildTable";
128
+ export type { ChildCellHidden } from "./components/TableInput/shared";
128
129
  export { DataTableCell, type DataTableCellProps } from "./components/DataTableCell";
129
130
  export { FilterManager, type FilterManagerProps } from "./components/FilterManager";
130
131
  export {
@@ -33,6 +33,9 @@ const INTERACTIVE_SELECTOR = [
33
33
  // Expand/collapse toggles (the row-expansion caret) predate a role — the
34
34
  // expanded-state attribute is their detectable interactivity signal.
35
35
  "[aria-expanded]",
36
+ // A cell editor's floating panel is portaled out of the row (MPO-335), and
37
+ // React still bubbles its presses to the row: all of it is inner control.
38
+ "[data-fp-portal]",
36
39
  ].join(", ");
37
40
 
38
41
  /**
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { type AnyFormApi } from "@multiplatform.one/forms";
3
+ import type { ChildCellHidden } from "../TableInput/shared";
3
4
  import type { DataTableColumn, DataTableData } from "../../types";
4
5
  export type ChildTableProps<TRow extends DataTableData = DataTableData> = {
5
6
  name?: string;
@@ -28,6 +29,15 @@ export type ChildTableProps<TRow extends DataTableData = DataTableData> = {
28
29
  * read-only or disabled. A committed drop rewrites `idx` 1..n (MPO-22).
29
30
  */
30
31
  enableReorder?: boolean;
32
+ /**
33
+ * Per-row button that opens the row in a detail editor over
34
+ * `detailColumns` (default `columns`). Opt-in; a read-only table opens
35
+ * the row for viewing (MPO-22).
36
+ */
37
+ rowDetail?: boolean;
38
+ detailColumns?: DataTableColumn<TRow>[];
39
+ /** Hides one row's cell, in the grid and in the detail editor (MPO-22). */
40
+ isCellHidden?: ChildCellHidden<TRow>;
31
41
  };
32
42
  export declare function ChildTable<TRow extends DataTableData = DataTableData>(props: ChildTableProps<TRow>): import("react/jsx-runtime").JSX.Element;
33
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChildTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,IAAI;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AA0BF,wBAAgB,UAAU,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,EACnE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,2CA0G7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChildTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,IAAI;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AA0BF,wBAAgB,UAAU,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,EACnE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,2CAgH7B"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ColumnHeaderFilter - Filter popover for individual column headers
2
+ * ColumnHeaderFilter - Filter panel for individual column headers
3
3
  * AG Grid style column filtering with operators and value inputs
4
4
  */
5
5
  import type { DataTableColumnType } from "../../types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnHeaderFilter/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAC;AAKvE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,mCAAmC;IACnC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC/C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,SAAS,EACnB,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,OAAO,EACP,UAAU,GACX,EAAE,uBAAuB,2CAkKzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnHeaderFilter/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAC;AAKvE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,mCAAmC;IACnC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC/C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,SAAS,EACnB,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,OAAO,EACP,UAAU,GACX,EAAE,uBAAuB,2CAuIzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRoot.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAajF,OAAO,KAAK,EAIV,cAAc,EAEf,MAAM,aAAa,CAAC;AAgDrB,MAAM,WAAW,kBAAkB,CACjC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACvD,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACrF,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,WAAmB,EACnB,aAAmB,EACnB,WAAW,EACX,eAAuB,EACvB,gBAAwB,EACxB,aAAqB,EACrB,eAAsB,EACtB,gBAAgB,EAChB,aAAoB,EACpB,gBAAuB,EACvB,eAAe,EACf,cAAwB,EACxB,QAAQ,EACR,cAAc,EACd,sBAA6B,EAC7B,oBAA4B,EAC5B,oBAA4B,EAC5B,kBAAyB,EACzB,WAAmB,EACnB,YAAsB,EACtB,MAAe,EACf,oBAA4B,EAC5B,oBAAoB,EACpB,sBAA0B,EAC1B,kBAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,mBAA2B,EAC3B,gBAAoB,EACpB,cAAsB,EACtB,wBAAgC,EAChC,UAAU,EACV,QAAQ,EACR,kBAA0B,EAC1B,cAAc,EAAE,kBAAkB,EAClC,WAAW,EACX,QAAgB,EAChB,YAAY,EACZ,IAAI,EACJ,IAAI,EAAE,QAAQ,EACd,cAAsB,EACtB,UAAkB,EAClB,aAAqB,EACrB,OAAW,EACX,OAAO,EACP,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,aAAa,EAAE,cAAc,EAC7B,SAAS,EACT,IAAI,EACJ,OAAe,EACf,QAAgB,EAChB,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,kBAAkB,EAAE,eAAe,EACnC,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CAkpE3B"}
1
+ {"version":3,"file":"DataTableRoot.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAajF,OAAO,KAAK,EAIV,cAAc,EAEf,MAAM,aAAa,CAAC;AAgDrB,MAAM,WAAW,kBAAkB,CACjC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACvD,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACrF,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,WAAmB,EACnB,aAAmB,EACnB,WAAW,EACX,eAAuB,EACvB,gBAAwB,EACxB,aAAqB,EACrB,eAAsB,EACtB,gBAAgB,EAChB,aAAoB,EACpB,gBAAuB,EACvB,eAAe,EACf,cAAwB,EACxB,QAAQ,EACR,cAAc,EACd,sBAA6B,EAC7B,oBAA4B,EAC5B,oBAA4B,EAC5B,kBAAyB,EACzB,WAAmB,EACnB,YAAsB,EACtB,MAAe,EACf,oBAA4B,EAC5B,oBAAoB,EACpB,sBAA0B,EAC1B,kBAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,mBAA2B,EAC3B,gBAAoB,EACpB,cAAsB,EACtB,wBAAgC,EAChC,UAAU,EACV,QAAQ,EACR,kBAA0B,EAC1B,cAAc,EAAE,kBAAkB,EAClC,WAAW,EACX,QAAgB,EAChB,YAAY,EACZ,IAAI,EACJ,IAAI,EAAE,QAAQ,EACd,cAAsB,EACtB,UAAkB,EAClB,aAAqB,EACrB,OAAW,EACX,OAAO,EACP,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,aAAa,EAAE,cAAc,EAC7B,SAAS,EACT,IAAI,EACJ,OAAe,EACf,QAAgB,EAChB,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,kBAAkB,EAAE,eAAe,EACnC,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CAyqE3B"}
@@ -1,15 +1,18 @@
1
1
  /**
2
2
  * CellModalEditor — wraps tall field types (FileUpload, Signature, RichText,
3
- * etc.) in a Tamagui Dialog that opens on cell click. Cell shows a compact
4
- * `FieldDisplay` summary; click opens a centered modal with the full editor.
3
+ * etc.) in a forms FloatingPanel that opens on cell click. The cell shows a
4
+ * compact `FieldDisplay` summary; a click opens the full editor in a panel
5
+ * that attaches to the cell it was opened from (MPO-38 cover contract), the
6
+ * same FloatingPanel the native variant uses (a sheet there and at 640 and
7
+ * below). It never grows the row (LC-06).
5
8
  *
6
- * The modal is a staging buffer (UX-023 / Axiom 7 AGENCY): the inner editor
9
+ * The panel is a staging buffer (UX-023 / Axiom 7 AGENCY): the inner editor
7
10
  * is wired to a local draft seeded from the committed value on open — nothing
8
- * reaches the row while the modal is open. "Done" commits the draft once via
11
+ * reaches the row while the panel is open. "Done" commits the draft once via
9
12
  * `onCommit`; an outside click also commits (LC-21: a cell editor's draft
10
13
  * still commits on the outside-click close); "Cancel" and Escape discard the
11
14
  * draft and leave the row untouched. Cancel is never disabled (LC-30) and the
12
- * footer stays within the two-action dialog budget (LC-31).
15
+ * footer stays within the two-action budget (LC-31).
13
16
  */
14
17
  import { type FieldDisplayType } from "@multiplatform.one/forms";
15
18
  import { type ReactNode } from "react";
@@ -22,12 +25,12 @@ export interface CellModalEditorProps {
22
25
  /** Commits the staged draft to the row. Fires at most once per session. */
23
26
  onCommit: (value: any) => void;
24
27
  /**
25
- * Full editor mounted inside the modal, wired to the staged draft: render
28
+ * Full editor mounted inside the panel, wired to the staged draft: render
26
29
  * with `draftValue` and report edits through `onDraftChange` — never
27
30
  * straight to the row.
28
31
  */
29
32
  children: (draftValue: any, onDraftChange: (value: any) => void) => ReactNode;
30
- /** Title shown in the modal header. */
33
+ /** Title shown in the panel header. */
31
34
  title?: string;
32
35
  /**
33
36
  * Accessible name for the chromeless cell trigger (column header).
@@ -1 +1 @@
1
- {"version":3,"file":"CellModalEditor.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableCell/CellModalEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,SAAS,CAAC;IAC9E,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,oBAAoB,2CA+HtB"}
1
+ {"version":3,"file":"CellModalEditor.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableCell/CellModalEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,SAAS,CAAC;IAC9E,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,oBAAoB,2CA4ItB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableCell/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgDH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKvE,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,KAAK,EAAE,GAAG,CAAC;IACX,uEAAuE;IACvE,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAe,EACf,UAAe,EACf,QAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,QAAQ,EACR,WAAW,EACX,QAAQ,EAAE,SAAS,EACnB,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,eAAe,GAChC,EAAE,kBAAkB,2CAq0BpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableCell/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiDH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKvE,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,KAAK,EAAE,GAAG,CAAC;IACX,uEAAuE;IACvE,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAe,EACf,UAAe,EACf,QAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,QAAQ,EACR,WAAW,EACX,QAAQ,EAAE,SAAS,EACnB,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,eAAe,GAChC,EAAE,kBAAkB,2CAs0BpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableDateFilter/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAgBjD,MAAM,MAAM,kBAAkB,GAC1B,IAAI,GACJ,OAAO,GACP,UAAU,GACV,SAAS,GACT,cAAc,GACd,aAAa,GACb,WAAW,GACX,SAAS,GACT,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAQD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,WAAoC,EACpC,QAAgB,EAChB,WAAkB,EAClB,aAAkB,EAClB,UAAU,EAAE,WAA4B,EACxC,OAAO,EACP,OAAO,GACR,EAAE,wBAAwB,2CA2Z1B;AAgBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAsE1C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,IAAI,EAAE,CAAC,EAAE,EACT,SAAS,EAAE,MAAM,CAAC,EAClB,WAAW,CAAC,EAAE,eAAe,GAC5B,CAAC,EAAE,CA2HL;AAID,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAC3C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,SAAS,EAAE,MAAM,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,GAAG;IAC1C,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,WAAW,EAAE,eAAe,GAAG,SAAS,CAAC;IACzC,cAAc,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,EACrC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,cAAc,GACf,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAuBlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableDateFilter/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableGrouping/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTableGrouping/index.tsx"],"names":[],"mappings":"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"}