@drivenets/design-system 0.2.0 → 0.3.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 (278) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
  3. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
  5. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  6. package/dist/components/ds-button/ds-button.d.cts +2 -2
  7. package/dist/components/ds-button/ds-button.d.ts +2 -2
  8. package/dist/components/ds-button/ds-button.d.ts.map +1 -1
  9. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +23 -24
  10. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +23 -24
  11. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  12. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +24 -25
  13. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +24 -25
  14. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  15. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.cjs +1 -0
  16. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js +1 -0
  17. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  18. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  19. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  20. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  21. package/dist/components/ds-date-input/ds-date-input.d.cts.map +1 -1
  22. package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
  23. package/dist/components/ds-date-input/ds-date-input.module.cjs +22 -22
  24. package/dist/components/ds-date-input/ds-date-input.module.js +22 -22
  25. package/dist/components/ds-date-input/ds-date-input.module.js.map +1 -1
  26. package/dist/components/ds-date-input/ds-date-input.utils.cjs +9 -2
  27. package/dist/components/ds-date-input/ds-date-input.utils.js +9 -2
  28. package/dist/components/ds-date-input/ds-date-input.utils.js.map +1 -1
  29. package/dist/components/ds-drawer/ds-drawer.cjs +3 -3
  30. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  31. package/dist/components/ds-drawer/ds-drawer.d.cts.map +1 -1
  32. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  33. package/dist/components/ds-drawer/ds-drawer.d.ts.map +1 -1
  34. package/dist/components/ds-drawer/ds-drawer.js +3 -3
  35. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  36. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts +1 -1
  37. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts.map +1 -1
  38. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts +1 -1
  39. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts.map +1 -1
  40. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  41. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  42. package/dist/components/ds-file-upload/utils/format-file-size.cjs +1 -1
  43. package/dist/components/ds-file-upload/utils/format-file-size.js +1 -1
  44. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  45. package/dist/components/ds-form-control/ds-form-control.cjs +2 -5
  46. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  47. package/dist/components/ds-form-control/ds-form-control.js +2 -5
  48. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  49. package/dist/components/ds-loader/ds-loader.cjs +60 -0
  50. package/dist/components/ds-loader/ds-loader.d.cts +15 -0
  51. package/dist/components/ds-loader/ds-loader.d.cts.map +1 -0
  52. package/dist/components/ds-loader/ds-loader.d.ts +15 -0
  53. package/dist/components/ds-loader/ds-loader.d.ts.map +1 -0
  54. package/dist/components/ds-loader/ds-loader.js +59 -0
  55. package/dist/components/ds-loader/ds-loader.js.map +1 -0
  56. package/dist/components/ds-loader/ds-loader.module.cjs +15 -0
  57. package/dist/components/ds-loader/ds-loader.module.js +15 -0
  58. package/dist/components/ds-loader/ds-loader.module.js.map +1 -0
  59. package/dist/components/ds-loader/ds-loader.types.cjs +6 -0
  60. package/dist/components/ds-loader/ds-loader.types.d.cts +27 -0
  61. package/dist/components/ds-loader/ds-loader.types.d.cts.map +1 -0
  62. package/dist/components/ds-loader/ds-loader.types.d.ts +27 -0
  63. package/dist/components/ds-loader/ds-loader.types.d.ts.map +1 -0
  64. package/dist/components/ds-loader/ds-loader.types.js +6 -0
  65. package/dist/components/ds-loader/ds-loader.types.js.map +1 -0
  66. package/dist/components/ds-loader/index.cjs +2 -0
  67. package/dist/components/ds-loader/index.d.ts +2 -0
  68. package/dist/components/ds-loader/index.js +2 -0
  69. package/dist/components/ds-loader/pulsing-icon.cjs +37 -0
  70. package/dist/components/ds-loader/pulsing-icon.js +37 -0
  71. package/dist/components/ds-loader/pulsing-icon.js.map +1 -0
  72. package/dist/components/ds-loader/spinner-icon.cjs +74 -0
  73. package/dist/components/ds-loader/spinner-icon.js +74 -0
  74. package/dist/components/ds-loader/spinner-icon.js.map +1 -0
  75. package/dist/components/ds-modal/ds-modal.cjs +2 -2
  76. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  77. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  78. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  79. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  80. package/dist/components/ds-modal/ds-modal.js +2 -2
  81. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  82. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  83. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  84. package/dist/components/ds-select/ds-select.cjs +1 -1
  85. package/dist/components/ds-select/ds-select.d.cts +2 -2
  86. package/dist/components/ds-select/ds-select.d.ts +2 -2
  87. package/dist/components/ds-select/ds-select.js +1 -1
  88. package/dist/components/ds-select/ds-select.js.map +1 -1
  89. package/dist/components/ds-skeleton/ds-skeleton-circle.cjs +59 -0
  90. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +18 -0
  91. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts.map +1 -0
  92. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts +18 -0
  93. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts.map +1 -0
  94. package/dist/components/ds-skeleton/ds-skeleton-circle.js +58 -0
  95. package/dist/components/ds-skeleton/ds-skeleton-circle.js.map +1 -0
  96. package/dist/components/ds-skeleton/ds-skeleton-rect.cjs +61 -0
  97. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +18 -0
  98. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts.map +1 -0
  99. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts +18 -0
  100. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts.map +1 -0
  101. package/dist/components/ds-skeleton/ds-skeleton-rect.js +60 -0
  102. package/dist/components/ds-skeleton/ds-skeleton-rect.js.map +1 -0
  103. package/dist/components/ds-skeleton/ds-skeleton-text.cjs +91 -0
  104. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +21 -0
  105. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts.map +1 -0
  106. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts +21 -0
  107. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts.map +1 -0
  108. package/dist/components/ds-skeleton/ds-skeleton-text.js +90 -0
  109. package/dist/components/ds-skeleton/ds-skeleton-text.js.map +1 -0
  110. package/dist/components/ds-skeleton/ds-skeleton.cjs +13 -0
  111. package/dist/components/ds-skeleton/ds-skeleton.config.cjs +62 -0
  112. package/dist/components/ds-skeleton/ds-skeleton.config.js +59 -0
  113. package/dist/components/ds-skeleton/ds-skeleton.config.js.map +1 -0
  114. package/dist/components/ds-skeleton/ds-skeleton.d.cts +32 -0
  115. package/dist/components/ds-skeleton/ds-skeleton.d.cts.map +1 -0
  116. package/dist/components/ds-skeleton/ds-skeleton.d.ts +32 -0
  117. package/dist/components/ds-skeleton/ds-skeleton.d.ts.map +1 -0
  118. package/dist/components/ds-skeleton/ds-skeleton.js +14 -0
  119. package/dist/components/ds-skeleton/ds-skeleton.js.map +1 -0
  120. package/dist/components/ds-skeleton/ds-skeleton.module.cjs +15 -0
  121. package/dist/components/ds-skeleton/ds-skeleton.module.js +15 -0
  122. package/dist/components/ds-skeleton/ds-skeleton.module.js.map +1 -0
  123. package/dist/components/ds-skeleton/ds-skeleton.types.cjs +8 -0
  124. package/dist/components/ds-skeleton/ds-skeleton.types.d.cts +91 -0
  125. package/dist/components/ds-skeleton/ds-skeleton.types.d.cts.map +1 -0
  126. package/dist/components/ds-skeleton/ds-skeleton.types.d.ts +93 -0
  127. package/dist/components/ds-skeleton/ds-skeleton.types.d.ts.map +1 -0
  128. package/dist/components/ds-skeleton/ds-skeleton.types.js +7 -0
  129. package/dist/components/ds-skeleton/ds-skeleton.types.js.map +1 -0
  130. package/dist/components/ds-skeleton/index.cjs +5 -0
  131. package/dist/components/ds-skeleton/index.d.ts +5 -0
  132. package/dist/components/ds-skeleton/index.js +5 -0
  133. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  134. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  135. package/dist/components/ds-spinner/ds-spinner.cjs +43 -45
  136. package/dist/components/ds-spinner/ds-spinner.js +43 -45
  137. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  138. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  139. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  140. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  141. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  142. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  143. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  144. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  145. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  146. package/dist/components/ds-table/components/core-table/core-table.cjs +82 -185
  147. package/dist/components/ds-table/components/core-table/core-table.js +82 -185
  148. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  149. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +61 -72
  150. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +61 -72
  151. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  152. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +80 -81
  153. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +80 -81
  154. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  155. package/dist/components/ds-table/ds-table.cjs +3 -3
  156. package/dist/components/ds-table/ds-table.d.cts +2 -3
  157. package/dist/components/ds-table/ds-table.d.cts.map +1 -1
  158. package/dist/components/ds-table/ds-table.d.ts +2 -3
  159. package/dist/components/ds-table/ds-table.d.ts.map +1 -1
  160. package/dist/components/ds-table/ds-table.js +3 -3
  161. package/dist/components/ds-table/ds-table.js.map +1 -1
  162. package/dist/components/ds-table/ds-table.types.d.cts +0 -4
  163. package/dist/components/ds-table/ds-table.types.d.cts.map +1 -1
  164. package/dist/components/ds-table/ds-table.types.d.ts +0 -4
  165. package/dist/components/ds-table/ds-table.types.d.ts.map +1 -1
  166. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.cjs +7 -4
  167. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js +7 -4
  168. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js.map +1 -1
  169. package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +94 -87
  170. package/dist/components/ds-table/filters/hooks/use-table-filters.js +94 -87
  171. package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
  172. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.cjs +37 -0
  173. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js +36 -0
  174. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js.map +1 -0
  175. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.cjs +9 -0
  176. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js +9 -0
  177. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js.map +1 -0
  178. package/dist/components/ds-tabs/components/ds-tabs-content/index.cjs +1 -0
  179. package/dist/components/ds-tabs/components/ds-tabs-content/index.js +1 -0
  180. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.cjs +6 -0
  181. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js +6 -0
  182. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js.map +1 -0
  183. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.cjs +41 -0
  184. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js +40 -0
  185. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js.map +1 -0
  186. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.cjs +6 -0
  187. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js +6 -0
  188. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js.map +1 -0
  189. package/dist/components/ds-tabs/components/ds-tabs-list/index.cjs +1 -0
  190. package/dist/components/ds-tabs/components/ds-tabs-list/index.js +1 -0
  191. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.cjs +178 -0
  192. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js +177 -0
  193. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js.map +1 -0
  194. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.cjs +15 -0
  195. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js +15 -0
  196. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js.map +1 -0
  197. package/dist/components/ds-tabs/components/ds-tabs-tab/index.cjs +1 -0
  198. package/dist/components/ds-tabs/components/ds-tabs-tab/index.js +1 -0
  199. package/dist/components/ds-tabs/ds-tabs.cjs +71 -0
  200. package/dist/components/ds-tabs/ds-tabs.d.cts +43 -0
  201. package/dist/components/ds-tabs/ds-tabs.d.cts.map +1 -0
  202. package/dist/components/ds-tabs/ds-tabs.d.ts +43 -0
  203. package/dist/components/ds-tabs/ds-tabs.d.ts.map +1 -0
  204. package/dist/components/ds-tabs/ds-tabs.js +70 -0
  205. package/dist/components/ds-tabs/ds-tabs.js.map +1 -0
  206. package/dist/components/ds-tabs/ds-tabs.module.cjs +6 -0
  207. package/dist/components/ds-tabs/ds-tabs.module.js +6 -0
  208. package/dist/components/ds-tabs/ds-tabs.module.js.map +1 -0
  209. package/dist/components/ds-tabs/ds-tabs.types.d.cts +91 -0
  210. package/dist/components/ds-tabs/ds-tabs.types.d.cts.map +1 -0
  211. package/dist/components/ds-tabs/ds-tabs.types.d.ts +92 -0
  212. package/dist/components/ds-tabs/ds-tabs.types.d.ts.map +1 -0
  213. package/dist/components/ds-tabs/index.cjs +1 -0
  214. package/dist/components/ds-tabs/index.d.ts +2 -0
  215. package/dist/components/ds-tabs/index.js +1 -0
  216. package/dist/components/ds-tag/ds-tag.d.cts +2 -2
  217. package/dist/components/ds-tag/ds-tag.d.ts +2 -2
  218. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +2 -2
  219. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +2 -2
  220. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  221. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  222. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  223. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  224. package/dist/index.cjs +20 -0
  225. package/dist/index.d.cts +12 -3
  226. package/dist/index.d.ts +16 -4
  227. package/dist/index.js +12 -1
  228. package/dist/index.min.css +1 -1
  229. package/package.json +5 -3
  230. package/src/components/ds-button/versions/ds-button-legacy/ds-button-legacy.tsx +1 -7
  231. package/src/components/ds-button/versions/ds-button-new/ds-button-new.tsx +4 -2
  232. package/src/components/ds-chip-group/hooks/use-chip-row-calculation.ts +5 -0
  233. package/src/components/ds-date-input/ds-date-input.module.scss +1 -0
  234. package/src/components/ds-date-input/ds-date-input.utils.ts +16 -2
  235. package/src/components/ds-drawer/ds-drawer.tsx +4 -1
  236. package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.tsx +4 -1
  237. package/src/components/ds-file-upload/utils/format-file-size.ts +1 -1
  238. package/src/components/ds-form-control/ds-form-control.tsx +9 -2
  239. package/src/components/ds-loader/ds-loader.module.scss +57 -0
  240. package/src/components/ds-loader/ds-loader.tsx +18 -0
  241. package/src/components/ds-loader/ds-loader.types.ts +24 -0
  242. package/src/components/ds-loader/index.ts +2 -0
  243. package/src/components/ds-loader/pulsing-icon.tsx +17 -0
  244. package/src/components/ds-loader/spinner-icon.tsx +37 -0
  245. package/src/components/ds-modal/ds-modal.tsx +7 -1
  246. package/src/components/ds-select/ds-select.tsx +1 -1
  247. package/src/components/ds-skeleton/ds-skeleton-circle.tsx +29 -0
  248. package/src/components/ds-skeleton/ds-skeleton-rect.tsx +36 -0
  249. package/src/components/ds-skeleton/ds-skeleton-text.tsx +49 -0
  250. package/src/components/ds-skeleton/ds-skeleton.config.ts +68 -0
  251. package/src/components/ds-skeleton/ds-skeleton.module.scss +72 -0
  252. package/src/components/ds-skeleton/ds-skeleton.tsx +9 -0
  253. package/src/components/ds-skeleton/ds-skeleton.types.ts +92 -0
  254. package/src/components/ds-skeleton/index.ts +5 -0
  255. package/src/components/ds-spinner/ds-spinner.tsx +1 -1
  256. package/src/components/ds-table/components/core-table/core-table.tsx +16 -16
  257. package/src/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.tsx +10 -13
  258. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +0 -2
  259. package/src/components/ds-table/ds-table.tsx +6 -5
  260. package/src/components/ds-table/ds-table.types.ts +0 -5
  261. package/src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx +2 -4
  262. package/src/components/ds-table/filters/hooks/use-table-filters.ts +10 -5
  263. package/src/components/ds-table/utils/story-data-generator.ts +7 -7
  264. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +18 -0
  265. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.tsx +12 -0
  266. package/src/components/ds-tabs/components/ds-tabs-content/index.ts +1 -0
  267. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.scss +31 -0
  268. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss +27 -0
  269. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.tsx +14 -0
  270. package/src/components/ds-tabs/components/ds-tabs-list/index.ts +1 -0
  271. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.scss +242 -0
  272. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.tsx +130 -0
  273. package/src/components/ds-tabs/components/ds-tabs-tab/index.ts +1 -0
  274. package/src/components/ds-tabs/ds-tabs.module.scss +14 -0
  275. package/src/components/ds-tabs/ds-tabs.tsx +46 -0
  276. package/src/components/ds-tabs/ds-tabs.types.ts +97 -0
  277. package/src/components/ds-tabs/index.ts +2 -0
  278. package/src/index.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"create-dual-range-filter-adapter.js","names":["Row","ChipItem","FilterAdapter","RangeFilter","createFilterAdapter","RangeValue","from","to","DualRangeFilterValue","fieldName","DualRangeFilterAdapterConfig","id","label","fields","Record","formatNumber","num","getRowValue","row","TData","createDualRangeFilterAdapter","config","toLocaleString","getValue","initialValue","Object","keys","forEach","key","filterFn","columnId","filterValue","rowValue","fieldKey","range","entries","hasFilter","undefined","fieldValue","matchesFrom","matchesTo","cellRenderer","toChips","value","chips","fieldLabel","fromText","toText","push","metadata","field","fromChip","chip","currentValue","getActiveFiltersCount","count","values","renderFilter","onChange","map","rangeValue"],"sources":["../../../../../src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type { FilterAdapter } from '../types/filter-adapter.types';\nimport { RangeFilter } from '../components/range-filter';\nimport { createFilterAdapter } from './create-filter-adapter';\n\nexport interface RangeValue {\n\tfrom?: number;\n\tto?: number;\n}\n\nexport interface DualRangeFilterValue {\n\t[fieldName: string]: RangeValue;\n}\n\nexport interface DualRangeFilterAdapterConfig<TData> {\n\t/**\n\t * Unique identifier (should match column accessorKey)\n\t */\n\tid: string;\n\n\t/**\n\t * Display label for filter navigation\n\t */\n\tlabel: string;\n\n\t/**\n\t * Field configurations: { fieldKey: displayLabel }\n\t * Example: { running: 'Running', completed: 'Completed' }\n\t */\n\tfields: Record<string, string>;\n\n\t/**\n\t * Optional formatter for chip display\n\t * @default (num) => num.toLocaleString('en-US')\n\t */\n\tformatNumber?: (num: number) => string;\n\n\t/**\n\t * How to extract the value object from a row\n\t * @default (row) => row.getValue(id)\n\t */\n\tgetRowValue?: (row: Row<TData>) => Record<string, number>;\n}\n\n/**\n * Factory function to create a dual-range filter adapter\n * Handles filtering on multiple numeric ranges within a single column\n */\nexport function createDualRangeFilterAdapter<TData>(\n\tconfig: DualRangeFilterAdapterConfig<TData>,\n): FilterAdapter<TData, DualRangeFilterValue, Record<string, number>> {\n\tconst {\n\t\tid,\n\t\tlabel,\n\t\tfields,\n\t\tformatNumber = (num) => num.toLocaleString('en-US'),\n\t\tgetRowValue = (row) => row.getValue(id),\n\t} = config;\n\n\tconst initialValue: DualRangeFilterValue = {};\n\tObject.keys(fields).forEach((key) => {\n\t\tinitialValue[key] = {};\n\t});\n\n\treturn createFilterAdapter<TData, DualRangeFilterValue, Record<string, number>>({\n\t\tid,\n\t\tlabel,\n\t\tinitialValue,\n\n\t\tfilterFn: (row, columnId, filterValue) => {\n\t\t\tconst rowValue = getRowValue(row);\n\n\t\t\t// Check each field's range\n\t\t\tfor (const [fieldKey, range] of Object.entries(filterValue)) {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\n\t\t\t\tif (hasFilter) {\n\t\t\t\t\tconst fieldValue = rowValue[fieldKey];\n\t\t\t\t\tconst matchesFrom = range.from === undefined || fieldValue >= range.from;\n\t\t\t\t\tconst matchesTo = range.to === undefined || fieldValue <= range.to;\n\n\t\t\t\t\tif (!matchesFrom || !matchesTo) {\n\t\t\t\t\t\treturn false; // AND logic: all ranges must match\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tcellRenderer: undefined, // Let the column definition handle rendering\n\n\t\ttoChips: (value) => {\n\t\t\tconst chips: ChipItem[] = [];\n\n\t\t\tObject.entries(value).forEach(([fieldKey, range]) => {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\n\t\t\t\tif (hasFilter) {\n\t\t\t\t\tconst fieldLabel = fields[fieldKey] || fieldKey;\n\t\t\t\t\tconst fromText = range.from !== undefined ? formatNumber(range.from) : '';\n\t\t\t\t\tconst toText = range.to !== undefined ? formatNumber(range.to) : '';\n\n\t\t\t\t\tchips.push({\n\t\t\t\t\t\tid: `${id}_${fieldKey}`,\n\t\t\t\t\t\tlabel: `${fieldLabel}: From ${fromText} to ${toText}`,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tkey: id,\n\t\t\t\t\t\t\tfield: fieldKey,\n\t\t\t\t\t\t\tfrom: range.from,\n\t\t\t\t\t\t\tto: range.to,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn chips;\n\t\t},\n\n\t\tfromChip: (chip, currentValue) => {\n\t\t\tconst fieldKey = chip.metadata?.field as string;\n\t\t\tif (!fieldKey) {\n\t\t\t\treturn currentValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...currentValue,\n\t\t\t\t[fieldKey]: {},\n\t\t\t};\n\t\t},\n\n\t\tgetActiveFiltersCount: (value) => {\n\t\t\tlet count = 0;\n\t\t\tObject.values(value).forEach((range) => {\n\t\t\t\tif (range.from !== undefined || range.to !== undefined) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn count;\n\t\t},\n\n\t\trenderFilter: (value, onChange) => {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t{Object.entries(fields).map(([fieldKey, fieldLabel]) => (\n\t\t\t\t\t\t<RangeFilter\n\t\t\t\t\t\t\tkey={fieldKey}\n\t\t\t\t\t\t\tlabel={fieldLabel}\n\t\t\t\t\t\t\t// This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\t\t\t\t\t\tvalue={value[fieldKey] || {}}\n\t\t\t\t\t\t\tonChange={(rangeValue) =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\t\t[fieldKey]: rangeValue,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClear={() =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\t\t[fieldKey]: {},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t});\n}\n"],"mappings":";;;;;;;;;;AAiDA,SAAgBoB,6BACfC,QACqE;CACrE,MAAM,EACLV,IACAC,OACAC,QACAE,gBAAgBC,QAAQA,IAAIM,eAAe,QAAQ,EACnDL,eAAeC,QAAQA,IAAIK,SAASZ,GAAE,KACnCU;CAEJ,MAAMG,eAAqC,EAAE;AAC7CC,QAAOC,KAAKb,OAAO,CAACc,SAASC,QAAQ;AACpCJ,eAAaI,OAAO,EAAE;GACrB;AAEF,QAAOxB,oBAAyE;EAC/EO;EACAC;EACAY;EAEAK,WAAWX,KAAKY,UAAUC,gBAAgB;GACzC,MAAMC,WAAWf,YAAYC,IAAI;AAGjC,QAAK,MAAM,CAACe,UAAUC,UAAUT,OAAOU,QAAQJ,YAAY,CAG1D,KAFkBG,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,QAE5C;IACd,MAAMC,aAAaN,SAASC;IAC5B,MAAMM,cAAcL,MAAM5B,SAAS+B,UAAaC,cAAcJ,MAAM5B;IACpE,MAAMkC,YAAYN,MAAM3B,OAAO8B,UAAaC,cAAcJ,MAAM3B;AAEhE,QAAI,CAACgC,eAAe,CAACC,UACpB,QAAO;;AAKV,UAAO;;EAGRC,cAAcJ;EAEdK,UAAUC,UAAU;GACnB,MAAMC,QAAoB,EAAE;AAE5BnB,UAAOU,QAAQQ,MAAM,CAAChB,SAAS,CAACM,UAAUC,WAAW;AAGpD,QAFkBA,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,QAE5C;KACd,MAAMQ,aAAahC,OAAOoB,aAAaA;KACvC,MAAMa,WAAWZ,MAAM5B,SAAS+B,SAAYtB,aAAamB,MAAM5B,KAAK,GAAG;KACvE,MAAMyC,SAASb,MAAM3B,OAAO8B,SAAYtB,aAAamB,MAAM3B,GAAG,GAAG;AAEjEqC,WAAMI,KAAK;MACVrC,IAAI,GAAGA,GAAE,GAAIsB;MACbrB,OAAO,GAAGiC,WAAU,SAAUC,SAAQ,MAAOC;MAC7CE,UAAU;OACTrB,KAAKjB;OACLuC,OAAOjB;OACP3B,MAAM4B,MAAM5B;OACZC,IAAI2B,MAAM3B;OACX;MACA,CAAC;;KAEF;AAEF,UAAOqC;;EAGRO,WAAWC,MAAMC,iBAAiB;GACjC,MAAMpB,WAAWmB,KAAKH,UAAUC;AAChC,OAAI,CAACjB,SACJ,QAAOoB;AAGR,UAAO;IACN,GAAGA;KACFpB,WAAW,EAAC;IACb;;EAGFqB,wBAAwBX,UAAU;GACjC,IAAIY,QAAQ;AACZ9B,UAAO+B,OAAOb,MAAM,CAAChB,SAASO,UAAU;AACvC,QAAIA,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,OAC5CkB;KAEA;AACF,UAAOA;;EAGRE,eAAed,OAAOe,aAAa;AAClC,UACC,oBAAC,mBACCjC,OAAOU,QAAQtB,OAAO,CAAC8C,KAAK,CAAC1B,UAAUY,gBACvC,oBAAC;IAEA,OAAOA;IAGP,OAAOF,MAAMV,aAAa,EAAE;IAC5B,WAAW2B,eACVF,SAAS;KACR,GAAGf;MACFV,WAAW2B;KACZ,CACF;IACA,eACCF,SAAS;KACR,GAAGf;MACFV,WAAW,EAAC;KACb,CACF;MAhBKA,SAkBN,CAAC,GACG;;EAGR,CAAC"}
1
+ {"version":3,"file":"create-dual-range-filter-adapter.js","names":["Row","ChipItem","FilterAdapter","RangeFilter","createFilterAdapter","RangeValue","from","to","DualRangeFilterValue","fieldName","DualRangeFilterAdapterConfig","id","label","fields","Record","formatNumber","num","getRowValue","row","TData","createDualRangeFilterAdapter","config","toLocaleString","getValue","initialValue","Object","keys","forEach","key","filterFn","columnId","filterValue","rowValue","fieldKey","range","entries","hasFilter","undefined","fieldValue","matchesFrom","matchesTo","cellRenderer","toChips","value","chips","fieldLabel","fromText","toText","push","metadata","field","fromChip","chip","currentValue","getActiveFiltersCount","count","values","renderFilter","onChange","map","rangeValue"],"sources":["../../../../../src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type { FilterAdapter } from '../types/filter-adapter.types';\nimport { RangeFilter } from '../components/range-filter';\nimport { createFilterAdapter } from './create-filter-adapter';\n\nexport interface RangeValue {\n\tfrom?: number;\n\tto?: number;\n}\n\nexport interface DualRangeFilterValue {\n\t[fieldName: string]: RangeValue;\n}\n\nexport interface DualRangeFilterAdapterConfig<TData> {\n\t/**\n\t * Unique identifier (should match column accessorKey)\n\t */\n\tid: string;\n\n\t/**\n\t * Display label for filter navigation\n\t */\n\tlabel: string;\n\n\t/**\n\t * Field configurations: { fieldKey: displayLabel }\n\t * Example: { running: 'Running', completed: 'Completed' }\n\t */\n\tfields: Record<string, string>;\n\n\t/**\n\t * Optional formatter for chip display\n\t * @default (num) => num.toLocaleString('en-US')\n\t */\n\tformatNumber?: (num: number) => string;\n\n\t/**\n\t * How to extract the value object from a row\n\t * @default (row) => row.getValue(id)\n\t */\n\tgetRowValue?: (row: Row<TData>) => Record<string, number>;\n}\n\n/**\n * Factory function to create a dual-range filter adapter\n * Handles filtering on multiple numeric ranges within a single column\n */\nexport function createDualRangeFilterAdapter<TData>(\n\tconfig: DualRangeFilterAdapterConfig<TData>,\n): FilterAdapter<TData, DualRangeFilterValue, Record<string, number>> {\n\tconst {\n\t\tid,\n\t\tlabel,\n\t\tfields,\n\t\tformatNumber = (num) => num.toLocaleString('en-US'),\n\t\tgetRowValue = (row) => row.getValue(id),\n\t} = config;\n\n\tconst initialValue: DualRangeFilterValue = {};\n\tObject.keys(fields).forEach((key) => {\n\t\tinitialValue[key] = {};\n\t});\n\n\treturn createFilterAdapter<TData, DualRangeFilterValue, Record<string, number>>({\n\t\tid,\n\t\tlabel,\n\t\tinitialValue,\n\n\t\tfilterFn: (row, columnId, filterValue) => {\n\t\t\tconst rowValue = getRowValue(row);\n\n\t\t\t// Check each field's range\n\t\t\tfor (const [fieldKey, range] of Object.entries(filterValue)) {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\t\t\t\tconst fieldValue = rowValue[fieldKey];\n\n\t\t\t\tif (hasFilter && fieldValue !== undefined) {\n\t\t\t\t\tconst matchesFrom = range.from === undefined || fieldValue >= range.from;\n\t\t\t\t\tconst matchesTo = range.to === undefined || fieldValue <= range.to;\n\n\t\t\t\t\tif (!matchesFrom || !matchesTo) {\n\t\t\t\t\t\treturn false; // AND logic: all ranges must match\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tcellRenderer: undefined, // Let the column definition handle rendering\n\n\t\ttoChips: (value) => {\n\t\t\tconst chips: ChipItem[] = [];\n\n\t\t\tObject.entries(value).forEach(([fieldKey, range]) => {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\n\t\t\t\tif (hasFilter) {\n\t\t\t\t\tconst fieldLabel = fields[fieldKey] || fieldKey;\n\t\t\t\t\tconst fromText = range.from !== undefined ? formatNumber(range.from) : '';\n\t\t\t\t\tconst toText = range.to !== undefined ? formatNumber(range.to) : '';\n\n\t\t\t\t\tchips.push({\n\t\t\t\t\t\tid: `${id}_${fieldKey}`,\n\t\t\t\t\t\tlabel: `${fieldLabel}: From ${fromText} to ${toText}`,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tkey: id,\n\t\t\t\t\t\t\tfield: fieldKey,\n\t\t\t\t\t\t\tfrom: range.from,\n\t\t\t\t\t\t\tto: range.to,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn chips;\n\t\t},\n\n\t\tfromChip: (chip, currentValue) => {\n\t\t\tconst fieldKey = chip.metadata?.field as string;\n\t\t\tif (!fieldKey) {\n\t\t\t\treturn currentValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...currentValue,\n\t\t\t\t[fieldKey]: {},\n\t\t\t};\n\t\t},\n\n\t\tgetActiveFiltersCount: (value) => {\n\t\t\tlet count = 0;\n\t\t\tObject.values(value).forEach((range) => {\n\t\t\t\tif (range.from !== undefined || range.to !== undefined) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn count;\n\t\t},\n\n\t\trenderFilter: (value, onChange) => {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t{Object.entries(fields).map(([fieldKey, fieldLabel]) => (\n\t\t\t\t\t\t<RangeFilter\n\t\t\t\t\t\t\tkey={fieldKey}\n\t\t\t\t\t\t\tlabel={fieldLabel}\n\t\t\t\t\t\t\tvalue={value[fieldKey] || {}}\n\t\t\t\t\t\t\tonChange={(rangeValue) =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\t\t[fieldKey]: rangeValue,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClear={() =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\t\t[fieldKey]: {},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t});\n}\n"],"mappings":";;;;;;;;;;AAiDA,SAAgBoB,6BACfC,QACqE;CACrE,MAAM,EACLV,IACAC,OACAC,QACAE,gBAAgBC,QAAQA,IAAIM,eAAe,QAAQ,EACnDL,eAAeC,QAAQA,IAAIK,SAASZ,GAAE,KACnCU;CAEJ,MAAMG,eAAqC,EAAE;AAC7CC,QAAOC,KAAKb,OAAO,CAACc,SAASC,QAAQ;AACpCJ,eAAaI,OAAO,EAAE;GACrB;AAEF,QAAOxB,oBAAyE;EAC/EO;EACAC;EACAY;EAEAK,WAAWX,KAAKY,UAAUC,gBAAgB;GACzC,MAAMC,WAAWf,YAAYC,IAAI;AAGjC,QAAK,MAAM,CAACe,UAAUC,UAAUT,OAAOU,QAAQJ,YAAY,EAAE;IAC5D,MAAMK,YAAYF,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B;IAC3D,MAAMC,aAAaN,SAASC;AAE5B,QAAIG,aAAaE,eAAeD,QAAW;KAC1C,MAAME,cAAcL,MAAM5B,SAAS+B,UAAaC,cAAcJ,MAAM5B;KACpE,MAAMkC,YAAYN,MAAM3B,OAAO8B,UAAaC,cAAcJ,MAAM3B;AAEhE,SAAI,CAACgC,eAAe,CAACC,UACpB,QAAO;;;AAKV,UAAO;;EAGRC,cAAcJ;EAEdK,UAAUC,UAAU;GACnB,MAAMC,QAAoB,EAAE;AAE5BnB,UAAOU,QAAQQ,MAAM,CAAChB,SAAS,CAACM,UAAUC,WAAW;AAGpD,QAFkBA,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,QAE5C;KACd,MAAMQ,aAAahC,OAAOoB,aAAaA;KACvC,MAAMa,WAAWZ,MAAM5B,SAAS+B,SAAYtB,aAAamB,MAAM5B,KAAK,GAAG;KACvE,MAAMyC,SAASb,MAAM3B,OAAO8B,SAAYtB,aAAamB,MAAM3B,GAAG,GAAG;AAEjEqC,WAAMI,KAAK;MACVrC,IAAI,GAAGA,GAAE,GAAIsB;MACbrB,OAAO,GAAGiC,WAAU,SAAUC,SAAQ,MAAOC;MAC7CE,UAAU;OACTrB,KAAKjB;OACLuC,OAAOjB;OACP3B,MAAM4B,MAAM5B;OACZC,IAAI2B,MAAM3B;OACX;MACA,CAAC;;KAEF;AAEF,UAAOqC;;EAGRO,WAAWC,MAAMC,iBAAiB;GACjC,MAAMpB,WAAWmB,KAAKH,UAAUC;AAChC,OAAI,CAACjB,SACJ,QAAOoB;AAGR,UAAO;IACN,GAAGA;KACFpB,WAAW,EAAC;IACb;;EAGFqB,wBAAwBX,UAAU;GACjC,IAAIY,QAAQ;AACZ9B,UAAO+B,OAAOb,MAAM,CAAChB,SAASO,UAAU;AACvC,QAAIA,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,OAC5CkB;KAEA;AACF,UAAOA;;EAGRE,eAAed,OAAOe,aAAa;AAClC,UACC,oBAAC,mBACCjC,OAAOU,QAAQtB,OAAO,CAAC8C,KAAK,CAAC1B,UAAUY,gBACvC,oBAAC;IAEA,OAAOA;IACP,OAAOF,MAAMV,aAAa,EAAE;IAC5B,WAAW2B,eACVF,SAAS;KACR,GAAGf;MACFV,WAAW2B;KACZ,CACF;IACA,eACCF,SAAS;KACR,GAAGf;MACFV,WAAW,EAAC;KACb,CACF;MAdKA,SAgBN,CAAC,GACG;;EAGR,CAAC"}
@@ -12,7 +12,7 @@ let react = require("react");
12
12
  * @returns Complete filter management system
13
13
  */
14
14
  function useTableFilters(filterAdapters, baseColumns) {
15
- const $ = (0, react_compiler_runtime.c)(37);
15
+ const $ = (0, react_compiler_runtime.c)(39);
16
16
  const _filterAdapters = filterAdapters;
17
17
  let initialState;
18
18
  if ($[0] !== _filterAdapters) {
@@ -37,26 +37,33 @@ function useTableFilters(filterAdapters, baseColumns) {
37
37
  } else t1 = $[3];
38
38
  const [filterChips, setFilterChips] = (0, react.useState)(t1);
39
39
  let t2;
40
- if ($[4] !== _filterAdapters || $[5] !== filterState) {
41
- let t3$1;
42
- if ($[7] !== filterState) {
43
- t3$1 = (adapter_0) => ({
40
+ if ($[4] !== filterState) {
41
+ t2 = (adapterId) => filterState[adapterId];
42
+ $[4] = filterState;
43
+ $[5] = t2;
44
+ } else t2 = $[5];
45
+ const getValueByAdapterId = t2;
46
+ let t3;
47
+ if ($[6] !== _filterAdapters || $[7] !== getValueByAdapterId) {
48
+ let t4$1;
49
+ if ($[9] !== getValueByAdapterId) {
50
+ t4$1 = (adapter_0) => ({
44
51
  id: adapter_0.id,
45
52
  label: adapter_0.label,
46
- count: adapter_0.getActiveFiltersCount(filterState[adapter_0.id])
53
+ count: adapter_0.getActiveFiltersCount(getValueByAdapterId(adapter_0.id))
47
54
  });
48
- $[7] = filterState;
49
- $[8] = t3$1;
50
- } else t3$1 = $[8];
51
- t2 = _filterAdapters.map(t3$1);
52
- $[4] = _filterAdapters;
53
- $[5] = filterState;
54
- $[6] = t2;
55
- } else t2 = $[6];
56
- const filterNavItems = t2;
57
- let t3;
58
- if ($[9] !== _filterAdapters || $[10] !== baseColumns) {
59
- t3 = !baseColumns ? [] : baseColumns.map((col) => {
55
+ $[9] = getValueByAdapterId;
56
+ $[10] = t4$1;
57
+ } else t4$1 = $[10];
58
+ t3 = _filterAdapters.map(t4$1);
59
+ $[6] = _filterAdapters;
60
+ $[7] = getValueByAdapterId;
61
+ $[8] = t3;
62
+ } else t3 = $[8];
63
+ const filterNavItems = t3;
64
+ let t4;
65
+ if ($[11] !== _filterAdapters || $[12] !== baseColumns) {
66
+ t4 = !baseColumns ? [] : baseColumns.map((col) => {
60
67
  const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
61
68
  if (adapter_1) {
62
69
  const cellRenderer = adapter_1.cellRenderer;
@@ -68,29 +75,29 @@ function useTableFilters(filterAdapters, baseColumns) {
68
75
  }
69
76
  return col;
70
77
  });
71
- $[9] = _filterAdapters;
72
- $[10] = baseColumns;
73
- $[11] = t3;
74
- } else t3 = $[11];
75
- const enhancedColumns = t3;
76
- let t4;
77
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
78
- t4 = (filterId, value) => {
78
+ $[11] = _filterAdapters;
79
+ $[12] = baseColumns;
80
+ $[13] = t4;
81
+ } else t4 = $[13];
82
+ const enhancedColumns = t4;
83
+ let t5;
84
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
85
+ t5 = (filterId, value) => {
79
86
  setFilterState((prev) => ({
80
87
  ...prev,
81
88
  [filterId]: value
82
89
  }));
83
90
  };
84
- $[12] = t4;
85
- } else t4 = $[12];
86
- const updateFilter = t4;
87
- let t5;
88
- if ($[13] !== _filterAdapters || $[14] !== filterState) {
89
- t5 = () => {
91
+ $[14] = t5;
92
+ } else t5 = $[14];
93
+ const updateFilter = t5;
94
+ let t6;
95
+ if ($[15] !== _filterAdapters || $[16] !== getValueByAdapterId) {
96
+ t6 = () => {
90
97
  const filters = [];
91
98
  const chips = [];
92
99
  _filterAdapters.forEach((adapter_2) => {
93
- const value_0 = filterState[adapter_2.id];
100
+ const value_0 = getValueByAdapterId(adapter_2.id);
94
101
  if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
95
102
  id: adapter_2.id,
96
103
  value: value_0
@@ -101,14 +108,14 @@ function useTableFilters(filterAdapters, baseColumns) {
101
108
  setColumnFilters(filters);
102
109
  setFilterChips(chips);
103
110
  };
104
- $[13] = _filterAdapters;
105
- $[14] = filterState;
106
- $[15] = t5;
107
- } else t5 = $[15];
108
- const applyFilters = t5;
109
- let t6;
110
- if ($[16] !== _filterAdapters) {
111
- t6 = () => {
111
+ $[15] = _filterAdapters;
112
+ $[16] = getValueByAdapterId;
113
+ $[17] = t6;
114
+ } else t6 = $[17];
115
+ const applyFilters = t6;
116
+ let t7;
117
+ if ($[18] !== _filterAdapters) {
118
+ t7 = () => {
112
119
  const resetState = {};
113
120
  _filterAdapters.forEach((adapter_3) => {
114
121
  resetState[adapter_3.id] = adapter_3.reset();
@@ -117,22 +124,22 @@ function useTableFilters(filterAdapters, baseColumns) {
117
124
  setColumnFilters([]);
118
125
  setFilterChips([]);
119
126
  };
120
- $[16] = _filterAdapters;
121
- $[17] = t6;
122
- } else t6 = $[17];
123
- const clearAll = t6;
124
- let t7;
125
- if ($[18] !== _filterAdapters || $[19] !== clearAll || $[20] !== filterState) {
126
- t7 = (chip) => {
127
+ $[18] = _filterAdapters;
128
+ $[19] = t7;
129
+ } else t7 = $[19];
130
+ const clearAll = t7;
131
+ let t8;
132
+ if ($[20] !== _filterAdapters || $[21] !== clearAll || $[22] !== getValueByAdapterId) {
133
+ t8 = (chip) => {
127
134
  const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
128
135
  if (!filterKey) return;
129
136
  const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
130
137
  if (!adapter_4) return;
131
- const currentValue = filterState[filterKey];
138
+ const currentValue = getValueByAdapterId(filterKey);
132
139
  const newValue = adapter_4.fromChip(chip, currentValue);
133
140
  const chips_0 = [];
134
141
  _filterAdapters.forEach((adapter_5) => {
135
- const value_1 = adapter_5.id === filterKey ? newValue : filterState[adapter_5.id];
142
+ const value_1 = adapter_5.id === filterKey ? newValue : getValueByAdapterId(adapter_5.id);
136
143
  const adapterChips_0 = adapter_5.toChips(value_1);
137
144
  chips_0.push(...adapterChips_0);
138
145
  });
@@ -151,60 +158,60 @@ function useTableFilters(filterAdapters, baseColumns) {
151
158
  } : cf_0));
152
159
  setFilterChips(chips_0);
153
160
  };
154
- $[18] = _filterAdapters;
155
- $[19] = clearAll;
156
- $[20] = filterState;
157
- $[21] = t7;
158
- } else t7 = $[21];
159
- const deleteChip = t7;
160
- let t8;
161
- if ($[22] !== _filterAdapters || $[23] !== filterState) {
162
- t8 = (selectedFilter) => {
161
+ $[20] = _filterAdapters;
162
+ $[21] = clearAll;
163
+ $[22] = getValueByAdapterId;
164
+ $[23] = t8;
165
+ } else t8 = $[23];
166
+ const deleteChip = t8;
167
+ let t9;
168
+ if ($[24] !== _filterAdapters || $[25] !== getValueByAdapterId) {
169
+ t9 = (selectedFilter) => {
163
170
  const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
164
171
  if (!adapter_6) return null;
165
- const value_2 = filterState[adapter_6.id];
172
+ const value_2 = getValueByAdapterId(adapter_6.id);
166
173
  const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
167
174
  return adapter_6.renderFilter(value_2, onChange);
168
175
  };
169
- $[22] = _filterAdapters;
170
- $[23] = filterState;
171
- $[24] = t8;
172
- } else t8 = $[24];
173
- const renderFilterContent = t8;
174
- let t9;
175
- if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip) {
176
- t9 = {
176
+ $[24] = _filterAdapters;
177
+ $[25] = getValueByAdapterId;
178
+ $[26] = t9;
179
+ } else t9 = $[26];
180
+ const renderFilterContent = t9;
181
+ let t10;
182
+ if ($[27] !== applyFilters || $[28] !== clearAll || $[29] !== deleteChip) {
183
+ t10 = {
177
184
  updateFilter,
178
185
  applyFilters,
179
186
  clearAll,
180
187
  deleteChip
181
188
  };
182
- $[25] = applyFilters;
183
- $[26] = clearAll;
184
- $[27] = deleteChip;
185
- $[28] = t9;
186
- } else t9 = $[28];
187
- let t10;
188
- if ($[29] !== columnFilters || $[30] !== enhancedColumns || $[31] !== filterChips || $[32] !== filterNavItems || $[33] !== filterState || $[34] !== renderFilterContent || $[35] !== t9) {
189
- t10 = {
189
+ $[27] = applyFilters;
190
+ $[28] = clearAll;
191
+ $[29] = deleteChip;
192
+ $[30] = t10;
193
+ } else t10 = $[30];
194
+ let t11;
195
+ if ($[31] !== columnFilters || $[32] !== enhancedColumns || $[33] !== filterChips || $[34] !== filterNavItems || $[35] !== filterState || $[36] !== renderFilterContent || $[37] !== t10) {
196
+ t11 = {
190
197
  filterState,
191
198
  columnFilters,
192
199
  filterChips,
193
200
  filterNavItems,
194
201
  enhancedColumns,
195
- handlers: t9,
202
+ handlers: t10,
196
203
  renderFilterContent
197
204
  };
198
- $[29] = columnFilters;
199
- $[30] = enhancedColumns;
200
- $[31] = filterChips;
201
- $[32] = filterNavItems;
202
- $[33] = filterState;
203
- $[34] = renderFilterContent;
204
- $[35] = t9;
205
- $[36] = t10;
206
- } else t10 = $[36];
207
- return t10;
205
+ $[31] = columnFilters;
206
+ $[32] = enhancedColumns;
207
+ $[33] = filterChips;
208
+ $[34] = filterNavItems;
209
+ $[35] = filterState;
210
+ $[36] = renderFilterContent;
211
+ $[37] = t10;
212
+ $[38] = t11;
213
+ } else t11 = $[38];
214
+ return t11;
208
215
  }
209
216
 
210
217
  //#endregion
@@ -11,7 +11,7 @@ import { useState } from "react";
11
11
  * @returns Complete filter management system
12
12
  */
13
13
  function useTableFilters(filterAdapters, baseColumns) {
14
- const $ = c(37);
14
+ const $ = c(39);
15
15
  const _filterAdapters = filterAdapters;
16
16
  let initialState;
17
17
  if ($[0] !== _filterAdapters) {
@@ -36,26 +36,33 @@ function useTableFilters(filterAdapters, baseColumns) {
36
36
  } else t1 = $[3];
37
37
  const [filterChips, setFilterChips] = useState(t1);
38
38
  let t2;
39
- if ($[4] !== _filterAdapters || $[5] !== filterState) {
40
- let t3$1;
41
- if ($[7] !== filterState) {
42
- t3$1 = (adapter_0) => ({
39
+ if ($[4] !== filterState) {
40
+ t2 = (adapterId) => filterState[adapterId];
41
+ $[4] = filterState;
42
+ $[5] = t2;
43
+ } else t2 = $[5];
44
+ const getValueByAdapterId = t2;
45
+ let t3;
46
+ if ($[6] !== _filterAdapters || $[7] !== getValueByAdapterId) {
47
+ let t4$1;
48
+ if ($[9] !== getValueByAdapterId) {
49
+ t4$1 = (adapter_0) => ({
43
50
  id: adapter_0.id,
44
51
  label: adapter_0.label,
45
- count: adapter_0.getActiveFiltersCount(filterState[adapter_0.id])
52
+ count: adapter_0.getActiveFiltersCount(getValueByAdapterId(adapter_0.id))
46
53
  });
47
- $[7] = filterState;
48
- $[8] = t3$1;
49
- } else t3$1 = $[8];
50
- t2 = _filterAdapters.map(t3$1);
51
- $[4] = _filterAdapters;
52
- $[5] = filterState;
53
- $[6] = t2;
54
- } else t2 = $[6];
55
- const filterNavItems = t2;
56
- let t3;
57
- if ($[9] !== _filterAdapters || $[10] !== baseColumns) {
58
- t3 = !baseColumns ? [] : baseColumns.map((col) => {
54
+ $[9] = getValueByAdapterId;
55
+ $[10] = t4$1;
56
+ } else t4$1 = $[10];
57
+ t3 = _filterAdapters.map(t4$1);
58
+ $[6] = _filterAdapters;
59
+ $[7] = getValueByAdapterId;
60
+ $[8] = t3;
61
+ } else t3 = $[8];
62
+ const filterNavItems = t3;
63
+ let t4;
64
+ if ($[11] !== _filterAdapters || $[12] !== baseColumns) {
65
+ t4 = !baseColumns ? [] : baseColumns.map((col) => {
59
66
  const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
60
67
  if (adapter_1) {
61
68
  const cellRenderer = adapter_1.cellRenderer;
@@ -67,29 +74,29 @@ function useTableFilters(filterAdapters, baseColumns) {
67
74
  }
68
75
  return col;
69
76
  });
70
- $[9] = _filterAdapters;
71
- $[10] = baseColumns;
72
- $[11] = t3;
73
- } else t3 = $[11];
74
- const enhancedColumns = t3;
75
- let t4;
76
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
77
- t4 = (filterId, value) => {
77
+ $[11] = _filterAdapters;
78
+ $[12] = baseColumns;
79
+ $[13] = t4;
80
+ } else t4 = $[13];
81
+ const enhancedColumns = t4;
82
+ let t5;
83
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
84
+ t5 = (filterId, value) => {
78
85
  setFilterState((prev) => ({
79
86
  ...prev,
80
87
  [filterId]: value
81
88
  }));
82
89
  };
83
- $[12] = t4;
84
- } else t4 = $[12];
85
- const updateFilter = t4;
86
- let t5;
87
- if ($[13] !== _filterAdapters || $[14] !== filterState) {
88
- t5 = () => {
90
+ $[14] = t5;
91
+ } else t5 = $[14];
92
+ const updateFilter = t5;
93
+ let t6;
94
+ if ($[15] !== _filterAdapters || $[16] !== getValueByAdapterId) {
95
+ t6 = () => {
89
96
  const filters = [];
90
97
  const chips = [];
91
98
  _filterAdapters.forEach((adapter_2) => {
92
- const value_0 = filterState[adapter_2.id];
99
+ const value_0 = getValueByAdapterId(adapter_2.id);
93
100
  if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
94
101
  id: adapter_2.id,
95
102
  value: value_0
@@ -100,14 +107,14 @@ function useTableFilters(filterAdapters, baseColumns) {
100
107
  setColumnFilters(filters);
101
108
  setFilterChips(chips);
102
109
  };
103
- $[13] = _filterAdapters;
104
- $[14] = filterState;
105
- $[15] = t5;
106
- } else t5 = $[15];
107
- const applyFilters = t5;
108
- let t6;
109
- if ($[16] !== _filterAdapters) {
110
- t6 = () => {
110
+ $[15] = _filterAdapters;
111
+ $[16] = getValueByAdapterId;
112
+ $[17] = t6;
113
+ } else t6 = $[17];
114
+ const applyFilters = t6;
115
+ let t7;
116
+ if ($[18] !== _filterAdapters) {
117
+ t7 = () => {
111
118
  const resetState = {};
112
119
  _filterAdapters.forEach((adapter_3) => {
113
120
  resetState[adapter_3.id] = adapter_3.reset();
@@ -116,22 +123,22 @@ function useTableFilters(filterAdapters, baseColumns) {
116
123
  setColumnFilters([]);
117
124
  setFilterChips([]);
118
125
  };
119
- $[16] = _filterAdapters;
120
- $[17] = t6;
121
- } else t6 = $[17];
122
- const clearAll = t6;
123
- let t7;
124
- if ($[18] !== _filterAdapters || $[19] !== clearAll || $[20] !== filterState) {
125
- t7 = (chip) => {
126
+ $[18] = _filterAdapters;
127
+ $[19] = t7;
128
+ } else t7 = $[19];
129
+ const clearAll = t7;
130
+ let t8;
131
+ if ($[20] !== _filterAdapters || $[21] !== clearAll || $[22] !== getValueByAdapterId) {
132
+ t8 = (chip) => {
126
133
  const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
127
134
  if (!filterKey) return;
128
135
  const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
129
136
  if (!adapter_4) return;
130
- const currentValue = filterState[filterKey];
137
+ const currentValue = getValueByAdapterId(filterKey);
131
138
  const newValue = adapter_4.fromChip(chip, currentValue);
132
139
  const chips_0 = [];
133
140
  _filterAdapters.forEach((adapter_5) => {
134
- const value_1 = adapter_5.id === filterKey ? newValue : filterState[adapter_5.id];
141
+ const value_1 = adapter_5.id === filterKey ? newValue : getValueByAdapterId(adapter_5.id);
135
142
  const adapterChips_0 = adapter_5.toChips(value_1);
136
143
  chips_0.push(...adapterChips_0);
137
144
  });
@@ -150,60 +157,60 @@ function useTableFilters(filterAdapters, baseColumns) {
150
157
  } : cf_0));
151
158
  setFilterChips(chips_0);
152
159
  };
153
- $[18] = _filterAdapters;
154
- $[19] = clearAll;
155
- $[20] = filterState;
156
- $[21] = t7;
157
- } else t7 = $[21];
158
- const deleteChip = t7;
159
- let t8;
160
- if ($[22] !== _filterAdapters || $[23] !== filterState) {
161
- t8 = (selectedFilter) => {
160
+ $[20] = _filterAdapters;
161
+ $[21] = clearAll;
162
+ $[22] = getValueByAdapterId;
163
+ $[23] = t8;
164
+ } else t8 = $[23];
165
+ const deleteChip = t8;
166
+ let t9;
167
+ if ($[24] !== _filterAdapters || $[25] !== getValueByAdapterId) {
168
+ t9 = (selectedFilter) => {
162
169
  const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
163
170
  if (!adapter_6) return null;
164
- const value_2 = filterState[adapter_6.id];
171
+ const value_2 = getValueByAdapterId(adapter_6.id);
165
172
  const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
166
173
  return adapter_6.renderFilter(value_2, onChange);
167
174
  };
168
- $[22] = _filterAdapters;
169
- $[23] = filterState;
170
- $[24] = t8;
171
- } else t8 = $[24];
172
- const renderFilterContent = t8;
173
- let t9;
174
- if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip) {
175
- t9 = {
175
+ $[24] = _filterAdapters;
176
+ $[25] = getValueByAdapterId;
177
+ $[26] = t9;
178
+ } else t9 = $[26];
179
+ const renderFilterContent = t9;
180
+ let t10;
181
+ if ($[27] !== applyFilters || $[28] !== clearAll || $[29] !== deleteChip) {
182
+ t10 = {
176
183
  updateFilter,
177
184
  applyFilters,
178
185
  clearAll,
179
186
  deleteChip
180
187
  };
181
- $[25] = applyFilters;
182
- $[26] = clearAll;
183
- $[27] = deleteChip;
184
- $[28] = t9;
185
- } else t9 = $[28];
186
- let t10;
187
- if ($[29] !== columnFilters || $[30] !== enhancedColumns || $[31] !== filterChips || $[32] !== filterNavItems || $[33] !== filterState || $[34] !== renderFilterContent || $[35] !== t9) {
188
- t10 = {
188
+ $[27] = applyFilters;
189
+ $[28] = clearAll;
190
+ $[29] = deleteChip;
191
+ $[30] = t10;
192
+ } else t10 = $[30];
193
+ let t11;
194
+ if ($[31] !== columnFilters || $[32] !== enhancedColumns || $[33] !== filterChips || $[34] !== filterNavItems || $[35] !== filterState || $[36] !== renderFilterContent || $[37] !== t10) {
195
+ t11 = {
189
196
  filterState,
190
197
  columnFilters,
191
198
  filterChips,
192
199
  filterNavItems,
193
200
  enhancedColumns,
194
- handlers: t9,
201
+ handlers: t10,
195
202
  renderFilterContent
196
203
  };
197
- $[29] = columnFilters;
198
- $[30] = enhancedColumns;
199
- $[31] = filterChips;
200
- $[32] = filterNavItems;
201
- $[33] = filterState;
202
- $[34] = renderFilterContent;
203
- $[35] = t9;
204
- $[36] = t10;
205
- } else t10 = $[36];
206
- return t10;
204
+ $[31] = columnFilters;
205
+ $[32] = enhancedColumns;
206
+ $[33] = filterChips;
207
+ $[34] = filterNavItems;
208
+ $[35] = filterState;
209
+ $[36] = renderFilterContent;
210
+ $[37] = t10;
211
+ $[38] = t11;
212
+ } else t11 = $[38];
213
+ return t11;
207
214
  }
208
215
 
209
216
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-filters.js","names":["ReactNode","useState","CellContext","ColumnDef","ChipItem","AnyAdapter","ColumnFilterState","FilterAdapter","FilterNavItem","FilterState","UseTableFiltersResult","filterState","TValue","columnFilters","filterChips","filterNavItems","enhancedColumns","TData","handlers","updateFilter","filterId","value","applyFilters","clearAll","deleteChip","chip","renderFilterContent","selectedFilter","useTableFilters","filterAdapters","baseColumns","$","_c","_filterAdapters","TCellValue","initialState","forEach","adapter","id","initialValue","setFilterState","t0","Symbol","for","setColumnFilters","t1","setFilterChips","t2","t3","adapter_0","label","count","getActiveFiltersCount","map","col","adapter_1","find","a","cellRenderer","filterFn","columnFilterFn","cell","info","getValue","t4","prev","t5","filters","chips","adapter_2","value_0","push","adapterChips","toChips","t6","resetState","adapter_3","reset","t7","filterKey","metadata","key","undefined","adapter_4","a_0","currentValue","newValue","fromChip","chips_0","adapter_5","value_1","adapterChips_0","length","prev_0","prev_1","filter","cf","prev_2","cf_0","t8","adapter_6","a_1","value_2","onChange","newValue_0","renderFilter","t9","t10"],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":["import { type ReactNode, useState } from 'react';\nimport type { CellContext, ColumnDef } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type {\n\tAnyAdapter,\n\tColumnFilterState,\n\tFilterAdapter,\n\tFilterNavItem,\n\tFilterState,\n} from '../types/filter-adapter.types';\n\nexport interface UseTableFiltersResult<TData, TValue> {\n\t/**\n\t * Current filter state\n\t */\n\tfilterState: FilterState<TValue>;\n\n\t/**\n\t * Column filters for TanStack Table\n\t */\n\tcolumnFilters: ColumnFilterState<TValue>[];\n\n\t/**\n\t * Filter chips for display\n\t */\n\tfilterChips: ChipItem[];\n\n\t/**\n\t * Filter navigation items with counts\n\t */\n\tfilterNavItems: FilterNavItem[];\n\n\t/**\n\t * Enhanced column definitions with filter functions\n\t */\n\tenhancedColumns: ColumnDef<TData>[];\n\n\t/**\n\t * Handlers\n\t */\n\thandlers: {\n\t\t/**\n\t\t * Update a specific filter's value\n\t\t */\n\t\tupdateFilter: (filterId: string, value: TValue) => void;\n\n\t\t/**\n\t\t * Apply all filters (converts to TanStack format)\n\t\t */\n\t\tapplyFilters: () => void;\n\n\t\t/**\n\t\t * Clear all filters\n\t\t */\n\t\tclearAll: () => void;\n\n\t\t/**\n\t\t * Delete a specific chip\n\t\t */\n\t\tdeleteChip: (chip: ChipItem) => void;\n\t};\n\n\t/**\n\t * Render function for filter modal content\n\t */\n\trenderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;\n}\n\n/**\n * Hook to orchestrate table filtering with adapters\n * Manages filter state, generates chips, handles column definitions\n *\n * @param filterAdapters Array of filter adapters\n * @param baseColumns Base column definitions (optional)\n * @returns Complete filter management system\n */\nexport function useTableFilters<TData, TValue, TCellValue>(\n\tfilterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[],\n\tbaseColumns?: ColumnDef<TData>[],\n): UseTableFiltersResult<TData, TValue> {\n\t// Internal variable just to avoid assignment issues of `any`.\n\tconst _filterAdapters = filterAdapters as FilterAdapter<TData, TValue, TCellValue>[];\n\n\t// Initialize filter state from adapters\n\tconst initialState: FilterState<TValue> = {};\n\t_filterAdapters.forEach((adapter) => {\n\t\tinitialState[adapter.id] = adapter.initialValue;\n\t});\n\n\tconst [filterState, setFilterState] = useState<FilterState<TValue>>(initialState);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFilterState<TValue>[]>([]);\n\tconst [filterChips, setFilterChips] = useState<ChipItem[]>([]);\n\n\t// Generate filter nav items with counts (updates as user changes filters in modal)\n\tconst filterNavItems: FilterNavItem[] = _filterAdapters.map((adapter) => ({\n\t\tid: adapter.id,\n\t\tlabel: adapter.label,\n\t\tcount: adapter.getActiveFiltersCount(filterState[adapter.id]),\n\t}));\n\n\t// Enhance column definitions with filter functions and renderers\n\tconst enhancedColumns: ColumnDef<TData>[] = !baseColumns\n\t\t? []\n\t\t: baseColumns.map((col) => {\n\t\t\t\tconst adapter = _filterAdapters.find((a) => a.id === col.id);\n\n\t\t\t\tif (adapter) {\n\t\t\t\t\tconst cellRenderer = adapter.cellRenderer;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...col,\n\t\t\t\t\t\tfilterFn: adapter.columnFilterFn,\n\t\t\t\t\t\t...(cellRenderer && {\n\t\t\t\t\t\t\tcell: (info: CellContext<TData, TCellValue>) => cellRenderer(info.getValue()),\n\t\t\t\t\t\t}),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn col;\n\t\t\t});\n\n\t// Handlers\n\tconst updateFilter = (filterId: string, value: TValue) => {\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterId]: value,\n\t\t}));\n\t};\n\n\tconst applyFilters = () => {\n\t\tconst filters: ColumnFilterState<TValue>[] = [];\n\t\tconst chips: ChipItem[] = [];\n\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = filterState[adapter.id];\n\n\t\t\tif (adapter.getActiveFiltersCount(value) > 0) {\n\t\t\t\tfilters.push({\n\t\t\t\t\tid: adapter.id,\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generate chips from current filter value\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\tsetColumnFilters(filters);\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst clearAll = () => {\n\t\tconst resetState: FilterState<TValue> = {};\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tresetState[adapter.id] = adapter.reset();\n\t\t});\n\t\tsetFilterState(resetState);\n\t\tsetColumnFilters([]);\n\t\tsetFilterChips([]);\n\t};\n\n\tconst deleteChip = (chip: ChipItem) => {\n\t\tconst filterKey = typeof chip.metadata?.key === 'string' ? chip.metadata.key : undefined;\n\t\tif (!filterKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst adapter = _filterAdapters.find((a) => a.id === filterKey);\n\t\tif (!adapter) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentValue = filterState[filterKey];\n\t\tconst newValue = adapter.fromChip(chip, currentValue);\n\n\t\t// Regenerate chips to check if this was the last one\n\t\tconst chips: ChipItem[] = [];\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = adapter.id === filterKey ? newValue : filterState[adapter.id];\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\t// If no chips left, clear all filters\n\t\tif (chips.length === 0) {\n\t\t\tclearAll();\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, update state and filters\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterKey]: newValue,\n\t\t}));\n\n\t\t// Update column filters\n\t\tif (adapter.getActiveFiltersCount(newValue) === 0) {\n\t\t\tsetColumnFilters((prev) => prev.filter((cf) => cf.id !== filterKey));\n\t\t} else {\n\t\t\tsetColumnFilters((prev) =>\n\t\t\t\tprev.map((cf) => (cf.id === filterKey ? { id: filterKey, value: newValue } : cf)),\n\t\t\t);\n\t\t}\n\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst renderFilterContent = (selectedFilter: FilterNavItem) => {\n\t\tconst adapter = _filterAdapters.find((a) => a.id === selectedFilter.id);\n\t\tif (!adapter) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst value = filterState[adapter.id];\n\t\tconst onChange = (newValue: TValue) => updateFilter(adapter.id, newValue);\n\n\t\treturn adapter.renderFilter(value, onChange);\n\t};\n\n\treturn {\n\t\tfilterState,\n\t\tcolumnFilters,\n\t\tfilterChips,\n\t\tfilterNavItems,\n\t\tenhancedColumns,\n\t\thandlers: {\n\t\t\tupdateFilter,\n\t\t\tapplyFilters,\n\t\t\tclearAll,\n\t\t\tdeleteChip,\n\t\t},\n\t\trenderFilterContent,\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-table-filters.js","names":["ReactNode","useState","CellContext","ColumnDef","ChipItem","AnyAdapter","ColumnFilterState","FilterAdapter","FilterNavItem","FilterState","UseTableFiltersResult","filterState","TValue","columnFilters","filterChips","filterNavItems","enhancedColumns","TData","handlers","updateFilter","filterId","value","applyFilters","clearAll","deleteChip","chip","renderFilterContent","selectedFilter","useTableFilters","filterAdapters","baseColumns","$","_c","_filterAdapters","TCellValue","initialState","forEach","adapter","id","initialValue","setFilterState","t0","Symbol","for","setColumnFilters","t1","setFilterChips","t2","adapterId","getValueByAdapterId","t3","t4","adapter_0","label","count","getActiveFiltersCount","map","col","adapter_1","find","a","cellRenderer","filterFn","columnFilterFn","cell","info","getValue","t5","prev","t6","filters","chips","adapter_2","value_0","push","adapterChips","toChips","t7","resetState","adapter_3","reset","t8","filterKey","metadata","key","undefined","adapter_4","a_0","currentValue","newValue","fromChip","chips_0","adapter_5","value_1","adapterChips_0","length","prev_0","prev_1","filter","cf","prev_2","cf_0","t9","adapter_6","a_1","value_2","onChange","newValue_0","renderFilter","t10","t11"],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":["import { type ReactNode, useState } from 'react';\nimport type { CellContext, ColumnDef } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type {\n\tAnyAdapter,\n\tColumnFilterState,\n\tFilterAdapter,\n\tFilterNavItem,\n\tFilterState,\n} from '../types/filter-adapter.types';\n\nexport interface UseTableFiltersResult<TData, TValue> {\n\t/**\n\t * Current filter state\n\t */\n\tfilterState: FilterState<TValue>;\n\n\t/**\n\t * Column filters for TanStack Table\n\t */\n\tcolumnFilters: ColumnFilterState<TValue>[];\n\n\t/**\n\t * Filter chips for display\n\t */\n\tfilterChips: ChipItem[];\n\n\t/**\n\t * Filter navigation items with counts\n\t */\n\tfilterNavItems: FilterNavItem[];\n\n\t/**\n\t * Enhanced column definitions with filter functions\n\t */\n\tenhancedColumns: ColumnDef<TData>[];\n\n\t/**\n\t * Handlers\n\t */\n\thandlers: {\n\t\t/**\n\t\t * Update a specific filter's value\n\t\t */\n\t\tupdateFilter: (filterId: string, value: TValue) => void;\n\n\t\t/**\n\t\t * Apply all filters (converts to TanStack format)\n\t\t */\n\t\tapplyFilters: () => void;\n\n\t\t/**\n\t\t * Clear all filters\n\t\t */\n\t\tclearAll: () => void;\n\n\t\t/**\n\t\t * Delete a specific chip\n\t\t */\n\t\tdeleteChip: (chip: ChipItem) => void;\n\t};\n\n\t/**\n\t * Render function for filter modal content\n\t */\n\trenderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;\n}\n\n/**\n * Hook to orchestrate table filtering with adapters\n * Manages filter state, generates chips, handles column definitions\n *\n * @param filterAdapters Array of filter adapters\n * @param baseColumns Base column definitions (optional)\n * @returns Complete filter management system\n */\nexport function useTableFilters<TData, TValue, TCellValue>(\n\tfilterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[],\n\tbaseColumns?: ColumnDef<TData>[],\n): UseTableFiltersResult<TData, TValue> {\n\t// Internal variable just to avoid assignment issues of `any`.\n\tconst _filterAdapters = filterAdapters as FilterAdapter<TData, TValue, TCellValue>[];\n\n\t// Initialize filter state from adapters\n\tconst initialState: FilterState<TValue> = {};\n\t_filterAdapters.forEach((adapter) => {\n\t\tinitialState[adapter.id] = adapter.initialValue;\n\t});\n\n\tconst [filterState, setFilterState] = useState<FilterState<TValue>>(initialState);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFilterState<TValue>[]>([]);\n\tconst [filterChips, setFilterChips] = useState<ChipItem[]>([]);\n\n\tconst getValueByAdapterId = (adapterId: string) => {\n\t\t// Should be safe to cast because it's being filled in the initialState\n\t\treturn filterState[adapterId] as TValue;\n\t};\n\n\t// Generate filter nav items with counts (updates as user changes filters in modal)\n\tconst filterNavItems: FilterNavItem[] = _filterAdapters.map((adapter) => ({\n\t\tid: adapter.id,\n\t\tlabel: adapter.label,\n\t\tcount: adapter.getActiveFiltersCount(getValueByAdapterId(adapter.id)),\n\t}));\n\n\t// Enhance column definitions with filter functions and renderers\n\tconst enhancedColumns: ColumnDef<TData>[] = !baseColumns\n\t\t? []\n\t\t: baseColumns.map((col) => {\n\t\t\t\tconst adapter = _filterAdapters.find((a) => a.id === col.id);\n\n\t\t\t\tif (adapter) {\n\t\t\t\t\tconst cellRenderer = adapter.cellRenderer;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...col,\n\t\t\t\t\t\tfilterFn: adapter.columnFilterFn,\n\t\t\t\t\t\t...(cellRenderer && {\n\t\t\t\t\t\t\tcell: (info: CellContext<TData, TCellValue>) => cellRenderer(info.getValue()),\n\t\t\t\t\t\t}),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn col;\n\t\t\t});\n\n\t// Handlers\n\tconst updateFilter = (filterId: string, value: TValue) => {\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterId]: value,\n\t\t}));\n\t};\n\n\tconst applyFilters = () => {\n\t\tconst filters: ColumnFilterState<TValue>[] = [];\n\t\tconst chips: ChipItem[] = [];\n\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = getValueByAdapterId(adapter.id);\n\n\t\t\tif (adapter.getActiveFiltersCount(value) > 0) {\n\t\t\t\tfilters.push({\n\t\t\t\t\tid: adapter.id,\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generate chips from current filter value\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\tsetColumnFilters(filters);\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst clearAll = () => {\n\t\tconst resetState: FilterState<TValue> = {};\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tresetState[adapter.id] = adapter.reset();\n\t\t});\n\t\tsetFilterState(resetState);\n\t\tsetColumnFilters([]);\n\t\tsetFilterChips([]);\n\t};\n\n\tconst deleteChip = (chip: ChipItem) => {\n\t\tconst filterKey = typeof chip.metadata?.key === 'string' ? chip.metadata.key : undefined;\n\t\tif (!filterKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst adapter = _filterAdapters.find((a) => a.id === filterKey);\n\t\tif (!adapter) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentValue = getValueByAdapterId(filterKey);\n\t\tconst newValue = adapter.fromChip(chip, currentValue);\n\n\t\t// Regenerate chips to check if this was the last one\n\t\tconst chips: ChipItem[] = [];\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = adapter.id === filterKey ? newValue : getValueByAdapterId(adapter.id);\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\t// If no chips left, clear all filters\n\t\tif (chips.length === 0) {\n\t\t\tclearAll();\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, update state and filters\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterKey]: newValue,\n\t\t}));\n\n\t\t// Update column filters\n\t\tif (adapter.getActiveFiltersCount(newValue) === 0) {\n\t\t\tsetColumnFilters((prev) => prev.filter((cf) => cf.id !== filterKey));\n\t\t} else {\n\t\t\tsetColumnFilters((prev) =>\n\t\t\t\tprev.map((cf) => (cf.id === filterKey ? { id: filterKey, value: newValue } : cf)),\n\t\t\t);\n\t\t}\n\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst renderFilterContent = (selectedFilter: FilterNavItem) => {\n\t\tconst adapter = _filterAdapters.find((a) => a.id === selectedFilter.id);\n\t\tif (!adapter) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst value = getValueByAdapterId(adapter.id);\n\t\tconst onChange = (newValue: TValue) => updateFilter(adapter.id, newValue);\n\n\t\treturn adapter.renderFilter(value, onChange);\n\t};\n\n\treturn {\n\t\tfilterState,\n\t\tcolumnFilters,\n\t\tfilterChips,\n\t\tfilterNavItems,\n\t\tenhancedColumns,\n\t\thandlers: {\n\t\t\tupdateFilter,\n\t\t\tapplyFilters,\n\t\t\tclearAll,\n\t\t\tdeleteChip,\n\t\t},\n\t\trenderFilterContent,\n\t};\n}\n"],"mappings":";;;;;;;;;;;;AA4EA,SAAO4B,gBAAAC,gBAAAC,aAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAKN,MAAAC,kBAAwBJ;CAA6D,IAAAM;AAAA,KAAAJ,EAAA,OAAAE,iBAAA;AAGrFE,iBAA0C,EAAE;AAC5CF,kBAAeG,SAASC,YAAA;AACvBF,gBAAaE,QAAOC,MAAOD,QAAOE;IACjC;AAAAR,IAAA,KAAAE;AAAAF,IAAA,KAAAI;OAAAA,gBAAAJ,EAAA;CAEF,MAAA,CAAApB,aAAA6B,kBAAsCvC,SAA8BkC,aAAa;CAAC,IAAAM;AAAA,KAAAV,EAAA,OAAAW,OAAAC,IAAA,4BAAA,EAAA;AACFF,OAAA,EAAE;AAAAV,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAlF,MAAA,CAAAlB,eAAA+B,oBAA0C3C,SAAsCwC,GAAG;CAAC,IAAAI;AAAA,KAAAd,EAAA,OAAAW,OAAAC,IAAA,4BAAA,EAAA;AACzBE,OAAA,EAAE;AAAAd,IAAA,KAAAc;OAAAA,MAAAd,EAAA;CAA7D,MAAA,CAAAjB,aAAAgC,kBAAsC7C,SAAqB4C,GAAG;CAAC,IAAAE;AAAA,KAAAhB,EAAA,OAAApB,aAAA;AAEnCoC,QAAAC,cAEpBrC,YAAYqC;AACnBjB,IAAA,KAAApB;AAAAoB,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAHD,MAAAkB,sBAA4BF;CAG1B,IAAAG;AAAA,KAAAnB,EAAA,OAAAE,mBAAAF,EAAA,OAAAkB,qBAAA;EAAA,IAAAE;AAAA,MAAApB,EAAA,OAAAkB,qBAAA;AAG0DE,WAAAC,eAAc;IAAAd,IACrED,UAAOC;IAAGe,OACPhB,UAAOgB;IAAMC,OACbjB,UAAOkB,sBAAuBN,oBAAoBZ,UAAOC,GAAI,CAAA;IACpE;AAACP,KAAA,KAAAkB;AAAAlB,KAAA,MAAAoB;QAAAA,QAAApB,EAAA;AAJsCmB,OAAAjB,gBAAeuB,IAAKL,KAIzD;AAAApB,IAAA,KAAAE;AAAAF,IAAA,KAAAkB;AAAAlB,IAAA,KAAAmB;OAAAA,MAAAnB,EAAA;CAJH,MAAAhB,iBAAwCmC;CAIpC,IAAAC;AAAA,KAAApB,EAAA,QAAAE,mBAAAF,EAAA,QAAAD,aAAA;AAGwCqB,OAAA,CAACrB,cAAD,EAiBxC,GAfDA,YAAW0B,KAAKC,QAAA;GAChB,MAAAC,YAAgBzB,gBAAe0B,MAAMC,MAAOA,EAACtB,OAAQmB,IAAGnB,GAAI;AAE5D,OAAID,WAAO;IACV,MAAAwB,eAAqBxB,UAAOwB;AAAc,WACnC;KAAA,GACHJ;KAAGK,UACIzB,UAAO0B;KAAe,GAC5BF,gBAAA,EAAAG,OACGC,SAA0CJ,aAAaI,KAAIC,UAAW,CAAA,EAC5E;KACD;;AACD,UAEMT;IACN;AAAA1B,IAAA,MAAAE;AAAAF,IAAA,MAAAD;AAAAC,IAAA,MAAAoB;OAAAA,MAAApB,EAAA;CAjBJ,MAAAf,kBAA4CmC;CAiBvC,IAAAgB;AAAA,KAAApC,EAAA,QAAAW,OAAAC,IAAA,4BAAA,EAAA;AAGgBwB,QAAA/C,UAAAC,UAAA;AACpBmB,mBAAe4B,UAAW;IAAA,GACtBA;KACFhD,WAAWC;IACZ,EAAE;;AACHU,IAAA,MAAAoC;OAAAA,MAAApC,EAAA;CALD,MAAAZ,eAAqBgD;CAKnB,IAAAE;AAAA,KAAAtC,EAAA,QAAAE,mBAAAF,EAAA,QAAAkB,qBAAA;AAEmBoB,aAAA;GACpB,MAAAC,UAA6C,EAAE;GAC/C,MAAAC,QAA0B,EAAE;AAE5BtC,mBAAeG,SAASoC,cAAA;IACvB,MAAAC,UAAcxB,oBAAoBZ,UAAOC,GAAI;AAE7C,QAAID,UAAOkB,sBAAuBlC,QAAM,GAAG,EAC1CiD,SAAOI,KAAM;KAAApC,IACRD,UAAOC;KAAGjB,OACdA;KACA,CAAC;IAIH,MAAAsD,eAAqBtC,UAAOuC,QAASvD,QAAM;AAC3CkD,UAAKG,KAAK,GAAIC,aAAa;KAC1B;AAEF/B,oBAAiB0B,QAAQ;AACzBxB,kBAAeyB,MAAM;;AACrBxC,IAAA,MAAAE;AAAAF,IAAA,MAAAkB;AAAAlB,IAAA,MAAAsC;OAAAA,MAAAtC,EAAA;CArBD,MAAAT,eAAqB+C;CAqBnB,IAAAQ;AAAA,KAAA9C,EAAA,QAAAE,iBAAA;AAEe4C,aAAA;GAChB,MAAAC,aAAwC,EAAE;AAC1C7C,mBAAeG,SAAS2C,cAAA;AACvBD,eAAWzC,UAAOC,MAAOD,UAAO2C,OAAV;KACrB;AACFxC,kBAAesC,WAAW;AAC1BlC,oBAAiB,EAAE,CAAC;AACpBE,kBAAe,EAAE,CAAC;;AAClBf,IAAA,MAAAE;AAAAF,IAAA,MAAA8C;OAAAA,MAAA9C,EAAA;CARD,MAAAR,WAAiBsD;CAQf,IAAAI;AAAA,KAAAlD,EAAA,QAAAE,mBAAAF,EAAA,QAAAR,YAAAQ,EAAA,QAAAkB,qBAAA;AAEiBgC,QAAAxD,SAAA;GAClB,MAAAyD,YAAkB,OAAOzD,KAAI0D,UAAcC,QAAK,WAAW3D,KAAI0D,SAASC,MAAtDC;AAClB,OAAI,CAACH,UAAS;GAId,MAAAI,YAAgBrD,gBAAe0B,MAAM4B,QAAO3B,IAACtB,OAAQ4C,UAAU;AAC/D,OAAI,CAAC7C,UAAO;GAIZ,MAAAmD,eAAqBvC,oBAAoBiC,UAAU;GACnD,MAAAO,WAAiBpD,UAAOqD,SAAUjE,MAAM+D,aAAa;GAGrD,MAAAG,UAA0B,EAAE;AAC5B1D,mBAAeG,SAASwD,cAAA;IACvB,MAAAC,UAAcxD,UAAOC,OAAQ4C,YAAfO,WAAsCxC,oBAAoBZ,UAAOC,GAAI;IACnF,MAAAwD,iBAAqBzD,UAAOuC,QAASvD,QAAM;AAC3CkD,YAAKG,KAAK,GAAIC,eAAa;KAC1B;AAGF,OAAIJ,QAAKwB,WAAY,GAAC;AACrBxE,cAAU;AAAA;;AAKXiB,mBAAewD,YAAW;IAAA,GACtB5B;KACFc,YAAYO;IACb,EAAE;AAGH,OAAIpD,UAAOkB,sBAAuBkC,SAAS,KAAK,EAC/C7C,mBAAiBqD,WAAU7B,OAAI8B,QAAQC,OAAQA,GAAE7D,OAAQ4C,UAAU,CAAC;OAEpEtC,mBAAiBwD,WAChBhC,OAAIZ,KAAK6C,SAASF,KAAE7D,OAAQ4C,YAAV;IAAA5C,IAA4B4C;IAAS7D,OAASoE;IAAe,GAA7DY,KACnB,CAAC;AAGFvD,kBAAeyB,QAAM;;AACrBxC,IAAA,MAAAE;AAAAF,IAAA,MAAAR;AAAAQ,IAAA,MAAAkB;AAAAlB,IAAA,MAAAkD;OAAAA,MAAAlD,EAAA;CA5CD,MAAAP,aAAmByD;CA4CjB,IAAAqB;AAAA,KAAAvE,EAAA,QAAAE,mBAAAF,EAAA,QAAAkB,qBAAA;AAE0BqD,QAAA3E,mBAAA;GAC3B,MAAA4E,YAAgBtE,gBAAe0B,MAAM6C,QAAO5C,IAACtB,OAAQX,eAAcW,GAAI;AACvE,OAAI,CAACD,UAAO,QACJ;GAGR,MAAAoE,UAAcxD,oBAAoBZ,UAAOC,GAAI;GAC7C,MAAAoE,YAAiBC,eAAsBxF,aAAakB,UAAOC,IAAKmD,WAAS;AAAC,UAEnEpD,UAAOuE,aAAcvF,SAAOqF,SAAS;;AAC5C3E,IAAA,MAAAE;AAAAF,IAAA,MAAAkB;AAAAlB,IAAA,MAAAuE;OAAAA,MAAAvE,EAAA;CAVD,MAAAL,sBAA4B4E;CAU1B,IAAAO;AAAA,KAAA9E,EAAA,QAAAT,gBAAAS,EAAA,QAAAR,YAAAQ,EAAA,QAAAP,YAAA;AAQSqF,QAAA;GAAA1F;GAAAG;GAAAC;GAAAC;GAKT;AAAAO,IAAA,MAAAT;AAAAS,IAAA,MAAAR;AAAAQ,IAAA,MAAAP;AAAAO,IAAA,MAAA8E;OAAAA,OAAA9E,EAAA;CAAA,IAAA+E;AAAA,KAAA/E,EAAA,QAAAlB,iBAAAkB,EAAA,QAAAf,mBAAAe,EAAA,QAAAjB,eAAAiB,EAAA,QAAAhB,kBAAAgB,EAAA,QAAApB,eAAAoB,EAAA,QAAAL,uBAAAK,EAAA,QAAA8E,KAAA;AAXKC,QAAA;GAAAnG;GAAAE;GAAAC;GAAAC;GAAAC;GAAAE,UAMI2F;GAKTnF;GAED;AAAAK,IAAA,MAAAlB;AAAAkB,IAAA,MAAAf;AAAAe,IAAA,MAAAjB;AAAAiB,IAAA,MAAAhB;AAAAgB,IAAA,MAAApB;AAAAoB,IAAA,MAAAL;AAAAK,IAAA,MAAA8E;AAAA9E,IAAA,MAAA+E;OAAAA,OAAA/E,EAAA;AAAA,QAbM+E"}