@drivenets/design-system 0.3.0 → 0.5.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 (447) 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.cts +5 -5
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  5. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
  6. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts.map +1 -1
  7. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  8. package/dist/components/ds-autocomplete/ds-autocomplete.cjs +218 -0
  9. package/dist/components/ds-autocomplete/ds-autocomplete.d.cts +22 -0
  10. package/dist/components/ds-autocomplete/ds-autocomplete.d.cts.map +1 -0
  11. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts +22 -0
  12. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts.map +1 -0
  13. package/dist/components/ds-autocomplete/ds-autocomplete.js +217 -0
  14. package/dist/components/ds-autocomplete/ds-autocomplete.js.map +1 -0
  15. package/dist/components/ds-autocomplete/ds-autocomplete.module.cjs +27 -0
  16. package/dist/components/ds-autocomplete/ds-autocomplete.module.js +27 -0
  17. package/dist/components/ds-autocomplete/ds-autocomplete.module.js.map +1 -0
  18. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts +79 -0
  19. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts.map +1 -0
  20. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts +80 -0
  21. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts.map +1 -0
  22. package/dist/components/ds-autocomplete/index.cjs +1 -0
  23. package/dist/components/ds-autocomplete/index.d.ts +2 -0
  24. package/dist/components/ds-autocomplete/index.js +1 -0
  25. package/dist/components/ds-avatar/ds-avatar.cjs +4 -4
  26. package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -1
  27. package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -1
  28. package/dist/components/ds-breadcrumb/ds-breadcrumb.cjs +3 -3
  29. package/dist/components/ds-button/ds-button.d.cts +2 -2
  30. package/dist/components/ds-button/ds-button.d.ts +2 -2
  31. package/dist/components/ds-button/ds-button.d.ts.map +1 -1
  32. package/dist/components/ds-card/ds-card.cjs +263 -0
  33. package/dist/components/ds-card/ds-card.d.cts +41 -0
  34. package/dist/components/ds-card/ds-card.d.cts.map +1 -0
  35. package/dist/components/ds-card/ds-card.d.ts +41 -0
  36. package/dist/components/ds-card/ds-card.d.ts.map +1 -0
  37. package/dist/components/ds-card/ds-card.js +262 -0
  38. package/dist/components/ds-card/ds-card.js.map +1 -0
  39. package/dist/components/ds-card/ds-card.module.cjs +11 -0
  40. package/dist/components/ds-card/ds-card.module.js +11 -0
  41. package/dist/components/ds-card/ds-card.module.js.map +1 -0
  42. package/dist/components/ds-card/ds-card.types.cjs +10 -0
  43. package/dist/components/ds-card/ds-card.types.d.cts +65 -0
  44. package/dist/components/ds-card/ds-card.types.d.cts.map +1 -0
  45. package/dist/components/ds-card/ds-card.types.d.ts +65 -0
  46. package/dist/components/ds-card/ds-card.types.d.ts.map +1 -0
  47. package/dist/components/ds-card/ds-card.types.js +10 -0
  48. package/dist/components/ds-card/ds-card.types.js.map +1 -0
  49. package/dist/components/ds-card/index.cjs +2 -0
  50. package/dist/components/ds-card/index.d.ts +2 -0
  51. package/dist/components/ds-card/index.js +2 -0
  52. package/dist/components/ds-checkbox/ds-checkbox.cjs +4 -4
  53. package/dist/components/ds-chip-group/ds-chip-group.cjs +5 -5
  54. package/dist/components/ds-confirmation/ds-confirmation.cjs +20 -221
  55. package/dist/components/ds-confirmation/ds-confirmation.d.cts +22 -27
  56. package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
  57. package/dist/components/ds-confirmation/ds-confirmation.d.ts +22 -27
  58. package/dist/components/ds-confirmation/ds-confirmation.d.ts.map +1 -1
  59. package/dist/components/ds-confirmation/ds-confirmation.js +21 -221
  60. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  61. package/dist/components/ds-confirmation/ds-confirmation.types.d.cts +2 -1
  62. package/dist/components/ds-confirmation/ds-confirmation.types.d.cts.map +1 -1
  63. package/dist/components/ds-confirmation/ds-confirmation.types.d.ts +2 -1
  64. package/dist/components/ds-confirmation/ds-confirmation.types.d.ts.map +1 -1
  65. package/dist/components/ds-date-input/ds-date-input.cjs +37 -37
  66. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  67. package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
  68. package/dist/components/ds-date-input/ds-date-input.utils.cjs +4 -4
  69. package/dist/components/ds-dialog/ds-dialog.cjs +11 -11
  70. package/dist/components/ds-drawer/ds-drawer.cjs +9 -9
  71. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  72. package/dist/components/ds-drawer/ds-drawer.d.cts.map +1 -1
  73. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +19 -19
  74. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +1 -1
  75. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.cjs +20 -20
  76. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js +20 -20
  77. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js.map +1 -1
  78. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  79. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  80. package/dist/components/ds-file-upload/components/file-upload/file-upload.cjs +5 -5
  81. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +4 -4
  82. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  83. package/dist/components/ds-form-control/ds-form-control.d.ts +8 -8
  84. package/dist/components/ds-icon/custom-icons/index.cjs +113 -0
  85. package/dist/components/ds-icon/custom-icons/index.d.cts +62 -0
  86. package/dist/components/ds-icon/custom-icons/index.d.cts.map +1 -0
  87. package/dist/components/ds-icon/custom-icons/index.d.ts +62 -0
  88. package/dist/components/ds-icon/custom-icons/index.d.ts.map +1 -0
  89. package/dist/components/ds-icon/custom-icons/index.js +113 -0
  90. package/dist/components/ds-icon/custom-icons/index.js.map +1 -0
  91. package/dist/components/ds-icon/custom-icons/special-alarm-settings.cjs +73 -0
  92. package/dist/components/ds-icon/custom-icons/special-alarm-settings.js +73 -0
  93. package/dist/components/ds-icon/custom-icons/special-alarm-settings.js.map +1 -0
  94. package/dist/components/ds-icon/custom-icons/special-autoboot-profiles.cjs +49 -0
  95. package/dist/components/ds-icon/custom-icons/special-autoboot-profiles.js +49 -0
  96. package/dist/components/ds-icon/custom-icons/special-autoboot-profiles.js.map +1 -0
  97. package/dist/components/ds-icon/custom-icons/special-automation.cjs +49 -0
  98. package/dist/components/ds-icon/custom-icons/special-automation.js +49 -0
  99. package/dist/components/ds-icon/custom-icons/special-automation.js.map +1 -0
  100. package/dist/components/ds-icon/custom-icons/special-book.cjs +71 -0
  101. package/dist/components/ds-icon/custom-icons/special-book.js +71 -0
  102. package/dist/components/ds-icon/custom-icons/special-book.js.map +1 -0
  103. package/dist/components/ds-icon/custom-icons/special-cached-active.cjs +50 -0
  104. package/dist/components/ds-icon/custom-icons/special-cached-active.js +50 -0
  105. package/dist/components/ds-icon/custom-icons/special-cached-active.js.map +1 -0
  106. package/dist/components/ds-icon/custom-icons/special-cluster-ne.cjs +101 -0
  107. package/dist/components/ds-icon/custom-icons/special-cluster-ne.js +101 -0
  108. package/dist/components/ds-icon/custom-icons/special-cluster-ne.js.map +1 -0
  109. package/dist/components/ds-icon/custom-icons/special-compare.cjs +38 -0
  110. package/dist/components/ds-icon/custom-icons/special-compare.js +38 -0
  111. package/dist/components/ds-icon/custom-icons/special-compare.js.map +1 -0
  112. package/dist/components/ds-icon/custom-icons/special-config-template.cjs +58 -0
  113. package/dist/components/ds-icon/custom-icons/special-config-template.js +58 -0
  114. package/dist/components/ds-icon/custom-icons/special-config-template.js.map +1 -0
  115. package/dist/components/ds-icon/custom-icons/special-conflicted-nes.cjs +40 -0
  116. package/dist/components/ds-icon/custom-icons/special-conflicted-nes.js +40 -0
  117. package/dist/components/ds-icon/custom-icons/special-conflicted-nes.js.map +1 -0
  118. package/dist/components/ds-icon/custom-icons/special-device.cjs +38 -0
  119. package/dist/components/ds-icon/custom-icons/special-device.js +38 -0
  120. package/dist/components/ds-icon/custom-icons/special-device.js.map +1 -0
  121. package/dist/components/ds-icon/custom-icons/special-discovered-ne.cjs +39 -0
  122. package/dist/components/ds-icon/custom-icons/special-discovered-ne.js +39 -0
  123. package/dist/components/ds-icon/custom-icons/special-discovered-ne.js.map +1 -0
  124. package/dist/components/ds-icon/custom-icons/special-fiber-circuit.cjs +47 -0
  125. package/dist/components/ds-icon/custom-icons/special-fiber-circuit.js +47 -0
  126. package/dist/components/ds-icon/custom-icons/special-fiber-circuit.js.map +1 -0
  127. package/dist/components/ds-icon/custom-icons/special-filter-list-active.cjs +50 -0
  128. package/dist/components/ds-icon/custom-icons/special-filter-list-active.js +50 -0
  129. package/dist/components/ds-icon/custom-icons/special-filter-list-active.js.map +1 -0
  130. package/dist/components/ds-icon/custom-icons/special-general-details.cjs +47 -0
  131. package/dist/components/ds-icon/custom-icons/special-general-details.js +47 -0
  132. package/dist/components/ds-icon/custom-icons/special-general-details.js.map +1 -0
  133. package/dist/components/ds-icon/custom-icons/special-gnmi.cjs +77 -0
  134. package/dist/components/ds-icon/custom-icons/special-gnmi.js +77 -0
  135. package/dist/components/ds-icon/custom-icons/special-gnmi.js.map +1 -0
  136. package/dist/components/ds-icon/custom-icons/special-grouped-devices.cjs +58 -0
  137. package/dist/components/ds-icon/custom-icons/special-grouped-devices.js +58 -0
  138. package/dist/components/ds-icon/custom-icons/special-grouped-devices.js.map +1 -0
  139. package/dist/components/ds-icon/custom-icons/special-hardware.cjs +47 -0
  140. package/dist/components/ds-icon/custom-icons/special-hardware.js +47 -0
  141. package/dist/components/ds-icon/custom-icons/special-hardware.js.map +1 -0
  142. package/dist/components/ds-icon/custom-icons/special-home.cjs +38 -0
  143. package/dist/components/ds-icon/custom-icons/special-home.js +38 -0
  144. package/dist/components/ds-icon/custom-icons/special-home.js.map +1 -0
  145. package/dist/components/ds-icon/custom-icons/special-lego.cjs +80 -0
  146. package/dist/components/ds-icon/custom-icons/special-lego.js +80 -0
  147. package/dist/components/ds-icon/custom-icons/special-lego.js.map +1 -0
  148. package/dist/components/ds-icon/custom-icons/special-map-view.cjs +162 -0
  149. package/dist/components/ds-icon/custom-icons/special-map-view.js +162 -0
  150. package/dist/components/ds-icon/custom-icons/special-map-view.js.map +1 -0
  151. package/dist/components/ds-icon/custom-icons/special-market.cjs +35 -0
  152. package/dist/components/ds-icon/custom-icons/special-market.js +35 -0
  153. package/dist/components/ds-icon/custom-icons/special-market.js.map +1 -0
  154. package/dist/components/ds-icon/custom-icons/special-modules.cjs +70 -0
  155. package/dist/components/ds-icon/custom-icons/special-modules.js +70 -0
  156. package/dist/components/ds-icon/custom-icons/special-modules.js.map +1 -0
  157. package/dist/components/ds-icon/custom-icons/special-ne-health.cjs +47 -0
  158. package/dist/components/ds-icon/custom-icons/special-ne-health.js +47 -0
  159. package/dist/components/ds-icon/custom-icons/special-ne-health.js.map +1 -0
  160. package/dist/components/ds-icon/custom-icons/special-ne-nav-360-dashboard.cjs +96 -0
  161. package/dist/components/ds-icon/custom-icons/special-ne-nav-360-dashboard.js +96 -0
  162. package/dist/components/ds-icon/custom-icons/special-ne-nav-360-dashboard.js.map +1 -0
  163. package/dist/components/ds-icon/custom-icons/special-ne-nav-components.cjs +35 -0
  164. package/dist/components/ds-icon/custom-icons/special-ne-nav-components.js +35 -0
  165. package/dist/components/ds-icon/custom-icons/special-ne-nav-components.js.map +1 -0
  166. package/dist/components/ds-icon/custom-icons/special-ne-nav-install-log.cjs +49 -0
  167. package/dist/components/ds-icon/custom-icons/special-ne-nav-install-log.js +49 -0
  168. package/dist/components/ds-icon/custom-icons/special-ne-nav-install-log.js.map +1 -0
  169. package/dist/components/ds-icon/custom-icons/special-ne-nav-logging.cjs +49 -0
  170. package/dist/components/ds-icon/custom-icons/special-ne-nav-logging.js +49 -0
  171. package/dist/components/ds-icon/custom-icons/special-ne-nav-logging.js.map +1 -0
  172. package/dist/components/ds-icon/custom-icons/special-ne-nav-message-support.cjs +81 -0
  173. package/dist/components/ds-icon/custom-icons/special-ne-nav-message-support.js +81 -0
  174. package/dist/components/ds-icon/custom-icons/special-ne-nav-message-support.js.map +1 -0
  175. package/dist/components/ds-icon/custom-icons/special-ne-nav-settings.cjs +49 -0
  176. package/dist/components/ds-icon/custom-icons/special-ne-nav-settings.js +49 -0
  177. package/dist/components/ds-icon/custom-icons/special-ne-nav-settings.js.map +1 -0
  178. package/dist/components/ds-icon/custom-icons/special-ne-nav-stacks.cjs +35 -0
  179. package/dist/components/ds-icon/custom-icons/special-ne-nav-stacks.js +35 -0
  180. package/dist/components/ds-icon/custom-icons/special-ne-nav-stacks.js.map +1 -0
  181. package/dist/components/ds-icon/custom-icons/special-ne-nav-terminal.cjs +39 -0
  182. package/dist/components/ds-icon/custom-icons/special-ne-nav-terminal.js +39 -0
  183. package/dist/components/ds-icon/custom-icons/special-ne-nav-terminal.js.map +1 -0
  184. package/dist/components/ds-icon/custom-icons/special-ne-nav-topology.cjs +35 -0
  185. package/dist/components/ds-icon/custom-icons/special-ne-nav-topology.js +35 -0
  186. package/dist/components/ds-icon/custom-icons/special-ne-nav-topology.js.map +1 -0
  187. package/dist/components/ds-icon/custom-icons/special-netgen-s.cjs +60 -0
  188. package/dist/components/ds-icon/custom-icons/special-netgen-s.js +60 -0
  189. package/dist/components/ds-icon/custom-icons/special-netgen-s.js.map +1 -0
  190. package/dist/components/ds-icon/custom-icons/special-netgen.cjs +60 -0
  191. package/dist/components/ds-icon/custom-icons/special-netgen.js +60 -0
  192. package/dist/components/ds-icon/custom-icons/special-netgen.js.map +1 -0
  193. package/dist/components/ds-icon/custom-icons/special-old-base-os.cjs +93 -0
  194. package/dist/components/ds-icon/custom-icons/special-old-base-os.js +93 -0
  195. package/dist/components/ds-icon/custom-icons/special-old-base-os.js.map +1 -0
  196. package/dist/components/ds-icon/custom-icons/special-packages.cjs +39 -0
  197. package/dist/components/ds-icon/custom-icons/special-packages.js +39 -0
  198. package/dist/components/ds-icon/custom-icons/special-packages.js.map +1 -0
  199. package/dist/components/ds-icon/custom-icons/special-resources.cjs +70 -0
  200. package/dist/components/ds-icon/custom-icons/special-resources.js +70 -0
  201. package/dist/components/ds-icon/custom-icons/special-resources.js.map +1 -0
  202. package/dist/components/ds-icon/custom-icons/special-scheme.cjs +64 -0
  203. package/dist/components/ds-icon/custom-icons/special-scheme.js +64 -0
  204. package/dist/components/ds-icon/custom-icons/special-scheme.js.map +1 -0
  205. package/dist/components/ds-icon/custom-icons/special-site-generic.cjs +59 -0
  206. package/dist/components/ds-icon/custom-icons/special-site-generic.js +59 -0
  207. package/dist/components/ds-icon/custom-icons/special-site-generic.js.map +1 -0
  208. package/dist/components/ds-icon/custom-icons/special-site-t1.cjs +35 -0
  209. package/dist/components/ds-icon/custom-icons/special-site-t1.js +35 -0
  210. package/dist/components/ds-icon/custom-icons/special-site-t1.js.map +1 -0
  211. package/dist/components/ds-icon/custom-icons/special-site-t2.cjs +35 -0
  212. package/dist/components/ds-icon/custom-icons/special-site-t2.js +35 -0
  213. package/dist/components/ds-icon/custom-icons/special-site-t2.js.map +1 -0
  214. package/dist/components/ds-icon/custom-icons/special-site-t3.cjs +35 -0
  215. package/dist/components/ds-icon/custom-icons/special-site-t3.js +35 -0
  216. package/dist/components/ds-icon/custom-icons/special-site-t3.js.map +1 -0
  217. package/dist/components/ds-icon/custom-icons/special-site-t4.cjs +35 -0
  218. package/dist/components/ds-icon/custom-icons/special-site-t4.js +35 -0
  219. package/dist/components/ds-icon/custom-icons/special-site-t4.js.map +1 -0
  220. package/dist/components/ds-icon/custom-icons/special-site-unknown.cjs +63 -0
  221. package/dist/components/ds-icon/custom-icons/special-site-unknown.js +63 -0
  222. package/dist/components/ds-icon/custom-icons/special-site-unknown.js.map +1 -0
  223. package/dist/components/ds-icon/custom-icons/special-software.cjs +38 -0
  224. package/dist/components/ds-icon/custom-icons/special-software.js +38 -0
  225. package/dist/components/ds-icon/custom-icons/special-software.js.map +1 -0
  226. package/dist/components/ds-icon/custom-icons/special-stacks.cjs +39 -0
  227. package/dist/components/ds-icon/custom-icons/special-stacks.js +39 -0
  228. package/dist/components/ds-icon/custom-icons/special-stacks.js.map +1 -0
  229. package/dist/components/ds-icon/custom-icons/special-standalone.cjs +35 -0
  230. package/dist/components/ds-icon/custom-icons/special-standalone.js +35 -0
  231. package/dist/components/ds-icon/custom-icons/special-standalone.js.map +1 -0
  232. package/dist/components/ds-icon/custom-icons/special-upgrading.cjs +35 -0
  233. package/dist/components/ds-icon/custom-icons/special-upgrading.js +35 -0
  234. package/dist/components/ds-icon/custom-icons/special-upgrading.js.map +1 -0
  235. package/dist/components/ds-icon/custom-icons/special-version-control.cjs +40 -0
  236. package/dist/components/ds-icon/custom-icons/special-version-control.js +40 -0
  237. package/dist/components/ds-icon/custom-icons/special-version-control.js.map +1 -0
  238. package/dist/components/ds-icon/custom-icons/special-webhook.cjs +38 -0
  239. package/dist/components/ds-icon/custom-icons/special-webhook.js +38 -0
  240. package/dist/components/ds-icon/custom-icons/special-webhook.js.map +1 -0
  241. package/dist/components/ds-icon/custom-icons/special-yang-version-control.cjs +38 -0
  242. package/dist/components/ds-icon/custom-icons/special-yang-version-control.js +38 -0
  243. package/dist/components/ds-icon/custom-icons/special-yang-version-control.js.map +1 -0
  244. package/dist/components/ds-icon/ds-icon.cjs +14 -5
  245. package/dist/components/ds-icon/ds-icon.d.cts +11 -4
  246. package/dist/components/ds-icon/ds-icon.d.cts.map +1 -1
  247. package/dist/components/ds-icon/ds-icon.d.ts +11 -4
  248. package/dist/components/ds-icon/ds-icon.d.ts.map +1 -1
  249. package/dist/components/ds-icon/ds-icon.js +14 -5
  250. package/dist/components/ds-icon/ds-icon.js.map +1 -1
  251. package/dist/components/ds-icon/ds-icon.module.cjs +7 -7
  252. package/dist/components/ds-icon/ds-icon.module.js +7 -7
  253. package/dist/components/ds-icon/ds-icon.module.js.map +1 -1
  254. package/dist/components/ds-icon/ds-icon.types.d.cts +8 -6
  255. package/dist/components/ds-icon/ds-icon.types.d.cts.map +1 -1
  256. package/dist/components/ds-icon/ds-icon.types.d.ts +8 -6
  257. package/dist/components/ds-icon/ds-icon.types.d.ts.map +1 -1
  258. package/dist/components/ds-icon/ds-icon.types.js.map +1 -1
  259. package/dist/components/ds-icon/index.cjs +1 -0
  260. package/dist/components/ds-icon/index.d.ts +2 -1
  261. package/dist/components/ds-icon/index.js +1 -0
  262. package/dist/components/ds-loader/ds-loader.d.cts +2 -2
  263. package/dist/components/ds-loader/ds-loader.d.ts +2 -2
  264. package/dist/components/ds-modal/ds-modal.cjs +51 -52
  265. package/dist/components/ds-modal/ds-modal.d.cts +11 -10
  266. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  267. package/dist/components/ds-modal/ds-modal.d.ts +3 -2
  268. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  269. package/dist/components/ds-modal/ds-modal.js +47 -48
  270. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  271. package/dist/components/ds-modal/ds-modal.module.cjs +24 -24
  272. package/dist/components/ds-modal/ds-modal.module.js +24 -24
  273. package/dist/components/ds-modal/ds-modal.module.js.map +1 -1
  274. package/dist/components/ds-modal/ds-modal.types.d.cts +10 -5
  275. package/dist/components/ds-modal/ds-modal.types.d.cts.map +1 -1
  276. package/dist/components/ds-modal/ds-modal.types.d.ts +10 -5
  277. package/dist/components/ds-modal/ds-modal.types.d.ts.map +1 -1
  278. package/dist/components/ds-number-input/ds-number-input.cjs +6 -6
  279. package/dist/components/ds-panel/ds-panel.cjs +4 -4
  280. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  281. package/dist/components/ds-panel/ds-panel.d.cts.map +1 -1
  282. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  283. package/dist/components/ds-password-input/ds-password-input.cjs +6 -6
  284. package/dist/components/ds-popover/ds-popover.cjs +6 -6
  285. package/dist/components/ds-radio-group/ds-radio-group.cjs +11 -11
  286. package/dist/components/ds-radio-group/ds-radio-group.types.cjs +1 -1
  287. package/dist/components/ds-segment-group/ds-segment-group.cjs +7 -7
  288. package/dist/components/ds-segment-group/ds-segment-group.types.cjs +1 -1
  289. package/dist/components/ds-select/ds-select.cjs +16 -16
  290. package/dist/components/ds-select/ds-select.d.cts +2 -2
  291. package/dist/components/ds-select/ds-select.d.ts +2 -2
  292. package/dist/components/ds-select/select-items-chips.cjs +2 -2
  293. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +2 -2
  294. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts +2 -2
  295. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +2 -2
  296. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts +2 -2
  297. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts.map +1 -1
  298. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +2 -2
  299. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts +2 -2
  300. package/dist/components/ds-skeleton/ds-skeleton.d.cts +4 -4
  301. package/dist/components/ds-skeleton/ds-skeleton.d.ts +4 -4
  302. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  303. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  304. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  305. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  306. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  307. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  308. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  309. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  310. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  311. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  312. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  313. package/dist/components/ds-stepper/hooks/use-steps.cjs +5 -5
  314. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.cjs +3 -2
  315. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js +1 -0
  316. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js.map +1 -1
  317. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.types.d.cts +4 -0
  318. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.types.d.ts +4 -0
  319. package/dist/components/ds-table/components/ds-table-header/ds-table-header.cjs +2 -2
  320. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +4 -4
  321. package/dist/components/ds-table/ds-table.cjs +7 -7
  322. package/dist/components/ds-table/ds-table.d.cts +2 -2
  323. package/dist/components/ds-table/ds-table.d.ts +2 -2
  324. package/dist/components/ds-table/filters/hooks/index.d.ts +1 -1
  325. package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +180 -185
  326. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts +58 -25
  327. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts.map +1 -1
  328. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts +58 -25
  329. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts.map +1 -1
  330. package/dist/components/ds-table/filters/hooks/use-table-filters.js +180 -185
  331. package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
  332. package/dist/components/ds-table/filters/index.d.ts +1 -1
  333. package/dist/components/ds-table/hooks/use-drag-and-drop.cjs +10 -10
  334. package/dist/components/ds-table/index.d.ts +1 -1
  335. package/dist/components/ds-table/utils/column-styling.cjs +2 -2
  336. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.cjs +2 -2
  337. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.cjs +2 -2
  338. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js +2 -2
  339. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js.map +1 -1
  340. package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.cjs +3 -3
  341. package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.cjs +2 -2
  342. package/dist/components/ds-tabs/ds-tabs.cjs +2 -2
  343. package/dist/components/ds-tabs/ds-tabs.d.cts +5 -5
  344. package/dist/components/ds-tabs/ds-tabs.d.ts +5 -5
  345. package/dist/components/ds-tag/ds-tag.d.ts +2 -2
  346. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +2 -2
  347. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +2 -2
  348. package/dist/components/ds-toast/ds-toast-context.cjs +2 -2
  349. package/dist/components/ds-toast/ds-toast.cjs +6 -6
  350. package/dist/components/ds-toggle/ds-toggle.cjs +6 -6
  351. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  352. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  353. package/dist/components/ds-tooltip/ds-tooltip.cjs +7 -7
  354. package/dist/components/ds-typography/ds-typography.cjs +2 -2
  355. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.cjs +5 -5
  356. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  357. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  358. package/dist/index.cjs +48 -37
  359. package/dist/index.d.cts +8 -3
  360. package/dist/index.d.ts +10 -3
  361. package/dist/index.js +8 -2
  362. package/dist/index.min.css +1 -1
  363. package/package.json +43 -40
  364. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +257 -0
  365. package/src/components/ds-autocomplete/ds-autocomplete.tsx +130 -0
  366. package/src/components/ds-autocomplete/ds-autocomplete.types.tsx +76 -0
  367. package/src/components/ds-autocomplete/index.ts +2 -0
  368. package/src/components/ds-avatar/ds-avatar.module.scss +1 -1
  369. package/src/components/ds-avatar-group/ds-avatar-group.module.scss +1 -1
  370. package/src/components/ds-card/ds-card.module.scss +119 -0
  371. package/src/components/ds-card/ds-card.tsx +87 -0
  372. package/src/components/ds-card/ds-card.types.ts +72 -0
  373. package/src/components/ds-card/index.ts +9 -0
  374. package/src/components/ds-confirmation/ds-confirmation.tsx +11 -115
  375. package/src/components/ds-confirmation/ds-confirmation.types.tsx +2 -1
  376. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +0 -1
  377. package/src/components/ds-icon/custom-icons/index.ts +137 -0
  378. package/src/components/ds-icon/custom-icons/special-alarm-settings.tsx +30 -0
  379. package/src/components/ds-icon/custom-icons/special-autoboot-profiles.tsx +20 -0
  380. package/src/components/ds-icon/custom-icons/special-automation.tsx +20 -0
  381. package/src/components/ds-icon/custom-icons/special-book.tsx +25 -0
  382. package/src/components/ds-icon/custom-icons/special-cached-active.tsx +15 -0
  383. package/src/components/ds-icon/custom-icons/special-cluster-ne.tsx +38 -0
  384. package/src/components/ds-icon/custom-icons/special-compare.tsx +14 -0
  385. package/src/components/ds-icon/custom-icons/special-config-template.tsx +22 -0
  386. package/src/components/ds-icon/custom-icons/special-conflicted-nes.tsx +16 -0
  387. package/src/components/ds-icon/custom-icons/special-device.tsx +14 -0
  388. package/src/components/ds-icon/custom-icons/special-discovered-ne.tsx +22 -0
  389. package/src/components/ds-icon/custom-icons/special-fiber-circuit.tsx +18 -0
  390. package/src/components/ds-icon/custom-icons/special-filter-list-active.tsx +15 -0
  391. package/src/components/ds-icon/custom-icons/special-general-details.tsx +18 -0
  392. package/src/components/ds-icon/custom-icons/special-gnmi.tsx +34 -0
  393. package/src/components/ds-icon/custom-icons/special-grouped-devices.tsx +22 -0
  394. package/src/components/ds-icon/custom-icons/special-hardware.tsx +18 -0
  395. package/src/components/ds-icon/custom-icons/special-home.tsx +14 -0
  396. package/src/components/ds-icon/custom-icons/special-lego.tsx +26 -0
  397. package/src/components/ds-icon/custom-icons/special-map-view.tsx +81 -0
  398. package/src/components/ds-icon/custom-icons/special-market.tsx +18 -0
  399. package/src/components/ds-icon/custom-icons/special-modules.tsx +25 -0
  400. package/src/components/ds-icon/custom-icons/special-ne-health.tsx +18 -0
  401. package/src/components/ds-icon/custom-icons/special-ne-nav-360-dashboard.tsx +34 -0
  402. package/src/components/ds-icon/custom-icons/special-ne-nav-components.tsx +18 -0
  403. package/src/components/ds-icon/custom-icons/special-ne-nav-install-log.tsx +27 -0
  404. package/src/components/ds-icon/custom-icons/special-ne-nav-logging.tsx +20 -0
  405. package/src/components/ds-icon/custom-icons/special-ne-nav-message-support.tsx +31 -0
  406. package/src/components/ds-icon/custom-icons/special-ne-nav-settings.tsx +27 -0
  407. package/src/components/ds-icon/custom-icons/special-ne-nav-stacks.tsx +18 -0
  408. package/src/components/ds-icon/custom-icons/special-ne-nav-terminal.tsx +22 -0
  409. package/src/components/ds-icon/custom-icons/special-ne-nav-topology.tsx +18 -0
  410. package/src/components/ds-icon/custom-icons/special-netgen-s.tsx +24 -0
  411. package/src/components/ds-icon/custom-icons/special-netgen.tsx +24 -0
  412. package/src/components/ds-icon/custom-icons/special-old-base-os.tsx +36 -0
  413. package/src/components/ds-icon/custom-icons/special-packages.tsx +22 -0
  414. package/src/components/ds-icon/custom-icons/special-resources.tsx +25 -0
  415. package/src/components/ds-icon/custom-icons/special-scheme.tsx +28 -0
  416. package/src/components/ds-icon/custom-icons/special-site-generic.tsx +22 -0
  417. package/src/components/ds-icon/custom-icons/special-site-t1.tsx +18 -0
  418. package/src/components/ds-icon/custom-icons/special-site-t2.tsx +18 -0
  419. package/src/components/ds-icon/custom-icons/special-site-t3.tsx +18 -0
  420. package/src/components/ds-icon/custom-icons/special-site-t4.tsx +18 -0
  421. package/src/components/ds-icon/custom-icons/special-site-unknown.tsx +26 -0
  422. package/src/components/ds-icon/custom-icons/special-software.tsx +14 -0
  423. package/src/components/ds-icon/custom-icons/special-stacks.tsx +22 -0
  424. package/src/components/ds-icon/custom-icons/special-standalone.tsx +18 -0
  425. package/src/components/ds-icon/custom-icons/special-upgrading.tsx +18 -0
  426. package/src/components/ds-icon/custom-icons/special-version-control.tsx +16 -0
  427. package/src/components/ds-icon/custom-icons/special-webhook.tsx +14 -0
  428. package/src/components/ds-icon/custom-icons/special-yang-version-control.tsx +14 -0
  429. package/src/components/ds-icon/ds-icon.module.scss +10 -0
  430. package/src/components/ds-icon/ds-icon.tsx +14 -5
  431. package/src/components/ds-icon/ds-icon.types.ts +8 -5
  432. package/src/components/ds-icon/index.ts +1 -0
  433. package/src/components/ds-modal/ds-modal.module.scss +123 -60
  434. package/src/components/ds-modal/ds-modal.tsx +5 -2
  435. package/src/components/ds-modal/ds-modal.types.tsx +14 -5
  436. package/src/components/ds-table/components/ds-table-cell/ds-table-cell.tsx +1 -0
  437. package/src/components/ds-table/components/ds-table-cell/ds-table-cell.types.ts +5 -0
  438. package/src/components/ds-table/filters/hooks/index.ts +1 -1
  439. package/src/components/ds-table/filters/hooks/use-table-filters.ts +117 -116
  440. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +4 -0
  441. package/src/index.ts +2 -0
  442. package/src/styles/shared/_modal.scss +0 -123
  443. package/dist/components/ds-confirmation/ds-confirmation.module.cjs +0 -21
  444. package/dist/components/ds-confirmation/ds-confirmation.module.js +0 -21
  445. package/dist/components/ds-confirmation/ds-confirmation.module.js.map +0 -1
  446. package/src/components/ds-confirmation/ds-confirmation.module.scss +0 -58
  447. package/src/components/ds-table/utils/story-data-generator.ts +0 -91
@@ -0,0 +1,119 @@
1
+ $border-radius: 8px;
2
+ $min-width-small: 224px;
3
+ $min-width-medium: 264px;
4
+ $min-width-large: 368px;
5
+ $transition-duration: 0.2s;
6
+
7
+ .root {
8
+ position: relative;
9
+ display: flex;
10
+ flex-direction: column;
11
+ background: var(--color-background);
12
+ border: 1px solid var(--color-border-contrast);
13
+ overflow: hidden;
14
+ box-sizing: border-box;
15
+ border-radius: $border-radius;
16
+ }
17
+
18
+ .root[data-disabled] {
19
+ &::after {
20
+ content: '';
21
+ position: absolute;
22
+ inset: 0;
23
+ // TODO: remove once we import all the tokens from figma
24
+ background: rgba(255, 255, 255, 0.6);
25
+ pointer-events: none;
26
+ border-radius: inherit;
27
+ }
28
+ }
29
+
30
+ .root[data-size='small'] {
31
+ min-width: $min-width-small;
32
+
33
+ .header,
34
+ .body,
35
+ .footer {
36
+ padding: var(--spacing-xs) var(--spacing-sm);
37
+ }
38
+ }
39
+
40
+ .root[data-size='medium'] {
41
+ min-width: $min-width-medium;
42
+
43
+ .header,
44
+ .body,
45
+ .footer {
46
+ padding: var(--spacing-xs) var(--spacing-standard);
47
+ }
48
+ }
49
+
50
+ .root[data-size='large'] {
51
+ min-width: $min-width-large;
52
+
53
+ .header,
54
+ .body,
55
+ .footer {
56
+ padding: var(--spacing-xs) var(--spacing-xl);
57
+ }
58
+ }
59
+
60
+ .root[data-selectable] {
61
+ cursor: pointer;
62
+ transition:
63
+ border-color $transition-duration ease-in-out,
64
+ box-shadow $transition-duration ease-in-out,
65
+ background-color $transition-duration ease-in-out;
66
+
67
+ &:focus {
68
+ outline: none;
69
+ }
70
+
71
+ &:hover:not([data-disabled]):not([data-selected]) {
72
+ border-color: var(--color-border-action-secondary);
73
+ }
74
+
75
+ &:focus-visible:not([data-selected]),
76
+ &[data-focus-visible]:not([data-selected]) {
77
+ border-color: var(--color-border-action-secondary);
78
+ box-shadow: inset 0 0 0 1px var(--color-border-action-secondary);
79
+ outline: none;
80
+ }
81
+
82
+ &:focus-visible[data-selected],
83
+ &[data-focus-visible][data-selected] {
84
+ outline: none;
85
+ }
86
+
87
+ &[data-disabled] {
88
+ cursor: not-allowed;
89
+ border-color: var(--color-border-disabled);
90
+ }
91
+ }
92
+
93
+ .root[data-selected] {
94
+ border-color: var(--color-border-action-primary);
95
+
96
+ &:hover:not([data-disabled]),
97
+ &:focus-visible,
98
+ &[data-focus-visible] {
99
+ box-shadow: inset 0 0 0 1px var(--color-border-action-primary);
100
+ }
101
+
102
+ &[data-highlight] {
103
+ background: var(--color-background-selected-weak);
104
+ }
105
+ }
106
+
107
+ .header {
108
+ display: flex;
109
+ align-items: center;
110
+ }
111
+
112
+ .body {
113
+ flex: 1;
114
+ }
115
+
116
+ .footer {
117
+ display: flex;
118
+ align-items: center;
119
+ }
@@ -0,0 +1,87 @@
1
+ import classNames from 'classnames';
2
+
3
+ import styles from './ds-card.module.scss';
4
+ import type { DsCardRootProps, DsCardHeaderProps, DsCardBodyProps, DsCardFooterProps } from './ds-card.types';
5
+
6
+ /**
7
+ * Card root component - container with optional selectable behavior.
8
+ * Use composition with DsCard.Header, DsCard.Body, DsCard.Footer for full flexibility.
9
+ */
10
+ const Root = ({
11
+ ref,
12
+ size = 'medium',
13
+ selectable = false,
14
+ selected = false,
15
+ highlightSelected = false,
16
+ disabled = false,
17
+ className,
18
+ style,
19
+ children,
20
+ onClick,
21
+ onKeyDown,
22
+ ...rest
23
+ }: DsCardRootProps) => {
24
+ const interactiveProps = selectable
25
+ ? {
26
+ role: 'button' as const,
27
+ tabIndex: disabled ? -1 : 0,
28
+ 'aria-pressed': selected,
29
+ 'aria-disabled': disabled || undefined,
30
+ }
31
+ : {};
32
+
33
+ return (
34
+ <div
35
+ ref={ref}
36
+ {...rest}
37
+ {...interactiveProps}
38
+ onClick={disabled ? undefined : onClick}
39
+ onKeyDown={disabled ? undefined : onKeyDown}
40
+ data-size={size}
41
+ data-selectable={selectable || undefined}
42
+ data-selected={selected || undefined}
43
+ data-disabled={disabled || undefined}
44
+ data-highlight={(selected && highlightSelected) || undefined}
45
+ className={classNames(styles.root, className)}
46
+ style={style}
47
+ >
48
+ {children}
49
+ </div>
50
+ );
51
+ };
52
+
53
+ /**
54
+ * Card header - contains title and extra content.
55
+ * Use with DsCard.Title and DsCard.Extra for standard layout,
56
+ * or provide custom children for full flexibility.
57
+ */
58
+ const Header = ({ className, children, ref, ...rest }: DsCardHeaderProps) => (
59
+ <div ref={ref} className={classNames(styles.header, className)} {...rest}>
60
+ {children}
61
+ </div>
62
+ );
63
+
64
+ /**
65
+ * Card body - main content area.
66
+ */
67
+ const Body = ({ className, children, ref, ...rest }: DsCardBodyProps) => (
68
+ <div ref={ref} className={classNames(styles.body, className)} {...rest}>
69
+ {children}
70
+ </div>
71
+ );
72
+
73
+ /**
74
+ * Card footer - bottom section for actions or additional info.
75
+ */
76
+ const Footer = ({ className, children, ref, ...rest }: DsCardFooterProps) => (
77
+ <div ref={ref} className={classNames(styles.footer, className)} {...rest}>
78
+ {children}
79
+ </div>
80
+ );
81
+
82
+ export const DsCard = {
83
+ Root,
84
+ Header,
85
+ Body,
86
+ Footer,
87
+ };
@@ -0,0 +1,72 @@
1
+ import type { CSSProperties, HTMLAttributes, ReactNode, Ref } from 'react';
2
+
3
+ export const cardSizes = ['small', 'medium', 'large'] as const;
4
+ export type DsCardSize = (typeof cardSizes)[number];
5
+
6
+ /**
7
+ * Props for the Card root component
8
+ */
9
+ export interface DsCardRootProps extends HTMLAttributes<HTMLDivElement> {
10
+ /**
11
+ * Forwarded ref for the card element
12
+ */
13
+ ref?: Ref<HTMLDivElement>;
14
+
15
+ /**
16
+ * Card size variant
17
+ * @default 'medium'
18
+ */
19
+ size?: DsCardSize;
20
+
21
+ /**
22
+ * Enable selectable/interactive mode. When false, the card is a static display container.
23
+ * @default false
24
+ */
25
+ selectable?: boolean;
26
+
27
+ /**
28
+ * Selected state (controlled). Required when selectable is true.
29
+ * @default false
30
+ */
31
+ selected?: boolean;
32
+
33
+ /**
34
+ * When true, shows a highlighted background when selected
35
+ * @default false
36
+ */
37
+ highlightSelected?: boolean;
38
+
39
+ /**
40
+ * Disabled state - prevents interaction
41
+ */
42
+ disabled?: boolean;
43
+ }
44
+
45
+ /**
46
+ * Common props for card slot components
47
+ */
48
+ export interface DsCardSlotProps extends HTMLAttributes<HTMLDivElement> {
49
+ /**
50
+ * Additional CSS class names
51
+ */
52
+ className?: string;
53
+
54
+ /**
55
+ * Additional styles to apply
56
+ */
57
+ style?: CSSProperties;
58
+
59
+ /**
60
+ * Slot content
61
+ */
62
+ children?: ReactNode;
63
+
64
+ /**
65
+ * Forwarded ref
66
+ */
67
+ ref?: Ref<HTMLDivElement>;
68
+ }
69
+
70
+ export type DsCardHeaderProps = DsCardSlotProps;
71
+ export type DsCardBodyProps = DsCardSlotProps;
72
+ export type DsCardFooterProps = DsCardSlotProps;
@@ -0,0 +1,9 @@
1
+ export { DsCard } from './ds-card';
2
+ export type {
3
+ DsCardRootProps,
4
+ DsCardHeaderProps,
5
+ DsCardBodyProps,
6
+ DsCardFooterProps,
7
+ DsCardSize,
8
+ } from './ds-card.types';
9
+ export { cardSizes } from './ds-card.types';
@@ -1,121 +1,17 @@
1
- import type { CSSProperties, ReactNode } from 'react';
2
- import { Dialog } from '@ark-ui/react/dialog';
3
- import { Portal } from '@ark-ui/react/portal';
4
- import classNames from 'classnames';
5
- import { DsIcon } from '../ds-icon';
1
+ import DsModal from '../ds-modal/ds-modal';
6
2
  import type { DsConfirmationProps } from './ds-confirmation.types';
7
- import styles from './ds-confirmation.module.scss';
8
- import DsTypography from '../ds-typography/ds-typography';
9
3
 
10
4
  /**
11
- * Composable confirmation modal dialog.
5
+ * @deprecated DsConfirmation is deprecated. Use DsModal instead.
6
+ * @see {@link ../ds-modal} for the replacement component.
12
7
  */
13
- export const DsConfirmation = ({ open, onOpenChange, style, className, children }: DsConfirmationProps) => {
14
- const handleOpenChange = (details: { open: boolean }) => {
15
- onOpenChange(details.open);
16
- };
17
-
18
- return (
19
- <Dialog.Root
20
- open={open}
21
- onOpenChange={handleOpenChange}
22
- modal={true}
23
- closeOnEscape={true}
24
- closeOnInteractOutside={true}
25
- >
26
- <Portal>
27
- <Dialog.Backdrop className={styles.overlay} />
28
- <Dialog.Positioner>
29
- <Dialog.Content className={classNames(styles.modal, className)}>
30
- <div style={style} className={styles.content}>
31
- {children}
32
- </div>
33
- </Dialog.Content>
34
- </Dialog.Positioner>
35
- </Portal>
36
- </Dialog.Root>
37
- );
38
- };
39
-
40
- const Header = ({
41
- style,
42
- className,
43
- children,
44
- }: {
45
- style?: CSSProperties;
46
- className?: string;
47
- children: ReactNode;
48
- }) => (
49
- <div style={style} className={classNames(styles.header, className)}>
50
- {children}
51
- </div>
52
- );
53
-
54
- const Title = ({
55
- style,
56
- className,
57
- children,
58
- }: {
59
- style?: CSSProperties;
60
- className?: string;
61
- children: ReactNode;
62
- }) => (
63
- <Dialog.Title className={classNames(styles.title, className)} style={style} asChild>
64
- <DsTypography variant="heading4">{children}</DsTypography>
65
- </Dialog.Title>
66
- );
67
-
68
- const CloseTrigger = ({ style, className }: { style?: CSSProperties; className?: string }) => (
69
- <Dialog.CloseTrigger style={style} className={className}>
70
- <DsIcon icon="close" size="small"></DsIcon>
71
- </Dialog.CloseTrigger>
72
- );
73
-
74
- const Body = ({
75
- style,
76
- className,
77
- children,
78
- }: {
79
- style?: CSSProperties;
80
- className?: string;
81
- children: ReactNode;
82
- }) => (
83
- <div style={style} className={classNames(styles.body, className)}>
84
- {children}
85
- </div>
86
- );
87
-
88
- const Footer = ({
89
- style,
90
- className,
91
- children,
92
- }: {
93
- style?: CSSProperties;
94
- className?: string;
95
- children: ReactNode;
96
- }) => (
97
- <div style={style} className={classNames(styles.footer, className)}>
98
- {children}
99
- </div>
100
- );
101
-
102
- const Actions = ({
103
- style,
104
- className,
105
- children,
106
- }: {
107
- style?: CSSProperties;
108
- className?: string;
109
- children: ReactNode;
110
- }) => (
111
- <div style={style} className={classNames(styles.actions, className)}>
112
- {children}
113
- </div>
8
+ export const DsConfirmation = (props: DsConfirmationProps) => (
9
+ <DsModal columns={4} closeOnEscape closeOnInteractOutside {...props} />
114
10
  );
115
11
 
116
- DsConfirmation.Header = Header;
117
- DsConfirmation.Title = Title;
118
- DsConfirmation.CloseTrigger = CloseTrigger;
119
- DsConfirmation.Body = Body;
120
- DsConfirmation.Footer = Footer;
121
- DsConfirmation.Actions = Actions;
12
+ DsConfirmation.Header = DsModal.Header;
13
+ DsConfirmation.Title = DsModal.Title;
14
+ DsConfirmation.CloseTrigger = DsModal.CloseTrigger;
15
+ DsConfirmation.Body = DsModal.Body;
16
+ DsConfirmation.Footer = DsModal.Footer;
17
+ DsConfirmation.Actions = DsModal.Actions;
@@ -1,7 +1,8 @@
1
1
  import type { CSSProperties, ReactNode } from 'react';
2
2
 
3
3
  /**
4
- * Props for the DsConfirmation component
4
+ * @deprecated DsConfirmationProps is deprecated. Use DsModal with variant="info" instead.
5
+ * @see {@link ../ds-modal/ds-modal} for the replacement.
5
6
  */
6
7
  export interface DsConfirmationProps {
7
8
  /**
@@ -8,7 +8,6 @@
8
8
  max-height: var(--available-height, 400px);
9
9
  overflow-y: auto;
10
10
  width: auto;
11
- z-index: var(--layer-index);
12
11
 
13
12
  &:focus-visible {
14
13
  outline-offset: 2px;
@@ -0,0 +1,137 @@
1
+ import type { FC, SVGProps } from 'react';
2
+
3
+ // Site & Location icons
4
+ import { SpecialMarket } from './special-market';
5
+ import { SpecialSiteT1 } from './special-site-t1';
6
+ import { SpecialSiteT2 } from './special-site-t2';
7
+ import { SpecialSiteT3 } from './special-site-t3';
8
+ import { SpecialSiteT4 } from './special-site-t4';
9
+ import { SpecialSiteUnknown } from './special-site-unknown';
10
+ import { SpecialSiteGeneric } from './special-site-generic';
11
+
12
+ // NE State icons
13
+ import { SpecialDiscoveredNe } from './special-discovered-ne';
14
+ import { SpecialUpgrading } from './special-upgrading';
15
+ import { SpecialClusterNe } from './special-cluster-ne';
16
+ import { SpecialStandalone } from './special-standalone';
17
+
18
+ // NE Navigation icons
19
+ import { SpecialNeNav360Dashboard } from './special-ne-nav-360-dashboard';
20
+ import { SpecialNeNavComponents } from './special-ne-nav-components';
21
+ import { SpecialNeNavTopology } from './special-ne-nav-topology';
22
+ import { SpecialNeNavStacks } from './special-ne-nav-stacks';
23
+ import { SpecialNeNavSettings } from './special-ne-nav-settings';
24
+ import { SpecialNeNavMessageSupport } from './special-ne-nav-message-support';
25
+ import { SpecialNeNavLogging } from './special-ne-nav-logging';
26
+ import { SpecialNeNavTerminal } from './special-ne-nav-terminal';
27
+ import { SpecialNeNavInstallLog } from './special-ne-nav-install-log';
28
+
29
+ // System & Config icons
30
+ import { SpecialAutobootProfiles } from './special-autoboot-profiles';
31
+ import { SpecialAutomation } from './special-automation';
32
+ import { SpecialStacks } from './special-stacks';
33
+ import { SpecialPackages } from './special-packages';
34
+ import { SpecialGnmi } from './special-gnmi';
35
+ import { SpecialAlarmSettings } from './special-alarm-settings';
36
+ import { SpecialNeHealth } from './special-ne-health';
37
+ import { SpecialHardware } from './special-hardware';
38
+ import { SpecialModules } from './special-modules';
39
+ import { SpecialResources } from './special-resources';
40
+ import { SpecialVersionControl } from './special-version-control';
41
+ import { SpecialSoftware } from './special-software';
42
+ import { SpecialConflictedNes } from './special-conflicted-nes';
43
+ import { SpecialYangVersionControl } from './special-yang-version-control';
44
+ import { SpecialOldBaseOs } from './special-old-base-os';
45
+ import { SpecialGeneralDetails } from './special-general-details';
46
+ import { SpecialConfigTemplate } from './special-config-template';
47
+ import { SpecialCompare } from './special-compare';
48
+ import { SpecialWebhook } from './special-webhook';
49
+ import { SpecialMapView } from './special-map-view';
50
+
51
+ // Misc icons
52
+ import { SpecialHome } from './special-home';
53
+ import { SpecialLego } from './special-lego';
54
+ import { SpecialScheme } from './special-scheme';
55
+ import { SpecialBook } from './special-book';
56
+ import { SpecialDevice } from './special-device';
57
+ import { SpecialGroupedDevices } from './special-grouped-devices';
58
+ import { SpecialFiberCircuit } from './special-fiber-circuit';
59
+ import { SpecialNetgen } from './special-netgen';
60
+ import { SpecialNetgenS } from './special-netgen-s';
61
+
62
+ // Active state icons
63
+ import { SpecialFilterListActive } from './special-filter-list-active';
64
+ import { SpecialCachedActive } from './special-cached-active';
65
+
66
+ export type CustomIconComponent = FC<SVGProps<SVGSVGElement>>;
67
+
68
+ export const customIcons = {
69
+ // Site & Location
70
+ 'special-market': SpecialMarket,
71
+ 'special-site-t1': SpecialSiteT1,
72
+ 'special-site-t2': SpecialSiteT2,
73
+ 'special-site-t3': SpecialSiteT3,
74
+ 'special-site-t4': SpecialSiteT4,
75
+ 'special-site-unknown': SpecialSiteUnknown,
76
+ 'special-site-generic': SpecialSiteGeneric,
77
+
78
+ // NE State
79
+ 'special-discovered-ne': SpecialDiscoveredNe,
80
+ 'special-upgrading': SpecialUpgrading,
81
+ 'special-cluster-ne': SpecialClusterNe,
82
+ 'special-standalone': SpecialStandalone,
83
+
84
+ // NE Navigation
85
+ 'special-ne-nav-360-dashboard': SpecialNeNav360Dashboard,
86
+ 'special-ne-nav-components': SpecialNeNavComponents,
87
+ 'special-ne-nav-topology': SpecialNeNavTopology,
88
+ 'special-ne-nav-stacks': SpecialNeNavStacks,
89
+ 'special-ne-nav-settings': SpecialNeNavSettings,
90
+ 'special-ne-nav-message-support': SpecialNeNavMessageSupport,
91
+ 'special-ne-nav-logging': SpecialNeNavLogging,
92
+ 'special-ne-nav-terminal': SpecialNeNavTerminal,
93
+ 'special-ne-nav-instal-log': SpecialNeNavInstallLog,
94
+
95
+ // System & Config
96
+ 'special-autoboot-profiles': SpecialAutobootProfiles,
97
+ 'special-automation': SpecialAutomation,
98
+ 'special-stacks': SpecialStacks,
99
+ 'special-packages': SpecialPackages,
100
+ 'special-gnmi': SpecialGnmi,
101
+ 'special-alarm-settings': SpecialAlarmSettings,
102
+ 'special-ne-health': SpecialNeHealth,
103
+ 'special-hardware': SpecialHardware,
104
+ 'special-modules': SpecialModules,
105
+ 'special-resources': SpecialResources,
106
+ 'special-version-control': SpecialVersionControl,
107
+ 'special-software': SpecialSoftware,
108
+ 'special-conflicted-nes': SpecialConflictedNes,
109
+ 'special-yang-version-control': SpecialYangVersionControl,
110
+ 'special-old-base-os': SpecialOldBaseOs,
111
+ 'special-general-details': SpecialGeneralDetails,
112
+ 'special-config-template': SpecialConfigTemplate,
113
+ 'special-compare': SpecialCompare,
114
+ 'special-webhook': SpecialWebhook,
115
+ 'special-map-view': SpecialMapView,
116
+
117
+ // Misc
118
+ 'special-home': SpecialHome,
119
+ 'special-lego': SpecialLego,
120
+ 'special-scheme': SpecialScheme,
121
+ 'special-book': SpecialBook,
122
+ 'special-device': SpecialDevice,
123
+ 'special-grouped-devices': SpecialGroupedDevices,
124
+ 'special-fiber-circuit': SpecialFiberCircuit,
125
+ 'special-netgen': SpecialNetgen,
126
+ 'special-netgen-s': SpecialNetgenS,
127
+
128
+ // Active state
129
+ 'special-filter-list-active': SpecialFilterListActive,
130
+ 'special-cached-active': SpecialCachedActive,
131
+ } as const satisfies Record<string, CustomIconComponent>;
132
+
133
+ export type CustomIconName = keyof typeof customIcons;
134
+
135
+ export const isCustomIcon = (icon: string): icon is CustomIconName => {
136
+ return icon in customIcons;
137
+ };
@@ -0,0 +1,30 @@
1
+ import { useId, type FC, type SVGProps } from 'react';
2
+
3
+ /**
4
+ * Special Alarm Settings icon
5
+ * @figma https://www.figma.com/design/nha3m67y7S57cHCSuQO2gp?node-id=4863:3505
6
+ */
7
+ export const SpecialAlarmSettings: FC<SVGProps<SVGSVGElement>> = (props) => {
8
+ const clipId = useId();
9
+
10
+ return (
11
+ <svg
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ width="20"
14
+ height="20"
15
+ viewBox="0 0 20 20"
16
+ fill="currentColor"
17
+ {...props}
18
+ >
19
+ <g clipPath={`url(#${clipId})`}>
20
+ <path d="M3.60128 14.0446C2.91148 13.345 2.91148 12.2069 3.60128 11.5072L2.7669 10.6616C1.61683 11.8272 1.61683 13.7247 2.7669 14.8903C3.34224 15.4733 4.09755 15.7646 4.85285 15.7646C5.60875 15.7646 6.36465 15.4733 6.93939 14.8903L6.10501 14.0446C5.43704 14.7216 4.27103 14.7228 3.60128 14.0446ZM2.01396 6.71344C2.00806 6.48021 2.10247 6.13933 2.2854 5.95395C2.46832 5.76856 2.68075 5.55327 2.91089 5.55327C2.91089 5.55327 2.91679 5.55327 2.92269 5.55327C3.14692 5.55327 3.36525 5.78052 3.53638 5.95395L4.4333 6.92275L8.19214 3.14322C9.56704 1.74384 11.8153 1.75879 13.1961 3.15817L14.447 4.43376C15.7098 5.71354 15.816 7.73606 14.7657 9.14143H16.1583C17.0552 7.34735 16.7661 5.09877 15.285 3.59772L14.034 2.3299C12.1929 0.464062 9.19529 0.464062 7.35422 2.3299L4.4333 5.29014L4.3743 5.11073C3.97894 4.71005 3.47147 4.35721 2.94039 4.35721H2.91089C2.36801 4.35721 1.85463 4.70407 1.45338 5.11073C1.04622 5.52337 0.821985 6.11541 0.833787 6.67158C0.839688 7.21578 1.06392 7.75999 1.45338 8.15468L8.99466 15.8333V14.1409L2.2854 7.34137C2.11427 7.16794 2.01396 6.94069 2.01396 6.71344ZM15.285 2.20432C15.3965 2.31675 15.4579 2.46685 15.4579 2.62712C15.4579 2.7874 15.3971 2.9369 15.285 3.04933L16.1193 3.89554C16.4533 3.55646 16.638 3.10614 16.638 2.62653C16.638 2.14691 16.4533 1.69659 16.1193 1.35811C15.4284 0.657823 14.3054 0.659019 13.6156 1.35811L14.45 2.20432C14.6813 1.97109 15.0554 1.97169 15.285 2.20432Z" />
21
+ <path d="M19.1667 15.1562V14.0104H17.5619C17.4829 13.5991 17.3236 13.2158 17.0956 12.8812L18.2311 11.7457L17.421 10.9356L16.2855 12.0711C15.9509 11.8436 15.5676 11.6838 15.1562 11.6047V10H14.0104V11.6047C13.5991 11.6838 13.2158 11.8431 12.8812 12.0711L11.7457 10.9356L10.9356 11.7457L12.0711 12.8812C11.8436 13.2158 11.6838 13.5991 11.6047 14.0104H10V15.1562H11.6047C11.6838 15.5676 11.8431 15.9509 12.0711 16.2855L10.9356 17.421L11.7457 18.2311L12.8812 17.0956C13.2158 17.323 13.5991 17.4829 14.0104 17.5619V19.1667H15.1562V17.5619C15.5676 17.4829 15.9509 17.3236 16.2855 17.0956L17.421 18.2311L18.2311 17.421L17.0956 16.2855C17.323 15.9509 17.4829 15.5676 17.5619 15.1562H19.1667ZM14.5833 16.474C13.5412 16.474 12.6927 15.626 12.6927 14.5833C12.6927 13.5406 13.5406 12.6927 14.5833 12.6927C15.626 12.6927 16.474 13.5406 16.474 14.5833C16.474 15.626 15.6255 16.474 14.5833 16.474Z" />
22
+ </g>
23
+ <defs>
24
+ <clipPath id={clipId}>
25
+ <rect width="20" height="20" fill="white" />
26
+ </clipPath>
27
+ </defs>
28
+ </svg>
29
+ );
30
+ };
@@ -0,0 +1,20 @@
1
+ import type { FC, SVGProps } from 'react';
2
+
3
+ /**
4
+ * Special Autoboot Profiles icon
5
+ * @figma https://www.figma.com/design/nha3m67y7S57cHCSuQO2gp?node-id=4863:3438
6
+ */
7
+ export const SpecialAutobootProfiles: FC<SVGProps<SVGSVGElement>> = (props) => (
8
+ <svg
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ width="20"
11
+ height="20"
12
+ viewBox="0 0 20 20"
13
+ fill="currentColor"
14
+ {...props}
15
+ >
16
+ <path d="M14.4302 15.2926H10.9087V13.9849H14.4302C17.0419 13.9849 19.1667 11.9042 19.1667 9.34674C19.1667 6.7893 17.0419 4.70879 14.4302 4.70879H7.55673V1.86478H8.88283V0.833344H5.17725V1.86478H6.50335V4.70879H6.33388C3.72217 4.70879 1.59729 6.7893 1.59729 9.34674C1.59729 11.9042 3.72217 13.9849 6.33388 13.9849H9.85533V15.2926H6.33388C3.72217 15.2926 1.59729 17.3731 1.59729 19.9306H2.65066C2.65066 17.942 4.30299 16.3241 6.33388 16.3241H14.4302C16.461 16.3241 18.1134 17.942 18.1134 19.9306H19.1667C19.1667 17.3731 17.0419 15.2926 14.4302 15.2926ZM6.33388 12.9535C4.30299 12.9535 2.65066 11.3356 2.65066 9.34674C2.65066 7.35815 4.30299 5.74023 6.33388 5.74023H14.4302C16.461 5.74023 18.1134 7.35815 18.1134 9.34674C18.1134 11.3356 16.461 12.9535 14.4302 12.9535H6.33388Z" />
17
+ <path d="M8.59468 8.47221C8.59468 7.62972 7.88191 6.94443 7.00566 6.94443C6.1294 6.94443 5.41663 7.62972 5.41663 8.47221C5.41663 9.31469 6.1294 9.99998 7.00566 9.99998C7.88191 9.99998 8.59468 9.31469 8.59468 8.47221ZM7.00566 8.86448C6.78075 8.86448 6.59766 8.68844 6.59766 8.47221C6.59766 8.25597 6.78075 8.07993 7.00566 8.07993C7.23056 8.07993 7.41365 8.25597 7.41365 8.47221C7.41365 8.68844 7.23056 8.86448 7.00566 8.86448ZM15.3472 8.47221C15.3472 7.62972 14.6344 6.94443 13.7582 6.94443C12.8819 6.94443 12.1691 7.62972 12.1691 8.47221C12.1691 9.31469 12.8819 9.99998 13.7582 9.99998C14.6344 9.99998 15.3472 9.31469 15.3472 8.47221ZM13.7582 8.86448C13.5332 8.86448 13.3502 8.68844 13.3502 8.47221C13.3502 8.25597 13.5332 8.07993 13.7582 8.07993C13.9831 8.07993 14.1662 8.25597 14.1662 8.47221C14.1662 8.68844 13.9831 8.86448 13.7582 8.86448Z" />
18
+ <path d="M13.3333 10.8333H7.5V11.6667H13.3333V10.8333Z" />
19
+ </svg>
20
+ );
@@ -0,0 +1,20 @@
1
+ import type { FC, SVGProps } from 'react';
2
+
3
+ /**
4
+ * Special Automation icon
5
+ * @figma https://www.figma.com/design/nha3m67y7S57cHCSuQO2gp?node-id=4863:3453
6
+ */
7
+ export const SpecialAutomation: FC<SVGProps<SVGSVGElement>> = (props) => (
8
+ <svg
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ width="20"
11
+ height="20"
12
+ viewBox="0 0 20 20"
13
+ fill="currentColor"
14
+ {...props}
15
+ >
16
+ <path d="M15.8329 14.129C15.8379 14.3509 15.7986 14.5717 15.7171 14.7782C15.6356 14.9847 15.5137 15.1729 15.3586 15.3316C15.2034 15.4904 15.0181 15.6166 14.8135 15.7027C14.6088 15.7889 14.3891 15.8333 14.1671 15.8333C13.9451 15.8334 13.7253 15.7891 13.5206 15.703C13.316 15.617 13.1306 15.4909 12.9753 15.3322C12.8201 15.1735 12.6981 14.9854 12.6165 14.7789C12.535 14.5725 12.4955 14.3518 12.5004 14.1298C12.51 13.6944 12.6898 13.28 13.0011 12.9753C13.3125 12.6707 13.7307 12.5001 14.1662 12.5C14.6018 12.4999 15.0201 12.6703 15.3316 12.9748C15.6431 13.2792 15.8231 13.6935 15.8329 14.129Z" />
17
+ <path d="M13.7868 18.3333C12.9581 18.3333 12.1294 18.125 11.4042 17.6042L4.98155 14.1667C4.4636 13.75 4.04923 13.5417 3.63486 13.125C2.39177 11.875 1.66663 10.1042 1.66663 8.33332C1.66663 6.56249 2.39177 4.89582 3.63486 3.64582C4.87796 2.39582 6.53543 1.66666 8.29648 1.66666C10.0575 1.66666 11.715 2.39582 13.0617 3.64582C13.4761 4.06249 13.6832 4.37499 14.0976 4.89582L17.7233 11.5625C18.7592 13.3333 18.4484 15.5208 16.9982 16.9792C16.0658 17.9167 15.0299 18.3333 13.7868 18.3333ZM8.29648 2.70832C6.8462 2.70832 5.39592 3.33332 4.36 4.37499C3.32409 5.41666 2.70254 6.87499 2.70254 8.33332C2.70254 9.89582 3.32409 11.25 4.36 12.2917C4.67078 12.6042 4.98155 12.8125 5.49951 13.125L12.0258 16.6667C12.6473 17.0833 13.2689 17.1875 13.8904 17.1875C14.8227 17.1875 15.6515 16.875 16.273 16.1458C17.4125 15 17.6197 13.3333 16.791 11.9792L13.1653 5.31249C12.8545 4.89582 12.6473 4.58332 12.3365 4.27082C11.197 3.33332 9.85035 2.70832 8.29648 2.70832Z" />
18
+ <path d="M13.3333 9.25925V8.24073L11.9074 7.73147C11.8055 7.52777 11.8055 7.42592 11.7037 7.22221L12.3148 5.89814L11.6018 5.18518L10.2777 5.79629C10.074 5.69443 9.97218 5.69443 9.76848 5.59258L9.25922 4.16666H8.2407L7.73144 5.59258C7.52774 5.69443 7.42589 5.69443 7.22218 5.79629L5.89811 5.18518L5.18514 5.89814L5.79626 7.22221C5.6944 7.42592 5.6944 7.52777 5.59255 7.73147L4.16663 8.24073V9.25925L5.59255 9.76851C5.6944 9.97221 5.6944 10.0741 5.79626 10.2778L5.18514 11.6018L5.89811 12.3148L7.22218 11.7037C7.42589 11.8055 7.52774 11.9074 7.73144 11.9074L8.2407 13.3333H9.25922L9.76848 11.9074C9.97218 11.8055 10.074 11.8055 10.2777 11.7037L11.6018 12.3148L12.3148 11.6018L11.7037 10.2778C11.8055 10.0741 11.9074 9.97221 11.9074 9.76851L13.3333 9.25925ZM8.74996 10.2778C7.93514 10.2778 7.22218 9.56481 7.22218 8.74999C7.22218 7.93518 7.93514 7.22221 8.74996 7.22221C9.56477 7.22221 10.2777 7.93518 10.2777 8.74999C10.2777 9.56481 9.56477 10.2778 8.74996 10.2778Z" />
19
+ </svg>
20
+ );
@@ -0,0 +1,25 @@
1
+ import { useId, type FC, type SVGProps } from 'react';
2
+
3
+ /**
4
+ * Special Book icon
5
+ * @figma https://www.figma.com/design/nha3m67y7S57cHCSuQO2gp?node-id=8939:1542
6
+ */
7
+ export const SpecialBook: FC<SVGProps<SVGSVGElement>> = (props) => {
8
+ const clipId = useId();
9
+
10
+ return (
11
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}>
12
+ <g clipPath={`url(#${clipId})`}>
13
+ <path
14
+ d="M6.94449 1.66666L3.27782 2.38608V3.47721H0.833374V16.6667H19.1667V3.47721H16.7223V2.38608L13.0556 1.66666L10 2.26618L6.94449 1.66666ZM6.94449 2.88968L9.38893 3.3669V12.9376L6.94449 12.458L4.50004 12.9376V3.36929L6.94449 2.88968ZM13.0556 2.88968L15.5 3.3669V12.9376L13.0556 12.458L10.6112 12.9376V3.36929L13.0556 2.88968ZM2.0556 4.67625H3.27782V14.4005L6.94449 13.681L9.38893 14.1607V15.4676H2.0556V4.67625ZM16.7223 4.67625H17.9445V15.4676H10.6112V14.1607L13.0556 13.681L16.7223 14.4005V4.67625Z"
15
+ fill="currentColor"
16
+ />
17
+ </g>
18
+ <defs>
19
+ <clipPath id={clipId}>
20
+ <rect width="20" height="20" rx="2" fill="white" />
21
+ </clipPath>
22
+ </defs>
23
+ </svg>
24
+ );
25
+ };