@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
@@ -5,21 +5,42 @@ import { ReactNode } from "react";
5
5
  import { ColumnDef } from "@tanstack/react-table";
6
6
 
7
7
  //#region src/components/ds-table/filters/hooks/use-table-filters.d.ts
8
+ interface UseTableFiltersOptions<TData, TValue, TCellValue> {
9
+ /**
10
+ * Array of filter adapters that define filter behavior
11
+ */
12
+ filterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[];
13
+ /**
14
+ * Base column definitions
15
+ */
16
+ baseColumns?: ColumnDef<TData>[];
17
+ /**
18
+ * Controlled mode: External applied filters (source of truth).
19
+ * When provided with onFiltersChange, the hook operates in controlled mode.
20
+ * Keys must match adapter IDs.
21
+ */
22
+ appliedFilters?: FilterState<TValue>;
23
+ /**
24
+ * Controlled mode: Callback when filters change.
25
+ * Called by applyFilters(), deleteChip(), clearAll().
26
+ */
27
+ onFiltersChange?: (filters: FilterState<TValue>) => void;
28
+ }
8
29
  interface UseTableFiltersResult<TData, TValue> {
9
30
  /**
10
- * Current filter state
31
+ * Current draft filter state (uncommitted user selections)
11
32
  */
12
33
  filterState: FilterState<TValue>;
13
34
  /**
14
- * Column filters for TanStack Table
35
+ * Column filters (derived from applied state)
15
36
  */
16
37
  columnFilters: ColumnFilterState<TValue>[];
17
38
  /**
18
- * Filter chips for display
39
+ * Filter chips for display (derived from applied state)
19
40
  */
20
41
  filterChips: ChipItem[];
21
42
  /**
22
- * Filter navigation items with counts
43
+ * Filter navigation items with active counts
23
44
  */
24
45
  filterNavItems: FilterNavItem[];
25
46
  /**
@@ -27,40 +48,52 @@ interface UseTableFiltersResult<TData, TValue> {
27
48
  */
28
49
  enhancedColumns: ColumnDef<TData>[];
29
50
  /**
30
- * Handlers
51
+ * Handlers for filter operations
31
52
  */
32
53
  handlers: {
33
- /**
34
- * Update a specific filter's value
35
- */
54
+ /** Update a specific filter's draft value */
36
55
  updateFilter: (filterId: string, value: TValue) => void;
37
- /**
38
- * Apply all filters (converts to TanStack format)
39
- */
56
+ /** Commit draft state to applied state */
40
57
  applyFilters: () => void;
41
- /**
42
- * Clear all filters
43
- */
58
+ /** Clear all filters */
44
59
  clearAll: () => void;
45
- /**
46
- * Delete a specific chip
47
- */
60
+ /** Delete a specific filter chip */
48
61
  deleteChip: (chip: ChipItem) => void;
49
62
  };
50
63
  /**
51
- * Render function for filter modal content
64
+ * Render function for filter content
52
65
  */
53
66
  renderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;
54
67
  }
55
68
  /**
56
- * Hook to orchestrate table filtering with adapters
57
- * Manages filter state, generates chips, handles column definitions
69
+ * Hook to orchestrate table filtering with adapters.
70
+ * Manages filter state, generates chips, and handles column definitions.
71
+ *
72
+ * **Uncontrolled mode** (default): Filters are managed internally.
73
+ * **Controlled mode**: Filters are managed externally via appliedFilters/onFiltersChange.
74
+ *
75
+ * @example
76
+ * // Uncontrolled mode
77
+ * const { filterChips, handlers } = useTableFilters({
78
+ * filterAdapters: adapters,
79
+ * baseColumns: columns,
80
+ * });
58
81
  *
59
- * @param filterAdapters Array of filter adapters
60
- * @param baseColumns Base column definitions (optional)
61
- * @returns Complete filter management system
82
+ * @example
83
+ * // Controlled mode (e.g., URL-driven filtering)
84
+ * const { filterChips, handlers } = useTableFilters({
85
+ * filterAdapters: adapters,
86
+ * baseColumns: columns,
87
+ * appliedFilters: filtersFromUrl,
88
+ * onFiltersChange: (filters) => updateUrlAndRefetch(filters),
89
+ * });
62
90
  */
63
- declare function useTableFilters<TData, TValue, TCellValue>(filterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[], baseColumns?: ColumnDef<TData>[]): UseTableFiltersResult<TData, TValue>;
91
+ declare function useTableFilters<TData, TValue, TCellValue>({
92
+ filterAdapters,
93
+ baseColumns,
94
+ appliedFilters: externalAppliedFilters,
95
+ onFiltersChange: setExternalAppliedFilters
96
+ }: UseTableFiltersOptions<TData, TValue, TCellValue>): UseTableFiltersResult<TData, TValue>;
64
97
  //#endregion
65
- export { UseTableFiltersResult, useTableFilters };
98
+ export { UseTableFiltersOptions, UseTableFiltersResult, useTableFilters };
66
99
  //# sourceMappingURL=use-table-filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-filters.d.ts","names":[],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":[],"mappings":";;;;;;;UAWiB;;;AAAjB;EAI0B,WAAA,EAAZ,WAAY,CAAA,MAAA,CAAA;EAAZ;;;EAUA,aAAA,EALE,iBAKF,CALoB,MAKpB,CAAA,EAAA;EAKG;;;EAcyB,WAAA,EAnB5B,QAmB4B,EAAA;EAerB;;;EAM6C,cAAA,EAnCjD,aAmCiD,EAAA;EAWlD;;;EAC8B,eAAA,EA1C5B,SA0C4B,CA1ClB,KA0CkB,CAAA,EAAA;EAA7B;;;EACF,QAAA,EAAA;IACU;;;IAAD,YAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,KAAA,EAnCkB,MAmClB,EAAA,GAAA,IAAA;;;;;;;;;;;;uBApBH;;;;;wCAMkB,kBAAkB;;;;;;;;;;iBAWzC,2DACC,cAAc,OAAO,QAAQ,gBAAgB,4BAC/C,UAAU,WACtB,sBAAsB,OAAO"}
1
+ {"version":3,"file":"use-table-filters.d.ts","names":[],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":[],"mappings":";;;;;;;UAWiB;;;AAAjB;EAI+B,cAAA,EAAd,aAAc,CAAA,KAAA,EAAO,MAAP,EAAe,UAAf,CAAA,EAAA,GAA+B,UAA/B,EAAA;EAAO;;;EAAwB,WAAA,CAAA,EAK/C,SAL+C,CAKrC,KALqC,CAAA,EAAA;EAKrC;;;;;EAaI,cAAA,CAAA,EANX,WAMW,CANC,MAMD,CAAA;EAAW;AAGxC;;;EASkC,eAAA,CAAA,EAAA,CAAA,OAAA,EAZL,WAYK,CAZO,MAYP,CAAA,EAAA,GAAA,IAAA;;AAKpB,UAdG,qBAcH,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAKG;;;EAYyB,WAAA,EA3B5B,WA2B4B,CA3BhB,MA2BgB,CAAA;EAMrB;;;EAM6C,aAAA,EAlClD,iBAkCkD,CAlChC,MAkCgC,CAAA,EAAA;EA0BlD;;;EAGC,WAAA,EA1DH,QA0DG,EAAA;EACC;;;EACuB,cAAA,EAvDxB,aAuDwB,EAAA;EAAtC;;;EAAoD,eAAA,EAlDrC,SAkDqC,CAlD3B,KAkD2B,CAAA,EAAA;EAAqB;;;;;4CA3ClC;;;;;;uBAMrB;;;;;wCAMkB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BzC;;;kBAGC;mBACC;GACf,uBAAuB,OAAO,QAAQ,cAAc,sBAAsB,OAAO"}
@@ -3,176 +3,176 @@ import { useState } from "react";
3
3
 
4
4
  //#region src/components/ds-table/filters/hooks/use-table-filters.ts
5
5
  /**
6
- * Hook to orchestrate table filtering with adapters
7
- * Manages filter state, generates chips, handles column definitions
6
+ * Hook to orchestrate table filtering with adapters.
7
+ * Manages filter state, generates chips, and handles column definitions.
8
8
  *
9
- * @param filterAdapters Array of filter adapters
10
- * @param baseColumns Base column definitions (optional)
11
- * @returns Complete filter management system
9
+ * **Uncontrolled mode** (default): Filters are managed internally.
10
+ * **Controlled mode**: Filters are managed externally via appliedFilters/onFiltersChange.
11
+ *
12
+ * @example
13
+ * // Uncontrolled mode
14
+ * const { filterChips, handlers } = useTableFilters({
15
+ * filterAdapters: adapters,
16
+ * baseColumns: columns,
17
+ * });
18
+ *
19
+ * @example
20
+ * // Controlled mode (e.g., URL-driven filtering)
21
+ * const { filterChips, handlers } = useTableFilters({
22
+ * filterAdapters: adapters,
23
+ * baseColumns: columns,
24
+ * appliedFilters: filtersFromUrl,
25
+ * onFiltersChange: (filters) => updateUrlAndRefetch(filters),
26
+ * });
12
27
  */
13
- function useTableFilters(filterAdapters, baseColumns) {
14
- const $ = c(37);
28
+ function useTableFilters(t0) {
29
+ const $ = c(30);
30
+ const { filterAdapters, baseColumns, appliedFilters: externalAppliedFilters, onFiltersChange: setExternalAppliedFilters } = t0;
15
31
  const _filterAdapters = filterAdapters;
16
- let initialState;
17
- if ($[0] !== _filterAdapters) {
18
- initialState = {};
19
- _filterAdapters.forEach((adapter) => {
20
- initialState[adapter.id] = adapter.initialValue;
21
- });
22
- $[0] = _filterAdapters;
23
- $[1] = initialState;
24
- } else initialState = $[1];
25
- const [filterState, setFilterState] = useState(initialState);
26
- let t0;
27
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
28
- t0 = [];
29
- $[2] = t0;
30
- } else t0 = $[2];
31
- const [columnFilters, setColumnFilters] = useState(t0);
32
+ const isControlled = externalAppliedFilters !== void 0 && setExternalAppliedFilters !== void 0;
33
+ const initialFilters = _filterAdapters.reduce(_temp, {});
32
34
  let t1;
33
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
34
- t1 = [];
35
- $[3] = t1;
36
- } else t1 = $[3];
37
- const [filterChips, setFilterChips] = useState(t1);
35
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
36
+ t1 = {};
37
+ $[0] = t1;
38
+ } else t1 = $[0];
39
+ const [internalAppliedFilters, setInternalAppliedFilters] = useState(t1);
38
40
  let t2;
39
- if ($[4] !== _filterAdapters || $[5] !== filterState) {
40
- let t3$1;
41
- if ($[7] !== filterState) {
42
- t3$1 = (adapter_0) => ({
43
- id: adapter_0.id,
44
- label: adapter_0.label,
45
- count: adapter_0.getActiveFiltersCount(filterState[adapter_0.id])
46
- });
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;
41
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
42
+ t2 = {};
43
+ $[1] = t2;
44
+ } else t2 = $[1];
45
+ const [pendingFilters, setPendingFilters] = useState(t2);
46
+ const appliedFilters = isControlled ? externalAppliedFilters : internalAppliedFilters;
47
+ const setAppliedFilters = isControlled ? setExternalAppliedFilters : setInternalAppliedFilters;
48
+ const draftFilters = {
49
+ ...initialFilters,
50
+ ...appliedFilters,
51
+ ...pendingFilters
52
+ };
56
53
  let t3;
57
- if ($[9] !== _filterAdapters || $[10] !== baseColumns) {
58
- t3 = !baseColumns ? [] : baseColumns.map((col) => {
59
- const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
60
- if (adapter_1) {
61
- const cellRenderer = adapter_1.cellRenderer;
62
- return {
63
- ...col,
64
- filterFn: adapter_1.columnFilterFn,
65
- ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
66
- };
67
- }
68
- return col;
69
- });
70
- $[9] = _filterAdapters;
71
- $[10] = baseColumns;
72
- $[11] = t3;
73
- } else t3 = $[11];
74
- const enhancedColumns = t3;
54
+ if ($[2] !== appliedFilters) {
55
+ t3 = Object.entries(appliedFilters);
56
+ $[2] = appliedFilters;
57
+ $[3] = t3;
58
+ } else t3 = $[3];
75
59
  let t4;
76
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
77
- t4 = (filterId, value) => {
78
- setFilterState((prev) => ({
79
- ...prev,
80
- [filterId]: value
81
- }));
82
- };
83
- $[12] = t4;
84
- } else t4 = $[12];
85
- const updateFilter = t4;
60
+ if ($[4] !== _filterAdapters || $[5] !== appliedFilters || $[6] !== t3) {
61
+ t4 = t3.filter((t5$1) => {
62
+ const [id] = t5$1;
63
+ const adapter_0 = _filterAdapters.find((a) => a.id === id);
64
+ return adapter_0 ? adapter_0.getActiveFiltersCount(appliedFilters[id]) > 0 : false;
65
+ }).map(_temp2);
66
+ $[4] = _filterAdapters;
67
+ $[5] = appliedFilters;
68
+ $[6] = t3;
69
+ $[7] = t4;
70
+ } else t4 = $[7];
71
+ const columnFilters = t4;
86
72
  let t5;
87
- if ($[13] !== _filterAdapters || $[14] !== filterState) {
88
- t5 = () => {
89
- const filters = [];
90
- const chips = [];
91
- _filterAdapters.forEach((adapter_2) => {
92
- const value_0 = filterState[adapter_2.id];
93
- if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
94
- id: adapter_2.id,
95
- value: value_0
96
- });
97
- const adapterChips = adapter_2.toChips(value_0);
98
- chips.push(...adapterChips);
99
- });
100
- setColumnFilters(filters);
101
- setFilterChips(chips);
102
- };
103
- $[13] = _filterAdapters;
104
- $[14] = filterState;
105
- $[15] = t5;
106
- } else t5 = $[15];
107
- const applyFilters = t5;
73
+ if ($[8] !== _filterAdapters || $[9] !== appliedFilters) {
74
+ let t6$1;
75
+ if ($[11] !== appliedFilters) {
76
+ t6$1 = (adapter_1) => {
77
+ const value_0 = appliedFilters[adapter_1.id];
78
+ return value_0 !== void 0 ? adapter_1.toChips(value_0) : [];
79
+ };
80
+ $[11] = appliedFilters;
81
+ $[12] = t6$1;
82
+ } else t6$1 = $[12];
83
+ t5 = _filterAdapters.flatMap(t6$1);
84
+ $[8] = _filterAdapters;
85
+ $[9] = appliedFilters;
86
+ $[10] = t5;
87
+ } else t5 = $[10];
88
+ const filterChips = t5;
89
+ const filterNavItems = _filterAdapters.map((adapter_2) => ({
90
+ id: adapter_2.id,
91
+ label: adapter_2.label,
92
+ count: adapter_2.getActiveFiltersCount(draftFilters[adapter_2.id])
93
+ }));
108
94
  let t6;
109
- if ($[16] !== _filterAdapters) {
110
- t6 = () => {
111
- const resetState = {};
112
- _filterAdapters.forEach((adapter_3) => {
113
- resetState[adapter_3.id] = adapter_3.reset();
114
- });
115
- setFilterState(resetState);
116
- setColumnFilters([]);
117
- setFilterChips([]);
118
- };
119
- $[16] = _filterAdapters;
120
- $[17] = t6;
121
- } else t6 = $[17];
122
- const clearAll = t6;
95
+ if ($[13] !== _filterAdapters || $[14] !== baseColumns) {
96
+ t6 = !baseColumns ? [] : baseColumns.map((col) => {
97
+ const adapter_3 = _filterAdapters.find((a_0) => a_0.id === col.id);
98
+ if (!adapter_3) return col;
99
+ const cellRenderer = adapter_3.cellRenderer;
100
+ return {
101
+ ...col,
102
+ filterFn: adapter_3.columnFilterFn,
103
+ ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
104
+ };
105
+ });
106
+ $[13] = _filterAdapters;
107
+ $[14] = baseColumns;
108
+ $[15] = t6;
109
+ } else t6 = $[15];
110
+ const enhancedColumns = t6;
123
111
  let t7;
124
- if ($[18] !== _filterAdapters || $[19] !== clearAll || $[20] !== filterState) {
125
- t7 = (chip) => {
126
- const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
127
- if (!filterKey) return;
128
- const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
129
- if (!adapter_4) return;
130
- const currentValue = filterState[filterKey];
131
- const newValue = adapter_4.fromChip(chip, currentValue);
132
- const chips_0 = [];
133
- _filterAdapters.forEach((adapter_5) => {
134
- const value_1 = adapter_5.id === filterKey ? newValue : filterState[adapter_5.id];
135
- const adapterChips_0 = adapter_5.toChips(value_1);
136
- chips_0.push(...adapterChips_0);
137
- });
138
- if (chips_0.length === 0) {
139
- clearAll();
140
- return;
141
- }
142
- setFilterState((prev_0) => ({
143
- ...prev_0,
144
- [filterKey]: newValue
112
+ if ($[16] !== setPendingFilters) {
113
+ t7 = (filterId, value_1) => {
114
+ setPendingFilters((prev) => ({
115
+ ...prev,
116
+ [filterId]: value_1
145
117
  }));
146
- if (adapter_4.getActiveFiltersCount(newValue) === 0) setColumnFilters((prev_1) => prev_1.filter((cf) => cf.id !== filterKey));
147
- else setColumnFilters((prev_2) => prev_2.map((cf_0) => cf_0.id === filterKey ? {
148
- id: filterKey,
149
- value: newValue
150
- } : cf_0));
151
- setFilterChips(chips_0);
152
118
  };
153
- $[18] = _filterAdapters;
154
- $[19] = clearAll;
155
- $[20] = filterState;
156
- $[21] = t7;
157
- } else t7 = $[21];
158
- const deleteChip = t7;
119
+ $[16] = setPendingFilters;
120
+ $[17] = t7;
121
+ } else t7 = $[17];
122
+ const updateFilter = t7;
123
+ const applyFilters = () => {
124
+ setAppliedFilters(_filterAdapters.reduce((acc, adapter_4) => {
125
+ const value_2 = draftFilters[adapter_4.id];
126
+ if (adapter_4.getActiveFiltersCount(value_2) > 0) acc[adapter_4.id] = value_2;
127
+ return acc;
128
+ }, {}));
129
+ setPendingFilters({});
130
+ };
159
131
  let t8;
160
- if ($[22] !== _filterAdapters || $[23] !== filterState) {
161
- t8 = (selectedFilter) => {
162
- const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
163
- if (!adapter_6) return null;
164
- const value_2 = filterState[adapter_6.id];
165
- const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
166
- return adapter_6.renderFilter(value_2, onChange);
132
+ if ($[18] !== setAppliedFilters || $[19] !== setPendingFilters) {
133
+ t8 = () => {
134
+ setPendingFilters({});
135
+ setAppliedFilters({});
167
136
  };
168
- $[22] = _filterAdapters;
169
- $[23] = filterState;
170
- $[24] = t8;
171
- } else t8 = $[24];
172
- const renderFilterContent = t8;
137
+ $[18] = setAppliedFilters;
138
+ $[19] = setPendingFilters;
139
+ $[20] = t8;
140
+ } else t8 = $[20];
141
+ const clearAll = t8;
173
142
  let t9;
174
- if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip) {
175
- t9 = {
143
+ if ($[21] !== _filterAdapters || $[22] !== appliedFilters || $[23] !== setAppliedFilters) {
144
+ t9 = (chip) => {
145
+ const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
146
+ if (!filterKey) return;
147
+ const adapter_5 = _filterAdapters.find((a_1) => a_1.id === filterKey);
148
+ if (!adapter_5) return;
149
+ const currentValue = appliedFilters[filterKey];
150
+ if (currentValue === void 0) return;
151
+ const newValue = adapter_5.fromChip(chip, currentValue);
152
+ setAppliedFilters(adapter_5.getActiveFiltersCount(newValue) === 0 ? Object.fromEntries(Object.entries(appliedFilters).filter((t10$1) => {
153
+ const [key] = t10$1;
154
+ return key !== filterKey;
155
+ })) : {
156
+ ...appliedFilters,
157
+ [filterKey]: newValue
158
+ });
159
+ };
160
+ $[21] = _filterAdapters;
161
+ $[22] = appliedFilters;
162
+ $[23] = setAppliedFilters;
163
+ $[24] = t9;
164
+ } else t9 = $[24];
165
+ const deleteChip = t9;
166
+ const renderFilterContent = (selectedFilter) => {
167
+ const adapter_6 = _filterAdapters.find((a_2) => a_2.id === selectedFilter.id);
168
+ if (!adapter_6) return null;
169
+ const value_3 = draftFilters[adapter_6.id];
170
+ const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
171
+ return adapter_6.renderFilter(value_3, onChange);
172
+ };
173
+ let t10;
174
+ if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip || $[28] !== updateFilter) {
175
+ t10 = {
176
176
  updateFilter,
177
177
  applyFilters,
178
178
  clearAll,
@@ -181,29 +181,31 @@ function useTableFilters(filterAdapters, baseColumns) {
181
181
  $[25] = applyFilters;
182
182
  $[26] = clearAll;
183
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 = {
189
- filterState,
190
- columnFilters,
191
- filterChips,
192
- filterNavItems,
193
- enhancedColumns,
194
- handlers: t9,
195
- renderFilterContent
196
- };
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;
184
+ $[28] = updateFilter;
185
+ $[29] = t10;
186
+ } else t10 = $[29];
187
+ return {
188
+ filterState: draftFilters,
189
+ columnFilters,
190
+ filterChips,
191
+ filterNavItems,
192
+ enhancedColumns,
193
+ handlers: t10,
194
+ renderFilterContent
195
+ };
196
+ }
197
+ function _temp2(t0) {
198
+ const [id_0, value] = t0;
199
+ return {
200
+ id: id_0,
201
+ value
202
+ };
203
+ }
204
+ function _temp(state, adapter) {
205
+ return {
206
+ ...state,
207
+ [adapter.id]: adapter.initialValue
208
+ };
207
209
  }
208
210
 
209
211
  //#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","UseTableFiltersOptions","filterAdapters","TData","TValue","TCellValue","baseColumns","appliedFilters","onFiltersChange","filters","UseTableFiltersResult","filterState","columnFilters","filterChips","filterNavItems","enhancedColumns","handlers","updateFilter","filterId","value","applyFilters","clearAll","deleteChip","chip","renderFilterContent","selectedFilter","useTableFilters","t0","$","_c","externalAppliedFilters","setExternalAppliedFilters","_filterAdapters","isControlled","undefined","initialFilters","reduce","_temp","t1","Symbol","for","internalAppliedFilters","setInternalAppliedFilters","t2","pendingFilters","setPendingFilters","setAppliedFilters","draftFilters","t3","Object","entries","t4","filter","t5","id","adapter_0","find","a","adapter","getActiveFiltersCount","map","_temp2","t6","adapter_1","value_0","toChips","flatMap","adapter_2","label","count","col","adapter_3","a_0","cellRenderer","filterFn","columnFilterFn","cell","info","getValue","t7","value_1","prev","filtersToApply","acc","adapter_4","value_2","t8","t9","filterKey","metadata","key","adapter_5","a_1","currentValue","newValue","fromChip","newFilters","fromEntries","t10","adapter_6","a_2","value_3","onChange","newValue_0","renderFilter","id_0","state","initialValue"],"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 UseTableFiltersOptions<TData, TValue, TCellValue> {\n\t/**\n\t * Array of filter adapters that define filter behavior\n\t */\n\tfilterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[];\n\n\t/**\n\t * Base column definitions\n\t */\n\tbaseColumns?: ColumnDef<TData>[];\n\n\t/**\n\t * Controlled mode: External applied filters (source of truth).\n\t * When provided with onFiltersChange, the hook operates in controlled mode.\n\t * Keys must match adapter IDs.\n\t */\n\tappliedFilters?: FilterState<TValue>;\n\n\t/**\n\t * Controlled mode: Callback when filters change.\n\t * Called by applyFilters(), deleteChip(), clearAll().\n\t */\n\tonFiltersChange?: (filters: FilterState<TValue>) => void;\n}\n\nexport interface UseTableFiltersResult<TData, TValue> {\n\t/**\n\t * Current draft filter state (uncommitted user selections)\n\t */\n\tfilterState: FilterState<TValue>;\n\n\t/**\n\t * Column filters (derived from applied state)\n\t */\n\tcolumnFilters: ColumnFilterState<TValue>[];\n\n\t/**\n\t * Filter chips for display (derived from applied state)\n\t */\n\tfilterChips: ChipItem[];\n\n\t/**\n\t * Filter navigation items with active 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 for filter operations\n\t */\n\thandlers: {\n\t\t/** Update a specific filter's draft value */\n\t\tupdateFilter: (filterId: string, value: TValue) => void;\n\t\t/** Commit draft state to applied state */\n\t\tapplyFilters: () => void;\n\t\t/** Clear all filters */\n\t\tclearAll: () => void;\n\t\t/** Delete a specific filter chip */\n\t\tdeleteChip: (chip: ChipItem) => void;\n\t};\n\n\t/**\n\t * Render function for filter 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, and handles column definitions.\n *\n * **Uncontrolled mode** (default): Filters are managed internally.\n * **Controlled mode**: Filters are managed externally via appliedFilters/onFiltersChange.\n *\n * @example\n * // Uncontrolled mode\n * const { filterChips, handlers } = useTableFilters({\n * filterAdapters: adapters,\n * baseColumns: columns,\n * });\n *\n * @example\n * // Controlled mode (e.g., URL-driven filtering)\n * const { filterChips, handlers } = useTableFilters({\n * filterAdapters: adapters,\n * baseColumns: columns,\n * appliedFilters: filtersFromUrl,\n * onFiltersChange: (filters) => updateUrlAndRefetch(filters),\n * });\n */\nexport function useTableFilters<TData, TValue, TCellValue>({\n\tfilterAdapters,\n\tbaseColumns,\n\tappliedFilters: externalAppliedFilters,\n\tonFiltersChange: setExternalAppliedFilters,\n}: UseTableFiltersOptions<TData, TValue, TCellValue>): 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\tconst isControlled = externalAppliedFilters !== undefined && setExternalAppliedFilters !== undefined;\n\n\tconst initialFilters = _filterAdapters.reduce<FilterState<TValue>>(\n\t\t(state, adapter) => ({ ...state, [adapter.id]: adapter.initialValue }),\n\t\t{},\n\t);\n\n\tconst [internalAppliedFilters, setInternalAppliedFilters] = useState<FilterState<TValue>>({});\n\tconst [pendingFilters, setPendingFilters] = useState<FilterState<TValue>>({});\n\n\tconst appliedFilters = isControlled ? externalAppliedFilters : internalAppliedFilters;\n\tconst setAppliedFilters = isControlled ? setExternalAppliedFilters : setInternalAppliedFilters;\n\n\tconst draftFilters = { ...initialFilters, ...appliedFilters, ...pendingFilters };\n\n\tconst columnFilters: ColumnFilterState<TValue>[] = Object.entries(appliedFilters)\n\t\t.filter(([id]) => {\n\t\t\tconst adapter = _filterAdapters.find((a) => a.id === id);\n\t\t\treturn adapter ? adapter.getActiveFiltersCount(appliedFilters[id] as TValue) > 0 : false;\n\t\t})\n\t\t.map(([id, value]) => ({ id, value }));\n\n\tconst filterChips = _filterAdapters.flatMap((adapter) => {\n\t\tconst value = appliedFilters[adapter.id];\n\t\treturn value !== undefined ? adapter.toChips(value) : [];\n\t});\n\n\tconst filterNavItems: FilterNavItem[] = _filterAdapters.map((adapter) => ({\n\t\tid: adapter.id,\n\t\tlabel: adapter.label,\n\t\tcount: adapter.getActiveFiltersCount(draftFilters[adapter.id] as TValue),\n\t}));\n\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\t\t\t\tif (!adapter) {\n\t\t\t\t\treturn col;\n\t\t\t\t}\n\n\t\t\t\tconst cellRenderer = adapter.cellRenderer;\n\t\t\t\treturn {\n\t\t\t\t\t...col,\n\t\t\t\t\tfilterFn: adapter.columnFilterFn,\n\t\t\t\t\t...(cellRenderer && {\n\t\t\t\t\t\tcell: (info: CellContext<TData, TCellValue>) => cellRenderer(info.getValue()),\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t});\n\n\tconst updateFilter = (filterId: string, value: TValue) => {\n\t\tsetPendingFilters((prev) => ({ ...prev, [filterId]: value }));\n\t};\n\n\tconst applyFilters = () => {\n\t\tconst filtersToApply = _filterAdapters.reduce<FilterState<TValue>>((acc, adapter) => {\n\t\t\tconst value = draftFilters[adapter.id] as TValue;\n\t\t\tif (adapter.getActiveFiltersCount(value) > 0) {\n\t\t\t\tacc[adapter.id] = value;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\tsetAppliedFilters(filtersToApply);\n\t\tsetPendingFilters({});\n\t};\n\n\tconst clearAll = () => {\n\t\tsetPendingFilters({});\n\t\tsetAppliedFilters({});\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 = appliedFilters[filterKey];\n\t\tif (currentValue === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newValue = adapter.fromChip(chip, currentValue);\n\n\t\tconst newFilters =\n\t\t\tadapter.getActiveFiltersCount(newValue) === 0\n\t\t\t\t? Object.fromEntries(Object.entries(appliedFilters).filter(([key]) => key !== filterKey))\n\t\t\t\t: { ...appliedFilters, [filterKey]: newValue };\n\n\t\tsetAppliedFilters(newFilters);\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 = draftFilters[adapter.id] as TValue;\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: draftFilters,\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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"}
@@ -5,7 +5,7 @@ import "./components/checkbox-filter/index.js";
5
5
  import { CheckboxFilterAdapterConfig, createCheckboxFilterAdapter } from "./adapters/create-checkbox-filter-adapter.js";
6
6
  import { DualRangeFilterAdapterConfig, DualRangeFilterValue, RangeValue, createDualRangeFilterAdapter } from "./adapters/create-dual-range-filter-adapter.js";
7
7
  import "./adapters/index.js";
8
- import { UseTableFiltersResult, useTableFilters } from "./hooks/use-table-filters.js";
8
+ import { UseTableFiltersOptions, UseTableFiltersResult, useTableFilters } from "./hooks/use-table-filters.js";
9
9
  import "./hooks/index.js";
10
10
  import { RangeFilterProps, RangeFilterValue } from "./components/range-filter/range-filter.js";
11
11
  import "./components/range-filter/index.js";
@@ -5,7 +5,7 @@ import { FilterAdapterConfig, createFilterAdapter } from "./filters/adapters/cre
5
5
  import { CheckboxFilterItem, CheckboxFilterProps } from "./filters/components/checkbox-filter/checkbox-filter.js";
6
6
  import { CheckboxFilterAdapterConfig, createCheckboxFilterAdapter } from "./filters/adapters/create-checkbox-filter-adapter.js";
7
7
  import { DualRangeFilterAdapterConfig, DualRangeFilterValue, RangeValue, createDualRangeFilterAdapter } from "./filters/adapters/create-dual-range-filter-adapter.js";
8
- import { UseTableFiltersResult, useTableFilters } from "./filters/hooks/use-table-filters.js";
8
+ import { UseTableFiltersOptions, UseTableFiltersResult, useTableFilters } from "./filters/hooks/use-table-filters.js";
9
9
  import { RangeFilterProps, RangeFilterValue } from "./filters/components/range-filter/range-filter.js";
10
10
  import "./filters/index.js";
11
11
  import { Action, DsDataTableProps, DsTableApi, DsTableRowSize, ScrollParams } from "./ds-table.types.js";
@@ -0,0 +1,37 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ const require_ds_tabs_content_module = require('./ds-tabs-content.module.cjs');
3
+ let react_compiler_runtime = require("react/compiler-runtime");
4
+ let classnames = require("classnames");
5
+ classnames = require_rolldown_runtime.__toESM(classnames);
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ let __ark_ui_react_tabs = require("@ark-ui/react/tabs");
8
+
9
+ //#region src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.tsx
10
+ const DsTabsContent = (t0) => {
11
+ const $ = (0, react_compiler_runtime.c)(7);
12
+ const { value, className, style, children } = t0;
13
+ let t1;
14
+ if ($[0] !== className) {
15
+ t1 = (0, classnames.default)(require_ds_tabs_content_module.default.tabContent, className);
16
+ $[0] = className;
17
+ $[1] = t1;
18
+ } else t1 = $[1];
19
+ let t2;
20
+ if ($[2] !== children || $[3] !== style || $[4] !== t1 || $[5] !== value) {
21
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__ark_ui_react_tabs.Tabs.Content, {
22
+ value,
23
+ className: t1,
24
+ style,
25
+ children
26
+ });
27
+ $[2] = children;
28
+ $[3] = style;
29
+ $[4] = t1;
30
+ $[5] = value;
31
+ $[6] = t2;
32
+ } else t2 = $[6];
33
+ return t2;
34
+ };
35
+
36
+ //#endregion
37
+ exports.DsTabsContent = DsTabsContent;