@caratlogic/design-system 0.1.32 → 0.1.33

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 (193) hide show
  1. package/dist/components/atoms/ActionButtonWithTooltip/ActionButtonWithTooltip.d.ts.map +1 -1
  2. package/dist/components/molecules/DataEditableTable/DataEditableTable.d.ts +1 -1
  3. package/dist/components/molecules/DataEditableTable/DataEditableTable.d.ts.map +1 -1
  4. package/dist/components/molecules/DataEditableTable/DataEditableTable.hooks.d.ts +16 -0
  5. package/dist/components/molecules/DataEditableTable/DataEditableTable.hooks.d.ts.map +1 -1
  6. package/dist/components/molecules/DataEditableTable/DataEditableTable.parts.d.ts +8 -1
  7. package/dist/components/molecules/DataEditableTable/DataEditableTable.parts.d.ts.map +1 -1
  8. package/dist/components/molecules/DataEditableTable/DataEditableTable.types.d.ts +20 -0
  9. package/dist/components/molecules/DataEditableTable/DataEditableTable.types.d.ts.map +1 -1
  10. package/dist/components/molecules/DataEditableTable/DataEditableTable.utils.d.ts +7 -1
  11. package/dist/components/molecules/DataEditableTable/DataEditableTable.utils.d.ts.map +1 -1
  12. package/dist/components/molecules/FilterSelect/FilterMultiSelect.d.ts +8 -3
  13. package/dist/components/molecules/FilterSelect/FilterMultiSelect.d.ts.map +1 -1
  14. package/dist/components/molecules/FilterSelect/FilterSelect.utils.d.ts +9 -0
  15. package/dist/components/molecules/FilterSelect/FilterSelect.utils.d.ts.map +1 -1
  16. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.accessibility.d.ts +3 -0
  17. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.accessibility.d.ts.map +1 -0
  18. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.d.ts +6 -0
  19. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.d.ts.map +1 -0
  20. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.types.d.ts +16 -0
  21. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.types.d.ts.map +1 -0
  22. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.utils.d.ts +7 -0
  23. package/dist/components/molecules/Filters/ActiveFilterChips/ActiveFilterChips.utils.d.ts.map +1 -0
  24. package/dist/components/molecules/Filters/ActiveFilterChips/index.d.ts +3 -0
  25. package/dist/components/molecules/Filters/ActiveFilterChips/index.d.ts.map +1 -0
  26. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.accessibility.d.ts +2 -0
  27. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.accessibility.d.ts.map +1 -0
  28. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.d.ts +6 -0
  29. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.d.ts.map +1 -0
  30. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.hooks.d.ts +9 -0
  31. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.hooks.d.ts.map +1 -0
  32. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.types.d.ts +11 -0
  33. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.types.d.ts.map +1 -0
  34. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.utils.d.ts +3 -0
  35. package/dist/components/molecules/Filters/ContainsFilter/ContainsFilter.utils.d.ts.map +1 -0
  36. package/dist/components/molecules/Filters/ContainsFilter/index.d.ts +3 -0
  37. package/dist/components/molecules/Filters/ContainsFilter/index.d.ts.map +1 -0
  38. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.accessibility.d.ts +3 -0
  39. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.accessibility.d.ts.map +1 -0
  40. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.d.ts +6 -0
  41. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.d.ts.map +1 -0
  42. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.hooks.d.ts +11 -0
  43. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.hooks.d.ts.map +1 -0
  44. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.types.d.ts +10 -0
  45. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.types.d.ts.map +1 -0
  46. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.utils.d.ts +11 -0
  47. package/dist/components/molecules/Filters/DateRangeFilter/DateRangeFilter.utils.d.ts.map +1 -0
  48. package/dist/components/molecules/Filters/DateRangeFilter/index.d.ts +3 -0
  49. package/dist/components/molecules/Filters/DateRangeFilter/index.d.ts.map +1 -0
  50. package/dist/components/molecules/Filters/FilterCellPopover/FilterCellPopover.accessibility.d.ts +3 -0
  51. package/dist/components/molecules/Filters/FilterCellPopover/FilterCellPopover.accessibility.d.ts.map +1 -0
  52. package/dist/components/molecules/Filters/FilterCellPopover/FilterCellPopover.d.ts +6 -0
  53. package/dist/components/molecules/Filters/FilterCellPopover/FilterCellPopover.d.ts.map +1 -0
  54. package/dist/components/molecules/Filters/FilterCellPopover/FilterCellPopover.types.d.ts +24 -0
  55. package/dist/components/molecules/Filters/FilterCellPopover/FilterCellPopover.types.d.ts.map +1 -0
  56. package/dist/components/molecules/Filters/FilterCellPopover/index.d.ts +3 -0
  57. package/dist/components/molecules/Filters/FilterCellPopover/index.d.ts.map +1 -0
  58. package/dist/components/molecules/Filters/FilterEmptyState/FilterEmptyState.d.ts +6 -0
  59. package/dist/components/molecules/Filters/FilterEmptyState/FilterEmptyState.d.ts.map +1 -0
  60. package/dist/components/molecules/Filters/FilterEmptyState/FilterEmptyState.types.d.ts +14 -0
  61. package/dist/components/molecules/Filters/FilterEmptyState/FilterEmptyState.types.d.ts.map +1 -0
  62. package/dist/components/molecules/Filters/FilterEmptyState/FilterEmptyState.utils.d.ts +5 -0
  63. package/dist/components/molecules/Filters/FilterEmptyState/FilterEmptyState.utils.d.ts.map +1 -0
  64. package/dist/components/molecules/Filters/FilterEmptyState/index.d.ts +3 -0
  65. package/dist/components/molecules/Filters/FilterEmptyState/index.d.ts.map +1 -0
  66. package/dist/components/molecules/Filters/FilterPanel/FilterPanel.d.ts +6 -0
  67. package/dist/components/molecules/Filters/FilterPanel/FilterPanel.d.ts.map +1 -0
  68. package/dist/components/molecules/Filters/FilterPanel/FilterPanel.types.d.ts +28 -0
  69. package/dist/components/molecules/Filters/FilterPanel/FilterPanel.types.d.ts.map +1 -0
  70. package/dist/components/molecules/Filters/FilterPanel/FilterPanel.utils.d.ts +4 -0
  71. package/dist/components/molecules/Filters/FilterPanel/FilterPanel.utils.d.ts.map +1 -0
  72. package/dist/components/molecules/Filters/FilterPanel/index.d.ts +3 -0
  73. package/dist/components/molecules/Filters/FilterPanel/index.d.ts.map +1 -0
  74. package/dist/components/molecules/Filters/Filters.hooks.d.ts +20 -0
  75. package/dist/components/molecules/Filters/Filters.hooks.d.ts.map +1 -0
  76. package/dist/components/molecules/Filters/Filters.types.d.ts +66 -0
  77. package/dist/components/molecules/Filters/Filters.types.d.ts.map +1 -0
  78. package/dist/components/molecules/Filters/Filters.utils.d.ts +53 -0
  79. package/dist/components/molecules/Filters/Filters.utils.d.ts.map +1 -0
  80. package/dist/components/molecules/Filters/IdListInput/IdListInput.accessibility.d.ts +2 -0
  81. package/dist/components/molecules/Filters/IdListInput/IdListInput.accessibility.d.ts.map +1 -0
  82. package/dist/components/molecules/Filters/IdListInput/IdListInput.d.ts +6 -0
  83. package/dist/components/molecules/Filters/IdListInput/IdListInput.d.ts.map +1 -0
  84. package/dist/components/molecules/Filters/IdListInput/IdListInput.hooks.d.ts +10 -0
  85. package/dist/components/molecules/Filters/IdListInput/IdListInput.hooks.d.ts.map +1 -0
  86. package/dist/components/molecules/Filters/IdListInput/IdListInput.types.d.ts +10 -0
  87. package/dist/components/molecules/Filters/IdListInput/IdListInput.types.d.ts.map +1 -0
  88. package/dist/components/molecules/Filters/IdListInput/IdListInput.utils.d.ts +4 -0
  89. package/dist/components/molecules/Filters/IdListInput/IdListInput.utils.d.ts.map +1 -0
  90. package/dist/components/molecules/Filters/IdListInput/index.d.ts +3 -0
  91. package/dist/components/molecules/Filters/IdListInput/index.d.ts.map +1 -0
  92. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.accessibility.d.ts +5 -0
  93. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.accessibility.d.ts.map +1 -0
  94. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.d.ts +6 -0
  95. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.d.ts.map +1 -0
  96. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.hooks.d.ts +16 -0
  97. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.hooks.d.ts.map +1 -0
  98. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.types.d.ts +14 -0
  99. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.types.d.ts.map +1 -0
  100. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.utils.d.ts +8 -0
  101. package/dist/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.utils.d.ts.map +1 -0
  102. package/dist/components/molecules/Filters/NumberExpressionFilter/index.d.ts +3 -0
  103. package/dist/components/molecules/Filters/NumberExpressionFilter/index.d.ts.map +1 -0
  104. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.accessibility.d.ts +3 -0
  105. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.accessibility.d.ts.map +1 -0
  106. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.d.ts +6 -0
  107. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.d.ts.map +1 -0
  108. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.hooks.d.ts +15 -0
  109. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.hooks.d.ts.map +1 -0
  110. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.types.d.ts +17 -0
  111. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.types.d.ts.map +1 -0
  112. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.utils.d.ts +12 -0
  113. package/dist/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.utils.d.ts.map +1 -0
  114. package/dist/components/molecules/Filters/NumberRangeInputs/index.d.ts +3 -0
  115. package/dist/components/molecules/Filters/NumberRangeInputs/index.d.ts.map +1 -0
  116. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.accessibility.d.ts +2 -0
  117. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.accessibility.d.ts.map +1 -0
  118. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.d.ts +6 -0
  119. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.d.ts.map +1 -0
  120. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.hooks.d.ts +3 -0
  121. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.hooks.d.ts.map +1 -0
  122. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.types.d.ts +32 -0
  123. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.types.d.ts.map +1 -0
  124. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.utils.d.ts +19 -0
  125. package/dist/components/molecules/Filters/PickListFilter/PickListFilter.utils.d.ts.map +1 -0
  126. package/dist/components/molecules/Filters/PickListFilter/index.d.ts +3 -0
  127. package/dist/components/molecules/Filters/PickListFilter/index.d.ts.map +1 -0
  128. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.d.ts +6 -0
  129. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.d.ts.map +1 -0
  130. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.hooks.d.ts +4 -0
  131. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.hooks.d.ts.map +1 -0
  132. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.types.d.ts +22 -0
  133. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.types.d.ts.map +1 -0
  134. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.utils.d.ts +7 -0
  135. package/dist/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.utils.d.ts.map +1 -0
  136. package/dist/components/molecules/Filters/ScaleRangeFilter/index.d.ts +3 -0
  137. package/dist/components/molecules/Filters/ScaleRangeFilter/index.d.ts.map +1 -0
  138. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.d.ts +6 -0
  139. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.d.ts.map +1 -0
  140. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.hooks.d.ts +7 -0
  141. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.hooks.d.ts.map +1 -0
  142. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.types.d.ts +15 -0
  143. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.types.d.ts.map +1 -0
  144. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.utils.d.ts +4 -0
  145. package/dist/components/molecules/Filters/ScrollFade/ScrollFade.utils.d.ts.map +1 -0
  146. package/dist/components/molecules/Filters/ScrollFade/index.d.ts +3 -0
  147. package/dist/components/molecules/Filters/ScrollFade/index.d.ts.map +1 -0
  148. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.accessibility.d.ts +6 -0
  149. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.accessibility.d.ts.map +1 -0
  150. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.d.ts +6 -0
  151. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.d.ts.map +1 -0
  152. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.types.d.ts +7 -0
  153. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.types.d.ts.map +1 -0
  154. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.utils.d.ts +3 -0
  155. package/dist/components/molecules/Filters/TriStateFilter/TriStateFilter.utils.d.ts.map +1 -0
  156. package/dist/components/molecules/Filters/TriStateFilter/index.d.ts +3 -0
  157. package/dist/components/molecules/Filters/TriStateFilter/index.d.ts.map +1 -0
  158. package/dist/components/molecules/Filters/TruncatedLabel/TruncatedLabel.d.ts +6 -0
  159. package/dist/components/molecules/Filters/TruncatedLabel/TruncatedLabel.d.ts.map +1 -0
  160. package/dist/components/molecules/Filters/TruncatedLabel/TruncatedLabel.types.d.ts +5 -0
  161. package/dist/components/molecules/Filters/TruncatedLabel/TruncatedLabel.types.d.ts.map +1 -0
  162. package/dist/components/molecules/Filters/TruncatedLabel/index.d.ts +3 -0
  163. package/dist/components/molecules/Filters/TruncatedLabel/index.d.ts.map +1 -0
  164. package/dist/components/molecules/Filters/index.d.ts +17 -0
  165. package/dist/components/molecules/Filters/index.d.ts.map +1 -0
  166. package/dist/components/molecules/InventoryFilterSelects.d.ts.map +1 -1
  167. package/dist/components/organisms/Filters/FilterField/FilterField.d.ts +11 -0
  168. package/dist/components/organisms/Filters/FilterField/FilterField.d.ts.map +1 -0
  169. package/dist/components/organisms/Filters/FilterField/FilterField.types.d.ts +66 -0
  170. package/dist/components/organisms/Filters/FilterField/FilterField.types.d.ts.map +1 -0
  171. package/dist/components/organisms/Filters/FilterField/FilterField.utils.d.ts +38 -0
  172. package/dist/components/organisms/Filters/FilterField/FilterField.utils.d.ts.map +1 -0
  173. package/dist/components/organisms/Filters/FilterField/index.d.ts +4 -0
  174. package/dist/components/organisms/Filters/FilterField/index.d.ts.map +1 -0
  175. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.accessibility.d.ts +4 -0
  176. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.accessibility.d.ts.map +1 -0
  177. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.d.ts +9 -0
  178. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.d.ts.map +1 -0
  179. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.hooks.d.ts +6 -0
  180. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.hooks.d.ts.map +1 -0
  181. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.types.d.ts +26 -0
  182. package/dist/components/organisms/Filters/FilterSurface/FilterSurface.types.d.ts.map +1 -0
  183. package/dist/components/organisms/Filters/FilterSurface/index.d.ts +3 -0
  184. package/dist/components/organisms/Filters/FilterSurface/index.d.ts.map +1 -0
  185. package/dist/components/organisms/Filters/index.d.ts +3 -0
  186. package/dist/components/organisms/Filters/index.d.ts.map +1 -0
  187. package/dist/index.cjs.js +1512 -305
  188. package/dist/index.cjs.js.map +1 -1
  189. package/dist/index.d.ts +2 -0
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.esm.js +1473 -307
  192. package/dist/index.esm.js.map +1 -1
  193. package/package.json +1 -1
@@ -0,0 +1,28 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * `card` — a standalone card on a full-page filter surface.
4
+ * `popover` — the same content inside a filter-row popover (the popover supplies the border).
5
+ * `section` — a titled block nested inside another panel (e.g. Shade inside Color).
6
+ */
7
+ export type FilterPanelVariant = 'card' | 'popover' | 'section';
8
+ export interface FilterPanelProps {
9
+ title?: ReactNode;
10
+ /** Selected-option count shown as a badge after the title, e.g. `Category (2)`. */
11
+ selectedCount?: number;
12
+ /** Muted text on the left when there's no title, e.g. `2 of 17 selected` in a popover. */
13
+ status?: ReactNode;
14
+ /** Applied value summarised before Clear, e.g. `1.00 – 3.00`. */
15
+ summary?: ReactNode;
16
+ /** Extra header content on the right, e.g. a toggle or "Show all". */
17
+ action?: ReactNode;
18
+ /** Shows the Clear link; omit it when nothing is applied. */
19
+ onClear?: () => void;
20
+ /** Helper text under the body, e.g. "Click a start option, then an end option." */
21
+ hint?: ReactNode;
22
+ /** Highlights a card whose filter is applied. */
23
+ active?: boolean;
24
+ variant?: FilterPanelVariant;
25
+ className?: string;
26
+ children: ReactNode;
27
+ }
28
+ //# sourceMappingURL=FilterPanel.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanel.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/FilterPanel/FilterPanel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mFAAmF;IACnF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB"}
@@ -0,0 +1,4 @@
1
+ import type { FilterPanelVariant } from './FilterPanel.types';
2
+ export declare function getPanelClassName(variant: FilterPanelVariant, active: boolean, className?: string): string;
3
+ export declare function getTitleClassName(variant: FilterPanelVariant): string;
4
+ //# sourceMappingURL=FilterPanel.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanel.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/FilterPanel/FilterPanel.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAQR;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAOrE"}
@@ -0,0 +1,3 @@
1
+ export { FilterPanel } from './FilterPanel';
2
+ export type { FilterPanelProps, FilterPanelVariant } from './FilterPanel';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/FilterPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface FilterDraft {
2
+ draft: string;
3
+ setDraft: (text: string) => void;
4
+ /** Records the key of a value this field just committed, so the echo back from the parent doesn't overwrite the draft. */
5
+ markCommitted: (key: string) => void;
6
+ }
7
+ /**
8
+ * Local text for a typed filter. It resets to `externalText` only when the applied value
9
+ * (`externalKey`) changes from outside — e.g. Clear all — not when the change is this field's own commit.
10
+ */
11
+ export declare function useFilterDraft(externalKey: string, externalText: string): FilterDraft;
12
+ export interface DebouncedCallback<A extends unknown[]> {
13
+ schedule: (...args: A) => void;
14
+ /** Runs a pending call now (Enter / blur). */
15
+ flush: () => void;
16
+ cancel: () => void;
17
+ }
18
+ /** Debounces `callback`; a call still pending when the field unmounts (e.g. its popover closes) is flushed, not lost. */
19
+ export declare function useDebouncedCallback<A extends unknown[]>(callback: (...args: A) => void, delay: number): DebouncedCallback<A>;
20
+ //# sourceMappingURL=Filters.hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Filters/Filters.hooks.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,0HAA0H;IAC1H,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,WAAW,CAcb;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE;IACpD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,yHAAyH;AACzH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,EAAE,EACtD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EAC9B,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,CAAC,CAAC,CAiCtB"}
@@ -0,0 +1,66 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface FilterFieldOption {
3
+ value: string;
4
+ /** Plain text: shown, searched and announced. */
5
+ label: string;
6
+ /** Custom list-row content in place of `label` (e.g. a name with a description line); search still uses `label`. */
7
+ content?: ReactNode;
8
+ /** Colour hex from settings, rendered as a swatch (e.g. product colours). */
9
+ swatch?: string;
10
+ /** Secondary text on the right of a list row (e.g. a location's type). */
11
+ hint?: string;
12
+ /** Matching-item count shown beside the option. */
13
+ count?: number;
14
+ }
15
+ /** Visual state shared by every filter-row control. `disabled` is the "Not filterable" cell. */
16
+ export type FilterFieldState = 'empty' | 'applied' | 'invalid' | 'disabled';
17
+ /** Inclusive bounds unless the matching `*Exclusive` flag is set (`>1`, `<3`). `min === max` is an exact value. */
18
+ export interface NumberRangeValue {
19
+ min?: number;
20
+ max?: number;
21
+ minExclusive?: boolean;
22
+ maxExclusive?: boolean;
23
+ }
24
+ /** An ordered-scale selection, stored as the two end options' values. */
25
+ export interface ScaleRangeValue {
26
+ from: string;
27
+ to: string;
28
+ }
29
+ export type DatePreset = 'today' | 'last7Days' | 'last30Days' | 'thisMonth' | 'thisFiscalYear';
30
+ /** `from` / `to` are `YYYY-MM-DD`. A preset is resolved to dates when the request is built, so it stays current. */
31
+ export interface DateRangeValue {
32
+ preset?: DatePreset;
33
+ from?: string;
34
+ to?: string;
35
+ }
36
+ export type TriStateValue = 'any' | 'yes' | 'no';
37
+ export type FilterControlType = 'list' | 'scale' | 'number' | 'ids' | 'contains' | 'date' | 'bool';
38
+ export type FilterValue = {
39
+ type: 'list';
40
+ values: string[];
41
+ } | {
42
+ type: 'scale';
43
+ range: ScaleRangeValue;
44
+ } | {
45
+ type: 'number';
46
+ range: NumberRangeValue;
47
+ } | {
48
+ type: 'ids';
49
+ ids: string[];
50
+ } | {
51
+ type: 'contains';
52
+ text: string;
53
+ } | {
54
+ type: 'date';
55
+ range: DateRangeValue;
56
+ } | {
57
+ type: 'bool';
58
+ value: Exclude<TriStateValue, 'any'>;
59
+ };
60
+ export type NumberExpressionParseResult = {
61
+ ok: true;
62
+ range: NumberRangeValue | undefined;
63
+ } | {
64
+ ok: false;
65
+ };
66
+ //# sourceMappingURL=Filters.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.types.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Filters/Filters.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,oHAAoH;IACpH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gGAAgG;AAChG,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5E,mHAAmH;AACnH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,WAAW,GACX,gBAAgB,CAAC;AAErB,oHAAoH;AACpH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,GACL,UAAU,GACV,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { DatePreset, DateRangeValue, FilterFieldState, FilterFieldOption, FilterValue, ScaleRangeValue, NumberExpressionParseResult, NumberRangeValue, TriStateValue } from './Filters.types';
3
+ export declare const NUMBER_EXPRESSION_HELP: ReadonlyArray<{
4
+ rule: string;
5
+ meaning: string;
6
+ }>;
7
+ /** Parses the typed rules in `NUMBER_EXPRESSION_HELP`. Accepts `-`, `–` or `—` for ranges and ignores spaces and thousands commas. */
8
+ export declare function parseNumberExpression(text: string): NumberExpressionParseResult;
9
+ export declare function formatNumberRange(range: NumberRangeValue | undefined): string;
10
+ /** Splits a pasted list — commas, semicolons, spaces and new lines all separate IDs. Keeps first-seen order, drops duplicates. */
11
+ export declare function splitIdList(text: string): string[];
12
+ export declare function getOptionLabel(options: readonly FilterFieldOption[], value: string): string;
13
+ /** Trigger summary for a multi-select: the first selected option (in option order) plus how many more, e.g. `Red +1`. */
14
+ export declare function summarizeSelection(values: readonly string[], options: readonly FilterFieldOption[]): string;
15
+ export declare function formatSelectedCount(selected: number, total: number): string;
16
+ export declare function toggleValue(values: readonly string[], value: string): string[];
17
+ /** Every option between the two ends of the range, inclusive, in scale order. */
18
+ export declare function expandScaleRange(options: readonly FilterFieldOption[], range: ScaleRangeValue): string[];
19
+ /** `Very Good` → `VG`, `Fair` → `F`. */
20
+ export declare function toInitials(label: string): string;
21
+ export declare function formatScaleRange(options: readonly FilterFieldOption[], range: ScaleRangeValue, short?: boolean): string;
22
+ export declare const DATE_PRESET_OPTIONS: ReadonlyArray<{
23
+ value: DatePreset;
24
+ label: string;
25
+ }>;
26
+ export declare function toIsoDate(date: Date): string;
27
+ /** `YYYY-MM-DD` → local date (no timezone shift); empty → undefined. */
28
+ export declare function fromIsoDate(iso: string | undefined): Date | undefined;
29
+ /** `fiscalYearStartMonth` is 1–12 (1 = January, 4 = April). */
30
+ export declare function resolveDatePreset(preset: DatePreset, today: Date, fiscalYearStartMonth?: number): {
31
+ from: string;
32
+ to: string;
33
+ };
34
+ export declare function resolveDateRange(range: DateRangeValue, today: Date, fiscalYearStartMonth?: number): {
35
+ from?: string;
36
+ to?: string;
37
+ };
38
+ export declare function formatDateRange(range: DateRangeValue): string;
39
+ export declare const TRI_STATE_OPTIONS: ReadonlyArray<{
40
+ value: TriStateValue;
41
+ label: string;
42
+ }>;
43
+ export declare function isFilterValueActive(value: FilterValue | undefined): boolean;
44
+ export declare const FILTER_FOCUS_RING = "outline-none focus-visible:ring-2 focus-visible:ring-primary/30";
45
+ /** Text-link actions such as Clear and "Show all". */
46
+ export declare const FILTER_LINK_CLASS_NAME: string;
47
+ /** A fixed column count, or (when omitted) as many columns as fit at `minWidth` each. */
48
+ export declare function getGridColumnsStyle(columns?: number, minWidth?: string): CSSProperties;
49
+ /** Selectable option: a pill chip or a tile, primary-tinted when selected. Unselected ones sit a shade darker than the card so they read against it. */
50
+ export declare function getSelectableOptionClassName(selected: boolean, className?: string): string;
51
+ /** Shared look of every filter-row control (trigger buttons and inline inputs). */
52
+ export declare function getFilterFieldClassName(state: FilterFieldState, className?: string): string;
53
+ //# sourceMappingURL=Filters.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Filters/Filters.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,gBAAgB,EAChB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAOzB,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAOA,CAAC;AAEF,sIAAsI;AACtI,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GACX,2BAA2B,CA+B7B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAS7E;AAED,kIAAkI;AAClI,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CASlD;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,yHAAyH;AACzH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,SAAS,iBAAiB,EAAE,GACpC,MAAM,CAKR;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAIV;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,eAAe,GACrB,MAAM,EAAE,CAOV;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,eAAe,EACtB,KAAK,UAAQ,GACZ,MAAM,CAWR;AAED,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAC9C,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAMA,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAI5C;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAIrE;AAUD,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,IAAI,EACX,oBAAoB,SAAI,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAuB9B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,IAAI,EACX,oBAAoB,SAAI,GACvB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAIhC;AAWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAW7D;AAED,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAIA,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAiB3E;AAED,eAAO,MAAM,iBAAiB,oEACqC,CAAC;AAEpE,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,yFAAyF;AACzF,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,SAAS,GAChB,aAAa,CAMf;AAED,wJAAwJ;AACxJ,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CASR;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAaR"}
@@ -0,0 +1,2 @@
1
+ export declare const getClearIdsLabel: (ariaLabel: string) => string;
2
+ //# sourceMappingURL=IdListInput.accessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdListInput.accessibility.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/IdListInput/IdListInput.accessibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,KAAG,MAC/B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { IdListInputProps } from './IdListInput.types';
3
+ export type { IdListInputProps } from './IdListInput.types';
4
+ /** Paste-a-list body: a textarea split into IDs on commas, spaces and new lines, with the parsed IDs as chips. */
5
+ export declare function IdListInput({ value, onChange, ariaLabel, placeholder, helperText, showSummary, }: IdListInputProps): ReactElement;
6
+ //# sourceMappingURL=IdListInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdListInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/IdListInput/IdListInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAmC,EACnC,WAAkB,GACnB,EAAE,gBAAgB,GAAG,YAAY,CAgDjC"}
@@ -0,0 +1,10 @@
1
+ import type { ChangeEvent } from 'react';
2
+ export interface UseIdListInputResult {
3
+ draft: string;
4
+ parsedIds: string[];
5
+ handleChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;
6
+ handleBlur: () => void;
7
+ clear: () => void;
8
+ }
9
+ export declare function useIdListInput(value: string[], onChange: (ids: string[]) => void): UseIdListInputResult;
10
+ //# sourceMappingURL=IdListInput.hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdListInput.hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/IdListInput/IdListInput.hooks.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAOzC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAChE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,GAChC,oBAAoB,CAgCtB"}
@@ -0,0 +1,10 @@
1
+ export interface IdListInputProps {
2
+ value: string[];
3
+ onChange: (ids: string[]) => void;
4
+ ariaLabel: string;
5
+ placeholder?: string;
6
+ helperText?: string;
7
+ /** Parsed ID chips with an "{n} IDs · Clear" row. */
8
+ showSummary?: boolean;
9
+ }
10
+ //# sourceMappingURL=IdListInput.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdListInput.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/IdListInput/IdListInput.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_ID_HELPER_TEXT = "Paste from Excel or an email. Commas, spaces and new lines all split IDs.";
2
+ export declare function toIdsKey(ids: readonly string[]): string;
3
+ export declare function formatIdCount(count: number): string;
4
+ //# sourceMappingURL=IdListInput.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdListInput.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/IdListInput/IdListInput.utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,8EAC0C,CAAC;AAE9E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,3 @@
1
+ export { IdListInput } from './IdListInput';
2
+ export type { IdListInputProps } from './IdListInput';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/IdListInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const NUMBER_HELP_HEADING = "Type a value or a rule";
2
+ export declare const NUMBER_HELP_SUBTITLE = "Click a rule to use it.";
3
+ export declare const getNumberErrorId: (baseId: string) => string;
4
+ export declare const getUseRuleLabel: (rule: string, meaning: string) => string;
5
+ //# sourceMappingURL=NumberExpressionFilter.accessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberExpressionFilter.accessibility.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.accessibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAE9D,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAA2B,CAAC;AAE9E,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MACrC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { NumberExpressionFilterProps } from './NumberExpressionFilter.types';
3
+ export type { NumberExpressionFilterProps } from './NumberExpressionFilter.types';
4
+ /** Filter-row number cell: type a value or a rule (`>1`, `1–3`, `1.52`). Invalid text never reaches the table. */
5
+ export declare function NumberExpressionFilter({ value, onChange, ariaLabel, placeholder, note, className, }: NumberExpressionFilterProps): ReactElement;
6
+ //# sourceMappingURL=NumberExpressionFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberExpressionFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAe1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAOlF,YAAY,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAElF,kHAAkH;AAClH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,IAAI,EACJ,SAAS,GACV,EAAE,2BAA2B,GAAG,YAAY,CAuF5C"}
@@ -0,0 +1,16 @@
1
+ import type { ChangeEvent, KeyboardEvent } from 'react';
2
+ import type { FilterFieldState, NumberRangeValue } from '../Filters.types';
3
+ export interface UseNumberExpressionFilterResult {
4
+ draft: string;
5
+ state: FilterFieldState;
6
+ helpOpen: boolean;
7
+ errorId: string;
8
+ handleChange: (event: ChangeEvent<HTMLInputElement>) => void;
9
+ handleKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;
10
+ handleFocus: () => void;
11
+ handleBlur: () => void;
12
+ /** Puts a help rule (e.g. `>1`) in the field and applies it. */
13
+ applyRule: (rule: string) => void;
14
+ }
15
+ export declare function useNumberExpressionFilter(value: NumberRangeValue | undefined, onChange: (range: NumberRangeValue | undefined) => void): UseNumberExpressionFilterResult;
16
+ //# sourceMappingURL=NumberExpressionFilter.hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberExpressionFilter.hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.hooks.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAO3E,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gEAAgE;IAChE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,GACtD,+BAA+B,CAoDjC"}
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { NumberRangeValue } from '../Filters.types';
3
+ export interface NumberExpressionFilterProps {
4
+ value?: NumberRangeValue;
5
+ /** Called only with valid parses, or `undefined` when the field is emptied. */
6
+ onChange: (range: NumberRangeValue | undefined) => void;
7
+ ariaLabel: string;
8
+ /** Example rule shown while empty, e.g. `>2000`. */
9
+ placeholder?: string;
10
+ /** Extra info in the help popover, e.g. how stored ranges are matched. */
11
+ note?: ReactNode;
12
+ className?: string;
13
+ }
14
+ //# sourceMappingURL=NumberExpressionFilter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberExpressionFilter.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,8 @@
1
+ import type { FilterFieldState, NumberExpressionParseResult } from '../Filters.types';
2
+ export declare function getNumberFieldState(parsed: NumberExpressionParseResult): FilterFieldState;
3
+ export declare function getNumberInputClassName(state: FilterFieldState, className?: string): string;
4
+ /** Cheat-sheet row: the whole row is the click target, highlighted on hover. */
5
+ export declare const RULE_BUTTON_CLASS_NAME: string;
6
+ /** Key-cap chip for the rule, fixed width so every meaning lines up. */
7
+ export declare const RULE_CHIP_CLASS_NAME = "inline-flex h-6 min-w-12 shrink-0 items-center justify-center rounded border border-border bg-background px-1.5 font-mono text-xs font-semibold text-foreground shadow-xs";
8
+ //# sourceMappingURL=NumberExpressionFilter.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberExpressionFilter.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberExpressionFilter/NumberExpressionFilter.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,2BAA2B,GAClC,gBAAgB,CAGlB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,8KAC4I,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { NumberExpressionFilter } from './NumberExpressionFilter';
2
+ export type { NumberExpressionFilterProps } from './NumberExpressionFilter';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberExpressionFilter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const REVERSED_RANGE_MESSAGE = "From must not be more than To.";
2
+ export declare const getBoundLabel: (ariaLabel: string, bound: "from" | "to") => string;
3
+ //# sourceMappingURL=NumberRangeInputs.accessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberRangeInputs.accessibility.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.accessibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,mCAAmC,CAAC;AAEvE,eAAO,MAAM,aAAa,GACxB,WAAW,MAAM,EACjB,OAAO,MAAM,GAAG,IAAI,KACnB,MAAiC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { NumberRangeInputsProps } from './NumberRangeInputs.types';
3
+ export type { NumberRangeInputsProps, NumberRangePreset, } from './NumberRangeInputs.types';
4
+ /** From – To number inputs for full-page filter cards, with optional quick-pick presets. */
5
+ export declare function NumberRangeInputs({ value, onChange, ariaLabel, fromPlaceholder, toPlaceholder, presets, presetsLabel, }: NumberRangeInputsProps): ReactElement;
6
+ //# sourceMappingURL=NumberRangeInputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberRangeInputs.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMxE,YAAY,EACV,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,eAAwB,EACxB,aAAoB,EACpB,OAAO,EACP,YAAY,GACb,EAAE,sBAAsB,GAAG,YAAY,CA+DvC"}
@@ -0,0 +1,15 @@
1
+ import type { ChangeEvent } from 'react';
2
+ import type { NumberRangeValue } from '../Filters.types';
3
+ import type { NumberRangePreset } from './NumberRangeInputs.types';
4
+ export interface UseNumberRangeInputsResult {
5
+ fromDraft: string;
6
+ toDraft: string;
7
+ /** The typed From is above the typed To; nothing is applied until it's fixed. */
8
+ reversed: boolean;
9
+ handleFromChange: (event: ChangeEvent<HTMLInputElement>) => void;
10
+ handleToChange: (event: ChangeEvent<HTMLInputElement>) => void;
11
+ isPresetSelected: (preset: NumberRangePreset) => boolean;
12
+ togglePreset: (preset: NumberRangePreset) => void;
13
+ }
14
+ export declare function useNumberRangeInputs(value: NumberRangeValue | undefined, onChange: (range: NumberRangeValue | undefined) => void): UseNumberRangeInputsResult;
15
+ //# sourceMappingURL=NumberRangeInputs.hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberRangeInputs.hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAUnE,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC;IACzD,YAAY,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,GACtD,0BAA0B,CA8B5B"}
@@ -0,0 +1,17 @@
1
+ import type { NumberRangeValue } from '../Filters.types';
2
+ export interface NumberRangePreset {
3
+ label: string;
4
+ range: NumberRangeValue;
5
+ }
6
+ export interface NumberRangeInputsProps {
7
+ value?: NumberRangeValue;
8
+ onChange: (range: NumberRangeValue | undefined) => void;
9
+ /** Inputs are labelled `${ariaLabel} from` and `${ariaLabel} to`. */
10
+ ariaLabel: string;
11
+ fromPlaceholder?: string;
12
+ toPlaceholder?: string;
13
+ /** Quick-pick ranges under the inputs, e.g. "Common sizes". */
14
+ presets?: NumberRangePreset[];
15
+ presetsLabel?: string;
16
+ }
17
+ //# sourceMappingURL=NumberRangeInputs.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberRangeInputs.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,12 @@
1
+ import type { NumberRangeValue } from '../Filters.types';
2
+ /** Allows partial decimals (`1.`) while typing; rejects anything else. */
3
+ export declare function isDecimalDraft(text: string): boolean;
4
+ export declare function toBound(text: string): number | undefined;
5
+ export declare function toBoundText(bound: number | undefined): string;
6
+ /** Replaces one bound with a typed (inclusive) number, keeping the other bound and its `>` / `<`. */
7
+ export declare function withBound(range: NumberRangeValue | undefined, bound: 'min' | 'max', next: number | undefined): NumberRangeValue | undefined;
8
+ export declare function isReversedRange(min: number | undefined, max: number | undefined): boolean;
9
+ export declare function isSameRange(a: NumberRangeValue | undefined, b: NumberRangeValue): boolean;
10
+ export declare function getBoundInputClassName(filled: boolean): string;
11
+ export declare function getPresetClassName(selected: boolean): string;
12
+ //# sourceMappingURL=NumberRangeInputs.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberRangeInputs.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberRangeInputs/NumberRangeInputs.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7D;AAED,qGAAqG;AACrG,wBAAgB,SAAS,CACvB,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,KAAK,EAAE,KAAK,GAAG,KAAK,EACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,gBAAgB,GAAG,SAAS,CAQ9B;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAET;AAED,wBAAgB,WAAW,CACzB,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAC/B,CAAC,EAAE,gBAAgB,GAClB,OAAO,CAET;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAK9D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAK5D"}
@@ -0,0 +1,3 @@
1
+ export { NumberRangeInputs } from './NumberRangeInputs';
2
+ export type { NumberRangeInputsProps, NumberRangePreset, } from './NumberRangeInputs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/NumberRangeInputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getSearchInputLabel: (ariaLabel: string) => string;
2
+ //# sourceMappingURL=PickListFilter.accessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickListFilter.accessibility.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/PickListFilter/PickListFilter.accessibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,KAAG,MACjC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { PickListFilterProps } from './PickListFilter.types';
3
+ export type { PickListFilterProps, PickListLayout, } from './PickListFilter.types';
4
+ /** Multi-select filter: a searchable checkbox list, or pill / tile toggles. Long sets scroll within a max height. */
5
+ export declare function PickListFilter({ options, value, onChange, ariaLabel, layout, searchPlaceholder, alwaysSearchable, columns, fill, listClassName, }: PickListFilterProps): ReactElement;
6
+ //# sourceMappingURL=PickListFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickListFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/PickListFilter/PickListFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA0B1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,YAAY,EACV,mBAAmB,EACnB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAsBhC,qHAAqH;AACrH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAe,EACf,iBAAiB,EACjB,gBAAwB,EACxB,OAAW,EACX,IAAY,EACZ,aAAa,GACd,EAAE,mBAAmB,GAAG,YAAY,CAuJpC"}
@@ -0,0 +1,3 @@
1
+ import type { UsePickListFilterArgs, UsePickListFilterResult } from './PickListFilter.types';
2
+ export declare function usePickListFilter({ options, value, layout, }: UsePickListFilterArgs): UsePickListFilterResult;
3
+ //# sourceMappingURL=PickListFilter.hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickListFilter.hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/PickListFilter/PickListFilter.hooks.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,KAAK,EACL,MAAM,GACP,EAAE,qBAAqB,GAAG,uBAAuB,CAcjD"}
@@ -0,0 +1,32 @@
1
+ import type { FilterFieldOption } from '../Filters.types';
2
+ /** `list` — searchable checkbox list. `chips` / `tiles` — pill or tile toggles. All scroll within a max height. */
3
+ export type PickListLayout = 'list' | 'chips' | 'tiles';
4
+ export interface PickListFilterProps {
5
+ options: FilterFieldOption[];
6
+ value: string[];
7
+ onChange: (values: string[]) => void;
8
+ ariaLabel: string;
9
+ layout?: PickListLayout;
10
+ /** List layout only: shows a search box filtering options by label. */
11
+ searchPlaceholder?: string;
12
+ /** Show the search box even for a short list (it otherwise appears from `SEARCH_MIN_OPTIONS`). */
13
+ alwaysSearchable?: boolean;
14
+ /** Tiles only: grid columns. */
15
+ columns?: number;
16
+ /** Extra classes on the scrolling option list, e.g. a different max height. */
17
+ listClassName?: string;
18
+ /** Grow into the free height of a stretched card instead of stopping at the usual max height. */
19
+ fill?: boolean;
20
+ }
21
+ export interface UsePickListFilterArgs {
22
+ options: FilterFieldOption[];
23
+ value: string[];
24
+ layout: PickListLayout;
25
+ }
26
+ export interface UsePickListFilterResult {
27
+ query: string;
28
+ setQuery: (query: string) => void;
29
+ visibleOptions: FilterFieldOption[];
30
+ selectedCount: number;
31
+ }
32
+ //# sourceMappingURL=PickListFilter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickListFilter.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/PickListFilter/PickListFilter.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,mHAAmH;AACnH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,19 @@
1
+ import type { FilterFieldOption } from '../Filters.types';
2
+ export declare function filterOptionsByQuery(options: readonly FilterFieldOption[], query: string): FilterFieldOption[];
3
+ export declare function getChipClassName(selected: boolean): string;
4
+ export declare function getTileClassName(selected: boolean): string;
5
+ /** The list's search box only appears once there are enough options to need it. */
6
+ export declare const SEARCH_MIN_OPTIONS = 9;
7
+ /** Long option sets scroll inside the card or popover instead of growing it. */
8
+ export declare const OPTIONS_SCROLL_CLASS_NAME = "max-h-48 overflow-y-auto";
9
+ /** Fills a stretched card: at least the usual height, growing into any space the row gives it (never driving the row height). */
10
+ export declare const OPTIONS_FILL_CLASS_NAME = "min-h-48 flex-1 basis-0 overflow-y-auto";
11
+ export declare const FILL_WRAPPER_CLASS_NAME = "flex min-h-0 flex-1 flex-col";
12
+ /** Card lists flow into as many columns as fit; popover lists stay one column. */
13
+ export declare const LIST_COLUMN_MIN_WIDTH = "10rem";
14
+ export declare const getOptionsScrollClassName: (fill: boolean) => string;
15
+ export declare const LIST_ROW_CLASS_NAME = "flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-sm text-foreground hover:bg-muted/50";
16
+ /** Outlined (not filled) box until checked; the border is dark enough to read on white. */
17
+ export declare const LIST_CHECKBOX_CLASS_NAME = "size-4.5 border-muted-foreground/50 bg-card dark:border-muted-foreground/60 dark:bg-transparent";
18
+ export declare const SEARCH_BOX_CLASS_NAME = "flex h-9 items-center gap-2 rounded-lg border border-input bg-card px-3 focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/30";
19
+ //# sourceMappingURL=PickListFilter.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickListFilter.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/PickListFilter/PickListFilter.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,MAAM,GACZ,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAK1D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAK1D;AAED,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AAEpE,iIAAiI;AACjI,eAAO,MAAM,uBAAuB,4CACO,CAAC;AAC5C,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAEtE,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,eAAO,MAAM,yBAAyB,GAAI,MAAM,OAAO,KAAG,MACE,CAAC;AAE7D,eAAO,MAAM,mBAAmB,iHACgF,CAAC;AAEjH,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,oGAC8D,CAAC;AAEpG,eAAO,MAAM,qBAAqB,yJACsH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PickListFilter } from './PickListFilter';
2
+ export type { PickListFilterProps, PickListLayout } from './PickListFilter';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/PickListFilter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ScaleRangeFilterProps } from './ScaleRangeFilter.types';
3
+ export type { ScaleRangeFilterProps, ScalePosition, } from './ScaleRangeFilter.types';
4
+ /** Ordered-scale filter: click a start option, then an end option. */
5
+ export declare function ScaleRangeFilter({ options, value, onChange, ariaLabel, columns, fill, }: ScaleRangeFilterProps): ReactElement;
6
+ //# sourceMappingURL=ScaleRangeFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaleRangeFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Filters/ScaleRangeFilter/ScaleRangeFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,YAAY,EACV,qBAAqB,EACrB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAElC,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,IAAY,GACb,EAAE,qBAAqB,GAAG,YAAY,CA2BtC"}
@@ -0,0 +1,4 @@
1
+ import type { UseScaleRangeFilterArgs, UseScaleRangeFilterResult } from './ScaleRangeFilter.types';
2
+ /** First click picks the start option, the next click the end option; a click after that starts over. */
3
+ export declare function useScaleRangeFilter({ value, onChange, }: UseScaleRangeFilterArgs): UseScaleRangeFilterResult;
4
+ //# sourceMappingURL=ScaleRangeFilter.hooks.d.ts.map