@drivenets/design-system 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
  3. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
  5. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  6. package/dist/components/ds-avatar/ds-avatar.cjs +98 -0
  7. package/dist/components/ds-avatar/ds-avatar.d.cts +12 -0
  8. package/dist/components/ds-avatar/ds-avatar.d.cts.map +1 -0
  9. package/dist/components/ds-avatar/ds-avatar.d.ts +12 -0
  10. package/dist/components/ds-avatar/ds-avatar.d.ts.map +1 -0
  11. package/dist/components/ds-avatar/ds-avatar.js +97 -0
  12. package/dist/components/ds-avatar/ds-avatar.js.map +1 -0
  13. package/dist/components/ds-avatar/ds-avatar.module.cjs +17 -0
  14. package/dist/components/ds-avatar/ds-avatar.module.js +17 -0
  15. package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -0
  16. package/dist/components/ds-avatar/ds-avatar.types.d.cts +44 -0
  17. package/dist/components/ds-avatar/ds-avatar.types.d.cts.map +1 -0
  18. package/dist/components/ds-avatar/ds-avatar.types.d.ts +44 -0
  19. package/dist/components/ds-avatar/ds-avatar.types.d.ts.map +1 -0
  20. package/dist/components/ds-avatar/index.cjs +1 -0
  21. package/dist/components/ds-avatar/index.d.ts +2 -0
  22. package/dist/components/ds-avatar/index.js +1 -0
  23. package/dist/components/ds-avatar-group/ds-avatar-group.cjs +93 -0
  24. package/dist/components/ds-avatar-group/ds-avatar-group.d.cts +12 -0
  25. package/dist/components/ds-avatar-group/ds-avatar-group.d.cts.map +1 -0
  26. package/dist/components/ds-avatar-group/ds-avatar-group.d.ts +12 -0
  27. package/dist/components/ds-avatar-group/ds-avatar-group.d.ts.map +1 -0
  28. package/dist/components/ds-avatar-group/ds-avatar-group.js +92 -0
  29. package/dist/components/ds-avatar-group/ds-avatar-group.js.map +1 -0
  30. package/dist/components/ds-avatar-group/ds-avatar-group.module.cjs +19 -0
  31. package/dist/components/ds-avatar-group/ds-avatar-group.module.js +19 -0
  32. package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -0
  33. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.cts +31 -0
  34. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.cts.map +1 -0
  35. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.ts +32 -0
  36. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.ts.map +1 -0
  37. package/dist/components/ds-avatar-group/index.cjs +1 -0
  38. package/dist/components/ds-avatar-group/index.d.ts +2 -0
  39. package/dist/components/ds-avatar-group/index.js +1 -0
  40. package/dist/components/ds-button/ds-button.d.cts +2 -2
  41. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +23 -24
  42. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +23 -24
  43. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  44. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +24 -25
  45. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +24 -25
  46. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  47. package/dist/components/ds-chip/ds-chip.cjs +2 -1
  48. package/dist/components/ds-chip/ds-chip.d.cts +2 -1
  49. package/dist/components/ds-chip/ds-chip.d.cts.map +1 -1
  50. package/dist/components/ds-chip/ds-chip.d.ts +2 -1
  51. package/dist/components/ds-chip/ds-chip.d.ts.map +1 -1
  52. package/dist/components/ds-chip/ds-chip.js +2 -1
  53. package/dist/components/ds-chip/ds-chip.js.map +1 -1
  54. package/dist/components/ds-chip/ds-chip.types.d.cts +13 -0
  55. package/dist/components/ds-chip/ds-chip.types.d.cts.map +1 -1
  56. package/dist/components/ds-chip/ds-chip.types.d.ts +13 -0
  57. package/dist/components/ds-chip/ds-chip.types.d.ts.map +1 -1
  58. package/dist/components/ds-chip-group/ds-chip-group.cjs +2 -2
  59. package/dist/components/ds-chip-group/ds-chip-group.d.cts +2 -2
  60. package/dist/components/ds-chip-group/ds-chip-group.d.ts +2 -2
  61. package/dist/components/ds-chip-group/ds-chip-group.js +2 -2
  62. package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
  63. package/dist/components/ds-chip-group/ds-chip-group.types.d.cts +9 -0
  64. package/dist/components/ds-chip-group/ds-chip-group.types.d.cts.map +1 -1
  65. package/dist/components/ds-chip-group/ds-chip-group.types.d.ts +9 -0
  66. package/dist/components/ds-chip-group/ds-chip-group.types.d.ts.map +1 -1
  67. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.cjs +1 -0
  68. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js +1 -0
  69. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  70. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  71. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  72. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  73. package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
  74. package/dist/components/ds-date-input/ds-date-input.js +2 -2
  75. package/dist/components/ds-date-input/ds-date-input.js.map +1 -1
  76. package/dist/components/ds-date-input/ds-date-input.module.cjs +22 -22
  77. package/dist/components/ds-date-input/ds-date-input.module.js +22 -22
  78. package/dist/components/ds-date-input/ds-date-input.module.js.map +1 -1
  79. package/dist/components/ds-date-input/ds-date-input.utils.cjs +9 -2
  80. package/dist/components/ds-date-input/ds-date-input.utils.js +9 -2
  81. package/dist/components/ds-date-input/ds-date-input.utils.js.map +1 -1
  82. package/dist/components/ds-drawer/ds-drawer.cjs +3 -3
  83. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  84. package/dist/components/ds-drawer/ds-drawer.d.cts.map +1 -1
  85. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  86. package/dist/components/ds-drawer/ds-drawer.d.ts.map +1 -1
  87. package/dist/components/ds-drawer/ds-drawer.js +5 -5
  88. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  89. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +3 -3
  90. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  91. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts +1 -1
  92. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts.map +1 -1
  93. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts +1 -1
  94. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts.map +1 -1
  95. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  96. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  97. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +2 -2
  98. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +2 -2
  99. package/dist/components/ds-file-upload/utils/format-file-size.cjs +1 -1
  100. package/dist/components/ds-file-upload/utils/format-file-size.js +1 -1
  101. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  102. package/dist/components/ds-form-control/ds-form-control.cjs +2 -5
  103. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  104. package/dist/components/ds-form-control/ds-form-control.js +2 -5
  105. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  106. package/dist/components/ds-loader/ds-loader.cjs +60 -0
  107. package/dist/components/ds-loader/ds-loader.d.cts +15 -0
  108. package/dist/components/ds-loader/ds-loader.d.cts.map +1 -0
  109. package/dist/components/ds-loader/ds-loader.d.ts +15 -0
  110. package/dist/components/ds-loader/ds-loader.d.ts.map +1 -0
  111. package/dist/components/ds-loader/ds-loader.js +59 -0
  112. package/dist/components/ds-loader/ds-loader.js.map +1 -0
  113. package/dist/components/ds-loader/ds-loader.module.cjs +15 -0
  114. package/dist/components/ds-loader/ds-loader.module.js +15 -0
  115. package/dist/components/ds-loader/ds-loader.module.js.map +1 -0
  116. package/dist/components/ds-loader/ds-loader.types.cjs +6 -0
  117. package/dist/components/ds-loader/ds-loader.types.d.cts +27 -0
  118. package/dist/components/ds-loader/ds-loader.types.d.cts.map +1 -0
  119. package/dist/components/ds-loader/ds-loader.types.d.ts +27 -0
  120. package/dist/components/ds-loader/ds-loader.types.d.ts.map +1 -0
  121. package/dist/components/ds-loader/ds-loader.types.js +6 -0
  122. package/dist/components/ds-loader/ds-loader.types.js.map +1 -0
  123. package/dist/components/ds-loader/index.cjs +2 -0
  124. package/dist/components/ds-loader/index.d.ts +2 -0
  125. package/dist/components/ds-loader/index.js +2 -0
  126. package/dist/components/ds-loader/pulsing-icon.cjs +37 -0
  127. package/dist/components/ds-loader/pulsing-icon.js +37 -0
  128. package/dist/components/ds-loader/pulsing-icon.js.map +1 -0
  129. package/dist/components/ds-loader/spinner-icon.cjs +74 -0
  130. package/dist/components/ds-loader/spinner-icon.js +74 -0
  131. package/dist/components/ds-loader/spinner-icon.js.map +1 -0
  132. package/dist/components/ds-modal/ds-modal.cjs +2 -2
  133. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  134. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  135. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  136. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  137. package/dist/components/ds-modal/ds-modal.js +2 -2
  138. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  139. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  140. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  141. package/dist/components/ds-select/ds-select.cjs +1 -1
  142. package/dist/components/ds-select/ds-select.d.cts +2 -2
  143. package/dist/components/ds-select/ds-select.d.ts +2 -2
  144. package/dist/components/ds-select/ds-select.js +1 -1
  145. package/dist/components/ds-select/ds-select.js.map +1 -1
  146. package/dist/components/ds-skeleton/ds-skeleton-circle.cjs +59 -0
  147. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +18 -0
  148. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts.map +1 -0
  149. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts +18 -0
  150. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts.map +1 -0
  151. package/dist/components/ds-skeleton/ds-skeleton-circle.js +58 -0
  152. package/dist/components/ds-skeleton/ds-skeleton-circle.js.map +1 -0
  153. package/dist/components/ds-skeleton/ds-skeleton-rect.cjs +61 -0
  154. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +18 -0
  155. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts.map +1 -0
  156. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts +18 -0
  157. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts.map +1 -0
  158. package/dist/components/ds-skeleton/ds-skeleton-rect.js +60 -0
  159. package/dist/components/ds-skeleton/ds-skeleton-rect.js.map +1 -0
  160. package/dist/components/ds-skeleton/ds-skeleton-text.cjs +91 -0
  161. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +21 -0
  162. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts.map +1 -0
  163. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts +21 -0
  164. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts.map +1 -0
  165. package/dist/components/ds-skeleton/ds-skeleton-text.js +90 -0
  166. package/dist/components/ds-skeleton/ds-skeleton-text.js.map +1 -0
  167. package/dist/components/ds-skeleton/ds-skeleton.cjs +13 -0
  168. package/dist/components/ds-skeleton/ds-skeleton.config.cjs +62 -0
  169. package/dist/components/ds-skeleton/ds-skeleton.config.js +59 -0
  170. package/dist/components/ds-skeleton/ds-skeleton.config.js.map +1 -0
  171. package/dist/components/ds-skeleton/ds-skeleton.d.cts +32 -0
  172. package/dist/components/ds-skeleton/ds-skeleton.d.cts.map +1 -0
  173. package/dist/components/ds-skeleton/ds-skeleton.d.ts +32 -0
  174. package/dist/components/ds-skeleton/ds-skeleton.d.ts.map +1 -0
  175. package/dist/components/ds-skeleton/ds-skeleton.js +14 -0
  176. package/dist/components/ds-skeleton/ds-skeleton.js.map +1 -0
  177. package/dist/components/ds-skeleton/ds-skeleton.module.cjs +15 -0
  178. package/dist/components/ds-skeleton/ds-skeleton.module.js +15 -0
  179. package/dist/components/ds-skeleton/ds-skeleton.module.js.map +1 -0
  180. package/dist/components/ds-skeleton/ds-skeleton.types.cjs +8 -0
  181. package/dist/components/ds-skeleton/ds-skeleton.types.d.cts +91 -0
  182. package/dist/components/ds-skeleton/ds-skeleton.types.d.cts.map +1 -0
  183. package/dist/components/ds-skeleton/ds-skeleton.types.d.ts +93 -0
  184. package/dist/components/ds-skeleton/ds-skeleton.types.d.ts.map +1 -0
  185. package/dist/components/ds-skeleton/ds-skeleton.types.js +7 -0
  186. package/dist/components/ds-skeleton/ds-skeleton.types.js.map +1 -0
  187. package/dist/components/ds-skeleton/index.cjs +5 -0
  188. package/dist/components/ds-skeleton/index.d.ts +5 -0
  189. package/dist/components/ds-skeleton/index.js +5 -0
  190. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  191. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  192. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  193. package/dist/components/ds-spinner/ds-spinner.cjs +43 -45
  194. package/dist/components/ds-spinner/ds-spinner.js +43 -45
  195. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  196. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  197. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  198. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  199. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  200. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  201. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  202. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  203. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  204. package/dist/components/ds-table/components/core-table/core-table.cjs +82 -185
  205. package/dist/components/ds-table/components/core-table/core-table.js +82 -185
  206. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  207. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +61 -72
  208. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +61 -72
  209. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  210. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +80 -81
  211. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +80 -81
  212. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  213. package/dist/components/ds-table/ds-table.cjs +3 -3
  214. package/dist/components/ds-table/ds-table.d.cts +2 -3
  215. package/dist/components/ds-table/ds-table.d.cts.map +1 -1
  216. package/dist/components/ds-table/ds-table.d.ts +2 -3
  217. package/dist/components/ds-table/ds-table.d.ts.map +1 -1
  218. package/dist/components/ds-table/ds-table.js +3 -3
  219. package/dist/components/ds-table/ds-table.js.map +1 -1
  220. package/dist/components/ds-table/ds-table.types.d.cts +0 -4
  221. package/dist/components/ds-table/ds-table.types.d.cts.map +1 -1
  222. package/dist/components/ds-table/ds-table.types.d.ts +0 -4
  223. package/dist/components/ds-table/ds-table.types.d.ts.map +1 -1
  224. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.cjs +7 -4
  225. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js +7 -4
  226. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js.map +1 -1
  227. package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +94 -87
  228. package/dist/components/ds-table/filters/hooks/use-table-filters.js +94 -87
  229. package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
  230. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.cjs +37 -0
  231. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js +36 -0
  232. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js.map +1 -0
  233. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.cjs +9 -0
  234. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js +9 -0
  235. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js.map +1 -0
  236. package/dist/components/ds-tabs/components/ds-tabs-content/index.cjs +1 -0
  237. package/dist/components/ds-tabs/components/ds-tabs-content/index.js +1 -0
  238. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.cjs +6 -0
  239. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js +6 -0
  240. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js.map +1 -0
  241. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.cjs +41 -0
  242. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js +40 -0
  243. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js.map +1 -0
  244. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.cjs +6 -0
  245. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js +6 -0
  246. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js.map +1 -0
  247. package/dist/components/ds-tabs/components/ds-tabs-list/index.cjs +1 -0
  248. package/dist/components/ds-tabs/components/ds-tabs-list/index.js +1 -0
  249. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.cjs +178 -0
  250. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js +177 -0
  251. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js.map +1 -0
  252. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.cjs +15 -0
  253. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js +15 -0
  254. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js.map +1 -0
  255. package/dist/components/ds-tabs/components/ds-tabs-tab/index.cjs +1 -0
  256. package/dist/components/ds-tabs/components/ds-tabs-tab/index.js +1 -0
  257. package/dist/components/ds-tabs/ds-tabs.cjs +71 -0
  258. package/dist/components/ds-tabs/ds-tabs.d.cts +43 -0
  259. package/dist/components/ds-tabs/ds-tabs.d.cts.map +1 -0
  260. package/dist/components/ds-tabs/ds-tabs.d.ts +43 -0
  261. package/dist/components/ds-tabs/ds-tabs.d.ts.map +1 -0
  262. package/dist/components/ds-tabs/ds-tabs.js +70 -0
  263. package/dist/components/ds-tabs/ds-tabs.js.map +1 -0
  264. package/dist/components/ds-tabs/ds-tabs.module.cjs +6 -0
  265. package/dist/components/ds-tabs/ds-tabs.module.js +6 -0
  266. package/dist/components/ds-tabs/ds-tabs.module.js.map +1 -0
  267. package/dist/components/ds-tabs/ds-tabs.types.d.cts +91 -0
  268. package/dist/components/ds-tabs/ds-tabs.types.d.cts.map +1 -0
  269. package/dist/components/ds-tabs/ds-tabs.types.d.ts +92 -0
  270. package/dist/components/ds-tabs/ds-tabs.types.d.ts.map +1 -0
  271. package/dist/components/ds-tabs/index.cjs +1 -0
  272. package/dist/components/ds-tabs/index.d.ts +2 -0
  273. package/dist/components/ds-tabs/index.js +1 -0
  274. package/dist/components/ds-tag/ds-tag.cjs +254 -0
  275. package/dist/components/ds-tag/ds-tag.d.cts +25 -0
  276. package/dist/components/ds-tag/ds-tag.d.cts.map +1 -0
  277. package/dist/components/ds-tag/ds-tag.d.ts +25 -0
  278. package/dist/components/ds-tag/ds-tag.d.ts.map +1 -0
  279. package/dist/components/ds-tag/ds-tag.js +253 -0
  280. package/dist/components/ds-tag/ds-tag.js.map +1 -0
  281. package/dist/components/ds-tag/ds-tag.module.cjs +17 -0
  282. package/dist/components/ds-tag/ds-tag.module.js +17 -0
  283. package/dist/components/ds-tag/ds-tag.module.js.map +1 -0
  284. package/dist/components/ds-tag/ds-tag.types.d.cts +68 -0
  285. package/dist/components/ds-tag/ds-tag.types.d.cts.map +1 -0
  286. package/dist/components/ds-tag/ds-tag.types.d.ts +68 -0
  287. package/dist/components/ds-tag/ds-tag.types.d.ts.map +1 -0
  288. package/dist/components/ds-tag/index.cjs +1 -0
  289. package/dist/components/ds-tag/index.d.ts +2 -0
  290. package/dist/components/ds-tag/index.js +1 -0
  291. package/dist/components/ds-tag-filter/ds-tag-filter.cjs +325 -0
  292. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +24 -0
  293. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts.map +1 -0
  294. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +24 -0
  295. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts.map +1 -0
  296. package/dist/components/ds-tag-filter/ds-tag-filter.js +324 -0
  297. package/dist/components/ds-tag-filter/ds-tag-filter.js.map +1 -0
  298. package/dist/components/ds-tag-filter/ds-tag-filter.module.cjs +17 -0
  299. package/dist/components/ds-tag-filter/ds-tag-filter.module.js +17 -0
  300. package/dist/components/ds-tag-filter/ds-tag-filter.module.js.map +1 -0
  301. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.cts +71 -0
  302. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.cts.map +1 -0
  303. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.ts +72 -0
  304. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.ts.map +1 -0
  305. package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.cjs +137 -0
  306. package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.js +137 -0
  307. package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.js.map +1 -0
  308. package/dist/components/ds-tag-filter/index.cjs +1 -0
  309. package/dist/components/ds-tag-filter/index.d.ts +2 -0
  310. package/dist/components/ds-tag-filter/index.js +1 -0
  311. package/dist/components/ds-tag-filter/utils.cjs +54 -0
  312. package/dist/components/ds-tag-filter/utils.js +52 -0
  313. package/dist/components/ds-tag-filter/utils.js.map +1 -0
  314. package/dist/components/ds-text-input/ds-text-input.js +2 -2
  315. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  316. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  317. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  318. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  319. package/dist/index.cjs +34 -2
  320. package/dist/index.d.cts +20 -3
  321. package/dist/index.d.ts +28 -4
  322. package/dist/index.js +22 -3
  323. package/dist/index.min.css +1 -1
  324. package/package.json +10 -4
  325. package/src/components/ds-avatar/_mixins.scss +45 -0
  326. package/src/components/ds-avatar/ds-avatar.module.scss +52 -0
  327. package/src/components/ds-avatar/ds-avatar.tsx +42 -0
  328. package/src/components/ds-avatar/ds-avatar.types.ts +41 -0
  329. package/src/components/ds-avatar/index.ts +2 -0
  330. package/src/components/ds-avatar-group/ds-avatar-group.module.scss +70 -0
  331. package/src/components/ds-avatar-group/ds-avatar-group.tsx +51 -0
  332. package/src/components/ds-avatar-group/ds-avatar-group.types.ts +27 -0
  333. package/src/components/ds-avatar-group/index.ts +2 -0
  334. package/src/components/ds-button/versions/ds-button-legacy/ds-button-legacy.tsx +1 -7
  335. package/src/components/ds-button/versions/ds-button-new/ds-button-new.tsx +4 -2
  336. package/src/components/ds-chip/ds-chip.tsx +2 -1
  337. package/src/components/ds-chip/ds-chip.types.tsx +13 -0
  338. package/src/components/ds-chip/index.tsx +8 -0
  339. package/src/components/ds-chip-group/ds-chip-group.tsx +2 -2
  340. package/src/components/ds-chip-group/ds-chip-group.types.ts +8 -0
  341. package/src/components/ds-chip-group/hooks/use-chip-row-calculation.ts +5 -0
  342. package/src/components/ds-chip-group/index.ts +1 -0
  343. package/src/components/ds-date-input/ds-date-input.module.scss +1 -0
  344. package/src/components/ds-date-input/ds-date-input.utils.ts +16 -2
  345. package/src/components/ds-drawer/ds-drawer.tsx +4 -1
  346. package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.tsx +4 -1
  347. package/src/components/ds-file-upload/utils/format-file-size.ts +1 -1
  348. package/src/components/ds-form-control/ds-form-control.tsx +9 -2
  349. package/src/components/ds-loader/ds-loader.module.scss +57 -0
  350. package/src/components/ds-loader/ds-loader.tsx +18 -0
  351. package/src/components/ds-loader/ds-loader.types.ts +24 -0
  352. package/src/components/ds-loader/index.ts +2 -0
  353. package/src/components/ds-loader/pulsing-icon.tsx +17 -0
  354. package/src/components/ds-loader/spinner-icon.tsx +37 -0
  355. package/src/components/ds-modal/ds-modal.tsx +7 -1
  356. package/src/components/ds-select/ds-select.tsx +1 -1
  357. package/src/components/ds-skeleton/ds-skeleton-circle.tsx +29 -0
  358. package/src/components/ds-skeleton/ds-skeleton-rect.tsx +36 -0
  359. package/src/components/ds-skeleton/ds-skeleton-text.tsx +49 -0
  360. package/src/components/ds-skeleton/ds-skeleton.config.ts +68 -0
  361. package/src/components/ds-skeleton/ds-skeleton.module.scss +72 -0
  362. package/src/components/ds-skeleton/ds-skeleton.tsx +9 -0
  363. package/src/components/ds-skeleton/ds-skeleton.types.ts +92 -0
  364. package/src/components/ds-skeleton/index.ts +5 -0
  365. package/src/components/ds-spinner/ds-spinner.tsx +1 -1
  366. package/src/components/ds-table/components/core-table/core-table.tsx +16 -16
  367. package/src/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.tsx +10 -13
  368. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +0 -2
  369. package/src/components/ds-table/ds-table.tsx +6 -5
  370. package/src/components/ds-table/ds-table.types.ts +0 -5
  371. package/src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx +2 -4
  372. package/src/components/ds-table/filters/hooks/use-table-filters.ts +10 -5
  373. package/src/components/ds-table/utils/story-data-generator.ts +7 -7
  374. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +18 -0
  375. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.tsx +12 -0
  376. package/src/components/ds-tabs/components/ds-tabs-content/index.ts +1 -0
  377. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.scss +31 -0
  378. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss +27 -0
  379. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.tsx +14 -0
  380. package/src/components/ds-tabs/components/ds-tabs-list/index.ts +1 -0
  381. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.scss +242 -0
  382. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.tsx +130 -0
  383. package/src/components/ds-tabs/components/ds-tabs-tab/index.ts +1 -0
  384. package/src/components/ds-tabs/ds-tabs.module.scss +14 -0
  385. package/src/components/ds-tabs/ds-tabs.tsx +46 -0
  386. package/src/components/ds-tabs/ds-tabs.types.ts +97 -0
  387. package/src/components/ds-tabs/index.ts +2 -0
  388. package/src/components/ds-tag/ds-tag.module.scss +112 -0
  389. package/src/components/ds-tag/ds-tag.tsx +124 -0
  390. package/src/components/ds-tag/ds-tag.types.tsx +67 -0
  391. package/src/components/ds-tag/index.tsx +2 -0
  392. package/src/components/ds-tag-filter/ds-tag-filter.module.scss +72 -0
  393. package/src/components/ds-tag-filter/ds-tag-filter.tsx +178 -0
  394. package/src/components/ds-tag-filter/ds-tag-filter.types.ts +68 -0
  395. package/src/components/ds-tag-filter/hooks/use-tag-overflow-calculation.ts +135 -0
  396. package/src/components/ds-tag-filter/index.ts +2 -0
  397. package/src/components/ds-tag-filter/utils.test.ts +401 -0
  398. package/src/components/ds-tag-filter/utils.ts +65 -0
  399. package/src/index.ts +7 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drivenets/design-system",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.cts",
@@ -58,7 +58,8 @@
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@internationalized/date": "^3.0.0",
61
- "react": "^19"
61
+ "react": "^19",
62
+ "react-dom": "^19"
62
63
  },
63
64
  "devDependencies": {
64
65
  "@arethetypeswrong/cli": "^0.18.2",
@@ -75,6 +76,7 @@
75
76
  "@tanstack/react-router": "^1.141.2",
76
77
  "@types/eslint-plugin-jsx-a11y": "^6.10.1",
77
78
  "@types/react": "^19.2.7",
79
+ "@types/react-dom": "^19.2.3",
78
80
  "@vitest/browser": "^4.0.16",
79
81
  "@vitest/browser-playwright": "^4.0.15",
80
82
  "babel-plugin-react-compiler": "^1.0.0",
@@ -83,16 +85,19 @@
83
85
  "eslint-plugin-react": "^7.37.5",
84
86
  "eslint-plugin-react-hooks": "^7.0.1",
85
87
  "eslint-plugin-storybook": "^10.1.9",
88
+ "jsdom": "^25.0.1",
86
89
  "playwright": "^1.57.0",
87
90
  "postcss": "^8.5.6",
88
91
  "postcss-modules": "^6.0.1",
89
92
  "publint": "^0.3.16",
90
93
  "react": "^19.2.3",
94
+ "react-dom": "^19.2.3",
91
95
  "react-hook-form": "^7.55.0",
92
96
  "rollup-plugin-sass": "^1.15.3",
93
97
  "sass-embedded": "^1.97.0",
94
98
  "storybook": "^10.1.9",
95
99
  "tsdown": "^0.18.0",
100
+ "typed-scss-modules": "^8.1.1",
96
101
  "typescript": "^5.9.3",
97
102
  "typescript-plugin-css-modules": "^5.2.0",
98
103
  "vite": "^7.3.0",
@@ -101,8 +106,9 @@
101
106
  "@drivenets/vite-plugin-design-system": "0.0.4"
102
107
  },
103
108
  "scripts": {
104
- "lint": "eslint --max-warnings=0 .",
105
- "typecheck": "tsc",
109
+ "lint": "pnpm generate-scss-dts; eslint --max-warnings=0 .",
110
+ "typecheck": "pnpm generate-scss-dts; tsc",
111
+ "generate-scss-dts": "typed-scss-modules ./src -o ./.scss-dts --nameFormat all --exportType default > /dev/null 2>&1",
106
112
  "storybook": "storybook dev -p 6006",
107
113
  "test": "vitest",
108
114
  "build": "tsdown",
@@ -0,0 +1,45 @@
1
+ $avatar-size-xsm: 18px;
2
+ $avatar-size-sm: 24px;
3
+ $avatar-size-regular: 32px;
4
+ $avatar-size-md: 48px;
5
+ $avatar-size-lg: 80px;
6
+ $avatar-size-xl: 144px;
7
+
8
+ $avatar-border-width: var(--spacing-4xs);
9
+ $avatar-border-radius-small: var(--spacing-3xs);
10
+ $avatar-border-radius-large: var(--spacing-xs);
11
+ $avatar-overlap-xsm: -4px;
12
+ $avatar-overlap-sm: -6px;
13
+ $avatar-overlap-default: -8px;
14
+
15
+ @mixin avatar-size($size, $font-size) {
16
+ width: $size;
17
+ height: $size;
18
+ font-size: $font-size;
19
+ }
20
+
21
+ @mixin avatar-sizes {
22
+ &.xsm {
23
+ @include avatar-size($avatar-size-xsm, 8px);
24
+ }
25
+
26
+ &.sm {
27
+ @include avatar-size($avatar-size-sm, 10px);
28
+ }
29
+
30
+ &.regular {
31
+ @include avatar-size($avatar-size-regular, var(--font-size-xs));
32
+ }
33
+
34
+ &.md {
35
+ @include avatar-size($avatar-size-md, var(--font-size-md));
36
+ }
37
+
38
+ &.lg {
39
+ @include avatar-size($avatar-size-lg, var(--font-size-2xl));
40
+ }
41
+
42
+ &.xl {
43
+ @include avatar-size($avatar-size-xl, var(--font-size-3xl));
44
+ }
45
+ }
@@ -0,0 +1,52 @@
1
+ @import './mixins';
2
+
3
+ .avatar {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ position: relative;
8
+ overflow: hidden;
9
+ background-color: var(--color-background-deselected);
10
+ color: var(--color-font-on-action);
11
+ flex-shrink: 0;
12
+ user-select: none;
13
+
14
+ &.circle {
15
+ border-radius: 50%;
16
+ }
17
+
18
+ &.rounded {
19
+ &.xsm,
20
+ &.sm {
21
+ border-radius: $avatar-border-radius-small;
22
+ }
23
+ &.regular,
24
+ &.md,
25
+ &.lg,
26
+ &.xl {
27
+ border-radius: $avatar-border-radius-large;
28
+ }
29
+ }
30
+
31
+ @include avatar-sizes;
32
+
33
+ img {
34
+ position: absolute;
35
+ top: 0;
36
+ left: 0;
37
+ width: 100%;
38
+ height: 100%;
39
+ object-fit: cover;
40
+ display: block;
41
+ }
42
+
43
+ .fallback {
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ width: 100%;
48
+ height: 100%;
49
+ font-weight: var(--font-weight-medium);
50
+ text-transform: uppercase;
51
+ }
52
+ }
@@ -0,0 +1,42 @@
1
+ import type { FC } from 'react';
2
+ import { Avatar } from '@ark-ui/react/avatar';
3
+ import classNames from 'classnames';
4
+ import styles from './ds-avatar.module.scss';
5
+ import type { DsAvatarProps } from './ds-avatar.types';
6
+ import { DsTooltip } from '../ds-tooltip';
7
+
8
+ /**
9
+ * DsAvatar component for displaying user profile pictures or initials
10
+ */
11
+ export const DsAvatar: FC<DsAvatarProps> = ({
12
+ src,
13
+ alt,
14
+ name,
15
+ size = 'regular',
16
+ type = 'circle',
17
+ className,
18
+ style,
19
+ onStatusChange,
20
+ }) => {
21
+ const getInitials = (name: string) =>
22
+ name
23
+ .trim()
24
+ .split(' ')
25
+ .map((w) => w[0])
26
+ .join('');
27
+
28
+ return (
29
+ <DsTooltip content={name}>
30
+ {
31
+ <Avatar.Root
32
+ onStatusChange={(details) => onStatusChange?.(details.status)}
33
+ className={classNames(styles.avatar, styles[size], styles[type], className)}
34
+ style={style}
35
+ >
36
+ <Avatar.Fallback className={styles.fallback}>{getInitials(name)}</Avatar.Fallback>
37
+ {src && <Avatar.Image src={src} alt={alt || name} />}
38
+ </Avatar.Root>
39
+ }
40
+ </DsTooltip>
41
+ );
42
+ };
@@ -0,0 +1,41 @@
1
+ import type { CSSProperties } from 'react';
2
+
3
+ export type DsAvatarSize = 'xsm' | 'sm' | 'regular' | 'md' | 'lg' | 'xl';
4
+ export type DsAvatarType = 'circle' | 'rounded';
5
+
6
+ export interface DsAvatarProps {
7
+ /**
8
+ * Image source URL
9
+ */
10
+ src?: string;
11
+ /**
12
+ * Alt text for the image
13
+ */
14
+ alt?: string;
15
+ /**
16
+ * Name to display in tooltip and as initials if image fails
17
+ */
18
+ name: string;
19
+ /**
20
+ * Size of the avatar
21
+ * @default 'regular'
22
+ */
23
+ size?: DsAvatarSize;
24
+ /**
25
+ * Shape of the avatar
26
+ * @default 'circle'
27
+ */
28
+ type?: DsAvatarType;
29
+ /**
30
+ * Custom class name
31
+ */
32
+ className?: string;
33
+ /**
34
+ * Custom inline styles
35
+ */
36
+ style?: CSSProperties;
37
+ /**
38
+ * Callback when the status of the image changes
39
+ */
40
+ onStatusChange?: (status: 'error' | 'loaded') => void;
41
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ds-avatar';
2
+ export * from './ds-avatar.types';
@@ -0,0 +1,70 @@
1
+ @import '../ds-avatar/mixins';
2
+
3
+ .avatarGroup {
4
+ display: flex;
5
+ align-items: center;
6
+
7
+ .avatarItem {
8
+ border: $avatar-border-width solid var(--color-background);
9
+
10
+ &:not(:first-child) {
11
+ margin-left: $avatar-overlap-default;
12
+ }
13
+
14
+ &.xsm:not(:first-child) {
15
+ margin-left: $avatar-overlap-xsm;
16
+ }
17
+
18
+ &.sm:not(:first-child) {
19
+ margin-left: $avatar-overlap-sm;
20
+ }
21
+ }
22
+
23
+ .moreAvatar {
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+ background-color: var(--color-background);
28
+ color: var(--color-font-action);
29
+ border: $avatar-border-width solid var(--color-background);
30
+ margin-left: $avatar-overlap-default;
31
+ font-weight: var(--font-weight-medium);
32
+ z-index: 1;
33
+ cursor: default;
34
+ flex-shrink: 0;
35
+
36
+ &.circle {
37
+ border-radius: 50%;
38
+ }
39
+
40
+ &.rounded {
41
+ &.xsm,
42
+ &.sm {
43
+ border-radius: $avatar-border-radius-small;
44
+ }
45
+ &.regular,
46
+ &.md,
47
+ &.lg,
48
+ &.xl {
49
+ border-radius: $avatar-border-radius-large;
50
+ }
51
+ }
52
+
53
+ @include avatar-sizes;
54
+
55
+ &.xsm {
56
+ margin-left: $avatar-overlap-xsm;
57
+ }
58
+
59
+ &.sm {
60
+ margin-left: $avatar-overlap-sm;
61
+ }
62
+ }
63
+
64
+ .tooltipList {
65
+ display: flex;
66
+ flex-direction: column;
67
+ gap: var(--spacing-3xs);
68
+ padding: var(--spacing-3xs) 0;
69
+ }
70
+ }
@@ -0,0 +1,51 @@
1
+ import type { FC } from 'react';
2
+ import classNames from 'classnames';
3
+ import styles from './ds-avatar-group.module.scss';
4
+ import type { DsAvatarGroupProps } from './ds-avatar-group.types';
5
+ import { DsAvatar } from '../ds-avatar';
6
+ import { DsTooltip } from '../ds-tooltip';
7
+ import { DsTypography } from '../ds-typography';
8
+
9
+ /**
10
+ * DsAvatarGroup component for displaying a list of avatars with overlap
11
+ */
12
+ export const DsAvatarGroup: FC<DsAvatarGroupProps> = ({
13
+ avatars,
14
+ size = 'regular',
15
+ type = 'circle',
16
+ max = 5,
17
+ className,
18
+ }) => {
19
+ const visibleAvatars = avatars.slice(0, max);
20
+ const hiddenAvatars = avatars.slice(max);
21
+ const remainingCount = avatars.length - max;
22
+
23
+ return (
24
+ <div className={classNames(styles.avatarGroup, className)}>
25
+ {visibleAvatars.map((avatar, index) => (
26
+ <DsAvatar
27
+ key={`${avatar.name}-${String(index)}`}
28
+ {...avatar}
29
+ size={size}
30
+ type={type}
31
+ className={styles.avatarItem}
32
+ />
33
+ ))}
34
+ {remainingCount > 0 && (
35
+ <DsTooltip
36
+ content={
37
+ <div className={styles.tooltipList}>
38
+ {hiddenAvatars.map((avatar, index) => (
39
+ <div key={`${avatar.name}-${String(index)}`}>
40
+ <DsTypography variant="body-xs-reg">{avatar.name}</DsTypography>
41
+ </div>
42
+ ))}
43
+ </div>
44
+ }
45
+ >
46
+ <div className={classNames(styles.moreAvatar, styles[size], styles[type])}>+{remainingCount}</div>
47
+ </DsTooltip>
48
+ )}
49
+ </div>
50
+ );
51
+ };
@@ -0,0 +1,27 @@
1
+ import type { DsAvatarProps, DsAvatarSize, DsAvatarType } from '../ds-avatar';
2
+
3
+ export interface DsAvatarGroupProps {
4
+ /**
5
+ * Array of avatar items
6
+ */
7
+ avatars: Omit<DsAvatarProps, 'size' | 'type'>[];
8
+ /**
9
+ * Size of the avatars in the group
10
+ * @default 'regular'
11
+ */
12
+ size?: DsAvatarSize;
13
+ /**
14
+ * Shape of the avatars in the group
15
+ * @default 'circle'
16
+ */
17
+ type?: DsAvatarType;
18
+ /**
19
+ * Maximum number of avatars to show before collapsing
20
+ * @default 5
21
+ */
22
+ max?: number;
23
+ /**
24
+ * Custom class name
25
+ */
26
+ className?: string;
27
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ds-avatar-group';
2
+ export * from './ds-avatar-group.types';
@@ -16,13 +16,7 @@ const DsButton: React.FC<DsButtonProps> = ({
16
16
  children,
17
17
  ...props
18
18
  }) => {
19
- const buttonClass = classNames(
20
- styles.button,
21
- styles[`${schema}-${variant}`],
22
- styles[size],
23
- { [styles.disabled]: disabled },
24
- className,
25
- );
19
+ const buttonClass = classNames(styles.button, styles[`${schema}-${variant}`], styles[size], className);
26
20
 
27
21
  return (
28
22
  <button type="button" className={buttonClass} disabled={disabled} {...props}>
@@ -33,10 +33,12 @@ const DsButton: React.FC<DsButtonProps> = ({
33
33
  const buttonClass = classNames(
34
34
  styles.button,
35
35
  { [styles.iconButton]: isIconOnly(children) },
36
- styles[`${type}-${variant}`],
37
36
  styles[size],
38
- { [styles.disabled]: disabled },
39
37
  className,
38
+
39
+ // @ts-expect-error: we don't have all variations of classnames defined
40
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
41
+ styles[`${type}-${variant}`],
40
42
  );
41
43
 
42
44
  return (
@@ -6,7 +6,8 @@ import { DsIcon } from '../ds-icon';
6
6
  import { DsTypography } from '../ds-typography';
7
7
 
8
8
  /**
9
- * Design system Chip component
9
+ * @deprecated This component is deprecated. Use `DsTag` instead.
10
+ * @see {@link ../ds-tag} for the replacement component.
10
11
  */
11
12
  const DsChip: React.FC<DsChipProps> = ({
12
13
  ref,
@@ -1,9 +1,22 @@
1
1
  import type { CSSProperties, KeyboardEvent, MouseEvent, Ref } from 'react';
2
2
  import type { IconType } from '../ds-icon';
3
3
 
4
+ /**
5
+ * @deprecated This type is deprecated. Use `DsTag` instead.
6
+ * @see {@link ../ds-tag} for the replacement component.
7
+ */
4
8
  export const chipSizes = ['medium', 'small'] as const;
9
+
10
+ /**
11
+ * @deprecated This type is deprecated. Use `DsTag` instead.
12
+ * @see {@link ../ds-tag} for the replacement component.
13
+ */
5
14
  export type ChipSize = (typeof chipSizes)[number];
6
15
 
16
+ /**
17
+ * @deprecated This interface is deprecated. Use `DsTagProps` from `ds-tag` instead.
18
+ * @see {@link ../ds-tag/ds-tag.types} for the replacement interface.
19
+ */
7
20
  export interface DsChipProps {
8
21
  /**
9
22
  * Ref to the chip element
@@ -1,2 +1,10 @@
1
+ /**
2
+ * @deprecated DsChip is deprecated. Use DsTag instead.
3
+ * @see {@link ../ds-tag} for the replacement component.
4
+ */
1
5
  export { default as DsChip } from './ds-chip';
6
+ /**
7
+ * @deprecated These types are deprecated. Use DsTag types instead.
8
+ * @see {@link ../ds-tag} for the replacement types.
9
+ */
2
10
  export type { ChipSize, DsChipProps } from './ds-chip.types';
@@ -13,8 +13,8 @@ import { DsButton } from '../ds-button';
13
13
  import { DsIcon } from '../ds-icon';
14
14
 
15
15
  /**
16
- * Design system chip group component displays a collection of chips with overflow handling
17
- * Used for displaying filters, selected items, tags, etc.
16
+ * @deprecated This component is deprecated. Use `DsTagFilter` instead.
17
+ * @see {@link ../ds-tag-filter} for the replacement component.
18
18
  */
19
19
  const DsChipGroup: React.FC<DsChipGroupProps> = ({
20
20
  items,
@@ -1,5 +1,9 @@
1
1
  import type { CSSProperties } from 'react';
2
2
 
3
+ /**
4
+ * @deprecated This interface is deprecated. Use `DsTagFilter` types instead.
5
+ * @see {@link ../ds-tag-filter} for the replacement types.
6
+ */
3
7
  export interface ChipItem {
4
8
  /**
5
9
  * Unique identifier for the chip
@@ -19,6 +23,10 @@ export interface ChipItem {
19
23
  selected?: boolean;
20
24
  }
21
25
 
26
+ /**
27
+ * @deprecated This interface is deprecated. Use `DsTagFilterProps` from `ds-tag-filter` instead.
28
+ * @see {@link ../ds-tag-filter/ds-tag-filter.types} for the replacement interface.
29
+ */
22
30
  export interface DsChipGroupProps {
23
31
  /**
24
32
  * Array of chip items to display
@@ -33,6 +33,11 @@ export const useChipRowCalculation = ({ chipsWrapperRef, totalFilters }: UseChip
33
33
 
34
34
  for (index = 0; index < children.length; index++) {
35
35
  const current = children[index];
36
+
37
+ if (!current) {
38
+ continue;
39
+ }
40
+
36
41
  const offset = current.offsetWidth === wrapper.clientWidth ? 0 : gap;
37
42
  const next = offset + current.offsetWidth;
38
43
 
@@ -1,2 +1,3 @@
1
1
  export { default as DsChipGroup } from './ds-chip-group';
2
+
2
3
  export type { DsChipGroupProps, ChipItem } from './ds-chip-group.types';
@@ -73,6 +73,7 @@
73
73
  .content {
74
74
  @include dropdown.dropdown-content;
75
75
  padding: var(--spacing-standard);
76
+ min-width: fit-content;
76
77
  }
77
78
 
78
79
  .viewControl {
@@ -44,7 +44,11 @@ export const stringToDateValue = (dates: string | [string, string]): DateValue[]
44
44
  export const dateValuesToStrings = (dates: DateValue[], range: boolean): string | [string, string] => {
45
45
  const values = dates.map((date) => date.toString());
46
46
 
47
- return range ? [values[0], values[1]] : values[0];
47
+ if (range) {
48
+ return [values[0] ?? '', values[1] ?? ''];
49
+ }
50
+
51
+ return values[0] ?? '';
48
52
  };
49
53
 
50
54
  /**
@@ -68,7 +72,7 @@ export const formatDateInputValue = (value: DateValue[], range: boolean): string
68
72
  }
69
73
  const newValue = value.map(formatDateValue);
70
74
 
71
- return range ? newValue.join(' - ') : newValue[0];
75
+ return range ? newValue.join(' - ') : (newValue[0] ?? '');
72
76
  };
73
77
 
74
78
  /**
@@ -86,6 +90,11 @@ const parseDateString = (dateStr: string): DateValue | null => {
86
90
  }
87
91
 
88
92
  const [, month, day, year] = match;
93
+
94
+ if (!month || !day || !year) {
95
+ return null;
96
+ }
97
+
89
98
  const monthNum = parseInt(month, 10);
90
99
  const dayNum = parseInt(day, 10);
91
100
  const yearNum = parseInt(year, 10);
@@ -129,6 +138,11 @@ const parseRangeInput = (text: string): ParsedDateRange => {
129
138
  }
130
139
 
131
140
  const [startStr, endStr] = parts;
141
+
142
+ if (!startStr || !endStr) {
143
+ return { start: null, end: null, isValid: false };
144
+ }
145
+
132
146
  const startDate = parseDateString(startStr);
133
147
  const endDate = parseDateString(endStr);
134
148
 
@@ -46,9 +46,12 @@ const DsDrawer = ({
46
46
  style={style}
47
47
  className={classNames(
48
48
  styles.drawer,
49
- styles[`cols-${String(columns)}`],
50
49
  styles[`position-${position}`],
51
50
  className,
51
+
52
+ // @ts-expect-error: these classnames are generated dynamically in scss
53
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
54
+ styles[`cols-${String(columns)}`],
52
55
  )}
53
56
  >
54
57
  <div className={styles.content}>{children}</div>
@@ -10,7 +10,10 @@ type BasePositioning = NonNullable<Menu.RootProps['positioning']>;
10
10
  /**
11
11
  * Positioning options for dropdown menu
12
12
  */
13
- export type DsDropdownMenuPositioning = Pick<BasePositioning, 'placement' | 'gutter' | 'sameWidth'>;
13
+ export type DsDropdownMenuPositioning = Pick<
14
+ BasePositioning,
15
+ 'placement' | 'gutter' | 'sameWidth' | 'getAnchorRect'
16
+ >;
14
17
 
15
18
  /**
16
19
  * DEPRECATED: Legacy dropdown menu option configuration
@@ -11,5 +11,5 @@ export function formatFileSize(bytes: number): string {
11
11
  const i = Math.floor(Math.log(bytes) / Math.log(k));
12
12
  const size = bytes / Math.pow(k, i);
13
13
 
14
- return `${size.toFixed(2)} ${sizes[i]}`;
14
+ return `${size.toFixed(2)} ${String(sizes[i])}`;
15
15
  }
@@ -57,7 +57,14 @@ const DsFormControl = ({
57
57
  return (
58
58
  <FormControlContext.Provider value={{ controlId }}>
59
59
  <div
60
- className={classNames(styles.container, status && message && styles[status], className)}
60
+ className={classNames(
61
+ styles.container,
62
+ className,
63
+
64
+ // @ts-expect-error: `info` doesn't have its own classname
65
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
66
+ status && message && styles[status],
67
+ )}
61
68
  style={style}
62
69
  >
63
70
  <div className={styles.labelContainer}>
@@ -77,7 +84,7 @@ const DsFormControl = ({
77
84
  {message && (
78
85
  <div className={styles.message}>
79
86
  <DsIcon icon={messageIcon} size="tiny" filled />
80
- <span className={styles.messageText}>{message}</span>
87
+ <span>{message}</span>
81
88
  </div>
82
89
  )}
83
90
  </div>