@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
@@ -0,0 +1,49 @@
1
+ import type { CSSProperties } from 'react';
2
+ import classNames from 'classnames';
3
+ import type { DsSkeletonTextProps } from './ds-skeleton.types';
4
+ import { typographyHeightMap, DEFAULT_LINE_GAP, radiusMap } from './ds-skeleton.config';
5
+ import styles from './ds-skeleton.module.scss';
6
+
7
+ /**
8
+ * Text skeleton component - matches typography variants
9
+ * It renders pill-shaped lines that match the height of text content
10
+ */
11
+ const DsSkeletonText = ({
12
+ typographyVariant = 'body-sm-reg',
13
+ color = 'gray',
14
+ lines = 1,
15
+ width,
16
+ radius = 'default',
17
+ className,
18
+ style,
19
+ }: DsSkeletonTextProps) => {
20
+ const height = typographyHeightMap[typographyVariant];
21
+ const borderRadius = typeof radius === 'number' ? radius : radiusMap[radius];
22
+
23
+ const getLineWidth = (): string | number => {
24
+ if (width !== undefined) {
25
+ return width;
26
+ }
27
+
28
+ return '100%';
29
+ };
30
+
31
+ const lineClassName = classNames(styles.skeleton, styles.text, styles[color], className);
32
+
33
+ const createLineStyle = (lineWidth: string | number): CSSProperties => ({
34
+ height,
35
+ width: typeof lineWidth === 'number' ? String(lineWidth) + 'px' : lineWidth,
36
+ borderRadius,
37
+ ...style,
38
+ });
39
+
40
+ return (
41
+ <div aria-hidden="true" className={styles.container} style={{ gap: DEFAULT_LINE_GAP }}>
42
+ {Array.from({ length: lines }, (_, index) => (
43
+ <span key={index} className={lineClassName} style={createLineStyle(getLineWidth())} />
44
+ ))}
45
+ </div>
46
+ );
47
+ };
48
+
49
+ export default DsSkeletonText;
@@ -0,0 +1,68 @@
1
+ import type { DsAvatarSize } from '../ds-avatar';
2
+ import type { SemanticVariant } from '../ds-typography';
3
+ import type { SkeletonRadiusVariant } from './ds-skeleton.types';
4
+
5
+ /**
6
+ * Circle size mapping matching DsAvatar component
7
+ * Maps semantic size names to pixel values
8
+ */
9
+ export const circleSizeMap: Record<DsAvatarSize, number> = Object.freeze({
10
+ xsm: 24,
11
+ sm: 32,
12
+ regular: 40,
13
+ md: 48,
14
+ lg: 64,
15
+ xl: 80,
16
+ });
17
+
18
+ /**
19
+ * Typography variant height mapping
20
+ * Maps semantic variants to approximate heights in pixels
21
+ * Based on line-height values from design system
22
+ */
23
+ export const typographyHeightMap: Record<SemanticVariant, number> = Object.freeze({
24
+ // Body variants - based on line-height
25
+ 'body-md-reg': 20,
26
+ 'body-md-md': 20,
27
+ 'body-md-semi-bold': 20,
28
+ 'body-md-bold': 20,
29
+ 'body-md-link': 20,
30
+
31
+ 'body-sm-reg': 18,
32
+ 'body-sm-md': 18,
33
+ 'body-sm-semi-bold': 18,
34
+ 'body-sm-bold': 18,
35
+ 'body-sm-link': 18,
36
+
37
+ 'body-xs-reg': 16,
38
+ 'body-xs-md': 16,
39
+ 'body-xs-semi-bold': 16,
40
+ 'body-xs-bold': 16,
41
+ 'body-xs-link': 16,
42
+
43
+ // Code variants
44
+ 'code-sm-reg': 18,
45
+ 'code-sm-semi-bold': 18,
46
+ 'code-xs-reg': 16,
47
+ 'code-xs-semi-bold': 16,
48
+
49
+ // Heading variants - based on line-height
50
+ heading1: 64,
51
+ heading2: 54,
52
+ heading3: 48,
53
+ heading4: 36,
54
+ });
55
+
56
+ /**
57
+ * Border radius mapping
58
+ * Maps semantic radius names to pixel values
59
+ */
60
+ export const radiusMap: Record<SkeletonRadiusVariant, number> = Object.freeze({
61
+ default: 4, // Standard button/card radius
62
+ round: 999, // Pill-shaped (fully rounded)
63
+ });
64
+
65
+ /**
66
+ * Default gap between skeleton lines in pixels
67
+ */
68
+ export const DEFAULT_LINE_GAP = 8;
@@ -0,0 +1,72 @@
1
+ .skeleton {
2
+ animation: shimmer 2s linear infinite;
3
+ }
4
+
5
+ .gray {
6
+ --skeleton-gray-base: #f3f5fa;
7
+ --skeleton-gray-accent: #e3e3e3;
8
+
9
+ background: linear-gradient(
10
+ 90deg,
11
+ var(--skeleton-gray-base) 0%,
12
+ var(--skeleton-gray-base) 33%,
13
+ var(--skeleton-gray-accent) 50%,
14
+ var(--skeleton-gray-base) 66%,
15
+ var(--skeleton-gray-base) 100%
16
+ );
17
+ background-size: 300% 100%;
18
+ }
19
+
20
+ .blue {
21
+ --skeleton-blue-accent: #759cec;
22
+ --skeleton-blue-base: #dfe9ff;
23
+
24
+ background: linear-gradient(
25
+ 90deg,
26
+ var(--skeleton-blue-base) 0%,
27
+ var(--skeleton-blue-base) 33%,
28
+ var(--skeleton-blue-accent) 50%,
29
+ var(--skeleton-blue-base) 66%,
30
+ var(--skeleton-blue-base) 100%
31
+ );
32
+ background-size: 300% 100%;
33
+ }
34
+
35
+ .text {
36
+ display: block;
37
+ margin-bottom: var(--spacing-xs);
38
+
39
+ &:last-child {
40
+ margin-bottom: 0;
41
+ }
42
+ }
43
+
44
+ .circle {
45
+ display: inline-block;
46
+ border-radius: 50%;
47
+ flex-shrink: 0;
48
+ }
49
+
50
+ .rectangle {
51
+ display: inline-block;
52
+ flex-shrink: 0;
53
+ }
54
+
55
+ .container {
56
+ display: flex;
57
+ flex-direction: column;
58
+ }
59
+
60
+ @keyframes shimmer {
61
+ 0% {
62
+ background-position: 100% 0;
63
+ }
64
+
65
+ 60% {
66
+ background-position: 0 0;
67
+ }
68
+
69
+ 100% {
70
+ background-position: 0 0;
71
+ }
72
+ }
@@ -0,0 +1,9 @@
1
+ import DsSkeletonText from './ds-skeleton-text';
2
+ import DsSkeletonCircle from './ds-skeleton-circle';
3
+ import DsSkeletonRect from './ds-skeleton-rect';
4
+
5
+ export default {
6
+ Text: DsSkeletonText,
7
+ Circle: DsSkeletonCircle,
8
+ Rect: DsSkeletonRect,
9
+ };
@@ -0,0 +1,92 @@
1
+ import type { CSSProperties, Ref } from 'react';
2
+ import type { DsAvatarSize } from '../ds-avatar';
3
+ import type { SemanticVariant } from '../ds-typography';
4
+
5
+ export const skeletonColorVariants = ['gray', 'blue'] as const;
6
+ export type SkeletonColorVariant = (typeof skeletonColorVariants)[number];
7
+
8
+ export const skeletonRadiusVariants = ['default', 'round'] as const;
9
+ export type SkeletonRadiusVariant = (typeof skeletonRadiusVariants)[number];
10
+
11
+ /**
12
+ * Shared base props for all skeleton components
13
+ */
14
+ export interface DsSkeletonBaseProps {
15
+ /**
16
+ * Color variant of the skeleton
17
+ * @default 'gray'
18
+ */
19
+ color?: SkeletonColorVariant;
20
+ /**
21
+ * Additional CSS class names
22
+ */
23
+ className?: string;
24
+ /**
25
+ * Additional inline styles
26
+ */
27
+ style?: CSSProperties;
28
+ /**
29
+ * Ref to the skeleton element
30
+ */
31
+ ref?: Ref<HTMLSpanElement>;
32
+ }
33
+
34
+ /**
35
+ * Props for DsSkeleton.Text component
36
+ * Typography-based text skeleton with configurable lines
37
+ */
38
+ export interface DsSkeletonTextProps extends DsSkeletonBaseProps {
39
+ /**
40
+ * Typography variant - determines the height of the skeleton
41
+ * @default 'body-sm-reg'
42
+ */
43
+ typographyVariant?: SemanticVariant;
44
+ /**
45
+ * Number of lines to render
46
+ * @default 1
47
+ */
48
+ lines?: number;
49
+ /**
50
+ * Width of skeleton. Last line will have varied width if not specified.
51
+ * Can be a number (px) or string ('50%', '200px')
52
+ * @default '100%' (last line varies between 40-80%)
53
+ */
54
+ width?: string | number;
55
+ /**
56
+ * Border radius: 'default' (4px), 'round' (pill-shaped), or custom px value
57
+ * @default 'default'
58
+ */
59
+ radius?: SkeletonRadiusVariant | number;
60
+ }
61
+
62
+ /**
63
+ * Props for DsSkeleton.Circle component
64
+ * Circular skeleton for avatars and icons
65
+ */
66
+ export interface DsSkeletonCircleProps extends DsSkeletonBaseProps {
67
+ /**
68
+ * Size of the circle - matches DsAvatar sizes or custom pixel value
69
+ * @default 'regular'
70
+ */
71
+ size?: DsAvatarSize | number;
72
+ }
73
+
74
+ /**
75
+ * Props for DsSkeleton.Rect component
76
+ * Rectangular skeleton for buttons, images, and custom shapes
77
+ */
78
+ export interface DsSkeletonRectProps extends DsSkeletonBaseProps {
79
+ /**
80
+ * Width of rectangle. Can be number (px) or string ('50%', '200px')
81
+ */
82
+ width: string | number;
83
+ /**
84
+ * Height of rectangle. Can be number (px) or string ('50%', '200px')
85
+ */
86
+ height: string | number;
87
+ /**
88
+ * Border radius: 'default' (4px), 'round' (pill-shaped), or custom px value
89
+ * @default 'default'
90
+ */
91
+ radius?: SkeletonRadiusVariant | number;
92
+ }
@@ -0,0 +1,5 @@
1
+ export * from './ds-skeleton.types';
2
+ export { default as DsSkeleton } from './ds-skeleton';
3
+ export { default as DsSkeletonText } from './ds-skeleton-text';
4
+ export { default as DsSkeletonCircle } from './ds-skeleton-circle';
5
+ export { default as DsSkeletonRect } from './ds-skeleton-rect';
@@ -26,7 +26,7 @@ const DsSpinner: React.FC<DsSpinnerProps> = ({ size = 'medium', className, style
26
26
  const strokeDasharray = `${String(0.25 * circumference)} ${String(circumference)}`;
27
27
 
28
28
  return (
29
- <div className={classNames(styles.spinnerContainer, styles[size], className)} style={style} {...props}>
29
+ <div className={classNames(styles.spinnerContainer, className)} style={style} {...props}>
30
30
  <svg
31
31
  className={classNames(styles.progressCircle, styles.spin)}
32
32
  width={actualSize}
@@ -4,8 +4,8 @@ import styles from './core-table.module.scss';
4
4
 
5
5
  type TableProps = HTMLAttributes<HTMLTableElement> & { ref?: Ref<HTMLTableElement> };
6
6
 
7
- function Table({ className, ref, ...props }: TableProps) {
8
- return <table ref={ref} className={classnames(styles.table, className)} {...props} />;
7
+ function Table({ className, ...props }: TableProps) {
8
+ return <table className={classnames(styles.table, className)} {...props} />;
9
9
  }
10
10
 
11
11
  Table.displayName = 'Table';
@@ -14,8 +14,8 @@ type TableHeaderProps = HTMLAttributes<HTMLTableSectionElement> & {
14
14
  ref?: Ref<HTMLTableSectionElement>;
15
15
  };
16
16
 
17
- function TableHeader({ className, ref, ...props }: TableHeaderProps) {
18
- return <thead ref={ref} className={classnames(styles.tableHeader, className)} {...props} />;
17
+ function TableHeader(props: TableHeaderProps) {
18
+ return <thead {...props} />;
19
19
  }
20
20
 
21
21
  TableHeader.displayName = 'TableHeader';
@@ -24,8 +24,8 @@ type TableBodyProps = HTMLAttributes<HTMLTableSectionElement> & {
24
24
  ref?: Ref<HTMLTableSectionElement>;
25
25
  };
26
26
 
27
- function TableBody({ className, ref, ...props }: TableBodyProps) {
28
- return <tbody ref={ref} className={classnames(styles.tableBody, className)} {...props} />;
27
+ function TableBody(props: TableBodyProps) {
28
+ return <tbody {...props} />;
29
29
  }
30
30
 
31
31
  TableBody.displayName = 'TableBody';
@@ -34,8 +34,8 @@ type TableFooterProps = HTMLAttributes<HTMLTableSectionElement> & {
34
34
  ref?: Ref<HTMLTableSectionElement>;
35
35
  };
36
36
 
37
- function TableFooter({ className, ref, ...props }: TableFooterProps) {
38
- return <tfoot ref={ref} className={classnames(styles.tableFooter, className)} {...props} />;
37
+ function TableFooter({ className, ...props }: TableFooterProps) {
38
+ return <tfoot className={classnames(styles.tableFooter, className)} {...props} />;
39
39
  }
40
40
 
41
41
  TableFooter.displayName = 'TableFooter';
@@ -44,8 +44,8 @@ type TableRowProps = HTMLAttributes<HTMLTableRowElement> & {
44
44
  ref?: Ref<HTMLTableRowElement>;
45
45
  };
46
46
 
47
- function TableRow({ className, ref, ...props }: TableRowProps) {
48
- return <tr ref={ref} className={classnames(styles.tableRow, className)} {...props} />;
47
+ function TableRow(props: TableRowProps) {
48
+ return <tr {...props} />;
49
49
  }
50
50
 
51
51
  TableRow.displayName = 'TableRow';
@@ -54,8 +54,8 @@ type TableHeadProps = ThHTMLAttributes<HTMLTableCellElement> & {
54
54
  ref?: Ref<HTMLTableCellElement>;
55
55
  };
56
56
 
57
- function TableHead({ className, ref, ...props }: TableHeadProps) {
58
- return <th ref={ref} className={classnames(styles.tableHead, className)} {...props} />;
57
+ function TableHead({ className, ...props }: TableHeadProps) {
58
+ return <th className={classnames(styles.tableHead, className)} {...props} />;
59
59
  }
60
60
 
61
61
  TableHead.displayName = 'TableHead';
@@ -64,8 +64,8 @@ type TableCellProps = TdHTMLAttributes<HTMLTableCellElement> & {
64
64
  ref?: Ref<HTMLTableCellElement>;
65
65
  };
66
66
 
67
- function TableCell({ className, ref, ...props }: TableCellProps) {
68
- return <td ref={ref} className={classnames(styles.tableCell, className)} {...props} />;
67
+ function TableCell({ className, ...props }: TableCellProps) {
68
+ return <td className={classnames(styles.tableCell, className)} {...props} />;
69
69
  }
70
70
 
71
71
  TableCell.displayName = 'TableCell';
@@ -74,8 +74,8 @@ type TableCaptionProps = HTMLAttributes<HTMLTableCaptionElement> & {
74
74
  ref?: Ref<HTMLTableCaptionElement>;
75
75
  };
76
76
 
77
- function TableCaption({ className, ref, ...props }: TableCaptionProps) {
78
- return <caption ref={ref} className={classnames(styles.tableCaption, className)} {...props} />;
77
+ function TableCaption({ className, ...props }: TableCaptionProps) {
78
+ return <caption className={classnames(styles.tableCaption, className)} {...props} />;
79
79
  }
80
80
 
81
81
  TableCaption.displayName = 'TableCaption';
@@ -5,6 +5,7 @@ import { DsButton } from '../../../ds-button';
5
5
  import { DsIcon } from '../../../ds-icon';
6
6
  import styles from './ds-table-bulk-actions.module.scss';
7
7
  import type { BulkActionsProps } from './ds-table-bulk-actions.types';
8
+ import { DsTypography } from '../../../ds-typography';
8
9
 
9
10
  const DsTableBulkActions: React.FC<BulkActionsProps> = ({ numSelectedRows, actions, onClearSelection }) => {
10
11
  const [isRendered, setIsRendered] = useState(false);
@@ -31,24 +32,21 @@ const DsTableBulkActions: React.FC<BulkActionsProps> = ({ numSelectedRows, actio
31
32
  return (
32
33
  <div className={classnames(styles.bulkActionsContainer, animationClass)}>
33
34
  <div className={styles.selectedCountContainer}>
34
- <h3 className={classnames(styles.selectedCountBadge, styles.bold)}>{numSelectedRows}</h3>
35
+ <DsTypography variant="heading1" className={styles.selectedCountBadge}>
36
+ {numSelectedRows}
37
+ </DsTypography>
35
38
  </div>
36
39
  <div className={styles.bulkActionsContent}>
37
- <span className={styles.bulkActionsInfo}>items selected</span>
40
+ <DsTypography variant="body-md-semi-bold" className={styles.bulkActionsInfo}>
41
+ Items selected
42
+ </DsTypography>
38
43
 
39
44
  <div className={styles.bulkActionsActions}>
40
45
  {actions.map((action, index) => (
41
- <DsButton
42
- key={index}
43
- variant="borderless"
44
- size="small"
45
- className={styles.actionButton}
46
- contentClassName={styles.actionButtonContent}
47
- onClick={action.onClick}
48
- >
46
+ <button key={index} type="button" className={styles.actionButton} onClick={action.onClick}>
49
47
  <DsIcon icon={action.icon} />
50
- <span className={(styles['p-s'], styles.medium)}>{action.label}</span>
51
- </DsButton>
48
+ <DsTypography variant="body-xs-md">{action.label}</DsTypography>
49
+ </button>
52
50
  ))}
53
51
  </div>
54
52
 
@@ -60,7 +58,6 @@ const DsTableBulkActions: React.FC<BulkActionsProps> = ({ numSelectedRows, actio
60
58
  onClick={onClearSelection}
61
59
  >
62
60
  <DsIcon icon="close" />
63
- <span className={(styles['p-s'], styles.medium)}>Esc</span>
64
61
  </DsButton>
65
62
  </div>
66
63
  </div>
@@ -50,7 +50,6 @@ const DsTableRow = <TData,>({ ref, row, virtualRow }: DsTableRowProps<TData>) =>
50
50
  renderExpandedRow,
51
51
  virtualized,
52
52
  bordered,
53
- highlightOnHover,
54
53
  rowSize,
55
54
  toggleRowExpanded,
56
55
  primaryRowActions,
@@ -100,7 +99,6 @@ const DsTableRow = <TData,>({ ref, row, virtualRow }: DsTableRowProps<TData>) =>
100
99
  },
101
100
  virtualized && styles.virtualizedRow,
102
101
  onRowClick && styles.clickableRow,
103
- highlightOnHover && styles.highlightHoverRow,
104
102
  !bordered && styles.rowNoBorder,
105
103
  isExpanded && styles.expanded,
106
104
  )}
@@ -44,7 +44,6 @@ const DsTable = <TData extends { id: string }, TValue>({
44
44
  stickyHeader = true,
45
45
  bordered = true,
46
46
  fullWidth = true,
47
- highlightOnHover = true,
48
47
  rowSize = 'medium',
49
48
  expandable = false,
50
49
  renderExpandedRow,
@@ -215,16 +214,13 @@ const DsTable = <TData extends { id: string }, TValue>({
215
214
 
216
215
  const selectedRows = Object.entries(rowSelection)
217
216
  .filter(([, selected]) => selected)
218
- // This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.
219
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
220
217
  .map(([key]) => rowsById[key]?.original)
221
- .filter(Boolean);
218
+ .filter((v) => !!v);
222
219
 
223
220
  const contextValue: DsTableContextType<TData, TValue> = {
224
221
  stickyHeader,
225
222
  bordered,
226
223
  fullWidth,
227
- highlightOnHover,
228
224
  rowSize,
229
225
  expandable,
230
226
  selectable,
@@ -279,6 +275,11 @@ const DsTable = <TData extends { id: string }, TValue>({
279
275
  rowVirtualizer.getVirtualItems().length ? (
280
276
  rowVirtualizer.getVirtualItems().map((virtualRow: VirtualItem) => {
281
277
  const row = rows[virtualRow.index];
278
+
279
+ if (!row) {
280
+ return null;
281
+ }
282
+
282
283
  return <DsTableRow key={row.id} row={row} virtualRow={virtualRow} />;
283
284
  })
284
285
  ) : (
@@ -235,11 +235,6 @@ export interface DsDataTableProps<TData, TValue> {
235
235
  */
236
236
  fullWidth?: boolean;
237
237
 
238
- /**
239
- * Whether the table has highlight on hover
240
- */
241
- highlightOnHover?: boolean;
242
-
243
238
  /**
244
239
  * Row size variant (small: 36px, medium: 48px, large: 64px)
245
240
  * @default 'medium'
@@ -74,9 +74,9 @@ export function createDualRangeFilterAdapter<TData>(
74
74
  // Check each field's range
75
75
  for (const [fieldKey, range] of Object.entries(filterValue)) {
76
76
  const hasFilter = range.from !== undefined || range.to !== undefined;
77
+ const fieldValue = rowValue[fieldKey];
77
78
 
78
- if (hasFilter) {
79
- const fieldValue = rowValue[fieldKey];
79
+ if (hasFilter && fieldValue !== undefined) {
80
80
  const matchesFrom = range.from === undefined || fieldValue >= range.from;
81
81
  const matchesTo = range.to === undefined || fieldValue <= range.to;
82
82
 
@@ -147,8 +147,6 @@ export function createDualRangeFilterAdapter<TData>(
147
147
  <RangeFilter
148
148
  key={fieldKey}
149
149
  label={fieldLabel}
150
- // This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.
151
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
152
150
  value={value[fieldKey] || {}}
153
151
  onChange={(rangeValue) =>
154
152
  onChange({
@@ -1,2 +1,2 @@
1
1
  export { useTableFilters } from './use-table-filters';
2
- export type { UseTableFiltersResult } from './use-table-filters';
2
+ export type { UseTableFiltersOptions, UseTableFiltersResult } from './use-table-filters';