@12-apps/ui 6.12.1 → 6.13.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 (137) hide show
  1. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +25 -25
  2. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +27 -27
  3. package/dist/_internal/components/data-display/DataViews/base-card.js +2 -2
  4. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +5 -5
  5. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +4 -4
  6. package/dist/_internal/components/data-display/DataViews/base-list-card.js +6 -6
  7. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +11 -11
  8. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +4 -4
  9. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  10. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
  11. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +4 -4
  12. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +23 -23
  13. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +12 -12
  14. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +2 -2
  15. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
  16. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +6 -6
  17. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +5 -5
  18. package/dist/_internal/components/data-display/DataViews/data-views-types.js +1 -1
  19. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +3 -3
  20. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
  21. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  22. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  23. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  24. package/dist/_internal/components/form/CategorySelect/CategoryQuickActions.js +2 -2
  25. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  26. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +10 -10
  27. package/dist/_internal/components/form/CategorySelect/category-keyboard.js +2 -1
  28. package/dist/_internal/components/form/CategorySelect/category-tree.js +3 -1
  29. package/dist/_internal/components/form/CategorySelect/useCategoryCommit.js +2 -1
  30. package/dist/_internal/components/form/CategorySelect/useCategoryKeyHandler.js +3 -2
  31. package/dist/_internal/components/form/CategorySelect/useCategorySelect.js +2 -2
  32. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +11 -11
  33. package/dist/_internal/components/form/total-form/Fields/index.js +12 -12
  34. package/dist/{chunk-HQBXB5QB.js → chunk-2GB5CIN6.js} +2 -2
  35. package/dist/{chunk-6UGRH32J.js → chunk-4KSOSI3U.js} +4 -4
  36. package/dist/{chunk-IKBQ7CS2.js → chunk-56SMIHWE.js} +2 -2
  37. package/dist/{chunk-LWYXMCX6.js → chunk-5ZZPQ3MT.js} +4 -4
  38. package/dist/{chunk-ZBYWGL5G.js → chunk-6U7NA74A.js} +2 -2
  39. package/dist/{chunk-XQZOMXP3.js → chunk-AWTERXCW.js} +2 -2
  40. package/dist/{chunk-JIEEUHNS.js → chunk-AZSFIQIA.js} +8 -8
  41. package/dist/{chunk-TY6CTYCF.js → chunk-BV5XTGKB.js} +3 -3
  42. package/dist/chunk-BV5XTGKB.js.map +1 -0
  43. package/dist/{chunk-5F4NIRVF.js → chunk-CKZFYGBY.js} +10 -6
  44. package/dist/chunk-CKZFYGBY.js.map +1 -0
  45. package/dist/{chunk-T4JGNZAR.js → chunk-CZPU5TW3.js} +2 -2
  46. package/dist/{chunk-S6T722WH.js → chunk-DEOC5OI7.js} +3 -3
  47. package/dist/{chunk-KWUQZDPL.js → chunk-ECIGNYSI.js} +3 -2
  48. package/dist/chunk-ECIGNYSI.js.map +1 -0
  49. package/dist/{chunk-Q5GXVDXL.js → chunk-EICVL6GS.js} +2 -2
  50. package/dist/{chunk-USBTXEBG.js → chunk-HGBZZDP6.js} +2 -2
  51. package/dist/{chunk-6IAQGSXD.js → chunk-HR7YTBR7.js} +2 -2
  52. package/dist/{chunk-NXTKZSMT.js → chunk-IN642YHK.js} +2 -2
  53. package/dist/{chunk-QBJVRPTF.js → chunk-ISH42UC7.js} +2 -2
  54. package/dist/{chunk-AGKQBS4C.js → chunk-JKLWHENB.js} +3 -3
  55. package/dist/{chunk-SVXSBLVD.js → chunk-KEDI6IRA.js} +2 -2
  56. package/dist/{chunk-C6ATAHBX.js → chunk-LHHAYZ55.js} +1 -1
  57. package/dist/chunk-LHHAYZ55.js.map +1 -0
  58. package/dist/{chunk-Z5E2PXGN.js → chunk-LPYB4Y7C.js} +49 -16
  59. package/dist/chunk-LPYB4Y7C.js.map +1 -0
  60. package/dist/{chunk-DVTCZR3K.js → chunk-LR6MSKTT.js} +7 -5
  61. package/dist/chunk-LR6MSKTT.js.map +1 -0
  62. package/dist/{chunk-CY5X3HNQ.js → chunk-OGGHD64H.js} +2 -2
  63. package/dist/{chunk-QFHUWD3C.js → chunk-QQE2PVLO.js} +3 -3
  64. package/dist/{chunk-N7SBWD2V.js → chunk-RDYBS45D.js} +4 -4
  65. package/dist/{chunk-F6FT2LIR.js → chunk-SCGVB7DS.js} +2 -2
  66. package/dist/{chunk-TDSRBCBG.js → chunk-T4BFDZGU.js} +9 -8
  67. package/dist/chunk-T4BFDZGU.js.map +1 -0
  68. package/dist/{chunk-T6V3DKJ5.js → chunk-WLCVOQCJ.js} +2 -2
  69. package/dist/{chunk-GCC66ZSD.js → chunk-WWM2YTW4.js} +29 -13
  70. package/dist/chunk-WWM2YTW4.js.map +1 -0
  71. package/dist/{chunk-GQTBWJYK.js → chunk-WXBBWSNU.js} +2 -2
  72. package/dist/{chunk-VN6Z6F7R.js → chunk-ZAB65STX.js} +11 -6
  73. package/dist/chunk-ZAB65STX.js.map +1 -0
  74. package/dist/{chunk-HVIB6WMD.js → chunk-ZPIMPOHV.js} +2 -2
  75. package/dist/{chunk-E3IPN3KN.js → chunk-ZUIJ3N7N.js} +2 -2
  76. package/dist/data-display/DataViews.js +31 -31
  77. package/dist/form/CategorySelect.js +10 -10
  78. package/dist/form/total-form.js +12 -12
  79. package/dist/types/components/data-display/DataViews/data-views-category-pill.d.ts +6 -0
  80. package/dist/types/components/data-display/DataViews/data-views-category-pill.d.ts.map +1 -1
  81. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
  82. package/dist/types/components/data-display/DataViews/data-views-types.d.ts +21 -0
  83. package/dist/types/components/data-display/DataViews/data-views-types.d.ts.map +1 -1
  84. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts +10 -2
  85. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
  86. package/dist/types/components/form/CategorySelect/CategoryPanelList.d.ts.map +1 -1
  87. package/dist/types/components/form/CategorySelect/CategoryRows.d.ts +8 -2
  88. package/dist/types/components/form/CategorySelect/CategoryRows.d.ts.map +1 -1
  89. package/dist/types/components/form/CategorySelect/category-keyboard.d.ts +1 -1
  90. package/dist/types/components/form/CategorySelect/category-keyboard.d.ts.map +1 -1
  91. package/dist/types/components/form/CategorySelect/category-tree.d.ts +12 -0
  92. package/dist/types/components/form/CategorySelect/category-tree.d.ts.map +1 -1
  93. package/dist/types/components/form/CategorySelect/useCategoryCommit.d.ts.map +1 -1
  94. package/package.json +1 -1
  95. package/src/components/data-display/DataViews/data-views-category-pill.tsx +7 -0
  96. package/src/components/data-display/DataViews/data-views-grid-parts.tsx +2 -1
  97. package/src/components/data-display/DataViews/data-views-types.ts +24 -0
  98. package/src/components/data-display/DataViews/use-data-views-state.ts +13 -3
  99. package/src/components/form/CategorySelect/CategoryPanelList.tsx +9 -5
  100. package/src/components/form/CategorySelect/CategoryRows.tsx +64 -23
  101. package/src/components/form/CategorySelect/CategorySelect.md +33 -6
  102. package/src/components/form/CategorySelect/category-keyboard.ts +34 -15
  103. package/src/components/form/CategorySelect/category-tree.ts +17 -8
  104. package/src/components/form/CategorySelect/useCategoryCommit.ts +10 -6
  105. package/dist/chunk-5F4NIRVF.js.map +0 -1
  106. package/dist/chunk-C6ATAHBX.js.map +0 -1
  107. package/dist/chunk-DVTCZR3K.js.map +0 -1
  108. package/dist/chunk-GCC66ZSD.js.map +0 -1
  109. package/dist/chunk-KWUQZDPL.js.map +0 -1
  110. package/dist/chunk-TDSRBCBG.js.map +0 -1
  111. package/dist/chunk-TY6CTYCF.js.map +0 -1
  112. package/dist/chunk-VN6Z6F7R.js.map +0 -1
  113. package/dist/chunk-Z5E2PXGN.js.map +0 -1
  114. /package/dist/{chunk-HQBXB5QB.js.map → chunk-2GB5CIN6.js.map} +0 -0
  115. /package/dist/{chunk-6UGRH32J.js.map → chunk-4KSOSI3U.js.map} +0 -0
  116. /package/dist/{chunk-IKBQ7CS2.js.map → chunk-56SMIHWE.js.map} +0 -0
  117. /package/dist/{chunk-LWYXMCX6.js.map → chunk-5ZZPQ3MT.js.map} +0 -0
  118. /package/dist/{chunk-ZBYWGL5G.js.map → chunk-6U7NA74A.js.map} +0 -0
  119. /package/dist/{chunk-XQZOMXP3.js.map → chunk-AWTERXCW.js.map} +0 -0
  120. /package/dist/{chunk-JIEEUHNS.js.map → chunk-AZSFIQIA.js.map} +0 -0
  121. /package/dist/{chunk-T4JGNZAR.js.map → chunk-CZPU5TW3.js.map} +0 -0
  122. /package/dist/{chunk-S6T722WH.js.map → chunk-DEOC5OI7.js.map} +0 -0
  123. /package/dist/{chunk-Q5GXVDXL.js.map → chunk-EICVL6GS.js.map} +0 -0
  124. /package/dist/{chunk-USBTXEBG.js.map → chunk-HGBZZDP6.js.map} +0 -0
  125. /package/dist/{chunk-6IAQGSXD.js.map → chunk-HR7YTBR7.js.map} +0 -0
  126. /package/dist/{chunk-NXTKZSMT.js.map → chunk-IN642YHK.js.map} +0 -0
  127. /package/dist/{chunk-QBJVRPTF.js.map → chunk-ISH42UC7.js.map} +0 -0
  128. /package/dist/{chunk-AGKQBS4C.js.map → chunk-JKLWHENB.js.map} +0 -0
  129. /package/dist/{chunk-SVXSBLVD.js.map → chunk-KEDI6IRA.js.map} +0 -0
  130. /package/dist/{chunk-CY5X3HNQ.js.map → chunk-OGGHD64H.js.map} +0 -0
  131. /package/dist/{chunk-QFHUWD3C.js.map → chunk-QQE2PVLO.js.map} +0 -0
  132. /package/dist/{chunk-N7SBWD2V.js.map → chunk-RDYBS45D.js.map} +0 -0
  133. /package/dist/{chunk-F6FT2LIR.js.map → chunk-SCGVB7DS.js.map} +0 -0
  134. /package/dist/{chunk-T6V3DKJ5.js.map → chunk-WLCVOQCJ.js.map} +0 -0
  135. /package/dist/{chunk-GQTBWJYK.js.map → chunk-WXBBWSNU.js.map} +0 -0
  136. /package/dist/{chunk-HVIB6WMD.js.map → chunk-ZPIMPOHV.js.map} +0 -0
  137. /package/dist/{chunk-E3IPN3KN.js.map → chunk-ZUIJ3N7N.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-5WNQJ5KS.js";
5
5
  import {
6
6
  PillControl
7
- } from "./chunk-KWUQZDPL.js";
7
+ } from "./chunk-ECIGNYSI.js";
8
8
  import {
9
9
  MoreFilters
10
10
  } from "./chunk-ZHPKFV7Y.js";
@@ -220,4 +220,4 @@ function FilterSlots({
220
220
  export {
221
221
  InlineFilterControls
222
222
  };
223
- //# sourceMappingURL=chunk-T6V3DKJ5.js.map
223
+ //# sourceMappingURL=chunk-WLCVOQCJ.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ isLeafCategory
3
+ } from "./chunk-LR6MSKTT.js";
4
+
1
5
  // src/components/form/CategorySelect/category-keyboard.ts
2
6
  function activeRow(context) {
3
7
  return context.activeIndex >= 0 ? context.rows[context.activeIndex] : void 0;
@@ -29,29 +33,41 @@ function handleLeft(context) {
29
33
  );
30
34
  if (parentIndex >= 0) context.setActiveIndex(parentIndex);
31
35
  }
32
- function handleSpace(context) {
33
- const row = activeRow(context);
34
- if (!row) return;
36
+ function activateCategoryRow(context, categoryId) {
37
+ const group = groupOf(context, categoryId);
38
+ if (!group) return;
39
+ if (!context.allowParentSelection && !isLeafCategory(group)) {
40
+ context.toggleExpanded(categoryId);
41
+ return;
42
+ }
35
43
  if (context.single) {
36
- context.pick(row.id);
44
+ context.pick(categoryId);
37
45
  return;
38
46
  }
47
+ context.toggleCategory(group);
48
+ }
49
+ function handleSpace(context) {
50
+ const row = activeRow(context);
51
+ if (!row) return;
39
52
  if (row.kind === "subcategory") {
40
- context.toggleSubcategory(row.id);
53
+ if (context.single) context.pick(row.id);
54
+ else context.toggleSubcategory(row.id);
41
55
  return;
42
56
  }
43
- const group = groupOf(context, row.id);
44
- if (!group) return;
45
- if (context.allowParentSelection) context.toggleCategory(group);
46
- else context.toggleExpanded(row.id);
57
+ activateCategoryRow(context, row.id);
47
58
  }
48
59
  function handleEnter(context) {
49
60
  const row = activeRow(context);
50
- if (context.single) {
51
- if (row) context.pick(row.id);
61
+ if (!context.single) {
62
+ context.commit();
63
+ return;
64
+ }
65
+ if (!row) return;
66
+ if (row.kind === "subcategory") {
67
+ context.pick(row.id);
52
68
  return;
53
69
  }
54
- context.commit();
70
+ activateCategoryRow(context, row.id);
55
71
  }
56
72
  var HANDLERS = {
57
73
  ArrowDown: (context) => moveCursor(context, 1),
@@ -74,4 +90,4 @@ function handleCategoryKeyDown(key, editingSearchText, context) {
74
90
  export {
75
91
  handleCategoryKeyDown
76
92
  };
77
- //# sourceMappingURL=chunk-GCC66ZSD.js.map
93
+ //# sourceMappingURL=chunk-WWM2YTW4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/CategorySelect/category-keyboard.ts"],"sourcesContent":["import { isLeafCategory, type CategoryRowRef } from './category-tree';\nimport type { CategoryGroup } from './CategorySelect.types';\n\n/** What a key handler is allowed to do to the panel. */\nexport interface CategoryKeyContext {\n rows: CategoryRowRef[];\n activeIndex: number;\n groups: CategoryGroup[];\n /** Single-select mode picks on Enter/Space instead of toggling a draft. */\n single: boolean;\n /** Categories are headings, not checkboxes, unless parents are selectable. */\n allowParentSelection: boolean;\n setActiveIndex: (next: number) => void;\n toggleExpanded: (categoryId: string) => void;\n expand: (categoryId: string) => void;\n collapse: (categoryId: string) => void;\n toggleCategory: (group: CategoryGroup) => void;\n toggleSubcategory: (id: string) => void;\n commit: () => void;\n cancel: () => void;\n pick: (id: string) => void;\n}\n\n/** The row under the keyboard cursor, if the cursor is on one. */\nfunction activeRow(context: CategoryKeyContext): CategoryRowRef | undefined {\n return context.activeIndex >= 0 ? context.rows[context.activeIndex] : undefined;\n}\n\nfunction groupOf(context: CategoryKeyContext, id: string): CategoryGroup | undefined {\n return context.groups.find((group) => group.category.id === id);\n}\n\nfunction moveCursor(context: CategoryKeyContext, delta: number): void {\n const { rows, activeIndex } = context;\n if (rows.length === 0) return;\n const next =\n delta > 0\n ? Math.min(rows.length - 1, activeIndex + 1)\n : Math.max(0, activeIndex - 1);\n context.setActiveIndex(next);\n}\n\n/** → opens a category. On a subcategory it is a no-op: there is nothing deeper. */\nfunction handleRight(context: CategoryKeyContext): void {\n const row = activeRow(context);\n if (row?.kind === 'category') context.expand(row.id);\n}\n\n/** ← collapses a category, or walks a subcategory back up to its parent. */\nfunction handleLeft(context: CategoryKeyContext): void {\n const row = activeRow(context);\n if (!row) return;\n if (row.kind === 'category') {\n context.collapse(row.id);\n return;\n }\n if (!row.parentId) return;\n context.collapse(row.parentId);\n const parentIndex = context.rows.findIndex(\n (candidate) => candidate.kind === 'category' && candidate.id === row.parentId,\n );\n if (parentIndex >= 0) context.setActiveIndex(parentIndex);\n}\n\n/**\n * What a category row does when it is activated — the one answer the click, the\n * Space key and (in single-select) Enter all take, so the three cannot disagree\n * about a row the way they did over a childless category.\n *\n * A category that is only a HEADING expands instead of marking: the row has no\n * control, so \"mark\" has nothing to mean there. A childless category is not a\n * heading — it is the leaf — so it marks.\n */\nfunction activateCategoryRow(context: CategoryKeyContext, categoryId: string): void {\n const group = groupOf(context, categoryId);\n if (!group) return;\n if (!context.allowParentSelection && !isLeafCategory(group)) {\n context.toggleExpanded(categoryId);\n return;\n }\n if (context.single) {\n context.pick(categoryId);\n return;\n }\n context.toggleCategory(group);\n}\n\n/** Space marks the row under the cursor. */\nfunction handleSpace(context: CategoryKeyContext): void {\n const row = activeRow(context);\n if (!row) return;\n if (row.kind === 'subcategory') {\n if (context.single) context.pick(row.id);\n else context.toggleSubcategory(row.id);\n return;\n }\n activateCategoryRow(context, row.id);\n}\n\nfunction handleEnter(context: CategoryKeyContext): void {\n const row = activeRow(context);\n if (!context.single) {\n context.commit();\n return;\n }\n if (!row) return;\n if (row.kind === 'subcategory') {\n context.pick(row.id);\n return;\n }\n activateCategoryRow(context, row.id);\n}\n\n/** Key → behaviour. A map keeps this dispatch flat instead of a long if-chain. */\nconst HANDLERS: Record<string, (context: CategoryKeyContext) => void> = {\n ArrowDown: (context) => moveCursor(context, 1),\n ArrowUp: (context) => moveCursor(context, -1),\n ArrowRight: handleRight,\n ArrowLeft: handleLeft,\n ' ': handleSpace,\n Enter: handleEnter,\n Escape: (context) => context.cancel(),\n};\n\n/**\n * Keys the SEARCH BOX has a claim on: Space types a space, and the horizontal\n * arrows move the caret.\n *\n * They are only yielded while the field actually holds text. The panel opens\n * with focus in an EMPTY search box, so yielding unconditionally — as the\n * prototype does — would make Space and ←/→ dead on arrival for anyone driving\n * the tree from the keyboard, which is most of the point of having it. With no\n * text there is no caret to move and no word to space, so the tree takes them;\n * type one character and they revert to the field.\n */\nconst TEXT_ENTRY_KEYS = new Set([' ', 'ArrowLeft', 'ArrowRight']);\n\n/**\n * Drive the tree from the keyboard.\n *\n * Returns `true` when the key was consumed, so the caller can `preventDefault`\n * only for keys this actually handled — an unhandled key must still reach the\n * search input untouched.\n */\nexport function handleCategoryKeyDown(\n key: string,\n editingSearchText: boolean,\n context: CategoryKeyContext,\n): boolean {\n if (editingSearchText && TEXT_ENTRY_KEYS.has(key)) return false;\n const handler = HANDLERS[key];\n if (!handler) return false;\n handler(context);\n return true;\n}\n"],"mappings":";;;;;AAwBA,SAAS,UAAU,SAAyD;AAC1E,SAAO,QAAQ,eAAe,IAAI,QAAQ,KAAK,QAAQ,WAAW,IAAI;AACxE;AAEA,SAAS,QAAQ,SAA6B,IAAuC;AACnF,SAAO,QAAQ,OAAO,KAAK,CAAC,UAAU,MAAM,SAAS,OAAO,EAAE;AAChE;AAEA,SAAS,WAAW,SAA6B,OAAqB;AACpE,QAAM,EAAE,MAAM,YAAY,IAAI;AAC9B,MAAI,KAAK,WAAW,EAAG;AACvB,QAAM,OACJ,QAAQ,IACJ,KAAK,IAAI,KAAK,SAAS,GAAG,cAAc,CAAC,IACzC,KAAK,IAAI,GAAG,cAAc,CAAC;AACjC,UAAQ,eAAe,IAAI;AAC7B;AAGA,SAAS,YAAY,SAAmC;AACtD,QAAM,MAAM,UAAU,OAAO;AAC7B,MAAI,KAAK,SAAS,WAAY,SAAQ,OAAO,IAAI,EAAE;AACrD;AAGA,SAAS,WAAW,SAAmC;AACrD,QAAM,MAAM,UAAU,OAAO;AAC7B,MAAI,CAAC,IAAK;AACV,MAAI,IAAI,SAAS,YAAY;AAC3B,YAAQ,SAAS,IAAI,EAAE;AACvB;AAAA,EACF;AACA,MAAI,CAAC,IAAI,SAAU;AACnB,UAAQ,SAAS,IAAI,QAAQ;AAC7B,QAAM,cAAc,QAAQ,KAAK;AAAA,IAC/B,CAAC,cAAc,UAAU,SAAS,cAAc,UAAU,OAAO,IAAI;AAAA,EACvE;AACA,MAAI,eAAe,EAAG,SAAQ,eAAe,WAAW;AAC1D;AAWA,SAAS,oBAAoB,SAA6B,YAA0B;AAClF,QAAM,QAAQ,QAAQ,SAAS,UAAU;AACzC,MAAI,CAAC,MAAO;AACZ,MAAI,CAAC,QAAQ,wBAAwB,CAAC,eAAe,KAAK,GAAG;AAC3D,YAAQ,eAAe,UAAU;AACjC;AAAA,EACF;AACA,MAAI,QAAQ,QAAQ;AAClB,YAAQ,KAAK,UAAU;AACvB;AAAA,EACF;AACA,UAAQ,eAAe,KAAK;AAC9B;AAGA,SAAS,YAAY,SAAmC;AACtD,QAAM,MAAM,UAAU,OAAO;AAC7B,MAAI,CAAC,IAAK;AACV,MAAI,IAAI,SAAS,eAAe;AAC9B,QAAI,QAAQ,OAAQ,SAAQ,KAAK,IAAI,EAAE;AAAA,QAClC,SAAQ,kBAAkB,IAAI,EAAE;AACrC;AAAA,EACF;AACA,sBAAoB,SAAS,IAAI,EAAE;AACrC;AAEA,SAAS,YAAY,SAAmC;AACtD,QAAM,MAAM,UAAU,OAAO;AAC7B,MAAI,CAAC,QAAQ,QAAQ;AACnB,YAAQ,OAAO;AACf;AAAA,EACF;AACA,MAAI,CAAC,IAAK;AACV,MAAI,IAAI,SAAS,eAAe;AAC9B,YAAQ,KAAK,IAAI,EAAE;AACnB;AAAA,EACF;AACA,sBAAoB,SAAS,IAAI,EAAE;AACrC;AAGA,IAAM,WAAkE;AAAA,EACtE,WAAW,CAAC,YAAY,WAAW,SAAS,CAAC;AAAA,EAC7C,SAAS,CAAC,YAAY,WAAW,SAAS,EAAE;AAAA,EAC5C,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ,CAAC,YAAY,QAAQ,OAAO;AACtC;AAaA,IAAM,kBAAkB,oBAAI,IAAI,CAAC,KAAK,aAAa,YAAY,CAAC;AASzD,SAAS,sBACd,KACA,mBACA,SACS;AACT,MAAI,qBAAqB,gBAAgB,IAAI,GAAG,EAAG,QAAO;AAC1D,QAAM,UAAU,SAAS,GAAG;AAC5B,MAAI,CAAC,QAAS,QAAO;AACrB,UAAQ,OAAO;AACf,SAAO;AACT;","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-NQCYVYP3.js";
4
4
  import {
5
5
  DataViewsDisplayPanel
6
- } from "./chunk-USBTXEBG.js";
6
+ } from "./chunk-HGBZZDP6.js";
7
7
  import {
8
8
  renderBulkActions
9
9
  } from "./chunk-5VZPVDUF.js";
@@ -132,4 +132,4 @@ function GridToolbar(props) {
132
132
  export {
133
133
  GridToolbar
134
134
  };
135
- //# sourceMappingURL=chunk-GQTBWJYK.js.map
135
+ //# sourceMappingURL=chunk-WXBBWSNU.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ isLeafCategory
3
+ } from "./chunk-LR6MSKTT.js";
4
+
1
5
  // src/components/form/CategorySelect/useCategoryCommit.ts
2
6
  import { useCallback, useMemo } from "react";
3
7
  function useCategoryCommit({
@@ -30,15 +34,16 @@ function useCategoryCommit({
30
34
  }, [props]);
31
35
  const activateCategory = useCallback(
32
36
  (group) => {
33
- if (allowParentSelection && single) {
34
- pick(group.category.id);
37
+ const selectable = allowParentSelection || isLeafCategory(group);
38
+ if (!selectable) {
39
+ toggleExpanded(group.category.id);
35
40
  return;
36
41
  }
37
- if (allowParentSelection) {
38
- toggleCategory(group);
42
+ if (single) {
43
+ pick(group.category.id);
39
44
  return;
40
45
  }
41
- toggleExpanded(group.category.id);
46
+ toggleCategory(group);
42
47
  },
43
48
  [allowParentSelection, single, pick, toggleCategory, toggleExpanded]
44
49
  );
@@ -65,4 +70,4 @@ function useCategoryCommit({
65
70
  export {
66
71
  useCategoryCommit
67
72
  };
68
- //# sourceMappingURL=chunk-VN6Z6F7R.js.map
73
+ //# sourceMappingURL=chunk-ZAB65STX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/CategorySelect/useCategoryCommit.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react';\n\nimport { isLeafCategory } from './category-tree';\nimport type { CategoryGroup, CategorySelectProps } from './CategorySelect.types';\nimport type { CategorySelectState } from './useCategorySelect';\n\n/** The verbs a row, a footer button or a key press can invoke. */\nexport interface CategoryActions {\n /** Publish the draft to the caller and close (multi-select). */\n commit: () => void;\n /** Choose one id and close (single-select). */\n pick: (id: string) => void;\n /** Close without publishing, returning focus to the trigger. */\n cancel: () => void;\n /** Empty the APPLIED selection straight from the closed trigger. */\n clearSelection: () => void;\n activateCategory: (group: CategoryGroup) => void;\n activateSubcategory: (id: string) => void;\n}\n\ninterface UseCategoryCommitArgs {\n props: CategorySelectProps;\n state: CategorySelectState;\n single: boolean;\n allowParentSelection: boolean;\n}\n\n/**\n * The commit semantics, which are the one thing the two modes genuinely differ\n * on: multi-select batches into a draft and publishes on Apply, single-select\n * publishes the moment a row is chosen.\n */\nexport function useCategoryCommit({\n props,\n state,\n single,\n allowParentSelection,\n}: UseCategoryCommitArgs): CategoryActions {\n const { closePanel, triggerRef, toggleCategory, toggleSubcategory, toggleExpanded } = state;\n\n const closeAndRefocus = useCallback(() => {\n closePanel();\n triggerRef.current?.focus();\n }, [closePanel, triggerRef]);\n\n const commit = useCallback(() => {\n if (props.mode === 'single') return;\n props.onChange([...state.draft]);\n closeAndRefocus();\n }, [props, state.draft, closeAndRefocus]);\n\n const pick = useCallback(\n (id: string) => {\n if (props.mode !== 'single') return;\n props.onChange(id);\n closeAndRefocus();\n },\n [props, closeAndRefocus],\n );\n\n const clearSelection = useCallback(() => {\n if (props.mode === 'single') props.onChange(null);\n else props.onChange([]);\n }, [props]);\n\n // A category row means different things per mode: pick the whole category,\n // tick all its leaves, or — when it is only a heading — just fold it. A\n // CHILDLESS category is never the last of those: it is the leaf, so it acts\n // like one even in the leaf-only default.\n const activateCategory = useCallback(\n (group: CategoryGroup) => {\n const selectable = allowParentSelection || isLeafCategory(group);\n if (!selectable) {\n toggleExpanded(group.category.id);\n return;\n }\n if (single) {\n pick(group.category.id);\n return;\n }\n toggleCategory(group);\n },\n [allowParentSelection, single, pick, toggleCategory, toggleExpanded],\n );\n\n const activateSubcategory = useCallback(\n (id: string) => {\n if (single) pick(id);\n else toggleSubcategory(id);\n },\n [single, pick, toggleSubcategory],\n );\n\n return useMemo(\n () => ({\n commit,\n pick,\n cancel: closeAndRefocus,\n clearSelection,\n activateCategory,\n activateSubcategory,\n }),\n [commit, pick, closeAndRefocus, clearSelection, activateCategory, activateSubcategory],\n );\n}\n"],"mappings":";;;;;AAAA,SAAS,aAAa,eAAe;AAgC9B,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2C;AACzC,QAAM,EAAE,YAAY,YAAY,gBAAgB,mBAAmB,eAAe,IAAI;AAEtF,QAAM,kBAAkB,YAAY,MAAM;AACxC,eAAW;AACX,eAAW,SAAS,MAAM;AAAA,EAC5B,GAAG,CAAC,YAAY,UAAU,CAAC;AAE3B,QAAM,SAAS,YAAY,MAAM;AAC/B,QAAI,MAAM,SAAS,SAAU;AAC7B,UAAM,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC;AAC/B,oBAAgB;AAAA,EAClB,GAAG,CAAC,OAAO,MAAM,OAAO,eAAe,CAAC;AAExC,QAAM,OAAO;AAAA,IACX,CAAC,OAAe;AACd,UAAI,MAAM,SAAS,SAAU;AAC7B,YAAM,SAAS,EAAE;AACjB,sBAAgB;AAAA,IAClB;AAAA,IACA,CAAC,OAAO,eAAe;AAAA,EACzB;AAEA,QAAM,iBAAiB,YAAY,MAAM;AACvC,QAAI,MAAM,SAAS,SAAU,OAAM,SAAS,IAAI;AAAA,QAC3C,OAAM,SAAS,CAAC,CAAC;AAAA,EACxB,GAAG,CAAC,KAAK,CAAC;AAMV,QAAM,mBAAmB;AAAA,IACvB,CAAC,UAAyB;AACxB,YAAM,aAAa,wBAAwB,eAAe,KAAK;AAC/D,UAAI,CAAC,YAAY;AACf,uBAAe,MAAM,SAAS,EAAE;AAChC;AAAA,MACF;AACA,UAAI,QAAQ;AACV,aAAK,MAAM,SAAS,EAAE;AACtB;AAAA,MACF;AACA,qBAAe,KAAK;AAAA,IACtB;AAAA,IACA,CAAC,sBAAsB,QAAQ,MAAM,gBAAgB,cAAc;AAAA,EACrE;AAEA,QAAM,sBAAsB;AAAA,IAC1B,CAAC,OAAe;AACd,UAAI,OAAQ,MAAK,EAAE;AAAA,UACd,mBAAkB,EAAE;AAAA,IAC3B;AAAA,IACA,CAAC,QAAQ,MAAM,iBAAiB;AAAA,EAClC;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,MAAM,iBAAiB,gBAAgB,kBAAkB,mBAAmB;AAAA,EACvF;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DATA_VIEWS_LAYOUTS
3
- } from "./chunk-C6ATAHBX.js";
3
+ } from "./chunk-LHHAYZ55.js";
4
4
  import {
5
5
  useDataViewsCopy
6
6
  } from "./chunk-KHG57NAE.js";
@@ -184,4 +184,4 @@ export {
184
184
  useDataViewsLayout,
185
185
  DataViewsZoomSlider
186
186
  };
187
- //# sourceMappingURL=chunk-HVIB6WMD.js.map
187
+ //# sourceMappingURL=chunk-ZPIMPOHV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  collectLeafIds
3
- } from "./chunk-DVTCZR3K.js";
3
+ } from "./chunk-LR6MSKTT.js";
4
4
 
5
5
  // src/components/form/CategorySelect/CategoryQuickActions.tsx
6
6
  import Box from "@mui/material/Box/index.js";
@@ -57,4 +57,4 @@ function CategoryQuickActions({
57
57
  export {
58
58
  CategoryQuickActions
59
59
  };
60
- //# sourceMappingURL=chunk-E3IPN3KN.js.map
60
+ //# sourceMappingURL=chunk-ZUIJ3N7N.js.map
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  DataViewsTableBase
3
- } from "../chunk-S6T722WH.js";
3
+ } from "../chunk-DEOC5OI7.js";
4
4
  import "../chunk-LS42VJAI.js";
5
5
  import {
6
6
  DataViewsGrid
7
- } from "../chunk-AGKQBS4C.js";
7
+ } from "../chunk-JKLWHENB.js";
8
8
  import {
9
9
  BaseListCard
10
- } from "../chunk-N7SBWD2V.js";
10
+ } from "../chunk-RDYBS45D.js";
11
11
  import "../chunk-UNF65XZW.js";
12
- import "../chunk-6UGRH32J.js";
13
- import "../chunk-Q5GXVDXL.js";
12
+ import "../chunk-4KSOSI3U.js";
13
+ import "../chunk-EICVL6GS.js";
14
14
  import "../chunk-2JCRNWHE.js";
15
15
  import {
16
16
  BaseCard
17
- } from "../chunk-ZBYWGL5G.js";
17
+ } from "../chunk-6U7NA74A.js";
18
18
  import "../chunk-MQUU2XZB.js";
19
19
  import {
20
20
  DragContainerProvider,
@@ -22,15 +22,15 @@ import {
22
22
  useDragItem
23
23
  } from "../chunk-JCJGJX7V.js";
24
24
  import "../chunk-ZOLAYP2D.js";
25
- import "../chunk-TDSRBCBG.js";
26
- import "../chunk-NXTKZSMT.js";
25
+ import "../chunk-T4BFDZGU.js";
26
+ import "../chunk-IN642YHK.js";
27
27
  import "../chunk-S7CAXRRP.js";
28
- import "../chunk-T6V3DKJ5.js";
28
+ import "../chunk-WLCVOQCJ.js";
29
29
  import "../chunk-5WNQJ5KS.js";
30
- import "../chunk-KWUQZDPL.js";
30
+ import "../chunk-ECIGNYSI.js";
31
31
  import "../chunk-ZHPKFV7Y.js";
32
32
  import "../chunk-NC2AATCC.js";
33
- import "../chunk-QFHUWD3C.js";
33
+ import "../chunk-QQE2PVLO.js";
34
34
  import {
35
35
  DataViewsBoard
36
36
  } from "../chunk-3DQP6OPC.js";
@@ -43,13 +43,13 @@ import "../chunk-IAGOUTI6.js";
43
43
  import "../chunk-FV36LFPX.js";
44
44
  import "../chunk-2I5B5NNT.js";
45
45
  import "../chunk-A7Q5AQVD.js";
46
- import "../chunk-CY5X3HNQ.js";
46
+ import "../chunk-OGGHD64H.js";
47
47
  import "../chunk-GCZJH4XL.js";
48
48
  import {
49
49
  DEFAULT_RAILS,
50
50
  ListCardGroup,
51
51
  RAIL_COUNT
52
- } from "../chunk-T4JGNZAR.js";
52
+ } from "../chunk-CZPU5TW3.js";
53
53
  import {
54
54
  DEFAULT_CELL_WIDTH
55
55
  } from "../chunk-6VP2L3DJ.js";
@@ -57,21 +57,21 @@ import "../chunk-XPS7FWZS.js";
57
57
  import "../chunk-U7SO3N42.js";
58
58
  import "../chunk-UHXNEXOC.js";
59
59
  import "../chunk-5M4TYFR3.js";
60
- import "../chunk-XQZOMXP3.js";
61
- import "../chunk-GQTBWJYK.js";
60
+ import "../chunk-AWTERXCW.js";
61
+ import "../chunk-WXBBWSNU.js";
62
62
  import "../chunk-NQCYVYP3.js";
63
- import "../chunk-USBTXEBG.js";
63
+ import "../chunk-HGBZZDP6.js";
64
64
  import "../chunk-2PPWKCMW.js";
65
- import "../chunk-F6FT2LIR.js";
65
+ import "../chunk-SCGVB7DS.js";
66
66
  import "../chunk-SNR537TI.js";
67
67
  import {
68
68
  cardMinWidthForZoom,
69
69
  cardScaleForZoom
70
- } from "../chunk-HVIB6WMD.js";
70
+ } from "../chunk-ZPIMPOHV.js";
71
71
  import "../chunk-QTPKACVO.js";
72
- import "../chunk-6IAQGSXD.js";
72
+ import "../chunk-HR7YTBR7.js";
73
73
  import "../chunk-DZEC6RFM.js";
74
- import "../chunk-TY6CTYCF.js";
74
+ import "../chunk-BV5XTGKB.js";
75
75
  import "../chunk-4QQVIGRG.js";
76
76
  import "../chunk-YGQX7BNI.js";
77
77
  import "../chunk-IMLIIW77.js";
@@ -86,7 +86,7 @@ import {
86
86
  CARD_ASPECT_RATIOS,
87
87
  DATA_VIEWS_LAYOUTS,
88
88
  toSavedViewSummary
89
- } from "../chunk-C6ATAHBX.js";
89
+ } from "../chunk-LHHAYZ55.js";
90
90
  import "../chunk-T4SM36XC.js";
91
91
  import {
92
92
  DataViewsCopyProvider,
@@ -124,22 +124,22 @@ import "../chunk-TBWEIQUR.js";
124
124
  import "../chunk-35ETD7ML.js";
125
125
  import "../chunk-UCU5FCYE.js";
126
126
  import "../chunk-N5ZWC6CB.js";
127
- import "../chunk-JIEEUHNS.js";
127
+ import "../chunk-AZSFIQIA.js";
128
128
  import "../chunk-LMXWI3DD.js";
129
- import "../chunk-LWYXMCX6.js";
130
- import "../chunk-E3IPN3KN.js";
131
- import "../chunk-5F4NIRVF.js";
129
+ import "../chunk-5ZZPQ3MT.js";
130
+ import "../chunk-ZUIJ3N7N.js";
131
+ import "../chunk-CKZFYGBY.js";
132
132
  import "../chunk-PLOOVF43.js";
133
133
  import "../chunk-GPVB3FQP.js";
134
- import "../chunk-VN6Z6F7R.js";
134
+ import "../chunk-ZAB65STX.js";
135
135
  import "../chunk-XQ2BNVXL.js";
136
- import "../chunk-Z5E2PXGN.js";
136
+ import "../chunk-LPYB4Y7C.js";
137
137
  import "../chunk-DMNZD3Q7.js";
138
138
  import "../chunk-XCT2ZLA6.js";
139
- import "../chunk-HQBXB5QB.js";
140
- import "../chunk-DVTCZR3K.js";
141
- import "../chunk-QBJVRPTF.js";
142
- import "../chunk-GCC66ZSD.js";
139
+ import "../chunk-2GB5CIN6.js";
140
+ import "../chunk-ISH42UC7.js";
141
+ import "../chunk-WWM2YTW4.js";
142
+ import "../chunk-LR6MSKTT.js";
143
143
  import "../chunk-QYKDY4EI.js";
144
144
  import "../chunk-J7VY6KNP.js";
145
145
  import "../chunk-3AEY5TYV.js";
@@ -1,19 +1,21 @@
1
1
  import "../chunk-N5ZWC6CB.js";
2
2
  import {
3
3
  CategorySelect
4
- } from "../chunk-JIEEUHNS.js";
4
+ } from "../chunk-AZSFIQIA.js";
5
5
  import "../chunk-LMXWI3DD.js";
6
- import "../chunk-LWYXMCX6.js";
7
- import "../chunk-E3IPN3KN.js";
8
- import "../chunk-5F4NIRVF.js";
6
+ import "../chunk-5ZZPQ3MT.js";
7
+ import "../chunk-ZUIJ3N7N.js";
8
+ import "../chunk-CKZFYGBY.js";
9
9
  import "../chunk-PLOOVF43.js";
10
10
  import "../chunk-GPVB3FQP.js";
11
- import "../chunk-VN6Z6F7R.js";
11
+ import "../chunk-ZAB65STX.js";
12
12
  import "../chunk-XQ2BNVXL.js";
13
- import "../chunk-Z5E2PXGN.js";
13
+ import "../chunk-LPYB4Y7C.js";
14
14
  import "../chunk-DMNZD3Q7.js";
15
15
  import "../chunk-XCT2ZLA6.js";
16
- import "../chunk-HQBXB5QB.js";
16
+ import "../chunk-2GB5CIN6.js";
17
+ import "../chunk-ISH42UC7.js";
18
+ import "../chunk-WWM2YTW4.js";
17
19
  import {
18
20
  buildCategoryGroups,
19
21
  categoryCheckState,
@@ -22,9 +24,7 @@ import {
22
24
  foldText,
23
25
  leavesOf,
24
26
  summarizeSelection
25
- } from "../chunk-DVTCZR3K.js";
26
- import "../chunk-QBJVRPTF.js";
27
- import "../chunk-GCC66ZSD.js";
27
+ } from "../chunk-LR6MSKTT.js";
28
28
  import "../chunk-C3UKR3NT.js";
29
29
  import "../chunk-VZO7VREP.js";
30
30
  import "../chunk-MFU4Y25U.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "../chunk-OK5BHFZE.js";
4
4
  import {
5
5
  Fields_exports
6
- } from "../chunk-IKBQ7CS2.js";
6
+ } from "../chunk-56SMIHWE.js";
7
7
  import "../chunk-LIQHOLDQ.js";
8
8
  import {
9
9
  TextField
@@ -14,7 +14,7 @@ import {
14
14
  import "../chunk-CESQKLIR.js";
15
15
  import {
16
16
  CategoryField
17
- } from "../chunk-SVXSBLVD.js";
17
+ } from "../chunk-KEDI6IRA.js";
18
18
  import {
19
19
  SubmitButton
20
20
  } from "../chunk-3BR2CLAM.js";
@@ -34,22 +34,22 @@ import "../chunk-QL7L6RHR.js";
34
34
  import "../chunk-JD5BVIM7.js";
35
35
  import "../chunk-JXUWWPZR.js";
36
36
  import "../chunk-N5ZWC6CB.js";
37
- import "../chunk-JIEEUHNS.js";
37
+ import "../chunk-AZSFIQIA.js";
38
38
  import "../chunk-LMXWI3DD.js";
39
- import "../chunk-LWYXMCX6.js";
40
- import "../chunk-E3IPN3KN.js";
41
- import "../chunk-5F4NIRVF.js";
39
+ import "../chunk-5ZZPQ3MT.js";
40
+ import "../chunk-ZUIJ3N7N.js";
41
+ import "../chunk-CKZFYGBY.js";
42
42
  import "../chunk-PLOOVF43.js";
43
43
  import "../chunk-GPVB3FQP.js";
44
- import "../chunk-VN6Z6F7R.js";
44
+ import "../chunk-ZAB65STX.js";
45
45
  import "../chunk-XQ2BNVXL.js";
46
- import "../chunk-Z5E2PXGN.js";
46
+ import "../chunk-LPYB4Y7C.js";
47
47
  import "../chunk-DMNZD3Q7.js";
48
48
  import "../chunk-XCT2ZLA6.js";
49
- import "../chunk-HQBXB5QB.js";
50
- import "../chunk-DVTCZR3K.js";
51
- import "../chunk-QBJVRPTF.js";
52
- import "../chunk-GCC66ZSD.js";
49
+ import "../chunk-2GB5CIN6.js";
50
+ import "../chunk-ISH42UC7.js";
51
+ import "../chunk-WWM2YTW4.js";
52
+ import "../chunk-LR6MSKTT.js";
53
53
  import "../chunk-QYKDY4EI.js";
54
54
  import "../chunk-J7VY6KNP.js";
55
55
  import "../chunk-3AEY5TYV.js";
@@ -25,6 +25,12 @@ interface PillControlProps<T extends Record<string, unknown>> {
25
25
  * A category set nests, and flattening it into one list is what made "Massas"
26
26
  * (mercearia) indistinguishable from "Massas" (pratos principais). `control:
27
27
  * "category"` opts a field into the tree, which shows each hit under its parent.
28
+ *
29
+ * {@link FilterFieldConfig.allowParentSelection} decides whether a parent row is
30
+ * itself tickable. It is forwarded rather than fixed here because it is a
31
+ * per-SCREEN question: a filter over a catalogue where products sit on leaves
32
+ * wants "the whole category" as one click, while one whose parents are pure
33
+ * grouping would only offer a tick that means nothing.
28
34
  */
29
35
  export declare function PillControl<T extends Record<string, unknown>>({ fieldId, pill, selected, onTogglePill, onClearField, onOpenChange, testIdPrefix, layout, }: PillControlProps<T>): React.JSX.Element;
30
36
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-category-pill.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-category-pill.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,oBAAoB,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GACvE,IAAI,CASN;AASD,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,MAAe,GAChB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoCzC"}
1
+ {"version":3,"file":"data-views-category-pill.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-category-pill.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,oBAAoB,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GACvE,IAAI,CASN;AASD,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,MAAe,GAChB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqCzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-grid-parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-parts.tsx"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAEhB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAuLlE,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF;gDAC4C;IAC5C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yDAAyD;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qEAAqE;IACrE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAiFD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsCxG"}
1
+ {"version":3,"file":"data-views-grid-parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-parts.tsx"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAEhB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwLlE,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF;gDAC4C;IAC5C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yDAAyD;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qEAAqE;IACrE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAiFD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsCxG"}
@@ -85,6 +85,19 @@ export interface FilterFieldConfig<T extends Record<string, unknown>> {
85
85
  * one indistinguishable list.
86
86
  */
87
87
  control?: "checkboxes" | "multiselect" | "category";
88
+ /**
89
+ * Lets a `control: "category"` pill select a PARENT category, not just its
90
+ * children. Off by default, which keeps the leaf-only reading: the parent is
91
+ * a heading and its subcategories are the rows you tick.
92
+ *
93
+ * Turn it on where "the whole category" is a filter a user would reach for —
94
+ * selecting a parent then selects every subcategory under it, and the chip
95
+ * tray collapses that back to one chip bearing the category's name.
96
+ *
97
+ * A category with NO children is selectable either way: it is itself the
98
+ * leaf, so the flag has nothing to gate there.
99
+ */
100
+ allowParentSelection?: boolean;
88
101
  /**
89
102
  * Forces this filter to render as a searchable multi-select dropdown with the
90
103
  * search box always shown, regardless of how many options are currently
@@ -122,6 +135,14 @@ export interface DataViewColumn<T extends Record<string, unknown>> extends GridC
122
135
  */
123
136
  export type DataViewsLayout = "cards" | "list" | "board" | "table";
124
137
  /** The full, serializable state a view captures. */
138
+ /**
139
+ * A view-state patch: the fields to merge, or an updater given the CURRENT
140
+ * state. Use the updater whenever the patch derives from state it also changes
141
+ * — a render-scoped snapshot would let two calls in one tick read the same
142
+ * `prev` and the second overwrite the first, which is exactly what a control
143
+ * emitting one call per changed value does.
144
+ */
145
+ export type DataViewStatePatch = Partial<DataViewState> | ((prev: DataViewState) => Partial<DataViewState>);
125
146
  export interface DataViewState {
126
147
  /** Free text matched across every `searchable` column. */
127
148
  search: string;
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-views-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,kEAAkE;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CACjC;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9E,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAe9D,CAAC;AAEF,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;IACpD;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,0BAA0B,CAAC;AAElC,kFAAkF;AAClF,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IACtF,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;qFACiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,oDAAoD;AACpD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,GACtB,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,aAAa,CAEtE;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,aAAa,EACb,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,aAAa,CAgBnF;AAED,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAwC,CAAC;AAYlG,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oFAAoF;AACpF,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAEhF;AAED;;;;GAIG;AAEH,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,sFAAsF;AACtF,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzD;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
@@ -2,7 +2,7 @@ import { type GridColumn } from "../DataGrid";
2
2
  import { type SortFieldDefinition } from "../../layout/ContentToolbar";
3
3
  import { type HideableColumn } from "./data-views-columns";
4
4
  import { type ScopeConfig } from "./data-views-scopes";
5
- import { type DataViewColumn, type DataViewServer, type DataViewState, type DataViewSyncState, type FilterFieldConfig, type RangeFieldConfig, type DataViewQuery, type RangeValue, type RowAction } from "./data-views-types";
5
+ import { type DataViewColumn, type DataViewServer, type DataViewState, type DataViewStatePatch, type DataViewSyncState, type FilterFieldConfig, type RangeFieldConfig, type DataViewQuery, type RangeValue, type RowAction } from "./data-views-types";
6
6
  export type { HideableColumn };
7
7
  /** Inputs the hook needs to own the view state + derived data. */
8
8
  interface UseDataViewsStateArgs<T extends Record<string, unknown>> {
@@ -46,7 +46,15 @@ interface UseDataViewsStateArgs<T extends Record<string, unknown>> {
46
46
  export interface DataViewsController<T extends Record<string, unknown>> {
47
47
  state: DataViewState;
48
48
  ranges: Record<string, RangeValue>;
49
- patch: (next: Partial<DataViewState>) => void;
49
+ /**
50
+ * Merge a partial into the view state.
51
+ *
52
+ * The UPDATER form is the one to reach for when the patch is derived from
53
+ * state you are also changing — successive calls within one tick each see the
54
+ * previous call's result, where the object form would have every caller build
55
+ * its patch from the same render-scoped snapshot and the last write would win.
56
+ */
57
+ patch: (next: DataViewStatePatch) => void;
50
58
  matched: T[];
51
59
  gridColumns: GridColumn<T>[];
52
60
  /** Columns eligible for the show/hide menu (hideable, with a text header). */
@@ -1 +1 @@
1
- {"version":3,"file":"use-data-views-state.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/use-data-views-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-data-views-state.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/use-data-views-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryPanelList.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryPanelList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAYxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,UAAU,cAAc;IACtB,gEAAgE;IAChE,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAgID,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4C1E"}
1
+ {"version":3,"file":"CategoryPanelList.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryPanelList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAYxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,UAAU,cAAc;IACtB,gEAAgE;IAChE,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAoID,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4C1E"}
@@ -21,6 +21,10 @@ interface CategoryHeadRowProps {
21
21
  sheet: boolean;
22
22
  /** Absent in leaf-only mode, where the category is a heading with no checkbox. */
23
23
  checkState?: CategoryCheckState;
24
+ /** Single-select draws a radio for the control: choosing a row is exclusive. */
25
+ single: boolean;
26
+ /** False for a childless category — there is nothing under it to disclose. */
27
+ expandable: boolean;
24
28
  selectedCount: number;
25
29
  showCounts: boolean;
26
30
  onToggleExpanded: () => void;
@@ -33,9 +37,11 @@ interface CategoryHeadRowProps {
33
37
  *
34
38
  * The chevron is its OWN button inside the row button — clicking it only folds,
35
39
  * while clicking the row does the row's job (expand as a heading, or tick when
36
- * parents are selectable).
40
+ * the category is selectable). A CHILDLESS category has neither a fold nor a
41
+ * heading to be: it draws no chevron, and it carries the control, because it is
42
+ * itself the leaf.
37
43
  */
38
- export declare function CategoryHeadRow({ option, query, expanded, active, sheet, checkState, selectedCount, showCounts, onToggleExpanded, onActivate, dataTestId, copy, }: CategoryHeadRowProps): React.JSX.Element;
44
+ export declare function CategoryHeadRow({ option, query, expanded, active, sheet, checkState, single, expandable, selectedCount, showCounts, onToggleExpanded, onActivate, dataTestId, copy, }: CategoryHeadRowProps): React.JSX.Element;
39
45
  interface SubcategoryRowProps {
40
46
  option: CategorySelectOption;
41
47
  query: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryRows.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryRows.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAepB;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,kBAAkB,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAO5F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAExE;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAaD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,IAAI,GACL,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2C1C;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,GACX,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0BzC;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,KAAK,GACN,EAAE;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMpB"}
1
+ {"version":3,"file":"CategoryRows.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryRows.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAepB;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,kBAAkB,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAO5F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAExE;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AA0DD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,IAAI,GACL,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+B1C;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,GACX,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0BzC;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,KAAK,GACN,EAAE;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMpB"}
@@ -1,4 +1,4 @@
1
- import type { CategoryRowRef } from './category-tree';
1
+ import { type CategoryRowRef } from './category-tree';
2
2
  import type { CategoryGroup } from './CategorySelect.types';
3
3
  /** What a key handler is allowed to do to the panel. */
4
4
  export interface CategoryKeyContext {
@@ -1 +1 @@
1
- {"version":3,"file":"category-keyboard.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/category-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2EAA2E;IAC3E,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAiGD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAMT"}
1
+ {"version":3,"file":"category-keyboard.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/category-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2EAA2E;IAC3E,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAoHD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAMT"}