@12-apps/ui 6.24.8 → 6.25.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 (111) hide show
  1. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +19 -19
  2. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +20 -20
  3. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +15 -15
  4. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +16 -16
  5. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +18 -18
  6. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +16 -16
  7. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +8 -8
  8. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +2 -2
  9. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +2 -2
  10. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +4 -4
  11. package/dist/_internal/components/form/CategorySelect/CategoryQuickActions.js +2 -2
  12. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +7 -9
  13. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +14 -14
  14. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +3 -1
  15. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +2 -2
  16. package/dist/_internal/components/form/CategorySelect/category-keyboard.js +2 -2
  17. package/dist/_internal/components/form/CategorySelect/category-tree.js +11 -3
  18. package/dist/_internal/components/form/CategorySelect/useCategoryCommit.js +2 -2
  19. package/dist/_internal/components/form/CategorySelect/useCategoryKeyHandler.js +3 -3
  20. package/dist/_internal/components/form/CategorySelect/useCategorySelect.js +2 -2
  21. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +15 -15
  22. package/dist/_internal/components/form/total-form/Fields/index.js +16 -16
  23. package/dist/{chunk-NLJV4CPF.js → chunk-7MN6I5NK.js} +2 -2
  24. package/dist/{chunk-PN5CQKA2.js → chunk-AXTLFK4T.js} +2 -2
  25. package/dist/{chunk-4TXIZ5WI.js → chunk-CJUOBTLL.js} +2 -2
  26. package/dist/{chunk-E3PUH5IF.js → chunk-EQ7PWGBN.js} +2 -2
  27. package/dist/{chunk-EJQW2IYW.js → chunk-FPFUXRD2.js} +2 -2
  28. package/dist/{chunk-KIHQE5YA.js → chunk-GVDJQMFI.js} +2 -2
  29. package/dist/{chunk-OFOYMZRY.js → chunk-NPN7JTRM.js} +22 -47
  30. package/dist/chunk-NPN7JTRM.js.map +1 -0
  31. package/dist/{chunk-OVLNF4AZ.js → chunk-P7IVAMAU.js} +24 -35
  32. package/dist/chunk-P7IVAMAU.js.map +1 -0
  33. package/dist/chunk-PN4HVM43.js +160 -0
  34. package/dist/chunk-PN4HVM43.js.map +1 -0
  35. package/dist/{chunk-WWM2YTW4.js → chunk-R2AZOWEZ.js} +21 -27
  36. package/dist/chunk-R2AZOWEZ.js.map +1 -0
  37. package/dist/{chunk-2GB5CIN6.js → chunk-RZVUY2MO.js} +8 -4
  38. package/dist/chunk-RZVUY2MO.js.map +1 -0
  39. package/dist/{chunk-FBI6QB3O.js → chunk-TVPPA4RD.js} +3 -3
  40. package/dist/{chunk-ISH42UC7.js → chunk-USJPZ5Q7.js} +2 -2
  41. package/dist/{chunk-ZUIJ3N7N.js → chunk-V6Z4XS3I.js} +5 -3
  42. package/dist/chunk-V6Z4XS3I.js.map +1 -0
  43. package/dist/{chunk-JM64OEU6.js → chunk-WAPJ2DL3.js} +10 -13
  44. package/dist/chunk-WAPJ2DL3.js.map +1 -0
  45. package/dist/{chunk-KFWIOFMS.js → chunk-WM6Y2S6W.js} +2 -2
  46. package/dist/{chunk-ZAB65STX.js → chunk-XHHR6G35.js} +2 -2
  47. package/dist/{chunk-WIT3Y7JT.js → chunk-Y2B3I3IH.js} +2 -2
  48. package/dist/{chunk-R6SNYC3D.js → chunk-Y3KRUT7O.js} +2 -2
  49. package/dist/{chunk-TPLKJHNN.js → chunk-ZC7RQDZ5.js} +8 -7
  50. package/dist/chunk-ZC7RQDZ5.js.map +1 -0
  51. package/dist/{chunk-TFO6GBW7.js → chunk-ZS44PY7T.js} +5 -1
  52. package/dist/chunk-ZS44PY7T.js.map +1 -0
  53. package/dist/{chunk-AJ6XEO4E.js → chunk-ZUY65MFH.js} +2 -2
  54. package/dist/data-display/DataViews.js +20 -20
  55. package/dist/form/CategorySelect.js +24 -16
  56. package/dist/form/total-form.js +16 -16
  57. package/dist/types/components/form/CategorySelect/CategoryPanel.d.ts.map +1 -1
  58. package/dist/types/components/form/CategorySelect/CategoryPanelList.d.ts +6 -0
  59. package/dist/types/components/form/CategorySelect/CategoryPanelList.d.ts.map +1 -1
  60. package/dist/types/components/form/CategorySelect/CategoryQuickActions.d.ts.map +1 -1
  61. package/dist/types/components/form/CategorySelect/CategoryRows.d.ts +12 -24
  62. package/dist/types/components/form/CategorySelect/CategoryRows.d.ts.map +1 -1
  63. package/dist/types/components/form/CategorySelect/CategorySelect.d.ts +10 -7
  64. package/dist/types/components/form/CategorySelect/CategorySelect.d.ts.map +1 -1
  65. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +11 -0
  66. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
  67. package/dist/types/components/form/CategorySelect/CategorySelect.types.d.ts +10 -2
  68. package/dist/types/components/form/CategorySelect/CategorySelect.types.d.ts.map +1 -1
  69. package/dist/types/components/form/CategorySelect/category-keyboard.d.ts.map +1 -1
  70. package/dist/types/components/form/CategorySelect/category-tree.d.ts +52 -20
  71. package/dist/types/components/form/CategorySelect/category-tree.d.ts.map +1 -1
  72. package/dist/types/components/form/CategorySelect/index.d.ts +1 -1
  73. package/dist/types/components/form/CategorySelect/index.d.ts.map +1 -1
  74. package/dist/types/components/form/CategorySelect/useCategorySelect.d.ts +2 -0
  75. package/dist/types/components/form/CategorySelect/useCategorySelect.d.ts.map +1 -1
  76. package/package.json +1 -1
  77. package/src/components/form/CategorySelect/CategoryPanel.tsx +1 -0
  78. package/src/components/form/CategorySelect/CategoryPanelList.tsx +42 -34
  79. package/src/components/form/CategorySelect/CategoryQuickActions.tsx +6 -4
  80. package/src/components/form/CategorySelect/CategoryRows.tsx +45 -81
  81. package/src/components/form/CategorySelect/CategorySelect.md +47 -13
  82. package/src/components/form/CategorySelect/CategorySelect.styles.ts +13 -0
  83. package/src/components/form/CategorySelect/CategorySelect.tsx +16 -14
  84. package/src/components/form/CategorySelect/CategorySelect.types.ts +10 -2
  85. package/src/components/form/CategorySelect/category-keyboard.ts +27 -31
  86. package/src/components/form/CategorySelect/category-tree.ts +143 -63
  87. package/src/components/form/CategorySelect/index.ts +4 -0
  88. package/src/components/form/CategorySelect/useCategorySelect.ts +15 -1
  89. package/dist/chunk-2GB5CIN6.js.map +0 -1
  90. package/dist/chunk-JM64OEU6.js.map +0 -1
  91. package/dist/chunk-LR6MSKTT.js +0 -124
  92. package/dist/chunk-LR6MSKTT.js.map +0 -1
  93. package/dist/chunk-OFOYMZRY.js.map +0 -1
  94. package/dist/chunk-OVLNF4AZ.js.map +0 -1
  95. package/dist/chunk-TFO6GBW7.js.map +0 -1
  96. package/dist/chunk-TPLKJHNN.js.map +0 -1
  97. package/dist/chunk-WWM2YTW4.js.map +0 -1
  98. package/dist/chunk-ZUIJ3N7N.js.map +0 -1
  99. /package/dist/{chunk-NLJV4CPF.js.map → chunk-7MN6I5NK.js.map} +0 -0
  100. /package/dist/{chunk-PN5CQKA2.js.map → chunk-AXTLFK4T.js.map} +0 -0
  101. /package/dist/{chunk-4TXIZ5WI.js.map → chunk-CJUOBTLL.js.map} +0 -0
  102. /package/dist/{chunk-E3PUH5IF.js.map → chunk-EQ7PWGBN.js.map} +0 -0
  103. /package/dist/{chunk-EJQW2IYW.js.map → chunk-FPFUXRD2.js.map} +0 -0
  104. /package/dist/{chunk-KIHQE5YA.js.map → chunk-GVDJQMFI.js.map} +0 -0
  105. /package/dist/{chunk-FBI6QB3O.js.map → chunk-TVPPA4RD.js.map} +0 -0
  106. /package/dist/{chunk-ISH42UC7.js.map → chunk-USJPZ5Q7.js.map} +0 -0
  107. /package/dist/{chunk-KFWIOFMS.js.map → chunk-WM6Y2S6W.js.map} +0 -0
  108. /package/dist/{chunk-ZAB65STX.js.map → chunk-XHHR6G35.js.map} +0 -0
  109. /package/dist/{chunk-WIT3Y7JT.js.map → chunk-Y2B3I3IH.js.map} +0 -0
  110. /package/dist/{chunk-R6SNYC3D.js.map → chunk-Y3KRUT7O.js.map} +0 -0
  111. /package/dist/{chunk-AJ6XEO4E.js.map → chunk-ZUY65MFH.js.map} +0 -0
@@ -3,11 +3,11 @@ import {
3
3
  } from "../chunk-JWW2Z3RH.js";
4
4
  import {
5
5
  DataViewsTableBase
6
- } from "../chunk-KFWIOFMS.js";
6
+ } from "../chunk-WM6Y2S6W.js";
7
7
  import "../chunk-ZZMZF7PZ.js";
8
8
  import {
9
9
  DataViewsGrid
10
- } from "../chunk-E3PUH5IF.js";
10
+ } from "../chunk-EQ7PWGBN.js";
11
11
  import {
12
12
  BaseListCard
13
13
  } from "../chunk-WR5JFDQ5.js";
@@ -22,16 +22,16 @@ import {
22
22
  DropIndicator,
23
23
  useDragItem
24
24
  } from "../chunk-JCJGJX7V.js";
25
- import "../chunk-FBI6QB3O.js";
25
+ import "../chunk-TVPPA4RD.js";
26
26
  import "../chunk-NYEA7JAI.js";
27
27
  import {
28
28
  DataViewsBoard
29
29
  } from "../chunk-E55CJV65.js";
30
- import "../chunk-PN5CQKA2.js";
30
+ import "../chunk-AXTLFK4T.js";
31
31
  import "../chunk-V4FKHLEB.js";
32
- import "../chunk-NLJV4CPF.js";
32
+ import "../chunk-7MN6I5NK.js";
33
33
  import "../chunk-5WNQJ5KS.js";
34
- import "../chunk-EJQW2IYW.js";
34
+ import "../chunk-FPFUXRD2.js";
35
35
  import "../chunk-PFDM2OIP.js";
36
36
  import "../chunk-O4VCZTK4.js";
37
37
  import "../chunk-JSH3HFDQ.js";
@@ -128,22 +128,22 @@ import "../chunk-MLCFODJO.js";
128
128
  import "../chunk-35ETD7ML.js";
129
129
  import "../chunk-UCU5FCYE.js";
130
130
  import "../chunk-N5ZWC6CB.js";
131
- import "../chunk-JM64OEU6.js";
131
+ import "../chunk-WAPJ2DL3.js";
132
132
  import "../chunk-LMXWI3DD.js";
133
- import "../chunk-TPLKJHNN.js";
134
- import "../chunk-ZUIJ3N7N.js";
135
- import "../chunk-OVLNF4AZ.js";
136
- import "../chunk-4TXIZ5WI.js";
137
- import "../chunk-AJ6XEO4E.js";
138
- import "../chunk-ZAB65STX.js";
139
- import "../chunk-KIHQE5YA.js";
140
- import "../chunk-OFOYMZRY.js";
133
+ import "../chunk-ZC7RQDZ5.js";
134
+ import "../chunk-V6Z4XS3I.js";
135
+ import "../chunk-P7IVAMAU.js";
136
+ import "../chunk-CJUOBTLL.js";
137
+ import "../chunk-ZUY65MFH.js";
138
+ import "../chunk-XHHR6G35.js";
139
+ import "../chunk-GVDJQMFI.js";
140
+ import "../chunk-NPN7JTRM.js";
141
141
  import "../chunk-DMNZD3Q7.js";
142
- import "../chunk-TFO6GBW7.js";
143
- import "../chunk-2GB5CIN6.js";
144
- import "../chunk-ISH42UC7.js";
145
- import "../chunk-WWM2YTW4.js";
146
- import "../chunk-LR6MSKTT.js";
142
+ import "../chunk-ZS44PY7T.js";
143
+ import "../chunk-RZVUY2MO.js";
144
+ import "../chunk-USJPZ5Q7.js";
145
+ import "../chunk-R2AZOWEZ.js";
146
+ import "../chunk-PN4HVM43.js";
147
147
  import "../chunk-QYKDY4EI.js";
148
148
  import "../chunk-4OHRZW7U.js";
149
149
  import "../chunk-S6YY2WWK.js";
@@ -1,30 +1,34 @@
1
1
  import "../chunk-N5ZWC6CB.js";
2
2
  import {
3
3
  CategorySelect
4
- } from "../chunk-JM64OEU6.js";
4
+ } from "../chunk-WAPJ2DL3.js";
5
5
  import "../chunk-LMXWI3DD.js";
6
- import "../chunk-TPLKJHNN.js";
7
- import "../chunk-ZUIJ3N7N.js";
8
- import "../chunk-OVLNF4AZ.js";
9
- import "../chunk-4TXIZ5WI.js";
10
- import "../chunk-AJ6XEO4E.js";
11
- import "../chunk-ZAB65STX.js";
12
- import "../chunk-KIHQE5YA.js";
13
- import "../chunk-OFOYMZRY.js";
6
+ import "../chunk-ZC7RQDZ5.js";
7
+ import "../chunk-V6Z4XS3I.js";
8
+ import "../chunk-P7IVAMAU.js";
9
+ import "../chunk-CJUOBTLL.js";
10
+ import "../chunk-ZUY65MFH.js";
11
+ import "../chunk-XHHR6G35.js";
12
+ import "../chunk-GVDJQMFI.js";
13
+ import "../chunk-NPN7JTRM.js";
14
14
  import "../chunk-DMNZD3Q7.js";
15
- import "../chunk-TFO6GBW7.js";
16
- import "../chunk-2GB5CIN6.js";
17
- import "../chunk-ISH42UC7.js";
18
- import "../chunk-WWM2YTW4.js";
15
+ import "../chunk-ZS44PY7T.js";
16
+ import "../chunk-RZVUY2MO.js";
17
+ import "../chunk-USJPZ5Q7.js";
18
+ import "../chunk-R2AZOWEZ.js";
19
19
  import {
20
20
  buildCategoryGroups,
21
21
  categoryCheckState,
22
+ categoryPath,
23
+ collectBranchIds,
22
24
  collectLeafIds,
23
25
  filterCategoryGroups,
26
+ findGroup,
24
27
  foldText,
25
28
  leavesOf,
26
- summarizeSelection
27
- } from "../chunk-LR6MSKTT.js";
29
+ summarizeSelection,
30
+ treeDepth
31
+ } from "../chunk-PN4HVM43.js";
28
32
  import "../chunk-C3UKR3NT.js";
29
33
  import "../chunk-IPPTOL53.js";
30
34
  import "../chunk-7FDU3FIN.js";
@@ -36,10 +40,14 @@ export {
36
40
  CategorySelect,
37
41
  buildCategoryGroups,
38
42
  categoryCheckState,
43
+ categoryPath,
44
+ collectBranchIds,
39
45
  collectLeafIds,
40
46
  filterCategoryGroups,
47
+ findGroup,
41
48
  foldText,
42
49
  leavesOf,
43
- summarizeSelection
50
+ summarizeSelection,
51
+ treeDepth
44
52
  };
45
53
  //# sourceMappingURL=CategorySelect.js.map
@@ -9,14 +9,14 @@ import {
9
9
  } from "../chunk-E6OILRUU.js";
10
10
  import {
11
11
  Fields_exports
12
- } from "../chunk-R6SNYC3D.js";
12
+ } from "../chunk-Y3KRUT7O.js";
13
13
  import {
14
14
  SelectField
15
15
  } from "../chunk-W4SDVTZC.js";
16
16
  import "../chunk-EOHKZGOZ.js";
17
17
  import {
18
18
  CategoryField
19
- } from "../chunk-WIT3Y7JT.js";
19
+ } from "../chunk-Y2B3I3IH.js";
20
20
  import "../chunk-LYMAMKJT.js";
21
21
  import {
22
22
  TextField
@@ -35,22 +35,22 @@ import "../chunk-FGK2C7JR.js";
35
35
  import "../chunk-JD5BVIM7.js";
36
36
  import "../chunk-JXUWWPZR.js";
37
37
  import "../chunk-N5ZWC6CB.js";
38
- import "../chunk-JM64OEU6.js";
38
+ import "../chunk-WAPJ2DL3.js";
39
39
  import "../chunk-LMXWI3DD.js";
40
- import "../chunk-TPLKJHNN.js";
41
- import "../chunk-ZUIJ3N7N.js";
42
- import "../chunk-OVLNF4AZ.js";
43
- import "../chunk-4TXIZ5WI.js";
44
- import "../chunk-AJ6XEO4E.js";
45
- import "../chunk-ZAB65STX.js";
46
- import "../chunk-KIHQE5YA.js";
47
- import "../chunk-OFOYMZRY.js";
40
+ import "../chunk-ZC7RQDZ5.js";
41
+ import "../chunk-V6Z4XS3I.js";
42
+ import "../chunk-P7IVAMAU.js";
43
+ import "../chunk-CJUOBTLL.js";
44
+ import "../chunk-ZUY65MFH.js";
45
+ import "../chunk-XHHR6G35.js";
46
+ import "../chunk-GVDJQMFI.js";
47
+ import "../chunk-NPN7JTRM.js";
48
48
  import "../chunk-DMNZD3Q7.js";
49
- import "../chunk-TFO6GBW7.js";
50
- import "../chunk-2GB5CIN6.js";
51
- import "../chunk-ISH42UC7.js";
52
- import "../chunk-WWM2YTW4.js";
53
- import "../chunk-LR6MSKTT.js";
49
+ import "../chunk-ZS44PY7T.js";
50
+ import "../chunk-RZVUY2MO.js";
51
+ import "../chunk-USJPZ5Q7.js";
52
+ import "../chunk-R2AZOWEZ.js";
53
+ import "../chunk-PN4HVM43.js";
54
54
  import "../chunk-QYKDY4EI.js";
55
55
  import "../chunk-4OHRZW7U.js";
56
56
  import "../chunk-S6YY2WWK.js";
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AASxD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwDxC"}
1
+ {"version":3,"file":"CategoryPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AASxD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyDxC"}
@@ -13,6 +13,12 @@ interface PanelListProps {
13
13
  loading: boolean;
14
14
  showCounts: boolean;
15
15
  allowParentSelection: boolean;
16
+ /**
17
+ * True when the tree has a level BELOW the subcategories. It turns the
18
+ * section-heading treatment off — see {@link CategoryNodeRows}. Derived from
19
+ * the options the panel state already holds, never a caller's decision.
20
+ */
21
+ deepTree: boolean;
16
22
  isExpanded: (categoryId: string) => boolean;
17
23
  onToggleExpanded: (categoryId: string) => void;
18
24
  onActivateCategory: (group: CategoryGroup) => void;
@@ -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;AAoID,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;AAQxD,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;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,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;AA0ID,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4C1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryQuickActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryQuickActions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAgB/D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,IAAI,GACL,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC;CAC1B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiCpB"}
1
+ {"version":3,"file":"CategoryQuickActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategoryQuickActions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAgB/D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,IAAI,GACL,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC;CAC1B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmCpB"}
@@ -13,18 +13,20 @@ export declare function CategoryCheckbox({ state }: {
13
13
  export declare function CategoryRadio({ on }: {
14
14
  on: boolean;
15
15
  }): React.JSX.Element;
16
- interface CategoryHeadRowProps {
16
+ interface CategoryTreeRowProps {
17
17
  option: CategorySelectOption;
18
18
  query: string;
19
+ /** 0 for a top-level category; each level below indents one more step. */
20
+ depth: number;
21
+ /** True when there is something under this row to fold. */
22
+ branch: boolean;
19
23
  expanded: boolean;
20
24
  active: boolean;
21
25
  sheet: boolean;
22
- /** Absent in leaf-only mode, where the category is a heading with no checkbox. */
26
+ /** Absent where the row cannot be picked — a category acting as a frame. */
23
27
  checkState?: CategoryCheckState;
24
28
  /** Single-select draws a radio for the control: choosing a row is exclusive. */
25
29
  single: boolean;
26
- /** False for a childless category — there is nothing under it to disclose. */
27
- expandable: boolean;
28
30
  selectedCount: number;
29
31
  showCounts: boolean;
30
32
  onToggleExpanded: () => void;
@@ -33,28 +35,14 @@ interface CategoryHeadRowProps {
33
35
  copy: CategorySelectCopy;
34
36
  }
35
37
  /**
36
- * A top-level category row: disclosure chevron, optional checkbox, name, meta.
38
+ * One row of the tree: disclosure chevron, optional control, name, meta.
37
39
  *
38
- * The chevron is its OWN button inside the row button — clicking it only folds,
39
- * while clicking the row does the row's job (expand as a heading, or tick when
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.
40
+ * The chevron is its OWN button inside the row — clicking it only folds, while
41
+ * clicking the row does the row's job (expand as a frame, or mark when the row
42
+ * is selectable). A LEAF has neither a fold nor a frame to be: it draws no
43
+ * chevron, and it always carries the control, because it is what you pick.
43
44
  */
44
- export declare function CategoryHeadRow({ option, query, expanded, active, sheet, checkState, single, expandable, selectedCount, showCounts, onToggleExpanded, onActivate, dataTestId, copy, }: CategoryHeadRowProps): React.JSX.Element;
45
- interface SubcategoryRowProps {
46
- option: CategorySelectOption;
47
- query: string;
48
- selected: boolean;
49
- active: boolean;
50
- sheet: boolean;
51
- /** Single-select mode draws a radio; multi-select draws a checkbox. */
52
- single: boolean;
53
- showCounts: boolean;
54
- onActivate: () => void;
55
- dataTestId: string;
56
- }
57
- export declare function SubcategoryRow({ option, query, selected, active, sheet, single, showCounts, onActivate, dataTestId, }: SubcategoryRowProps): React.JSX.Element;
45
+ export declare function CategoryTreeRow({ option, query, depth, branch, expanded, active, sheet, checkState, single, selectedCount, showCounts, onToggleExpanded, onActivate, dataTestId, copy, }: CategoryTreeRowProps): React.JSX.Element;
58
46
  /** The category as a non-interactive heading (single-select, leaf-only). */
59
47
  export declare function CategorySectionHeading({ option, query, }: {
60
48
  option: CategorySelectOption;
@@ -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,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
+ {"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;AAc7E,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,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,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;AAsED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,IAAI,GACL,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+B1C;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,18 +1,21 @@
1
1
  import type { CategorySelectProps } from './CategorySelect.types';
2
2
  /**
3
- * A hierarchical category picker: categories as the frame, subcategories as the
4
- * thing you choose.
3
+ * A hierarchical category picker: categories as the frame, whatever is filed
4
+ * under them as the thing you choose.
5
5
  *
6
6
  * Two modes off one component. `multi` is the FILTER — ticks accumulate in a
7
7
  * draft and reach `onChange` only on Apply, so the list behind the panel does not
8
8
  * reload on every click. `single` is the "move to…" picker, where choosing a row
9
9
  * commits immediately because there is nothing to batch.
10
10
  *
11
- * The tree opens fully expanded: nothing a search could match is hidden behind a
12
- * disclosure. Selected categories pin above the list so they survive scrolling
13
- * and searching, search is accent-insensitive (`agua` finds `Águas`), and the
14
- * whole tree is keyboard-drivable — ↑↓ to move, → to open, ← to close, Space to
15
- * mark, Enter to apply, Esc to cancel.
11
+ * The tree nests as deep as the payload does — a picker can file ITEMS under a
12
+ * subcategory and get a third storey with no extra configuration. Opening
13
+ * unfolds the top level, and a search reveals every hit whatever is folded.
14
+ *
15
+ * Selected categories pin above the list so they survive scrolling and
16
+ * searching, search is accent-insensitive (`agua` finds `Águas`), and the whole
17
+ * tree is keyboard-drivable — ↑↓ to move, → to open, ← to close, Space to mark,
18
+ * Enter to apply, Esc to cancel.
16
19
  *
17
20
  * Under {@link METRICS.sheetBreakpoint} the panel becomes a bottom sheet, which
18
21
  * is the only way a 290px-tall list stays usable one-handed.
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategorySelect.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AA2EjF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+E5E"}
1
+ {"version":3,"file":"CategorySelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategorySelect.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AA0EjF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+E5E"}
@@ -25,6 +25,8 @@ export declare const METRICS: {
25
25
  readonly rowRadius: 8;
26
26
  readonly boxSize: 18;
27
27
  readonly chevronButton: 22;
28
+ /** Extra left padding per level of nesting. */
29
+ readonly rowIndentStep: 14;
28
30
  readonly footerButton: 32;
29
31
  readonly sheetFooterButton: 38;
30
32
  /** Below this width the panel becomes a bottom sheet. */
@@ -50,6 +52,15 @@ export declare const chipSx: (theme: Theme) => CSSObject;
50
52
  export declare const listSx: (sheet: boolean) => CSSObject;
51
53
  /** A row. `active` is the KEYBOARD cursor — deliberately distinct from hover. */
52
54
  export declare const rowSx: (theme: Theme, active: boolean, sheet: boolean) => CSSObject;
55
+ /**
56
+ * How far a row sits in from the panel edge, by depth.
57
+ *
58
+ * One step per level, on top of {@link rowSx}'s own 8px gutter — depth 0 keeps
59
+ * that gutter, and every level below it adds `METRICS.rowIndentStep`. Absolute
60
+ * like the rest of this file: the step is the design's own 14px, not a spacing
61
+ * multiple that would round it.
62
+ */
63
+ export declare const rowIndent: (depth: number) => CSSObject;
53
64
  export declare const rowNameSx: (theme: Theme, isCategory: boolean) => CSSObject;
54
65
  export declare const rowMetaSx: (theme: Theme, selected: boolean) => CSSObject;
55
66
  /** The query hit inside a row label. */
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelect.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategorySelect.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAIlF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;IAclB,yDAAyD;;CAEjD,CAAC;AAWX,sFAAsF;AACtF,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,OAAO,EAAE,MAAM,OAAO,KAAG,SA0B1E,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,SAU5C,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,cAAc,EAAE,SAc5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,KAAG,SAO/C,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,SAUrC,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,SAkBrC,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,OAAO,OAAO,KAAG,SAGzD,CAAC;AAEH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAItC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,SAQ3C,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,SAMxB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,SA6BrC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,SAMtC,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,EAAE,QAAQ,OAAO,EAAE,OAAO,OAAO,KAAG,SAsBpE,CAAC;AAEH,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,YAAY,OAAO,KAAG,SAS5D,CAAC;AAEH,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,OAAO,KAAG,SAK1D,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,SAKpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,EAAE,MAAM,OAAO,KAAG,SAc5D,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,OAAO,KAAK,GAAG,SAAS,GAAG,IAAI,KAAG,SAWzE,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,SAK3C,CAAC;AAEH,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAG,SAUlD,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,SAQ3C,CAAC;AAEH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAQtC,CAAC;AAEH,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,SAWrC,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,SAIxB,CAAC"}
1
+ {"version":3,"file":"CategorySelect.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategorySelect.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAIlF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;IAYlB,+CAA+C;;;;IAI/C,yDAAyD;;CAEjD,CAAC;AAWX,sFAAsF;AACtF,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,OAAO,EAAE,MAAM,OAAO,KAAG,SA0B1E,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,SAU5C,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,cAAc,EAAE,SAc5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,KAAG,SAO/C,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,SAUrC,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,SAkBrC,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,OAAO,OAAO,KAAG,SAGzD,CAAC;AAEH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAItC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,SAQ3C,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,SAMxB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,SA6BrC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,SAMtC,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,EAAE,QAAQ,OAAO,EAAE,OAAO,OAAO,KAAG,SAsBpE,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,SACgC,CAAC;AAE3E,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,YAAY,OAAO,KAAG,SAS5D,CAAC;AAEH,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,OAAO,KAAG,SAK1D,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,SAKpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,EAAE,MAAM,OAAO,KAAG,SAc5D,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,OAAO,KAAK,GAAG,SAAS,GAAG,IAAI,KAAG,SAWzE,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,SAK3C,CAAC;AAEH,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAG,SAUlD,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,SAQ3C,CAAC;AAEH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAQtC,CAAC;AAEH,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,SAWrC,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,SAIxB,CAAC"}
@@ -20,10 +20,18 @@ export interface CategorySelectOption {
20
20
  */
21
21
  count?: number;
22
22
  }
23
- /** A top-level category together with the subcategories nested under it. */
23
+ /**
24
+ * One node of the category tree: an option together with whatever sits under it.
25
+ *
26
+ * Recursive rather than "a category and its flat subcategories" because the tree
27
+ * a caller hands over is not always two deep — a picker can file ITEMS under a
28
+ * subcategory, and the level below still has to nest, fold and search like the
29
+ * one above it. A node with an empty `subcategories` is the leaf.
30
+ */
24
31
  export interface CategoryGroup {
25
32
  category: CategorySelectOption;
26
- subcategories: CategorySelectOption[];
33
+ /** The nodes directly below it, each a group in its own right. */
34
+ subcategories: CategoryGroup[];
27
35
  }
28
36
  /** One entry in the "selected" summary: a whole category, or a single leaf. */
29
37
  export interface CategorySelectionChip {
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelect.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategorySelect.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpC;AAED,iFAAiF;AACjF,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,wDAAwD;IACxD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wDAAwD;IACxD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"CategorySelect.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/CategorySelect.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,kEAAkE;IAClE,aAAa,EAAE,aAAa,EAAE,CAAC;CAChC;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpC;AAED,iFAAiF;AACjF,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,wDAAwD;IACxD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wDAAwD;IACxD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,yBAAyB,CAAC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"category-keyboard.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/category-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,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;AAgHD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAMT"}
@@ -9,15 +9,17 @@ import type { CategoryGroup, CategorySelectionChip, CategorySelectOption } from
9
9
  */
10
10
  export declare function foldText(text: string): string;
11
11
  /**
12
- * Group a flat `parentId` list into top level + children, preserving input order.
12
+ * Nest a flat `parentId` list into a tree of ANY depth, preserving input order
13
+ * at every level.
13
14
  *
14
- * An option whose `parentId` names no top-level row is promoted to top level
15
- * rather than dropped — a category is never invisible just because its parent
16
- * was filtered out of the payload, or because the tree is deeper than two levels.
15
+ * An option whose `parentId` names nothing in the payload is promoted to top
16
+ * level rather than dropped — a category is never invisible just because its
17
+ * parent was filtered out of the response. A duplicate id keeps its first row,
18
+ * so a repeated payload cannot place the same node twice.
17
19
  */
18
20
  export declare function buildCategoryGroups(options: CategorySelectOption[]): CategoryGroup[];
19
21
  /**
20
- * Whether this category IS the leaf, because nothing sits under it.
22
+ * Whether this node IS the leaf, because nothing sits under it.
21
23
  *
22
24
  * The leaf-only default makes a category a heading and the subcategory the thing
23
25
  * you pick — but a childless category has no subcategory to offer instead, so
@@ -28,10 +30,34 @@ export declare function buildCategoryGroups(options: CategorySelectOption[]): Ca
28
30
  * filter while `Marcar tudo` could still select it.
29
31
  */
30
32
  export declare function isLeafCategory(group: CategoryGroup): boolean;
31
- /** Every selectable leaf id across all groups, in display order. */
33
+ /** Every selectable leaf id across the whole tree, in display order. */
32
34
  export declare function collectLeafIds(groups: CategoryGroup[]): string[];
33
- /** The leaves a category stands for — its subcategories, or itself when childless. */
35
+ /**
36
+ * The leaves a node stands for — every leaf BELOW it, or itself when childless.
37
+ *
38
+ * Recursive rather than one level down, so a category three levels deep still
39
+ * stands for the items at the bottom of it and not for the subcategories in
40
+ * between: the value a caller receives stays uniformly leaves, which is the
41
+ * property that lets a chip, a tri-state checkbox and `Marcar tudo` agree.
42
+ */
34
43
  export declare function leavesOf(group: CategoryGroup): string[];
44
+ /** Every node that can be unfolded, at any depth — what "Expandir tudo" opens. */
45
+ export declare function collectBranchIds(groups: CategoryGroup[]): string[];
46
+ /** The node carrying `id`, searched at every depth. */
47
+ export declare function findGroup(groups: CategoryGroup[], id: string): CategoryGroup | undefined;
48
+ /**
49
+ * The names from the top-level category down to `id`, or `null` when absent.
50
+ *
51
+ * The single-select trigger reads this back as `Pai › Filha › Item`, so a chosen
52
+ * row keeps the context that tells `Massas` (mercearia) from `Massas` (pratos
53
+ * principais) once the panel has closed over it.
54
+ */
55
+ export declare function categoryPath(groups: CategoryGroup[], id: string): string[] | null;
56
+ /**
57
+ * How many levels the deepest branch has. A flat list is 1, the classic
58
+ * category/subcategory tree is 2, anything more is a tree with items in it.
59
+ */
60
+ export declare function treeDepth(groups: CategoryGroup[]): number;
35
61
  export type CategoryCheckState = 'off' | 'partial' | 'on';
36
62
  /** Whether none, some, or all of a category's leaves are selected. */
37
63
  export declare function categoryCheckState(group: CategoryGroup, selected: ReadonlySet<string>): CategoryCheckState;
@@ -40,23 +66,26 @@ export declare function toggleCategoryLeaves(group: CategoryGroup, selected: Rea
40
66
  /** Add an id when absent, remove it when present. */
41
67
  export declare function toggleLeaf(id: string, selected: ReadonlySet<string>): Set<string>;
42
68
  /**
43
- * Collapse a raw id set into the chips a human reads: a category that is fully
44
- * selected becomes ONE chip bearing the category's name, rather than one chip
45
- * per subcategory — "Bebidas" instead of six drinks.
69
+ * Collapse a raw id set into the chips a human reads: a node that is fully
70
+ * selected becomes ONE chip bearing its name, rather than one chip per leaf —
71
+ * "Bebidas" instead of six drinks.
72
+ *
73
+ * A partly-selected node hands the question down to its own children, so the
74
+ * chip that appears is always the DEEPEST node that is completely selected.
46
75
  */
47
76
  export declare function summarizeSelection(groups: CategoryGroup[], selected: ReadonlySet<string>): CategorySelectionChip[];
48
77
  /**
49
- * Drop the leaves a chip stands for. A `whole` chip removes the whole category;
50
- * any other chip removes just that leaf.
78
+ * Drop the leaves a chip stands for. A chip naming a node removes everything
79
+ * under it; a chip naming nothing in the tree removes just that id.
51
80
  */
52
81
  export declare function removeChip(groups: CategoryGroup[], chipId: string, selected: ReadonlySet<string>): Set<string>;
53
82
  /**
54
- * Search across BOTH levels, keeping every hit under its parent.
83
+ * Search every level, keeping each hit under its parents.
55
84
  *
56
- * A category that matches keeps all of its subcategories, so "Bebidas" shows the
57
- * whole group. A category that does not match keeps only the subcategories that
58
- * do — the hit still arrives with its parent visible above it, which is the
59
- * context that tells "Massas" (mercearia) from "Massas" (pratos principais).
85
+ * A node that matches keeps its whole subtree, so "Bebidas" shows the entire
86
+ * group. A node that does not match keeps only the descendants that do — the hit
87
+ * still arrives with its parents visible above it, which is the context that
88
+ * tells "Massas" (mercearia) from "Massas" (pratos principais).
60
89
  */
61
90
  export declare function filterCategoryGroups(groups: CategoryGroup[], query: string): CategoryGroup[];
62
91
  /** A run of text, flagged when it is the part that matched the query. */
@@ -74,12 +103,15 @@ interface HighlightSegment {
74
103
  export declare function highlightSegments(text: string, query: string): HighlightSegment[];
75
104
  /** A flattened row, so keyboard navigation can walk what is actually on screen. */
76
105
  export interface CategoryRowRef {
77
- kind: 'category' | 'subcategory';
78
106
  id: string;
79
- /** Owning category id — lets ← jump from a subcategory back to its parent. */
107
+ /** 0 for a top-level category, one more for each level below it. */
108
+ depth: number;
109
+ /** True when the row has children to unfold — what → and ← act on. */
110
+ branch: boolean;
111
+ /** Owning node id — lets ← jump from a child back to its parent. */
80
112
  parentId?: string;
81
113
  }
82
- /** The visible rows, in order, honouring which categories are expanded. */
114
+ /** The visible rows, in order, honouring which nodes are expanded. */
83
115
  export declare function flattenRows(groups: CategoryGroup[], isExpanded: (categoryId: string) => boolean): CategoryRowRef[];
84
116
  export {};
85
117
  //# sourceMappingURL=category-tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-tree.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/category-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,aAAa,EAAE,CAmBpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE5D;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAEhE;AAED,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAEvD;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;AAE1D,sEAAsE;AACtE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,kBAAkB,CAKpB;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,GAAG,CAAC,MAAM,CAAC,CAMb;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAIjF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EAAE,EACvB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,qBAAqB,EAAE,CAWzB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,GAAG,CAAC,MAAM,CAAC,CASb;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAU5F;AAED,yEAAyE;AACzE,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAUjF;AAED,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,aAAa,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,EAAE,EACvB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,GAC1C,cAAc,EAAE,CAelB"}
1
+ {"version":3,"file":"category-tree.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/category-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK7C;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,aAAa,EAAE,CAiBpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE5D;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAGvD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAIlE;AAED,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAOxF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAOjF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAKzD;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;AAE1D,sEAAsE;AACtE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,kBAAkB,CAKpB;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,GAAG,CAAC,MAAM,CAAC,CAMb;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAIjF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EAAE,EACvB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,qBAAqB,EAAE,CAczB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,GAAG,CAAC,MAAM,CAAC,CASb;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAU5F;AAED,yEAAyE;AACzE,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAUjF;AAED,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,EAAE,EACvB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,GAC1C,cAAc,EAAE,CAUlB"}
@@ -1,4 +1,4 @@
1
1
  export { CategorySelect } from './CategorySelect';
2
2
  export type { CategoryGroup, CategoryMultiSelectProps, CategorySelectBaseProps, CategorySelectionChip, CategorySelectOption, CategorySelectProps, CategorySingleSelectProps, } from './CategorySelect.types';
3
- export { buildCategoryGroups, categoryCheckState, collectLeafIds, filterCategoryGroups, foldText, leavesOf, summarizeSelection, } from './category-tree';
3
+ export { buildCategoryGroups, categoryCheckState, categoryPath, collectBranchIds, collectLeafIds, filterCategoryGroups, findGroup, foldText, leavesOf, summarizeSelection, treeDepth, } from './category-tree';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,aAAa,EACb,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,aAAa,EACb,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,SAAS,GACV,MAAM,iBAAiB,CAAC"}
@@ -22,6 +22,8 @@ export interface CategorySelectState extends ExpansionState, DraftState {
22
22
  visibleGroups: CategoryGroup[];
23
23
  /** All groups, unfiltered — the basis for chips and "select all". */
24
24
  allGroups: CategoryGroup[];
25
+ /** True when the tree runs deeper than category/subcategory. */
26
+ deepTree: boolean;
25
27
  rows: CategoryRowRef[];
26
28
  activeIndex: number;
27
29
  setQuery: (next: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useCategorySelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/useCategorySelect.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAElF,oEAAoE;AACpE,UAAU,cAAc;IACtB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CAC9C;AA0CD,+DAA+D;AAC/D,UAAU,UAAU;IAClB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAkBD,4EAA4E;AAC5E,MAAM,WAAW,mBAAoB,SAAQ,cAAc,EAAE,UAAU;IACrE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACvD;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,QAAQ,GACT,EAAE,qBAAqB,GAAG,mBAAmB,CAqD7C"}
1
+ {"version":3,"file":"useCategorySelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/CategorySelect/useCategorySelect.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAElF,oEAAoE;AACpE,UAAU,cAAc;IACtB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CAC9C;AAiDD,+DAA+D;AAC/D,UAAU,UAAU;IAClB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAkBD,4EAA4E;AAC5E,MAAM,WAAW,mBAAoB,SAAQ,cAAc,EAAE,UAAU;IACrE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,qEAAqE;IACrE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACvD;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,QAAQ,GACT,EAAE,qBAAqB,GAAG,mBAAmB,CAwD7C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.24.8",
3
+ "version": "6.25.0",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -94,6 +94,7 @@ export function CategoryPanel({
94
94
  loading={loading}
95
95
  showCounts={showCounts}
96
96
  allowParentSelection={allowParentSelection}
97
+ deepTree={state.deepTree}
97
98
  isExpanded={state.isExpanded}
98
99
  onToggleExpanded={state.toggleExpanded}
99
100
  onActivateCategory={onActivateCategory}