@drivenets/design-system 0.2.0 → 0.4.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 (346) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -1
  3. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts.map +1 -1
  5. package/dist/components/ds-autocomplete/ds-autocomplete.cjs +218 -0
  6. package/dist/components/ds-autocomplete/ds-autocomplete.d.cts +22 -0
  7. package/dist/components/ds-autocomplete/ds-autocomplete.d.cts.map +1 -0
  8. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts +22 -0
  9. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts.map +1 -0
  10. package/dist/components/ds-autocomplete/ds-autocomplete.js +217 -0
  11. package/dist/components/ds-autocomplete/ds-autocomplete.js.map +1 -0
  12. package/dist/components/ds-autocomplete/ds-autocomplete.module.cjs +27 -0
  13. package/dist/components/ds-autocomplete/ds-autocomplete.module.js +27 -0
  14. package/dist/components/ds-autocomplete/ds-autocomplete.module.js.map +1 -0
  15. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts +79 -0
  16. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts.map +1 -0
  17. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts +80 -0
  18. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts.map +1 -0
  19. package/dist/components/ds-autocomplete/index.cjs +1 -0
  20. package/dist/components/ds-autocomplete/index.d.ts +2 -0
  21. package/dist/components/ds-autocomplete/index.js +1 -0
  22. package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -1
  23. package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -1
  24. package/dist/components/ds-button/ds-button.d.cts +2 -2
  25. package/dist/components/ds-button/ds-button.d.cts.map +1 -1
  26. package/dist/components/ds-button/ds-button.d.ts +2 -2
  27. package/dist/components/ds-button/ds-button.d.ts.map +1 -1
  28. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +23 -24
  29. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +23 -24
  30. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  31. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +24 -25
  32. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +24 -25
  33. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  34. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.cjs +1 -0
  35. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js +1 -0
  36. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  37. package/dist/components/ds-confirmation/ds-confirmation.cjs +20 -221
  38. package/dist/components/ds-confirmation/ds-confirmation.d.cts +22 -27
  39. package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
  40. package/dist/components/ds-confirmation/ds-confirmation.d.ts +22 -27
  41. package/dist/components/ds-confirmation/ds-confirmation.d.ts.map +1 -1
  42. package/dist/components/ds-confirmation/ds-confirmation.js +21 -221
  43. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  44. package/dist/components/ds-confirmation/ds-confirmation.types.d.cts +2 -1
  45. package/dist/components/ds-confirmation/ds-confirmation.types.d.cts.map +1 -1
  46. package/dist/components/ds-confirmation/ds-confirmation.types.d.ts +2 -1
  47. package/dist/components/ds-confirmation/ds-confirmation.types.d.ts.map +1 -1
  48. package/dist/components/ds-date-input/ds-date-input.cjs +1 -1
  49. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  50. package/dist/components/ds-date-input/ds-date-input.d.cts.map +1 -1
  51. package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
  52. package/dist/components/ds-date-input/ds-date-input.js +1 -1
  53. package/dist/components/ds-date-input/ds-date-input.module.cjs +22 -22
  54. package/dist/components/ds-date-input/ds-date-input.module.js +22 -22
  55. package/dist/components/ds-date-input/ds-date-input.module.js.map +1 -1
  56. package/dist/components/ds-date-input/ds-date-input.utils.cjs +9 -2
  57. package/dist/components/ds-date-input/ds-date-input.utils.js +9 -2
  58. package/dist/components/ds-date-input/ds-date-input.utils.js.map +1 -1
  59. package/dist/components/ds-drawer/ds-drawer.cjs +4 -4
  60. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  61. package/dist/components/ds-drawer/ds-drawer.d.cts.map +1 -1
  62. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  63. package/dist/components/ds-drawer/ds-drawer.d.ts.map +1 -1
  64. package/dist/components/ds-drawer/ds-drawer.js +4 -4
  65. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  66. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +1 -1
  67. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +1 -1
  68. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.cjs +20 -20
  69. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js +20 -20
  70. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js.map +1 -1
  71. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts +1 -1
  72. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts.map +1 -1
  73. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts +1 -1
  74. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts.map +1 -1
  75. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  76. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  77. package/dist/components/ds-file-upload/utils/format-file-size.cjs +1 -1
  78. package/dist/components/ds-file-upload/utils/format-file-size.js +1 -1
  79. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  80. package/dist/components/ds-form-control/ds-form-control.cjs +2 -5
  81. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  82. package/dist/components/ds-form-control/ds-form-control.d.ts +8 -8
  83. package/dist/components/ds-form-control/ds-form-control.js +2 -5
  84. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  85. package/dist/components/ds-loader/ds-loader.cjs +60 -0
  86. package/dist/components/ds-loader/ds-loader.d.cts +15 -0
  87. package/dist/components/ds-loader/ds-loader.d.cts.map +1 -0
  88. package/dist/components/ds-loader/ds-loader.d.ts +15 -0
  89. package/dist/components/ds-loader/ds-loader.d.ts.map +1 -0
  90. package/dist/components/ds-loader/ds-loader.js +59 -0
  91. package/dist/components/ds-loader/ds-loader.js.map +1 -0
  92. package/dist/components/ds-loader/ds-loader.module.cjs +15 -0
  93. package/dist/components/ds-loader/ds-loader.module.js +15 -0
  94. package/dist/components/ds-loader/ds-loader.module.js.map +1 -0
  95. package/dist/components/ds-loader/ds-loader.types.cjs +6 -0
  96. package/dist/components/ds-loader/ds-loader.types.d.cts +27 -0
  97. package/dist/components/ds-loader/ds-loader.types.d.cts.map +1 -0
  98. package/dist/components/ds-loader/ds-loader.types.d.ts +27 -0
  99. package/dist/components/ds-loader/ds-loader.types.d.ts.map +1 -0
  100. package/dist/components/ds-loader/ds-loader.types.js +6 -0
  101. package/dist/components/ds-loader/ds-loader.types.js.map +1 -0
  102. package/dist/components/ds-loader/index.cjs +2 -0
  103. package/dist/components/ds-loader/index.d.ts +2 -0
  104. package/dist/components/ds-loader/index.js +2 -0
  105. package/dist/components/ds-loader/pulsing-icon.cjs +37 -0
  106. package/dist/components/ds-loader/pulsing-icon.js +37 -0
  107. package/dist/components/ds-loader/pulsing-icon.js.map +1 -0
  108. package/dist/components/ds-loader/spinner-icon.cjs +74 -0
  109. package/dist/components/ds-loader/spinner-icon.js +74 -0
  110. package/dist/components/ds-loader/spinner-icon.js.map +1 -0
  111. package/dist/components/ds-modal/ds-modal.cjs +47 -48
  112. package/dist/components/ds-modal/ds-modal.d.cts +11 -10
  113. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  114. package/dist/components/ds-modal/ds-modal.d.ts +11 -10
  115. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  116. package/dist/components/ds-modal/ds-modal.js +47 -48
  117. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  118. package/dist/components/ds-modal/ds-modal.module.cjs +24 -24
  119. package/dist/components/ds-modal/ds-modal.module.js +24 -24
  120. package/dist/components/ds-modal/ds-modal.module.js.map +1 -1
  121. package/dist/components/ds-modal/ds-modal.types.d.cts +10 -5
  122. package/dist/components/ds-modal/ds-modal.types.d.cts.map +1 -1
  123. package/dist/components/ds-modal/ds-modal.types.d.ts +10 -5
  124. package/dist/components/ds-modal/ds-modal.types.d.ts.map +1 -1
  125. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  126. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  127. package/dist/components/ds-select/ds-select.cjs +2 -2
  128. package/dist/components/ds-select/ds-select.d.cts +2 -2
  129. package/dist/components/ds-select/ds-select.d.ts +2 -2
  130. package/dist/components/ds-select/ds-select.js +2 -2
  131. package/dist/components/ds-select/ds-select.js.map +1 -1
  132. package/dist/components/ds-skeleton/ds-skeleton-circle.cjs +59 -0
  133. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +18 -0
  134. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts.map +1 -0
  135. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts +18 -0
  136. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts.map +1 -0
  137. package/dist/components/ds-skeleton/ds-skeleton-circle.js +58 -0
  138. package/dist/components/ds-skeleton/ds-skeleton-circle.js.map +1 -0
  139. package/dist/components/ds-skeleton/ds-skeleton-rect.cjs +61 -0
  140. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +18 -0
  141. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts.map +1 -0
  142. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts +18 -0
  143. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts.map +1 -0
  144. package/dist/components/ds-skeleton/ds-skeleton-rect.js +60 -0
  145. package/dist/components/ds-skeleton/ds-skeleton-rect.js.map +1 -0
  146. package/dist/components/ds-skeleton/ds-skeleton-text.cjs +91 -0
  147. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +21 -0
  148. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts.map +1 -0
  149. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts +21 -0
  150. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts.map +1 -0
  151. package/dist/components/ds-skeleton/ds-skeleton-text.js +90 -0
  152. package/dist/components/ds-skeleton/ds-skeleton-text.js.map +1 -0
  153. package/dist/components/ds-skeleton/ds-skeleton.cjs +13 -0
  154. package/dist/components/ds-skeleton/ds-skeleton.config.cjs +62 -0
  155. package/dist/components/ds-skeleton/ds-skeleton.config.js +59 -0
  156. package/dist/components/ds-skeleton/ds-skeleton.config.js.map +1 -0
  157. package/dist/components/ds-skeleton/ds-skeleton.d.cts +32 -0
  158. package/dist/components/ds-skeleton/ds-skeleton.d.cts.map +1 -0
  159. package/dist/components/ds-skeleton/ds-skeleton.d.ts +32 -0
  160. package/dist/components/ds-skeleton/ds-skeleton.d.ts.map +1 -0
  161. package/dist/components/ds-skeleton/ds-skeleton.js +14 -0
  162. package/dist/components/ds-skeleton/ds-skeleton.js.map +1 -0
  163. package/dist/components/ds-skeleton/ds-skeleton.module.cjs +15 -0
  164. package/dist/components/ds-skeleton/ds-skeleton.module.js +15 -0
  165. package/dist/components/ds-skeleton/ds-skeleton.module.js.map +1 -0
  166. package/dist/components/ds-skeleton/ds-skeleton.types.cjs +8 -0
  167. package/dist/components/ds-skeleton/ds-skeleton.types.d.cts +91 -0
  168. package/dist/components/ds-skeleton/ds-skeleton.types.d.cts.map +1 -0
  169. package/dist/components/ds-skeleton/ds-skeleton.types.d.ts +93 -0
  170. package/dist/components/ds-skeleton/ds-skeleton.types.d.ts.map +1 -0
  171. package/dist/components/ds-skeleton/ds-skeleton.types.js +7 -0
  172. package/dist/components/ds-skeleton/ds-skeleton.types.js.map +1 -0
  173. package/dist/components/ds-skeleton/index.cjs +5 -0
  174. package/dist/components/ds-skeleton/index.d.ts +5 -0
  175. package/dist/components/ds-skeleton/index.js +5 -0
  176. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  177. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  178. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  179. package/dist/components/ds-spinner/ds-spinner.cjs +43 -45
  180. package/dist/components/ds-spinner/ds-spinner.js +43 -45
  181. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  182. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  183. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  184. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  185. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  186. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  187. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  188. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  189. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  190. package/dist/components/ds-table/components/core-table/core-table.cjs +82 -185
  191. package/dist/components/ds-table/components/core-table/core-table.js +82 -185
  192. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  193. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +61 -72
  194. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +61 -72
  195. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  196. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +80 -81
  197. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +80 -81
  198. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  199. package/dist/components/ds-table/ds-table.cjs +3 -3
  200. package/dist/components/ds-table/ds-table.d.cts +2 -3
  201. package/dist/components/ds-table/ds-table.d.cts.map +1 -1
  202. package/dist/components/ds-table/ds-table.d.ts +2 -3
  203. package/dist/components/ds-table/ds-table.d.ts.map +1 -1
  204. package/dist/components/ds-table/ds-table.js +3 -3
  205. package/dist/components/ds-table/ds-table.js.map +1 -1
  206. package/dist/components/ds-table/ds-table.types.d.cts +0 -4
  207. package/dist/components/ds-table/ds-table.types.d.cts.map +1 -1
  208. package/dist/components/ds-table/ds-table.types.d.ts +0 -4
  209. package/dist/components/ds-table/ds-table.types.d.ts.map +1 -1
  210. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.cjs +7 -4
  211. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js +7 -4
  212. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js.map +1 -1
  213. package/dist/components/ds-table/filters/hooks/index.d.ts +1 -1
  214. package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +180 -178
  215. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts +58 -25
  216. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts.map +1 -1
  217. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts +58 -25
  218. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts.map +1 -1
  219. package/dist/components/ds-table/filters/hooks/use-table-filters.js +180 -178
  220. package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
  221. package/dist/components/ds-table/filters/index.d.ts +1 -1
  222. package/dist/components/ds-table/index.d.ts +1 -1
  223. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.cjs +37 -0
  224. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js +36 -0
  225. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js.map +1 -0
  226. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.cjs +9 -0
  227. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js +9 -0
  228. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js.map +1 -0
  229. package/dist/components/ds-tabs/components/ds-tabs-content/index.cjs +1 -0
  230. package/dist/components/ds-tabs/components/ds-tabs-content/index.js +1 -0
  231. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.cjs +6 -0
  232. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js +6 -0
  233. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js.map +1 -0
  234. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.cjs +41 -0
  235. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js +40 -0
  236. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js.map +1 -0
  237. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.cjs +6 -0
  238. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js +6 -0
  239. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js.map +1 -0
  240. package/dist/components/ds-tabs/components/ds-tabs-list/index.cjs +1 -0
  241. package/dist/components/ds-tabs/components/ds-tabs-list/index.js +1 -0
  242. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.cjs +178 -0
  243. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js +177 -0
  244. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js.map +1 -0
  245. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.cjs +15 -0
  246. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js +15 -0
  247. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js.map +1 -0
  248. package/dist/components/ds-tabs/components/ds-tabs-tab/index.cjs +1 -0
  249. package/dist/components/ds-tabs/components/ds-tabs-tab/index.js +1 -0
  250. package/dist/components/ds-tabs/ds-tabs.cjs +71 -0
  251. package/dist/components/ds-tabs/ds-tabs.d.cts +43 -0
  252. package/dist/components/ds-tabs/ds-tabs.d.cts.map +1 -0
  253. package/dist/components/ds-tabs/ds-tabs.d.ts +43 -0
  254. package/dist/components/ds-tabs/ds-tabs.d.ts.map +1 -0
  255. package/dist/components/ds-tabs/ds-tabs.js +70 -0
  256. package/dist/components/ds-tabs/ds-tabs.js.map +1 -0
  257. package/dist/components/ds-tabs/ds-tabs.module.cjs +6 -0
  258. package/dist/components/ds-tabs/ds-tabs.module.js +6 -0
  259. package/dist/components/ds-tabs/ds-tabs.module.js.map +1 -0
  260. package/dist/components/ds-tabs/ds-tabs.types.d.cts +91 -0
  261. package/dist/components/ds-tabs/ds-tabs.types.d.cts.map +1 -0
  262. package/dist/components/ds-tabs/ds-tabs.types.d.ts +92 -0
  263. package/dist/components/ds-tabs/ds-tabs.types.d.ts.map +1 -0
  264. package/dist/components/ds-tabs/index.cjs +1 -0
  265. package/dist/components/ds-tabs/index.d.ts +2 -0
  266. package/dist/components/ds-tabs/index.js +1 -0
  267. package/dist/components/ds-tag/ds-tag.d.cts +2 -2
  268. package/dist/components/ds-tag/ds-tag.d.ts +2 -2
  269. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +2 -2
  270. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +2 -2
  271. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  272. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  273. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  274. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  275. package/dist/index.cjs +24 -1
  276. package/dist/index.d.cts +15 -4
  277. package/dist/index.d.ts +20 -5
  278. package/dist/index.js +15 -2
  279. package/dist/index.min.css +1 -1
  280. package/package.json +5 -3
  281. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +257 -0
  282. package/src/components/ds-autocomplete/ds-autocomplete.tsx +130 -0
  283. package/src/components/ds-autocomplete/ds-autocomplete.types.tsx +76 -0
  284. package/src/components/ds-autocomplete/index.ts +2 -0
  285. package/src/components/ds-avatar/ds-avatar.module.scss +1 -1
  286. package/src/components/ds-avatar-group/ds-avatar-group.module.scss +1 -1
  287. package/src/components/ds-button/versions/ds-button-legacy/ds-button-legacy.tsx +1 -7
  288. package/src/components/ds-button/versions/ds-button-new/ds-button-new.tsx +4 -2
  289. package/src/components/ds-chip-group/hooks/use-chip-row-calculation.ts +5 -0
  290. package/src/components/ds-confirmation/ds-confirmation.tsx +11 -115
  291. package/src/components/ds-confirmation/ds-confirmation.types.tsx +2 -1
  292. package/src/components/ds-date-input/ds-date-input.module.scss +1 -0
  293. package/src/components/ds-date-input/ds-date-input.utils.ts +16 -2
  294. package/src/components/ds-drawer/ds-drawer.tsx +4 -1
  295. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +0 -1
  296. package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.tsx +4 -1
  297. package/src/components/ds-file-upload/utils/format-file-size.ts +1 -1
  298. package/src/components/ds-form-control/ds-form-control.tsx +9 -2
  299. package/src/components/ds-loader/ds-loader.module.scss +57 -0
  300. package/src/components/ds-loader/ds-loader.tsx +18 -0
  301. package/src/components/ds-loader/ds-loader.types.ts +24 -0
  302. package/src/components/ds-loader/index.ts +2 -0
  303. package/src/components/ds-loader/pulsing-icon.tsx +17 -0
  304. package/src/components/ds-loader/spinner-icon.tsx +37 -0
  305. package/src/components/ds-modal/ds-modal.module.scss +123 -60
  306. package/src/components/ds-modal/ds-modal.tsx +12 -3
  307. package/src/components/ds-modal/ds-modal.types.tsx +14 -5
  308. package/src/components/ds-select/ds-select.tsx +1 -1
  309. package/src/components/ds-skeleton/ds-skeleton-circle.tsx +29 -0
  310. package/src/components/ds-skeleton/ds-skeleton-rect.tsx +36 -0
  311. package/src/components/ds-skeleton/ds-skeleton-text.tsx +49 -0
  312. package/src/components/ds-skeleton/ds-skeleton.config.ts +68 -0
  313. package/src/components/ds-skeleton/ds-skeleton.module.scss +72 -0
  314. package/src/components/ds-skeleton/ds-skeleton.tsx +9 -0
  315. package/src/components/ds-skeleton/ds-skeleton.types.ts +92 -0
  316. package/src/components/ds-skeleton/index.ts +5 -0
  317. package/src/components/ds-spinner/ds-spinner.tsx +1 -1
  318. package/src/components/ds-table/components/core-table/core-table.tsx +16 -16
  319. package/src/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.tsx +10 -13
  320. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +0 -2
  321. package/src/components/ds-table/ds-table.tsx +6 -5
  322. package/src/components/ds-table/ds-table.types.ts +0 -5
  323. package/src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx +2 -4
  324. package/src/components/ds-table/filters/hooks/index.ts +1 -1
  325. package/src/components/ds-table/filters/hooks/use-table-filters.ts +118 -112
  326. package/src/components/ds-table/utils/story-data-generator.ts +7 -7
  327. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +22 -0
  328. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.tsx +12 -0
  329. package/src/components/ds-tabs/components/ds-tabs-content/index.ts +1 -0
  330. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.scss +31 -0
  331. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss +27 -0
  332. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.tsx +14 -0
  333. package/src/components/ds-tabs/components/ds-tabs-list/index.ts +1 -0
  334. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.scss +242 -0
  335. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.tsx +130 -0
  336. package/src/components/ds-tabs/components/ds-tabs-tab/index.ts +1 -0
  337. package/src/components/ds-tabs/ds-tabs.module.scss +14 -0
  338. package/src/components/ds-tabs/ds-tabs.tsx +46 -0
  339. package/src/components/ds-tabs/ds-tabs.types.ts +97 -0
  340. package/src/components/ds-tabs/index.ts +2 -0
  341. package/src/index.ts +4 -0
  342. package/src/styles/shared/_modal.scss +0 -123
  343. package/dist/components/ds-confirmation/ds-confirmation.module.cjs +0 -21
  344. package/dist/components/ds-confirmation/ds-confirmation.module.js +0 -21
  345. package/dist/components/ds-confirmation/ds-confirmation.module.js.map +0 -1
  346. package/src/components/ds-confirmation/ds-confirmation.module.scss +0 -58
@@ -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"}
@@ -1 +1 @@
1
- import { UseTableFiltersResult, useTableFilters } from "./use-table-filters.js";
1
+ import { UseTableFiltersOptions, UseTableFiltersResult, useTableFilters } from "./use-table-filters.js";
@@ -4,176 +4,176 @@ let react = require("react");
4
4
 
5
5
  //#region src/components/ds-table/filters/hooks/use-table-filters.ts
6
6
  /**
7
- * Hook to orchestrate table filtering with adapters
8
- * Manages filter state, generates chips, handles column definitions
7
+ * Hook to orchestrate table filtering with adapters.
8
+ * Manages filter state, generates chips, and handles column definitions.
9
9
  *
10
- * @param filterAdapters Array of filter adapters
11
- * @param baseColumns Base column definitions (optional)
12
- * @returns Complete filter management system
10
+ * **Uncontrolled mode** (default): Filters are managed internally.
11
+ * **Controlled mode**: Filters are managed externally via appliedFilters/onFiltersChange.
12
+ *
13
+ * @example
14
+ * // Uncontrolled mode
15
+ * const { filterChips, handlers } = useTableFilters({
16
+ * filterAdapters: adapters,
17
+ * baseColumns: columns,
18
+ * });
19
+ *
20
+ * @example
21
+ * // Controlled mode (e.g., URL-driven filtering)
22
+ * const { filterChips, handlers } = useTableFilters({
23
+ * filterAdapters: adapters,
24
+ * baseColumns: columns,
25
+ * appliedFilters: filtersFromUrl,
26
+ * onFiltersChange: (filters) => updateUrlAndRefetch(filters),
27
+ * });
13
28
  */
14
- function useTableFilters(filterAdapters, baseColumns) {
15
- const $ = (0, react_compiler_runtime.c)(37);
29
+ function useTableFilters(t0) {
30
+ const $ = (0, react_compiler_runtime.c)(30);
31
+ const { filterAdapters, baseColumns, appliedFilters: externalAppliedFilters, onFiltersChange: setExternalAppliedFilters } = t0;
16
32
  const _filterAdapters = filterAdapters;
17
- let initialState;
18
- if ($[0] !== _filterAdapters) {
19
- initialState = {};
20
- _filterAdapters.forEach((adapter) => {
21
- initialState[adapter.id] = adapter.initialValue;
22
- });
23
- $[0] = _filterAdapters;
24
- $[1] = initialState;
25
- } else initialState = $[1];
26
- const [filterState, setFilterState] = (0, react.useState)(initialState);
27
- let t0;
28
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
29
- t0 = [];
30
- $[2] = t0;
31
- } else t0 = $[2];
32
- const [columnFilters, setColumnFilters] = (0, react.useState)(t0);
33
+ const isControlled = externalAppliedFilters !== void 0 && setExternalAppliedFilters !== void 0;
34
+ const initialFilters = _filterAdapters.reduce(_temp, {});
33
35
  let t1;
34
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
35
- t1 = [];
36
- $[3] = t1;
37
- } else t1 = $[3];
38
- const [filterChips, setFilterChips] = (0, react.useState)(t1);
36
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
37
+ t1 = {};
38
+ $[0] = t1;
39
+ } else t1 = $[0];
40
+ const [internalAppliedFilters, setInternalAppliedFilters] = (0, react.useState)(t1);
39
41
  let t2;
40
- if ($[4] !== _filterAdapters || $[5] !== filterState) {
41
- let t3$1;
42
- if ($[7] !== filterState) {
43
- t3$1 = (adapter_0) => ({
44
- id: adapter_0.id,
45
- label: adapter_0.label,
46
- count: adapter_0.getActiveFiltersCount(filterState[adapter_0.id])
47
- });
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;
42
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
43
+ t2 = {};
44
+ $[1] = t2;
45
+ } else t2 = $[1];
46
+ const [pendingFilters, setPendingFilters] = (0, react.useState)(t2);
47
+ const appliedFilters = isControlled ? externalAppliedFilters : internalAppliedFilters;
48
+ const setAppliedFilters = isControlled ? setExternalAppliedFilters : setInternalAppliedFilters;
49
+ const draftFilters = {
50
+ ...initialFilters,
51
+ ...appliedFilters,
52
+ ...pendingFilters
53
+ };
57
54
  let t3;
58
- if ($[9] !== _filterAdapters || $[10] !== baseColumns) {
59
- t3 = !baseColumns ? [] : baseColumns.map((col) => {
60
- const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
61
- if (adapter_1) {
62
- const cellRenderer = adapter_1.cellRenderer;
63
- return {
64
- ...col,
65
- filterFn: adapter_1.columnFilterFn,
66
- ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
67
- };
68
- }
69
- return col;
70
- });
71
- $[9] = _filterAdapters;
72
- $[10] = baseColumns;
73
- $[11] = t3;
74
- } else t3 = $[11];
75
- const enhancedColumns = t3;
55
+ if ($[2] !== appliedFilters) {
56
+ t3 = Object.entries(appliedFilters);
57
+ $[2] = appliedFilters;
58
+ $[3] = t3;
59
+ } else t3 = $[3];
76
60
  let t4;
77
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
78
- t4 = (filterId, value) => {
79
- setFilterState((prev) => ({
80
- ...prev,
81
- [filterId]: value
82
- }));
83
- };
84
- $[12] = t4;
85
- } else t4 = $[12];
86
- const updateFilter = t4;
61
+ if ($[4] !== _filterAdapters || $[5] !== appliedFilters || $[6] !== t3) {
62
+ t4 = t3.filter((t5$1) => {
63
+ const [id] = t5$1;
64
+ const adapter_0 = _filterAdapters.find((a) => a.id === id);
65
+ return adapter_0 ? adapter_0.getActiveFiltersCount(appliedFilters[id]) > 0 : false;
66
+ }).map(_temp2);
67
+ $[4] = _filterAdapters;
68
+ $[5] = appliedFilters;
69
+ $[6] = t3;
70
+ $[7] = t4;
71
+ } else t4 = $[7];
72
+ const columnFilters = t4;
87
73
  let t5;
88
- if ($[13] !== _filterAdapters || $[14] !== filterState) {
89
- t5 = () => {
90
- const filters = [];
91
- const chips = [];
92
- _filterAdapters.forEach((adapter_2) => {
93
- const value_0 = filterState[adapter_2.id];
94
- if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
95
- id: adapter_2.id,
96
- value: value_0
97
- });
98
- const adapterChips = adapter_2.toChips(value_0);
99
- chips.push(...adapterChips);
100
- });
101
- setColumnFilters(filters);
102
- setFilterChips(chips);
103
- };
104
- $[13] = _filterAdapters;
105
- $[14] = filterState;
106
- $[15] = t5;
107
- } else t5 = $[15];
108
- const applyFilters = t5;
74
+ if ($[8] !== _filterAdapters || $[9] !== appliedFilters) {
75
+ let t6$1;
76
+ if ($[11] !== appliedFilters) {
77
+ t6$1 = (adapter_1) => {
78
+ const value_0 = appliedFilters[adapter_1.id];
79
+ return value_0 !== void 0 ? adapter_1.toChips(value_0) : [];
80
+ };
81
+ $[11] = appliedFilters;
82
+ $[12] = t6$1;
83
+ } else t6$1 = $[12];
84
+ t5 = _filterAdapters.flatMap(t6$1);
85
+ $[8] = _filterAdapters;
86
+ $[9] = appliedFilters;
87
+ $[10] = t5;
88
+ } else t5 = $[10];
89
+ const filterChips = t5;
90
+ const filterNavItems = _filterAdapters.map((adapter_2) => ({
91
+ id: adapter_2.id,
92
+ label: adapter_2.label,
93
+ count: adapter_2.getActiveFiltersCount(draftFilters[adapter_2.id])
94
+ }));
109
95
  let t6;
110
- if ($[16] !== _filterAdapters) {
111
- t6 = () => {
112
- const resetState = {};
113
- _filterAdapters.forEach((adapter_3) => {
114
- resetState[adapter_3.id] = adapter_3.reset();
115
- });
116
- setFilterState(resetState);
117
- setColumnFilters([]);
118
- setFilterChips([]);
119
- };
120
- $[16] = _filterAdapters;
121
- $[17] = t6;
122
- } else t6 = $[17];
123
- const clearAll = t6;
96
+ if ($[13] !== _filterAdapters || $[14] !== baseColumns) {
97
+ t6 = !baseColumns ? [] : baseColumns.map((col) => {
98
+ const adapter_3 = _filterAdapters.find((a_0) => a_0.id === col.id);
99
+ if (!adapter_3) return col;
100
+ const cellRenderer = adapter_3.cellRenderer;
101
+ return {
102
+ ...col,
103
+ filterFn: adapter_3.columnFilterFn,
104
+ ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
105
+ };
106
+ });
107
+ $[13] = _filterAdapters;
108
+ $[14] = baseColumns;
109
+ $[15] = t6;
110
+ } else t6 = $[15];
111
+ const enhancedColumns = t6;
124
112
  let t7;
125
- if ($[18] !== _filterAdapters || $[19] !== clearAll || $[20] !== filterState) {
126
- t7 = (chip) => {
127
- const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
128
- if (!filterKey) return;
129
- const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
130
- if (!adapter_4) return;
131
- const currentValue = filterState[filterKey];
132
- const newValue = adapter_4.fromChip(chip, currentValue);
133
- const chips_0 = [];
134
- _filterAdapters.forEach((adapter_5) => {
135
- const value_1 = adapter_5.id === filterKey ? newValue : filterState[adapter_5.id];
136
- const adapterChips_0 = adapter_5.toChips(value_1);
137
- chips_0.push(...adapterChips_0);
138
- });
139
- if (chips_0.length === 0) {
140
- clearAll();
141
- return;
142
- }
143
- setFilterState((prev_0) => ({
144
- ...prev_0,
145
- [filterKey]: newValue
113
+ if ($[16] !== setPendingFilters) {
114
+ t7 = (filterId, value_1) => {
115
+ setPendingFilters((prev) => ({
116
+ ...prev,
117
+ [filterId]: value_1
146
118
  }));
147
- if (adapter_4.getActiveFiltersCount(newValue) === 0) setColumnFilters((prev_1) => prev_1.filter((cf) => cf.id !== filterKey));
148
- else setColumnFilters((prev_2) => prev_2.map((cf_0) => cf_0.id === filterKey ? {
149
- id: filterKey,
150
- value: newValue
151
- } : cf_0));
152
- setFilterChips(chips_0);
153
119
  };
154
- $[18] = _filterAdapters;
155
- $[19] = clearAll;
156
- $[20] = filterState;
157
- $[21] = t7;
158
- } else t7 = $[21];
159
- const deleteChip = t7;
120
+ $[16] = setPendingFilters;
121
+ $[17] = t7;
122
+ } else t7 = $[17];
123
+ const updateFilter = t7;
124
+ const applyFilters = () => {
125
+ setAppliedFilters(_filterAdapters.reduce((acc, adapter_4) => {
126
+ const value_2 = draftFilters[adapter_4.id];
127
+ if (adapter_4.getActiveFiltersCount(value_2) > 0) acc[adapter_4.id] = value_2;
128
+ return acc;
129
+ }, {}));
130
+ setPendingFilters({});
131
+ };
160
132
  let t8;
161
- if ($[22] !== _filterAdapters || $[23] !== filterState) {
162
- t8 = (selectedFilter) => {
163
- const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
164
- if (!adapter_6) return null;
165
- const value_2 = filterState[adapter_6.id];
166
- const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
167
- return adapter_6.renderFilter(value_2, onChange);
133
+ if ($[18] !== setAppliedFilters || $[19] !== setPendingFilters) {
134
+ t8 = () => {
135
+ setPendingFilters({});
136
+ setAppliedFilters({});
168
137
  };
169
- $[22] = _filterAdapters;
170
- $[23] = filterState;
171
- $[24] = t8;
172
- } else t8 = $[24];
173
- const renderFilterContent = t8;
138
+ $[18] = setAppliedFilters;
139
+ $[19] = setPendingFilters;
140
+ $[20] = t8;
141
+ } else t8 = $[20];
142
+ const clearAll = t8;
174
143
  let t9;
175
- if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip) {
176
- t9 = {
144
+ if ($[21] !== _filterAdapters || $[22] !== appliedFilters || $[23] !== setAppliedFilters) {
145
+ t9 = (chip) => {
146
+ const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
147
+ if (!filterKey) return;
148
+ const adapter_5 = _filterAdapters.find((a_1) => a_1.id === filterKey);
149
+ if (!adapter_5) return;
150
+ const currentValue = appliedFilters[filterKey];
151
+ if (currentValue === void 0) return;
152
+ const newValue = adapter_5.fromChip(chip, currentValue);
153
+ setAppliedFilters(adapter_5.getActiveFiltersCount(newValue) === 0 ? Object.fromEntries(Object.entries(appliedFilters).filter((t10$1) => {
154
+ const [key] = t10$1;
155
+ return key !== filterKey;
156
+ })) : {
157
+ ...appliedFilters,
158
+ [filterKey]: newValue
159
+ });
160
+ };
161
+ $[21] = _filterAdapters;
162
+ $[22] = appliedFilters;
163
+ $[23] = setAppliedFilters;
164
+ $[24] = t9;
165
+ } else t9 = $[24];
166
+ const deleteChip = t9;
167
+ const renderFilterContent = (selectedFilter) => {
168
+ const adapter_6 = _filterAdapters.find((a_2) => a_2.id === selectedFilter.id);
169
+ if (!adapter_6) return null;
170
+ const value_3 = draftFilters[adapter_6.id];
171
+ const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
172
+ return adapter_6.renderFilter(value_3, onChange);
173
+ };
174
+ let t10;
175
+ if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip || $[28] !== updateFilter) {
176
+ t10 = {
177
177
  updateFilter,
178
178
  applyFilters,
179
179
  clearAll,
@@ -182,29 +182,31 @@ function useTableFilters(filterAdapters, baseColumns) {
182
182
  $[25] = applyFilters;
183
183
  $[26] = clearAll;
184
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 = {
190
- filterState,
191
- columnFilters,
192
- filterChips,
193
- filterNavItems,
194
- enhancedColumns,
195
- handlers: t9,
196
- renderFilterContent
197
- };
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;
185
+ $[28] = updateFilter;
186
+ $[29] = t10;
187
+ } else t10 = $[29];
188
+ return {
189
+ filterState: draftFilters,
190
+ columnFilters,
191
+ filterChips,
192
+ filterNavItems,
193
+ enhancedColumns,
194
+ handlers: t10,
195
+ renderFilterContent
196
+ };
197
+ }
198
+ function _temp2(t0) {
199
+ const [id_0, value] = t0;
200
+ return {
201
+ id: id_0,
202
+ value
203
+ };
204
+ }
205
+ function _temp(state, adapter) {
206
+ return {
207
+ ...state,
208
+ [adapter.id]: adapter.initialValue
209
+ };
208
210
  }
209
211
 
210
212
  //#endregion
@@ -4,21 +4,42 @@ import { ReactNode } from "react";
4
4
  import { ColumnDef } from "@tanstack/react-table";
5
5
 
6
6
  //#region src/components/ds-table/filters/hooks/use-table-filters.d.ts
7
+ interface UseTableFiltersOptions<TData, TValue, TCellValue> {
8
+ /**
9
+ * Array of filter adapters that define filter behavior
10
+ */
11
+ filterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[];
12
+ /**
13
+ * Base column definitions
14
+ */
15
+ baseColumns?: ColumnDef<TData>[];
16
+ /**
17
+ * Controlled mode: External applied filters (source of truth).
18
+ * When provided with onFiltersChange, the hook operates in controlled mode.
19
+ * Keys must match adapter IDs.
20
+ */
21
+ appliedFilters?: FilterState<TValue>;
22
+ /**
23
+ * Controlled mode: Callback when filters change.
24
+ * Called by applyFilters(), deleteChip(), clearAll().
25
+ */
26
+ onFiltersChange?: (filters: FilterState<TValue>) => void;
27
+ }
7
28
  interface UseTableFiltersResult<TData, TValue> {
8
29
  /**
9
- * Current filter state
30
+ * Current draft filter state (uncommitted user selections)
10
31
  */
11
32
  filterState: FilterState<TValue>;
12
33
  /**
13
- * Column filters for TanStack Table
34
+ * Column filters (derived from applied state)
14
35
  */
15
36
  columnFilters: ColumnFilterState<TValue>[];
16
37
  /**
17
- * Filter chips for display
38
+ * Filter chips for display (derived from applied state)
18
39
  */
19
40
  filterChips: ChipItem[];
20
41
  /**
21
- * Filter navigation items with counts
42
+ * Filter navigation items with active counts
22
43
  */
23
44
  filterNavItems: FilterNavItem[];
24
45
  /**
@@ -26,40 +47,52 @@ interface UseTableFiltersResult<TData, TValue> {
26
47
  */
27
48
  enhancedColumns: ColumnDef<TData>[];
28
49
  /**
29
- * Handlers
50
+ * Handlers for filter operations
30
51
  */
31
52
  handlers: {
32
- /**
33
- * Update a specific filter's value
34
- */
53
+ /** Update a specific filter's draft value */
35
54
  updateFilter: (filterId: string, value: TValue) => void;
36
- /**
37
- * Apply all filters (converts to TanStack format)
38
- */
55
+ /** Commit draft state to applied state */
39
56
  applyFilters: () => void;
40
- /**
41
- * Clear all filters
42
- */
57
+ /** Clear all filters */
43
58
  clearAll: () => void;
44
- /**
45
- * Delete a specific chip
46
- */
59
+ /** Delete a specific filter chip */
47
60
  deleteChip: (chip: ChipItem) => void;
48
61
  };
49
62
  /**
50
- * Render function for filter modal content
63
+ * Render function for filter content
51
64
  */
52
65
  renderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;
53
66
  }
54
67
  /**
55
- * Hook to orchestrate table filtering with adapters
56
- * Manages filter state, generates chips, handles column definitions
68
+ * Hook to orchestrate table filtering with adapters.
69
+ * Manages filter state, generates chips, and handles column definitions.
70
+ *
71
+ * **Uncontrolled mode** (default): Filters are managed internally.
72
+ * **Controlled mode**: Filters are managed externally via appliedFilters/onFiltersChange.
73
+ *
74
+ * @example
75
+ * // Uncontrolled mode
76
+ * const { filterChips, handlers } = useTableFilters({
77
+ * filterAdapters: adapters,
78
+ * baseColumns: columns,
79
+ * });
57
80
  *
58
- * @param filterAdapters Array of filter adapters
59
- * @param baseColumns Base column definitions (optional)
60
- * @returns Complete filter management system
81
+ * @example
82
+ * // Controlled mode (e.g., URL-driven filtering)
83
+ * const { filterChips, handlers } = useTableFilters({
84
+ * filterAdapters: adapters,
85
+ * baseColumns: columns,
86
+ * appliedFilters: filtersFromUrl,
87
+ * onFiltersChange: (filters) => updateUrlAndRefetch(filters),
88
+ * });
61
89
  */
62
- declare function useTableFilters<TData, TValue, TCellValue>(filterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[], baseColumns?: ColumnDef<TData>[]): UseTableFiltersResult<TData, TValue>;
90
+ declare function useTableFilters<TData, TValue, TCellValue>({
91
+ filterAdapters,
92
+ baseColumns,
93
+ appliedFilters: externalAppliedFilters,
94
+ onFiltersChange: setExternalAppliedFilters
95
+ }: UseTableFiltersOptions<TData, TValue, TCellValue>): UseTableFiltersResult<TData, TValue>;
63
96
  //#endregion
64
- export { UseTableFiltersResult, useTableFilters };
97
+ export { UseTableFiltersOptions, UseTableFiltersResult, useTableFilters };
65
98
  //# sourceMappingURL=use-table-filters.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-filters.d.cts","names":[],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":[],"mappings":";;;;;;UAWiB;;AAAjB;;EAIc,WAAA,EAAA,WAAA,CAAY,MAAZ,CAAA;EAKoB;;;EAUjB,aAAA,EAVD,iBAUC,CAViB,MAUjB,CAAA,EAAA;EAKW;;;EAwBP,WAAA,EAlCP,QAkCO,EAAA;EAMkB;;;EAWvB,cAAA,EA9CC,aA8Cc,EAAA;EACA;;;EAAd,eAAA,EA1CC,SA0CD,CA1CW,KA0CX,CAAA,EAAA;EAA6C;;;EAErC,QAAA,EAAA;IAAO;;;4CAnCU;;;;;;;;;;;;uBAerB;;;;;wCAMkB,kBAAkB;;;;;;;;;;iBAWzC,2DACC,cAAc,OAAO,QAAQ,gBAAgB,4BAC/C,UAAU,WACtB,sBAAsB,OAAO"}
1
+ {"version":3,"file":"use-table-filters.d.cts","names":[],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":[],"mappings":";;;;;;UAWiB;;AAAjB;;EAIsC,cAAA,EAArB,aAAqB,CAAP,KAAO,EAAA,MAAA,EAAQ,UAAR,CAAA,EAAA,GAAwB,UAAxB,EAAA;EAAQ;;;EAKrB,WAAA,CAAA,EAAV,SAAU,CAAA,KAAA,CAAA,EAAA;EAAV;;;;;EAayB,cAAA,CAAA,EANtB,WAMsB,CANV,MAMU,CAAA;EAGvB;;;;EASD,eAAA,CAAA,EAAA,CAAA,OAAA,EAZa,WAYb,CAZyB,MAYzB,CAAA,EAAA,GAAA,IAAA;;AAUC,UAnBA,qBAmBA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAKW;;;EAaP,WAAA,EAjCP,WAiCO,CAjCK,MAiCL,CAAA;EAMkB;;;EA0BvB,aAAA,EA5DA,iBA4De,CA5DG,MA4DH,CAAA,EAAA;EAC9B;;;EAGiB,WAAA,EA3DJ,QA2DI,EAAA;EACQ;;;EAAvB,cAAA,EAvDc,aAuDd,EAAA;EAA0E;;;EAAD,eAAA,EAlD1D,SAkD0D,CAlDhD,KAkDgD,CAAA,EAAA;;;;;;4CA3ClC;;;;;;uBAMrB;;;;;wCAMkB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BzC;;;kBAGC;mBACC;GACf,uBAAuB,OAAO,QAAQ,cAAc,sBAAsB,OAAO"}