@stihl-design-system/components 1.0.0-RC.3 → 1.0.0-RC.30

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 (571) hide show
  1. package/Klarna.svg +1 -0
  2. package/Mastercard.svg +2 -0
  3. package/Notification-additional-information.jpeg +0 -0
  4. package/Notification-confirm-error.jpg +0 -0
  5. package/Notification-confirm-warn.jpeg +0 -0
  6. package/Notification-overview.jpeg +0 -0
  7. package/Notification-success.jpeg +0 -0
  8. package/PayPal.svg +2 -0
  9. package/Placeholder.svg +1 -0
  10. package/README.md +2 -11
  11. package/Visa.svg +2 -0
  12. package/accordion.DkwtJy--.js +12 -0
  13. package/accordion.d.ts +2 -0
  14. package/actionbutton.d.ts +2 -0
  15. package/actionbutton.u1qp8oGC.js +11 -0
  16. package/actionlink.C7HzeIVa.js +11 -0
  17. package/actionlink.d.ts +2 -0
  18. package/arialiveregions.Fgcshs5k.js +18 -0
  19. package/arialiveregions.d.ts +2 -0
  20. package/assets/Accordion.BJb4TOG0.css +1 -0
  21. package/assets/ActionButton.oGVPTS1J.css +1 -0
  22. package/assets/ActionLink.CTh6IXrN.css +1 -0
  23. package/assets/Breadcrumb.BaYrwrYl.css +1 -0
  24. package/assets/Button.Dw8H5nFS.css +1 -0
  25. package/assets/Checkbox.BKHQN_tu.css +1 -0
  26. package/assets/CheckboxGroup.Dd-Huo7x.css +1 -0
  27. package/assets/Chip.dxIYIjj7.css +1 -0
  28. package/assets/CustomReactSelect.D0b1Hg1T.css +1 -0
  29. package/assets/Dialog.CGAg7bnN.css +1 -0
  30. package/assets/Drawer.VOvWQoEr.css +1 -0
  31. package/assets/Fieldset.CW9dBvAo.css +1 -0
  32. package/assets/Header.CNqtWTxB.css +1 -0
  33. package/assets/Icon.QeJ7TxZs.css +1 -0
  34. package/assets/InputFile.CCQxsulT.css +1 -0
  35. package/assets/InputPassword.124xVOiO.css +1 -0
  36. package/assets/InputSearch.Bkg-1urJ.css +1 -0
  37. package/assets/InputStepper.Dth4qZN_.css +1 -0
  38. package/assets/LinkButton.xMvg_ojf.css +1 -0
  39. package/assets/MegaMenu.DX9gChtY.css +1 -0
  40. package/assets/NavigationTabList.CFlVhUzS.css +1 -0
  41. package/assets/Notification.BOuaA5GT.css +1 -0
  42. package/assets/Popover.BDTDsPAt.css +1 -0
  43. package/assets/RadioGroup.CM2mYOzc.css +1 -0
  44. package/assets/Select.CYACicZ3.css +1 -0
  45. package/assets/Slider.DzwSjDPV.css +1 -0
  46. package/assets/SystemFeedback.RcrPepSZ.css +1 -0
  47. package/assets/Text.Dgpj61UP.css +1 -0
  48. package/assets/Textarea.BXWhXpXx.css +1 -0
  49. package/assets/Toast.CJ1zhDIT.css +1 -0
  50. package/assets/arialiveregions.e0Q16ZWi.css +1 -0
  51. package/assets/asterisk.B41DaZDe.css +1 -0
  52. package/assets/banner.BLdW5VF4.css +1 -0
  53. package/assets/buttonround.Cw9hnUan.css +1 -0
  54. package/assets/chipgroup.BGxjdSDX.css +1 -0
  55. package/assets/filelist.H_wKcSPX.css +1 -0
  56. package/assets/flag.C7i3MAAP.css +1 -0
  57. package/assets/floatingactionbutton.l0nvFiJU.css +1 -0
  58. package/assets/heading.B-rdLVZD.css +1 -0
  59. package/assets/input.ONbL-_C1.css +1 -0
  60. package/assets/link.CeJUHbdf.css +1 -0
  61. package/assets/logo._GqPgimo.css +1 -0
  62. package/assets/numberindicator.O6XwvtL0.css +1 -0
  63. package/assets/optioncheckbox.DAffEKvY.css +1 -0
  64. package/assets/radio.CgpGvYc-.css +1 -0
  65. package/assets/scroller.Hszs1Yq4.css +1 -0
  66. package/assets/skiptocontent.CTSDC_kG.css +1 -0
  67. package/assets/spinner.Ctn_YYBG.css +1 -0
  68. package/assets/switch.Bc9KIyw9.css +1 -0
  69. package/assets/tabpane.D1LTb432.css +1 -0
  70. package/assets/title.B0tsgJ-n.css +1 -0
  71. package/asterisk.CR60hx8S.js +13 -0
  72. package/asterisk.d.ts +1 -0
  73. package/banner.d.ts +2 -0
  74. package/banner.j9YpudOS.js +55 -0
  75. package/breadcrumb.BS-S3zUI.js +11 -0
  76. package/breadcrumb.d.ts +2 -0
  77. package/button.CPilCCUI.js +12 -0
  78. package/button.d.ts +1 -0
  79. package/buttonround.C426mO4d.js +81 -0
  80. package/buttonround.d.ts +1 -0
  81. package/checkbox.BtlUvs0z.js +12 -0
  82. package/checkbox.d.ts +1 -0
  83. package/checkboxgroup.C5NgyyQF.js +9 -0
  84. package/checkboxgroup.d.ts +1 -0
  85. package/chip.d.ts +2 -0
  86. package/chip.tVIG1ysH.js +11 -0
  87. package/chipgroup.CjIK0Z0x.js +209 -0
  88. package/chipgroup.d.ts +2 -0
  89. package/chunks/Accordion.C5V5IcM-.js +170 -0
  90. package/chunks/ActionButton.B8zFwOrJ.js +165 -0
  91. package/chunks/ActionLink.IX6oRXU3.js +138 -0
  92. package/chunks/AriaLiveRegions.utils.Cb327d_2.js +27 -0
  93. package/chunks/Breadcrumb.BGzwzvh8.js +105 -0
  94. package/chunks/Button.B7xF1E19.js +127 -0
  95. package/chunks/Checkbox.DxV7-F5W.js +88 -0
  96. package/chunks/CheckboxGroup.Dy_6tiGk.js +72 -0
  97. package/chunks/Chip.31UfPwQF.js +119 -0
  98. package/chunks/CustomReactSelect.iE5iTdez.js +3344 -0
  99. package/chunks/Dialog.B_2pKRnd.js +135 -0
  100. package/chunks/Drawer.HFlBTcqN.js +140 -0
  101. package/chunks/Fieldset.CjIfmN_5.js +74 -0
  102. package/chunks/Header.DqZRryB5.js +366 -0
  103. package/chunks/Icon.DGTYCv63.js +231 -0
  104. package/chunks/Input.utils.Cnnzvuk4.js +57 -0
  105. package/chunks/InputFile.DvOatDzg.js +220 -0
  106. package/chunks/InputPassword.DC2POUc1.js +136 -0
  107. package/chunks/InputSearch.B0aCuPRZ.js +174 -0
  108. package/chunks/InputStepper.B_ZjgY_f.js +263 -0
  109. package/chunks/LinkButton.DdTspmJz.js +117 -0
  110. package/chunks/MegaMenu.BY7eOnhj.js +189 -0
  111. package/chunks/NavigationTabList.dYFYTmWv.js +57 -0
  112. package/chunks/NavigationTabs.ClpVGcl0.js +63 -0
  113. package/chunks/Notification.DIdIhGTQ.js +92 -0
  114. package/chunks/Popover.NGetxKGg.js +159 -0
  115. package/chunks/RadioGroup.peTeMK45.js +104 -0
  116. package/chunks/Select.BDHLJ2ma.js +162 -0
  117. package/chunks/Slider.kyVr7BLk.js +292 -0
  118. package/chunks/SystemFeedback.B9f67mjJ.js +38 -0
  119. package/chunks/TabPane.utils.DG16Y2uD.js +10 -0
  120. package/chunks/Tabs.CkVL8Jw8.js +83 -0
  121. package/chunks/Text.DGWeWF1y.js +75 -0
  122. package/chunks/Textarea.ORkJUx-S.js +163 -0
  123. package/chunks/Toast.DHo4pLH3.js +76 -0
  124. package/chunks/accessibility.B57oX4yV.js +10 -0
  125. package/chunks/caret-down.CupuwAF6.js +10 -0
  126. package/chunks/caret-right.DKtu4PQe.js +10 -0
  127. package/chunks/{circle-info-colored.DLY6BTL4.js → circle-info-colored.D2pp54gf.js} +3 -3
  128. package/chunks/collapse.Dvv3mgkv.js +10 -0
  129. package/chunks/connected-icon.BEijTRDG.js +10 -0
  130. package/chunks/default-icon.D_-oBHyT.js +10 -0
  131. package/chunks/document-magnifying-glass.DkvpNz-D.js +10 -0
  132. package/chunks/file-type-doc.DlovDOBh.js +10 -0
  133. package/chunks/file-type-image.Cg2NRd7y.js +10 -0
  134. package/chunks/file-type-pdf.Dm94xL2i.js +10 -0
  135. package/chunks/file-type-video.CFwfiP-D.js +10 -0
  136. package/chunks/file-type-zip.SNixmKhQ.js +10 -0
  137. package/chunks/file.DLgRXiem.js +10 -0
  138. package/chunks/floating-ui.dom.C9TD1WpB.js +950 -0
  139. package/chunks/floating-ui.react.x0F9CYgn.js +1637 -0
  140. package/chunks/has-window.ut_-aShB.js +5 -0
  141. package/chunks/helpers.BbWkXTr3.js +37 -0
  142. package/chunks/imow-icon.CyH72ySI.js +10 -0
  143. package/chunks/index.CEyLAtio.js +48 -0
  144. package/chunks/index.CgTHIF3K.js +293 -0
  145. package/chunks/is-animation-disabled.CUl4N3LI.js +20 -0
  146. package/chunks/mystihl-icon.xHpCyYJf.js +10 -0
  147. package/chunks/tiktok.BWJTDGYm.js +10 -0
  148. package/chunks/translate.nuU7uChI.js +8 -0
  149. package/chunks/twitch.C893cAK8.js +10 -0
  150. package/chunks/useBreakpoint.CMOR9ZOB.js +44 -0
  151. package/chunks/useIsomorphicLayoutEffect.CnJ9AMFS.js +7 -0
  152. package/combobox.Bk2ycofh.js +60 -0
  153. package/combobox.d.ts +1 -0
  154. package/components/Accordion/Accordion.d.ts +43 -0
  155. package/components/Accordion/Accordion.utils.d.ts +16 -0
  156. package/components/ActionButton/ActionButton.d.ts +61 -0
  157. package/components/ActionButton/ActionButton.test.d.ts +1 -0
  158. package/components/ActionButton/ActionButton.utils.d.ts +22 -0
  159. package/components/ActionButton/ActionButton.utils.test.d.ts +1 -0
  160. package/components/ActionLink/ActionLink.d.ts +38 -0
  161. package/components/ActionLink/ActionLink.test.d.ts +1 -0
  162. package/components/ActionLink/ActionLink.utils.d.ts +19 -0
  163. package/components/ActionLink/ActionLink.utils.test.d.ts +1 -0
  164. package/components/AriaLiveRegions/AriaLiveRegions.d.ts +5 -0
  165. package/components/AriaLiveRegions/AriaLiveRegions.utils.d.ts +5 -0
  166. package/components/AriaLiveRegions/AriaLiveRegions.utils.test.d.ts +1 -0
  167. package/components/Asterisk/Asterisk.d.ts +1 -0
  168. package/components/Banner/Banner.d.ts +32 -0
  169. package/components/Banner/Banner.test.d.ts +1 -0
  170. package/components/Banner/Banner.utils.d.ts +2 -0
  171. package/components/Breadcrumb/Breadcrumb.d.ts +45 -0
  172. package/components/Breadcrumb/Breadcrumb.test.d.ts +1 -0
  173. package/components/Breadcrumb/Breadcrumb.utils.d.ts +4 -0
  174. package/components/Button/Button.d.ts +32 -16
  175. package/components/Button/Button.utils.d.ts +18 -1
  176. package/components/Button/Button.utils.test.d.ts +1 -0
  177. package/components/ButtonRound/ButtonRound.d.ts +12 -3
  178. package/components/Checkbox/Checkbox.d.ts +25 -9
  179. package/components/Checkbox/Checkbox.utils.d.ts +11 -0
  180. package/components/Checkbox/Checkbox.utils.test.d.ts +1 -0
  181. package/components/CheckboxGroup/CheckboxGroup.d.ts +21 -14
  182. package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +1 -2
  183. package/components/ChipGroup/Chip.d.ts +12 -0
  184. package/components/ChipGroup/ChipGroup.d.ts +44 -0
  185. package/components/ChipGroup/ChipGroup.test.d.ts +1 -0
  186. package/components/ChipGroup/ChipGroup.utils.d.ts +60 -0
  187. package/components/ChipGroup/ChipGroup.utils.test.d.ts +1 -0
  188. package/components/Combobox/Combobox.d.ts +27 -6
  189. package/components/Combobox/Combobox.utils.d.ts +6 -1
  190. package/components/{CustomReactSelect → Combobox/CustomReactSelect}/CustomReactSelect.d.ts +37 -25
  191. package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.d.ts +3 -0
  192. package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.test.d.ts +1 -0
  193. package/components/{CustomReactSelect → Combobox/CustomReactSelect}/OptionCheckbox.d.ts +1 -2
  194. package/components/Dialog/Dialog.d.ts +45 -0
  195. package/components/Dialog/Dialog.test.d.ts +1 -0
  196. package/components/Dialog/Dialog.utils.d.ts +11 -0
  197. package/components/Dialog/Dialog.utils.test.d.ts +1 -0
  198. package/components/Drawer/Drawer.d.ts +49 -0
  199. package/components/Drawer/Drawer.test.d.ts +1 -0
  200. package/components/Drawer/Drawer.utils.d.ts +13 -0
  201. package/components/Drawer/Drawer.utils.test.d.ts +1 -0
  202. package/components/Fieldset/Fieldset.d.ts +15 -9
  203. package/components/Fieldset/Fieldset.utils.d.ts +8 -2
  204. package/components/FileList/FileList.d.ts +13 -0
  205. package/components/FileList/FileList.test.d.ts +1 -0
  206. package/components/FileList/FileList.utils.d.ts +18 -0
  207. package/components/FileList/FileList.utils.test.d.ts +1 -0
  208. package/components/Flag/Flag.d.ts +26 -0
  209. package/components/Flag/Flag.test.d.ts +1 -0
  210. package/components/Flag/Flag.utils.d.ts +2 -0
  211. package/components/FloatingActionButton/FloatingActionButton.d.ts +8 -2
  212. package/components/Header/Header.d.ts +68 -0
  213. package/components/Header/Header.utils.d.ts +17 -0
  214. package/components/Header/Header.utils.test.d.ts +1 -0
  215. package/components/Heading/Heading.d.ts +13 -6
  216. package/components/Icon/Icon.d.ts +14 -7
  217. package/components/Icon/Icon.utils.d.ts +1 -2
  218. package/components/Input/Input.d.ts +56 -25
  219. package/components/Input/Input.utils.d.ts +5 -6
  220. package/components/InputFile/InputFile.d.ts +91 -0
  221. package/components/InputFile/InputFile.test.d.ts +1 -0
  222. package/components/InputFile/InputFile.utils.d.ts +46 -0
  223. package/components/InputFile/InputFile.utils.test.d.ts +1 -0
  224. package/components/InputPassword/InputPassword.d.ts +43 -18
  225. package/components/InputPassword/InputPassword.utils.d.ts +0 -1
  226. package/components/InputSearch/InputSearch.d.ts +42 -18
  227. package/components/InputSearch/InputSearch.utils.d.ts +0 -1
  228. package/components/InputStepper/InputStepper.d.ts +64 -26
  229. package/components/InputStepper/InputStepper.utils.d.ts +0 -1
  230. package/components/Link/Link.d.ts +11 -43
  231. package/components/Link/Link.utils.d.ts +2 -8
  232. package/components/LinkButton/LinkButton.d.ts +64 -0
  233. package/components/LinkButton/LinkButton.test.d.ts +1 -0
  234. package/components/LinkButton/LinkButton.utils.d.ts +25 -0
  235. package/components/LinkButton/LinkButton.utils.test.d.ts +1 -0
  236. package/components/Logo/Logo.d.ts +18 -10
  237. package/components/Logo/Logo.test.d.ts +1 -0
  238. package/components/Logo/Logo.utils.d.ts +2 -2
  239. package/components/MegaMenu/MegaMenu.d.ts +32 -0
  240. package/components/MegaMenu/MegaMenu.test.d.ts +1 -0
  241. package/components/MegaMenu/MegaMenu.utils.d.ts +52 -0
  242. package/components/MegaMenu/MegaMenu.utils.test.d.ts +1 -0
  243. package/components/NavigationTabs/NavigationTabs.d.ts +43 -0
  244. package/components/NavigationTabs/NavigationTabs.test.d.ts +1 -0
  245. package/components/NavigationTabs/NavigationTabs.utils.d.ts +6 -0
  246. package/components/Notification/Notification.d.ts +40 -0
  247. package/components/Notification/Notification.test.d.ts +1 -0
  248. package/components/Notification/Notification.utils.d.ts +4 -0
  249. package/components/NumberIndicator/NumberIndicator.d.ts +13 -0
  250. package/components/NumberIndicator/NumberIndicator.test.d.ts +1 -0
  251. package/components/NumberIndicator/NumberIndicator.utils.d.ts +2 -0
  252. package/components/Popover/Popover.d.ts +40 -0
  253. package/components/Popover/Popover.test.d.ts +1 -0
  254. package/components/Popover/Popover.utils.d.ts +53 -0
  255. package/components/Popover/Popover.utils.test.d.ts +1 -0
  256. package/components/Radio/Radio.d.ts +32 -14
  257. package/components/RadioGroup/RadioGroup.d.ts +30 -20
  258. package/components/RadioGroup/RadioGroup.utils.d.ts +5 -4
  259. package/components/RadioGroup/RadioGroup.utils.test.d.ts +1 -0
  260. package/components/Scroller/Scroller.d.ts +20 -0
  261. package/components/Scroller/Scroller.utils.d.ts +3 -0
  262. package/components/Select/Select.d.ts +24 -13
  263. package/components/Select/Select.utils.d.ts +0 -1
  264. package/components/SkipToContent/SkipToContent.d.ts +19 -0
  265. package/components/SkipToContent/SkipToContent.test.d.ts +1 -0
  266. package/components/Slider/Slider.d.ts +63 -0
  267. package/components/Slider/Slider.test.d.ts +1 -0
  268. package/components/Slider/Slider.utils.d.ts +65 -0
  269. package/components/Slider/Slider.utils.test.d.ts +1 -0
  270. package/components/Spinner/Spinner.d.ts +14 -5
  271. package/components/Switch/Switch.d.ts +23 -12
  272. package/components/SystemFeedback/SystemFeedback.d.ts +16 -7
  273. package/components/SystemFeedback/SystemFeedback.utils.d.ts +4 -7
  274. package/components/Tabs/TabList/NavigationTabList/NavigationTabList.d.ts +22 -0
  275. package/components/Tabs/TabList/TabList.d.ts +38 -0
  276. package/components/Tabs/TabList/TabList.utils.d.ts +2 -0
  277. package/components/Tabs/TabPane/TabPane.d.ts +10 -0
  278. package/components/Tabs/TabPane/TabPane.utils.d.ts +3 -0
  279. package/components/Tabs/TabPane/TabPane.utils.test.d.ts +1 -0
  280. package/components/Tabs/Tabs.d.ts +51 -0
  281. package/components/Tabs/Tabs.test.d.ts +1 -0
  282. package/components/Tabs/Tabs.utils.d.ts +6 -0
  283. package/components/Text/Text.d.ts +19 -10
  284. package/components/Text/Text.utils.d.ts +14 -1
  285. package/components/Textarea/Textarea.d.ts +34 -16
  286. package/components/Textarea/Textarea.utils.d.ts +0 -1
  287. package/components/Title/Title.d.ts +13 -6
  288. package/components/Toast/Toast.d.ts +42 -0
  289. package/components/Toast/Toast.utils.d.ts +27 -0
  290. package/components/Toast/ToastManager.d.ts +9 -0
  291. package/components/Toast/ToastManager.test.d.ts +1 -0
  292. package/components/Toast/ToastManager.utils.d.ts +2 -0
  293. package/components/Toast/ToastManager.utils.test.d.ts +1 -0
  294. package/components/TopBar/TopBar.d.ts +54 -0
  295. package/components/TopBar/TopBar.utils.d.ts +14 -0
  296. package/components/TopBar/TopBar.utils.test.d.ts +1 -0
  297. package/connected-icon.svg +1 -0
  298. package/customreactselect.Hnch9LGg.js +14 -0
  299. package/customreactselect.d.ts +2 -1
  300. package/dialog.7sWoqGwL.js +10 -0
  301. package/dialog.d.ts +2 -0
  302. package/drawer.DsF4KIPn.js +10 -0
  303. package/drawer.d.ts +2 -0
  304. package/fieldset.DUFUMcT-.js +11 -0
  305. package/fieldset.d.ts +1 -0
  306. package/filelist.d.ts +2 -0
  307. package/filelist.nunJKxkv.js +161 -0
  308. package/flag.D_iN8iD6.js +50 -0
  309. package/flag.d.ts +2 -0
  310. package/floatingactionbutton.DOH2k0gv.js +72 -0
  311. package/floatingactionbutton.d.ts +1 -0
  312. package/github-mark-white.svg +1 -0
  313. package/github-mark.svg +1 -0
  314. package/header.QpNjE3N-.js +12 -0
  315. package/header.d.ts +2 -0
  316. package/heading.BXFBZhKv.js +46 -0
  317. package/heading.d.ts +1 -0
  318. package/icon.d.ts +1 -0
  319. package/icon.svg +1 -1
  320. package/icon.vMQcEBnH.js +9 -0
  321. package/imow-icon.svg +1 -0
  322. package/index.d.ts +66 -1
  323. package/index.es.js +212 -46
  324. package/input.BKHOY118.js +203 -0
  325. package/input.d.ts +1 -0
  326. package/inputfile.DK8759wV.js +17 -0
  327. package/inputfile.d.ts +2 -0
  328. package/inputpassword.d.ts +1 -0
  329. package/inputpassword.rV_ZZw5F.js +13 -0
  330. package/inputsearch.CmhakTpa.js +14 -0
  331. package/inputsearch.d.ts +1 -0
  332. package/inputstepper.5olvh4tk.js +16 -0
  333. package/inputstepper.d.ts +1 -0
  334. package/intro-design-spacings01.webp +0 -0
  335. package/intro-design-spacings02.webp +0 -0
  336. package/intro-design-spacings03.webp +0 -0
  337. package/link.D_FjTyoZ.js +66 -0
  338. package/link.d.ts +1 -0
  339. package/linkbutton.D2C4vykc.js +11 -0
  340. package/linkbutton.d.ts +2 -0
  341. package/logo.C96KaG1P.js +80 -0
  342. package/logo.d.ts +1 -0
  343. package/megamenu.CdHrEeoh.js +12 -0
  344. package/megamenu.d.ts +2 -0
  345. package/mystihl-icon.svg +1 -0
  346. package/navigationtablist.CVjh1k-b.js +9 -0
  347. package/navigationtablist.d.ts +2 -0
  348. package/navigationtabs.BGfi9AG2.js +9 -0
  349. package/navigationtabs.d.ts +2 -0
  350. package/notification.Dn-FZWEL.js +10 -0
  351. package/notification.d.ts +2 -0
  352. package/numberindicator.Ddf3ESi7.js +33 -0
  353. package/numberindicator.d.ts +2 -0
  354. package/optioncheckbox.D97W3zeW.js +48 -0
  355. package/optioncheckbox.d.ts +2 -1
  356. package/package.json +84 -57
  357. package/partials/assets.const.js +2 -0
  358. package/partials/connected-apple-icon.png +0 -0
  359. package/partials/connected-favicon.ico +0 -0
  360. package/partials/connected-icon-192.png +0 -0
  361. package/partials/connected-icon-512.png +0 -0
  362. package/partials/connected-icon.svg +1 -0
  363. package/partials/copyAssets.js +27 -13
  364. package/partials/default-icon.svg +1 -0
  365. package/partials/imow-apple-icon.png +0 -0
  366. package/partials/imow-favicon.ico +0 -0
  367. package/partials/imow-icon-192.png +0 -0
  368. package/partials/imow-icon-512.png +0 -0
  369. package/partials/imow-icon.svg +1 -0
  370. package/partials/index.js +324 -2159
  371. package/partials/lib/partials.d.ts +77 -5
  372. package/partials/mystihl-apple-icon.png +0 -0
  373. package/partials/mystihl-favicon.ico +0 -0
  374. package/partials/mystihl-icon-192.png +0 -0
  375. package/partials/mystihl-icon-512.png +0 -0
  376. package/partials/mystihl-icon.svg +1 -0
  377. package/popover.DXxm1oWI.js +11 -0
  378. package/popover.d.ts +2 -0
  379. package/radio.7_N_alaS.js +126 -0
  380. package/radio.d.ts +1 -0
  381. package/radiogroup.J8WpEEo8.js +11 -0
  382. package/radiogroup.d.ts +1 -0
  383. package/scroller.BiRLQg__.js +123 -0
  384. package/scroller.d.ts +2 -0
  385. package/select-decision-tree-small.webp +0 -0
  386. package/select-decision-tree.webp +0 -0
  387. package/select.DIzGPVx3.js +13 -0
  388. package/select.d.ts +1 -0
  389. package/skiptocontent._F-d8y5b.js +35 -0
  390. package/skiptocontent.d.ts +2 -0
  391. package/slider.DuJK0RdB.js +11 -0
  392. package/slider.d.ts +2 -0
  393. package/spinner.Dht6FspZ.js +46 -0
  394. package/spinner.d.ts +1 -0
  395. package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff +0 -0
  396. package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff2 +0 -0
  397. package/styles/fonts/font-face.min.css +1 -1
  398. package/styles/js/index.d.ts +4 -0
  399. package/styles/js/index.es.js +249 -0
  400. package/styles/js/lib/animation.d.ts +13 -0
  401. package/styles/js/lib/breakpoint.d.ts +9 -0
  402. package/styles/js/lib/spacing.d.ts +22 -0
  403. package/styles/js/lib/theme.d.ts +202 -0
  404. package/styles/scss/ds/index.scss +20 -0
  405. package/styles/scss/ds/lib/animation.scss +21 -0
  406. package/styles/scss/ds/lib/breakpoints.scss +17 -0
  407. package/styles/scss/ds/lib/container-query.scss +54 -0
  408. package/styles/scss/ds/lib/ds-internal/_a11y.scss +15 -0
  409. package/styles/scss/{lib → ds/lib/ds-internal}/_focus.scss +14 -16
  410. package/styles/scss/ds/lib/ds-internal/_heading.scss +37 -0
  411. package/styles/scss/ds/lib/ds-internal/_helpers.scss +32 -0
  412. package/styles/scss/ds/lib/ds-internal/_high-contrast.scss +6 -0
  413. package/styles/scss/ds/lib/ds-internal/_hover.scss +6 -0
  414. package/styles/scss/ds/lib/ds-internal/_index.scss +11 -0
  415. package/styles/scss/ds/lib/ds-internal/_input.scss +187 -0
  416. package/styles/scss/ds/lib/ds-internal/_link-button.scss +218 -0
  417. package/styles/scss/ds/lib/ds-internal/_link.scss +62 -0
  418. package/styles/scss/ds/lib/ds-internal/_spacing-dynamic.scss +53 -0
  419. package/styles/scss/ds/lib/ds-internal/_text.scss +30 -0
  420. package/styles/scss/ds/lib/grid-extended.scss +14 -0
  421. package/styles/scss/ds/lib/grid-full.scss +6 -0
  422. package/styles/scss/ds/lib/grid-main.scss +122 -0
  423. package/styles/scss/ds/lib/grid-narrow.scss +14 -0
  424. package/styles/scss/ds/lib/grid-sidebar.scss +57 -0
  425. package/styles/scss/ds/lib/grid.scss +92 -0
  426. package/styles/scss/ds/lib/heading.scss +75 -0
  427. package/styles/scss/ds/lib/input.scss +26 -0
  428. package/styles/scss/ds/lib/link-button.scss +21 -0
  429. package/styles/scss/ds/lib/link.scss +74 -0
  430. package/styles/scss/ds/lib/media-query.scss +32 -0
  431. package/styles/scss/ds/lib/shadow.scss +10 -0
  432. package/styles/scss/ds/lib/spacing-dynamic.scss +7 -0
  433. package/styles/scss/ds/lib/spacing.scss +20 -0
  434. package/styles/scss/ds/lib/text.scss +107 -0
  435. package/styles/scss/ds/lib/theme.scss +171 -0
  436. package/styles/scss/ds/lib/transition.scss +36 -0
  437. package/switch.B37S4vfP.js +66 -0
  438. package/switch.d.ts +1 -0
  439. package/systemfeedback.C_2PhwKe.js +10 -0
  440. package/systemfeedback.d.ts +1 -0
  441. package/tablist.d.ts +2 -0
  442. package/tablist.g_Nwu6GA.js +256 -0
  443. package/tabpane.CB-eudyw.js +37 -0
  444. package/tabpane.d.ts +2 -0
  445. package/tabs.d.ts +2 -0
  446. package/tabs.oh9-wHPp.js +11 -0
  447. package/text.ZOUuesnU.js +10 -0
  448. package/text.d.ts +1 -0
  449. package/textarea.d.ts +1 -0
  450. package/textarea.dQ12-oYB.js +13 -0
  451. package/title.Bz_k5Vda.js +40 -0
  452. package/title.d.ts +1 -0
  453. package/toast.d.ts +2 -0
  454. package/toast.sMNbfKxi.js +11 -0
  455. package/toastmanager.CVamaS5T.js +116 -0
  456. package/toastmanager.d.ts +2 -0
  457. package/topbar.Dhy_TL0U.js +11 -0
  458. package/topbar.d.ts +2 -0
  459. package/types/icon-types.d.ts +1 -1
  460. package/utils/get-rect.d.ts +4 -0
  461. package/utils/get-rect.test.d.ts +1 -0
  462. package/utils/helpers.d.ts +17 -0
  463. package/utils/index.d.ts +6 -0
  464. package/utils/is-animation-disabled.d.ts +14 -0
  465. package/utils/is-animation-disabled.test.d.ts +1 -0
  466. package/utils/remove-spaces.d.ts +6 -0
  467. package/utils/remove-spaces.test.d.ts +1 -0
  468. package/utils/render-documentation.d.ts +1 -0
  469. package/utils/translate.d.ts +11 -0
  470. package/utils/translate.test.d.ts +1 -0
  471. package/utils/useBreakpoint.d.ts +0 -1
  472. package/utils/useIsomorphicLayoutEffect.d.ts +25 -0
  473. package/utils/useScrollDirection.d.ts +9 -0
  474. package/utils/useScrollDirection.test.d.ts +1 -0
  475. package/utils/vitest.setup.d.ts +4 -1
  476. package/assets/CustomReactSelect.BdwXfLLO.css +0 -1
  477. package/assets/RadioGroup.Ur8Ro-XL.css +0 -1
  478. package/assets/asterisk.C-o6rbGQ.css +0 -1
  479. package/assets/button.DJvR-58w.css +0 -1
  480. package/assets/buttonround.BlfQkmMV.css +0 -1
  481. package/assets/checkbox.BsFEWfQe.css +0 -1
  482. package/assets/fieldset.xazpUXJX.css +0 -1
  483. package/assets/floatingactionbutton.D7ywURL3.css +0 -1
  484. package/assets/heading.CGFucb-C.css +0 -1
  485. package/assets/icon.CB-KQmw4.css +0 -1
  486. package/assets/input.BcP5kkZ2.css +0 -1
  487. package/assets/inputpassword.C3Uyj7oA.css +0 -1
  488. package/assets/inputsearch.tL3e9-Ob.css +0 -1
  489. package/assets/inputstepper.paPJix5A.css +0 -1
  490. package/assets/link.V7pJOW1p.css +0 -1
  491. package/assets/linkstandalone.D3RbBp23.css +0 -1
  492. package/assets/logo.BbHYgnWo.css +0 -1
  493. package/assets/optioncheckbox.C-K1FLhc.css +0 -1
  494. package/assets/radio.CSHQGdpr.css +0 -1
  495. package/assets/select.D2qBxaHP.css +0 -1
  496. package/assets/spinner.C5rBmKiF.css +0 -1
  497. package/assets/switch.sqve8ApJ.css +0 -1
  498. package/assets/systemfeedback.WE3wClZ3.css +0 -1
  499. package/assets/text.DDAveG7E.css +0 -1
  500. package/assets/textarea.BKbocznb.css +0 -1
  501. package/assets/title.CE0Dm7PI.css +0 -1
  502. package/asterisk.DU8THnoC.js +0 -8
  503. package/button.BUUGRxIp.js +0 -135
  504. package/buttonround.CKc-a-hd.js +0 -118
  505. package/checkbox.C2Ga9yTK.js +0 -112
  506. package/checkboxgroup.Cfxz9bk6.js +0 -80
  507. package/chunks/CustomReactSelect.uzWNynay.js +0 -5027
  508. package/chunks/Input.utils.Bly6ZzLI.js +0 -106
  509. package/chunks/RadioGroup.module.bi3leRes.js +0 -11
  510. package/chunks/helpers.B1JT5ShS.js +0 -7
  511. package/chunks/index.CvOaL64Y.js +0 -45
  512. package/chunks/jsx-runtime.C-kxDJ4g.js +0 -639
  513. package/chunks/pdf.9kZbElrZ.js +0 -10
  514. package/chunks/useBreakpoint.5xBNDiCf.js +0 -48
  515. package/combobox.BXHAo4Wx.js +0 -47
  516. package/components/CustomReactSelect/CustomReactSelect.utils.d.ts +0 -16
  517. package/components/LinkStandalone/LinkStandalone.d.ts +0 -15
  518. package/components/LinkStandalone/LinkStandalone.utils.d.ts +0 -2
  519. package/customreactselect.CipgVXTR.js +0 -13
  520. package/fieldset.DGcIKzDI.js +0 -98
  521. package/floatingactionbutton.DzHD39NY.js +0 -87
  522. package/heading.DqGbFfj2.js +0 -50
  523. package/icon.PX9_1kNB.js +0 -215
  524. package/input.o8OT6rxJ.js +0 -236
  525. package/inputpassword.-MXq8baU.js +0 -139
  526. package/inputsearch.CoYTSjox.js +0 -188
  527. package/inputstepper.BBMQr6kM.js +0 -290
  528. package/link.BN6AZfhG.js +0 -115
  529. package/linkstandalone.4-fyRd08.js +0 -79
  530. package/linkstandalone.d.ts +0 -1
  531. package/logo.C_oJ8isW.js +0 -69
  532. package/optioncheckbox.-DRnW_ch.js +0 -43
  533. package/partials/icon.svg +0 -1
  534. package/radio.Bhu9OUY-.js +0 -79
  535. package/radiogroup.oILRMrX-.js +0 -102
  536. package/select.OGcreXnT.js +0 -190
  537. package/spinner.Diy_EeFY.js +0 -58
  538. package/styles/scss/_index.scss +0 -22
  539. package/styles/scss/lib/_a11y.scss +0 -15
  540. package/styles/scss/lib/_animation.scss +0 -6
  541. package/styles/scss/lib/_breakpoints.scss +0 -16
  542. package/styles/scss/lib/_container-query.scss +0 -58
  543. package/styles/scss/lib/_grid-extended.scss +0 -11
  544. package/styles/scss/lib/_grid-full.scss +0 -6
  545. package/styles/scss/lib/_grid-main.scss +0 -117
  546. package/styles/scss/lib/_grid-narrow.scss +0 -14
  547. package/styles/scss/lib/_grid-sidebar-sidebar.scss +0 -48
  548. package/styles/scss/lib/_grid-sidebar.scss +0 -157
  549. package/styles/scss/lib/_grid.scss +0 -88
  550. package/styles/scss/lib/_heading.scss +0 -66
  551. package/styles/scss/lib/_helpers.scss +0 -3
  552. package/styles/scss/lib/_high-contrast.scss +0 -24
  553. package/styles/scss/lib/_hover.scss +0 -10
  554. package/styles/scss/lib/_link.scss +0 -155
  555. package/styles/scss/lib/_media-query.scss +0 -32
  556. package/styles/scss/lib/_spacing.scss +0 -30
  557. package/styles/scss/lib/_text.scss +0 -67
  558. package/styles/scss/lib/_theme.scss +0 -160
  559. package/styles/scss/lib/_transition.scss +0 -26
  560. package/switch.BjoFKMQC.js +0 -65
  561. package/systemfeedback.C7iXO5A1.js +0 -25
  562. package/text.CPU8IUqY.js +0 -57
  563. package/textarea.kc_Sfbgr.js +0 -193
  564. package/title.icX0VDiO.js +0 -36
  565. package/utils/has-document.d.ts +0 -1
  566. /package/components/{CustomReactSelect/CustomReactSelect.utils.test.d.ts → Accordion/Accordion.test.d.ts} +0 -0
  567. /package/components/{LinkStandalone/LinkStandalone.test.d.ts → Accordion/Acordion.utils.test.d.ts} +0 -0
  568. /package/partials/{apple-icon.png → default-apple-icon.png} +0 -0
  569. /package/partials/{favicon.ico → default-favicon.ico} +0 -0
  570. /package/partials/{icon-192.png → default-icon-192.png} +0 -0
  571. /package/partials/{icon-512.png → default-icon-512.png} +0 -0
@@ -0,0 +1,53 @@
1
+ import { PopoverProps } from './Popover';
2
+ export declare const usePopover: ({ initialOpen, placement, isOpen: controlledOpen, popoverOffset, onOpenChange: setControlledOpen, }?: PopoverProps) => {
3
+ placement: import('@floating-ui/utils').Placement;
4
+ strategy: import('@floating-ui/utils').Strategy;
5
+ middlewareData: import('@floating-ui/core').MiddlewareData;
6
+ x: number;
7
+ y: number;
8
+ isPositioned: boolean;
9
+ update: () => void;
10
+ floatingStyles: React.CSSProperties;
11
+ refs: {
12
+ reference: import('react').MutableRefObject<import('@floating-ui/react-dom').ReferenceType | null>;
13
+ floating: React.MutableRefObject<HTMLElement | null>;
14
+ setReference: (node: import('@floating-ui/react-dom').ReferenceType | null) => void;
15
+ setFloating: (node: HTMLElement | null) => void;
16
+ } & import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
17
+ elements: {
18
+ reference: import('@floating-ui/react-dom').ReferenceType | null;
19
+ floating: HTMLElement | null;
20
+ } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
21
+ context: {
22
+ x: number;
23
+ y: number;
24
+ placement: import('@floating-ui/utils').Placement;
25
+ strategy: import('@floating-ui/utils').Strategy;
26
+ middlewareData: import('@floating-ui/core').MiddlewareData;
27
+ isPositioned: boolean;
28
+ update: () => void;
29
+ floatingStyles: React.CSSProperties;
30
+ open: boolean;
31
+ onOpenChange: (open: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
32
+ events: import('@floating-ui/react').FloatingEvents;
33
+ dataRef: React.MutableRefObject<import('@floating-ui/react').ContextData>;
34
+ nodeId: string | undefined;
35
+ floatingId: string | undefined;
36
+ refs: import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
37
+ elements: import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
38
+ };
39
+ getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
40
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
41
+ getItemProps: (userProps?: Omit<React.HTMLProps<HTMLElement>, "selected" | "active"> & {
42
+ active?: boolean;
43
+ selected?: boolean;
44
+ }) => Record<string, unknown>;
45
+ open: boolean;
46
+ popoverOffset: number;
47
+ setOpen: (isOpen: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
48
+ };
49
+ export declare const validatePopoverAnchor: (children: React.ReactNode) => void;
50
+ export declare const validatePopoverChildren: ({ hasContent, hasAnchor, }: {
51
+ hasContent: boolean;
52
+ hasAnchor: boolean;
53
+ }) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,24 +1,42 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
- import { BreakpointCustomizable } from '../../types';
3
-
4
2
  export interface RadioProps extends InputHTMLAttributes<HTMLInputElement> {
5
- /** Label text displayed next to the radio */
6
- label: React.ReactNode;
7
- /** Name of the radio group */
3
+ /** Label text displayed next to the radio. */
4
+ label: string;
5
+ /** Name of the radio group. */
8
6
  name: string;
9
- /** Set the value of the radio */
7
+ /** Set the value of the radio. */
10
8
  value: string;
11
- /** Disables the radio, preventing user interaction */
12
- disabled?: boolean;
13
- /** Hides the radio label, can be responsive
14
- * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
15
- */
16
- hideLabel?: BreakpointCustomizable<boolean>;
17
9
  /** Controls whether the radio is checked. */
18
10
  checked?: boolean;
19
- /** Marks the radio as invalid, typically used for form validation */
11
+ /** Allows the addition of e.g. decorative icons for an option. */
12
+ customArea?: React.ReactNode;
13
+ /** Changes the position of the custom area and lifts size restrictions.
14
+ * @default false
15
+ */
16
+ isCustomAreaAbove?: boolean;
17
+ /** Disables the radio, preventing user interaction.
18
+ * @default false
19
+ */
20
+ disabled?: boolean;
21
+ /**
22
+ * Id of the parent Fieldset, required for a11y when systemFeedback is set
23
+ */
24
+ fieldsetId?: string;
25
+ /** Makes the label use `ds.utility-medium-bold` if any option has a `hint` and `hideUncheckedHint` is set to false.
26
+ * @default false
27
+ */
28
+ isBold?: boolean;
29
+ /** Short descriptive text displayed beneath the label. */
30
+ hint?: string;
31
+ /** Marks the radio as invalid, typically used for form validation.
32
+ * @default false
33
+ */
20
34
  invalid?: boolean;
21
- /** Callback function triggered when the state of the radio changes */
35
+ /** Controls whether the hint is displayed when the radio button is not checked.
36
+ * @default false
37
+ */
38
+ hideUncheckedHint?: boolean;
39
+ /** Callback function called when the state of the radio changes. */
22
40
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
23
41
  }
24
42
  /**
@@ -1,7 +1,6 @@
1
1
  import { FieldsetHTMLAttributes } from 'react';
2
2
  import { FieldsetProps } from '../Fieldset/Fieldset';
3
3
  import { RadioGroupOption } from './RadioGroup.utils';
4
-
5
4
  export interface RadioGroupProps extends Omit<FieldsetHTMLAttributes<HTMLFieldSetElement>, 'onChange'> {
6
5
  /**
7
6
  * The `legend` prop can either be a simple `string` or an object with specific properties.
@@ -14,44 +13,55 @@ export interface RadioGroupProps extends Omit<FieldsetHTMLAttributes<HTMLFieldSe
14
13
  * @prop {string | { headingText: string; headingSize?: HeadingSize; headingTag?: HeadingTag; }} legend
15
14
  */
16
15
  legend: FieldsetProps['legend'];
17
- /** Name of the radio group */
16
+ /** Name of the radio group. */
18
17
  name: string;
19
18
  /**
20
- * An array of RadioGroupOption Objects containing the label and the value of each Radio Button
21
- * `{label: string; value: string}[]`
22
- * @prop {{label: string; value: string}[]} options
19
+ * An array of RadioGroupOption Objects containing the label and the value of each Radio Button.
20
+ * `{label: string; value: string; className?: string; customArea?: React.ReactNode; isCustomAreaAbove?: boolean; hint?: string}[]`
21
+ * @prop {{label: string; value: string; className?: string; customArea?: React.ReactNode; isCustomAreaAbove?: boolean; hint?: string;}[]} options
23
22
  */
24
23
  options: RadioGroupOption[];
24
+ /** Value of the selected Option in **uncontrolled RadioGroup** component. */
25
+ defaultValue?: string;
26
+ /** Short descriptive text displayed beneath the legend. */
27
+ description?: FieldsetProps['description'];
25
28
  /**
26
- * Set the alignment of the radio buttons
29
+ * Set the direction of the radio buttons.
30
+ * `direction="horizontal"` is not possible if a `hint` or `customArea` is passed to the `options`.
31
+ * @default 'vertical'
27
32
  */
28
- alignment?: 'vertical' | 'horizontal';
29
- /**
30
- * Value of the selected Option in **uncontrolled RadioGroup** component
33
+ direction?: 'vertical' | 'horizontal';
34
+ /** Disables the radio group, preventing user interaction.
35
+ * @default false
31
36
  */
32
- defaultValue?: string;
33
- /** Short descriptive text displayed beneath the legend */
34
- description?: FieldsetProps['description'];
35
- /** Disables the radio group, preventing user interaction */
36
37
  disabled?: boolean;
37
- /** Unique id for the radio group, needs to be set for proper accessibility functionality, if `description` or `systemFeedback` are set */
38
+ /** Controls whether the hint is displayed when the radio buttons are not checked. If set to `false` labels of radio buttons with hints will be displayed in bold.
39
+ * @default false
40
+ */
41
+ hideUncheckedHints?: boolean;
42
+ /** Unique id for the radio group, needs to be set for proper accessibility functionality, if `description` or `systemFeedback` are set. */
38
43
  id?: string;
39
- /** Marks the radio group as invalid, typically used for form validation */
44
+ /** Marks the radio group as invalid, typically used for form validation.
45
+ * @default false
46
+ */
40
47
  invalid?: boolean;
41
48
  /** Marks the radio group as required.
42
- * When this property is set, an asterisk (*) is automatically appended to the radio group's legend
49
+ * When this property is set, an asterisk (*) is automatically appended to the radio group's legend.
50
+ * @default false
43
51
  * */
44
52
  required?: boolean;
45
- /** Defines a system feedback message, shown when `invalid={true}` */
53
+ /** Defines a system feedback message, shown when `invalid={true}`. */
46
54
  systemFeedback?: string;
47
- /** Set the value of the selected option */
55
+ /** Set the value of the selected option. */
48
56
  value?: string;
49
- /** Callback function triggered when the value of the radio group changes */
57
+ /** Callback function called when the value of the radio group changes. */
50
58
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
51
59
  }
52
60
  /**
53
61
  * The `DSRadioGroup` component offers a cohesive and accessible solution for grouping radio buttons,
54
- * complete with customizable legends, alignment options, and integrated validation feedback,
62
+ * complete with customizable legends, direction options, and integrated validation feedback,
55
63
  * enhancing the user experience in form designs.
64
+ *
65
+ * Design in Figma: [Radio Group](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=860-2728)
56
66
  * */
57
67
  export declare const DSRadioGroup: import('react').ForwardRefExoticComponent<RadioGroupProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -1,7 +1,8 @@
1
1
  import { RadioProps } from '../Radio/Radio';
2
2
  import { RadioGroupProps } from './RadioGroup';
3
-
4
- export type RadioGroupOption = Pick<RadioProps, 'label' | 'value'>;
5
- type ValidationProps = Pick<RadioGroupProps, 'description' | 'id' | 'legend' | 'name' | 'options' | 'systemFeedback'>;
6
- export declare const validateProps: ({ description, id, legend, name, options, systemFeedback, }: ValidationProps) => void;
3
+ export type RadioGroupOption = Pick<RadioProps, 'label' | 'value' | 'className' | 'customArea' | 'hint' | 'isCustomAreaAbove'>;
4
+ type ValidationProps = Pick<RadioGroupProps, 'legend' | 'name' | 'options' | 'description' | 'direction' | 'id' | 'systemFeedback'>;
5
+ export declare const optionsHaveHint: (options: RadioGroupOption[]) => boolean;
6
+ export declare const optionsHaveCustomAreaInline: (options: RadioGroupOption[]) => boolean;
7
+ export declare const validateRadioGroupProps: ({ legend, name, options, description, direction, id, systemFeedback, }: ValidationProps) => void;
7
8
  export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import { HTMLAttributes, JSX } from 'react';
2
+ export interface ScrollerProps extends HTMLAttributes<HTMLDivElement> {
3
+ /** Content to be displayed within the scroller. */
4
+ children?: React.ReactNode;
5
+ /** Scrolls the scroll area to the left either smooth or immediately.
6
+ * `{scrollPosition: number;`
7
+ * `isSmooth?: boolean;}`
8
+ */
9
+ scrollToPosition?: {
10
+ scrollPosition: number;
11
+ isSmooth?: boolean;
12
+ };
13
+ }
14
+ /**
15
+ * The <DSScroller> component enables horizontal scrolling when a single item or a group of items
16
+ * exceeds the container width, allowing users to navigate content side-to-side seamlessly.
17
+ *
18
+ * Design in Figma: [Scroller](https://www.figma.com/design/Ie2r0R9QwjEc7O3nrFbXhV/Web-Pattern-Library?node-id=6263-49213&t=wRBNgx5siTv3aUkL-11)
19
+ */
20
+ export declare const DSScroller: ({ children, className, scrollToPosition, ...rest }: ScrollerProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const SCROLLER_DIRECTION: readonly ["prev", "next"];
2
+ export type ScrollerDirection = (typeof SCROLLER_DIRECTION)[number];
3
+ export declare const SCROLL_MARGIN_INLINE = 48;
@@ -1,44 +1,55 @@
1
1
  import { SelectHTMLAttributes } from 'react';
2
2
  import { BreakpointCustomizable } from '../../types';
3
3
  import { SelectOptionsOrOptGroups, SelectSize } from './Select.utils';
4
-
5
4
  export interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
6
- /** Unique id for the select */
5
+ /** Unique id for the select. */
7
6
  id: string;
8
- /** Label text displayed above the select */
7
+ /** Label text displayed above the select. */
9
8
  label: string;
10
9
  /**
11
- * Defines the options, can be a mixed array of options and option groups
10
+ * Defines the options, can be a mixed array of options and option groups.
12
11
  * `type SelectOption = {label: string; value: string | number; isDisabled?: boolean;}`
13
12
  * `type SelectOptionsGroup = {label: string; options: SelectOption[];}`
14
13
  * `type SelectOptionsOrOptGroups = (SelectOption | SelectOptionsGroup)[];`
15
14
  * */
16
15
  options: SelectOptionsOrOptGroups;
17
- /** Disables the select, preventing user interaction */
16
+ /** Disables the select, preventing user interaction.
17
+ * @default false
18
+ */
18
19
  disabled?: boolean;
19
- /** Hides the select label, can be responsive
20
+ /** Hides the select label, can be responsive.
20
21
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
22
+ * @default false
21
23
  */
22
24
  hideLabel?: BreakpointCustomizable<boolean>;
23
- /** Short descriptive text displayed beneath the label */
25
+ /** Short descriptive text displayed beneath the label. */
24
26
  hint?: string;
25
- /** Marks the select as invalid, typically used for form validation */
27
+ /** Marks the select as invalid, typically used for form validation.
28
+ * @default false
29
+ */
26
30
  invalid?: boolean;
27
- /** Modifies the empty option label to ensure a conscious choice. */
31
+ /** Modifies the empty option label to ensure a conscious choice.
32
+ * @default 'Select'
33
+ */
28
34
  placeholder?: string;
29
- /** Indicates that the select is required */
35
+ /** Indicates that the select is required.
36
+ * @default false
37
+ */
30
38
  required?: boolean;
31
- /** Size of the select */
39
+ /** Size of the select.
40
+ * @default 'medium'
41
+ */
32
42
  size?: SelectSize;
33
- /** Defines a system feedback message, shown when `invalid={true}` */
43
+ /** Defines a system feedback message, shown when `invalid={true}`. */
34
44
  systemFeedback?: string;
35
45
  }
36
46
  /**
37
47
  * Use the DSSelect component to efficiently navigate through and select from a range of options,
38
48
  * enhancing user interaction and decision-making in your application.
39
49
  *
50
+ * Design in Figma: [Select](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=8139-4888)
40
51
  *
41
52
  * <div className="ds-alert">If you are looking for a component with a **custom dropdown** or the ability to **filter** and **select multiple options**, please take a look at
42
53
  * [DSCombobox](/docs/components-combobox--documentation)</div>
43
54
  * */
44
- export declare const DSSelect: ({ id, label, options, className, defaultValue, disabled, hideLabel, hint, invalid, placeholder, required, size, systemFeedback, value, ...rest }: SelectProps) => JSX.Element;
55
+ export declare const DSSelect: import('react').ForwardRefExoticComponent<SelectProps & import('react').RefAttributes<HTMLSelectElement>>;
@@ -1,7 +1,6 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import { GroupBase, OptionsOrGroups } from 'react-select';
3
3
  import { SelectProps } from './Select';
4
-
5
4
  type ValidationProps = Pick<SelectProps, 'id' | 'label' | 'options'>;
6
5
  export interface SelectOption extends HTMLAttributes<HTMLOptionElement> {
7
6
  label: string;
@@ -0,0 +1,19 @@
1
+ import { LinkButtonProps } from '../LinkButton/LinkButton';
2
+ export interface SkipToContentProps extends Pick<LinkButtonProps, 'className' | 'theme'> {
3
+ /** Content within the SkipToContent Link.
4
+ * @default 'Skip to main content'
5
+ */
6
+ children?: string;
7
+ /** id of the element to be focused by the SkipToContent Link.
8
+ * @default 'main'
9
+ */
10
+ targetElementId?: string;
11
+ }
12
+ /**
13
+ * The `<DSSkipToContent />` component is an accessibility feature that allows users, especially those using screen readers or keyboard navigation, to quickly jump to the targeted content of a webpage without having to focus all the navigation items first. This improves the user experience by making it easier and faster to access important information.
14
+ *
15
+ * Focus the section below by using the tab key to see the "Skip To Content" component in action.
16
+ *
17
+ * Design in Figma: [Skip To Content](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=16333-2371)
18
+ */
19
+ export declare const DSSkipToContent: import('react').ForwardRefExoticComponent<SkipToContentProps & import('react').RefAttributes<HTMLAnchorElement>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,63 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ import { BreakpointCustomizable } from '../../types';
3
+ import { InputSize } from '../Input/Input.utils';
4
+ export interface SliderProps extends InputHTMLAttributes<HTMLInputElement> {
5
+ /** Unique id for the Slider. */
6
+ id: string;
7
+ /** Label text displayed above the Slider. */
8
+ label: string;
9
+ /** Disables the Slider, preventing user interaction.
10
+ * @default false
11
+ */
12
+ disabled?: boolean;
13
+ /** Hides the Slider label, can be responsive.
14
+ * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
15
+ * @default false
16
+ */
17
+ hideLabel?: BreakpointCustomizable<boolean>;
18
+ /** Controls the visibility of an additional number input for granular value control.
19
+ * Cannot be used if step > 1 is set.
20
+ * @default false
21
+ */
22
+ hideNumberInput?: boolean;
23
+ /** Short descriptive text displayed beneath the label. */
24
+ hint?: string;
25
+ /** Controls if the tooltip is visible outside of interactions. Only usable when `hideNumberInput={true}`.
26
+ * @default false
27
+ */
28
+ isTooltipAlwaysVisible?: boolean;
29
+ /**
30
+ * Sets the maximum value
31
+ * @default 100
32
+ */
33
+ max?: number | string;
34
+ /**
35
+ * Sets greatest value in the range of permitted values.
36
+ * @default 0
37
+ */
38
+ min?: number | string;
39
+ /**
40
+ * Specifies the granularity that the value must adhere to.
41
+ * @default 1
42
+ */
43
+ step?: number | string;
44
+ /** Number input props:
45
+ * `suffix`: Text displayed as a suffix inside the input, maximum 5 characters.
46
+ *
47
+ * `size`: Size of the input.
48
+ * (default): `'medium'`
49
+ */
50
+ numberInputProps?: {
51
+ suffix?: string;
52
+ size?: InputSize;
53
+ };
54
+ }
55
+ /**
56
+ * The `<DSSlider />` component is a flexible range input that allows users to select a value within a defined range.
57
+ * It supports various customizations, including a label, hint, tooltip and an optional number input for precise value selection.
58
+ *
59
+ * The component also features configurable step values and min/max limits for better user guidance.
60
+ *
61
+ * Design in Figma: [Input Slider](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=29536-27468&t=31EIQag1wrGVM75J-4)
62
+ */
63
+ export declare const DSSlider: import('react').ForwardRefExoticComponent<SliderProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,65 @@
1
+ import { SliderProps } from './Slider';
2
+ export declare const MAXIMUM_TICK_AMOUNT = 11;
3
+ export declare const LABEL_LENGTH_BREAKPOINT = 4;
4
+ /**
5
+ * Returns the number of characters in a number, including the minus sign if present.
6
+ *
7
+ * @param {number} num - The number to check.
8
+ * @returns {number} The total length of the number including all characters.
9
+ *
10
+ * @example
11
+ * getNumberLength(12345); // 5
12
+ * getNumberLength(-9876); // 5 (includes the minus sign)
13
+ * getNumberLength(0); // 1
14
+ */
15
+ export declare const getNumberLength: (num: number) => number;
16
+ /**
17
+ * Checks if a given value is aligned to a specific step interval,
18
+ * starting from a defined minimum value. The check allows for minor
19
+ * floating-point inaccuracies using an epsilon tolerance.
20
+ *
21
+ * @param {number} value - The numeric value to check for alignment.
22
+ * @param {number} step - The step size that defines valid intervals.
23
+ * @param {number} parsedMin - The minimum value from which steps start.
24
+ * @returns {boolean} `true` if the value is aligned to the step; otherwise, `false`.
25
+ */
26
+ export declare const isStepAligned: (value: number, step: number, parsedMin: number) => boolean;
27
+ /**
28
+ * Snaps a numeric value to the nearest valid step within a defined range,
29
+ * clamping it between the provided min and max values.
30
+ *
31
+ * @param value - The input number to be snapped.
32
+ * @param step - The step size as a number or string (e.g., '0.5', 1).
33
+ * @param min - The minimum allowed value.
34
+ * @param max - The maximum allowed value.
35
+ * @returns The value snapped to the nearest step, clamped and precision-adjusted.
36
+ */
37
+ export declare const snapValueToStep: (value: number, step: string | number, min: number, max: number) => number;
38
+ /**
39
+ * Calculates the CSS `left` offset for a tick mark on a slider component,
40
+ * adjusting its position so that it aligns visually with the slider thumb.
41
+ *
42
+ * The function computes the percentage position of the tick based on the
43
+ * provided `tickValue` in relation to the `parsedMin` and `parsedMax` range,
44
+ * then applies a correction (`shift`) to ensure proper alignment with the thumb.
45
+ *
46
+ * The shift is calculated with a linear formula derived to meet specific
47
+ * alignment criteria at 0%, 50%, and 100%.
48
+ *
49
+ * @param tickValue - The numeric value of the current tick mark.
50
+ * @param parsedMin - The minimum value of the slider range.
51
+ * @param parsedMax - The maximum value of the slider range.
52
+ * @returns A CSS `left` value string using `calc()` to properly position the tick.
53
+ */
54
+ export declare const getTickLeftOffset: (tickValue: number, parsedMin: number, parsedMax: number) => string;
55
+ type ValidationProps = Pick<SliderProps, 'id' | 'label'>;
56
+ /**
57
+ * Validates the given properties of the DSSlider component for common configuration errors.
58
+ * This function is intended to be used in development mode to provide developers with
59
+ * warnings about potential misuse of the component.
60
+ *
61
+ * @param validationProps - The subset of DSSlider properties to validate. This includes
62
+ * properties related to the prefix, suffix, icons and action button of the input.
63
+ */
64
+ export declare const validateSliderProps: ({ id, label }: ValidationProps) => void;
65
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,15 +1,24 @@
1
- import { HTMLAttributes } from 'react';
1
+ import { HTMLAttributes, JSX } from 'react';
2
2
  import { SelectedAriaAttributes, Theme } from '../../types';
3
3
  import { SpinnerAriaAttribute, SpinnerSize } from './Spinner.utils';
4
-
5
4
  export interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
6
- /** ARIA attributes to enhance accessibility
5
+ /** ARIA attributes to enhance accessibility.
7
6
  * `{'aria-label'? string;}`
8
7
  */
9
8
  aria?: SelectedAriaAttributes<SpinnerAriaAttribute>;
10
- /** Size of the spinner */
9
+ /** Size of the spinner.
10
+ * @default 'small'
11
+ */
11
12
  size?: SpinnerSize;
12
- /** Defines the theme */
13
+ /** Defines the theme.
14
+ * @default 'light'
15
+ */
13
16
  theme?: Theme;
14
17
  }
18
+ /**
19
+ *
20
+ * Shows the loading state and that the user request is being processed.
21
+ *
22
+ * Design in Figma: [Spinner](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=26-3)
23
+ */
15
24
  export declare const DSSpinner: ({ aria, className, size, theme, ...rest }: SpinnerProps) => JSX.Element;
@@ -1,30 +1,41 @@
1
1
  import { ButtonHTMLAttributes } from 'react';
2
2
  import { SelectedAriaAttributes } from '../../types';
3
3
  import { SwitchAriaAttribute, SwitchLabelPosition } from './Switch.utils';
4
-
5
4
  export interface SwitchProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6
- /** Content within the label */
5
+ /** Content within the label. */
7
6
  children: React.ReactNode;
8
- /** ARIA attributes to enhance accessibility
7
+ /** ARIA attributes to enhance accessibility.
9
8
  * `{'aria-label'? string;}`
10
9
  */
11
10
  aria?: SelectedAriaAttributes<SwitchAriaAttribute>;
12
- /** Alignment of the label */
11
+ /** Alignment of the label.
12
+ * @default 'left'
13
+ */
13
14
  alignLabel?: SwitchLabelPosition;
14
- /** Controls whether the switch is checked. */
15
+ /** Controls whether the switch is checked.
16
+ * @default false
17
+ */
15
18
  checked?: boolean;
16
- /** Identifier for analytics tracking */
17
- dataTrackingid?: string;
18
- /** Disables the switch, preventing user interaction */
19
+ /** Custom data attributes. */
20
+ [key: `data-${string}`]: string | undefined;
21
+ /** Disables the switch, preventing user interaction.
22
+ * @default false
23
+ */
19
24
  disabled?: boolean;
20
- /** Shows loading indicator */
25
+ /** Shows loading indicator.
26
+ * @default false
27
+ */
21
28
  loading?: boolean;
22
- /** Stretches the Switch over the parent's width */
29
+ /** Stretches the Switch over the parent's width.
30
+ * @default false
31
+ */
23
32
  stretched?: boolean;
24
- /** Callback function triggered when the switch is clicked */
33
+ /** Callback function called when the switch is clicked. */
25
34
  onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
26
35
  }
27
36
  /**
28
37
  * Often used in settings, in which users can communicate their choice through binary selection.
38
+ *
39
+ * Design in Figma: [Switch](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=513-2)
29
40
  * */
30
- export declare const DSSwitch: ({ children, aria, alignLabel, checked, className, dataTrackingid, disabled, loading, stretched, onClick, ...rest }: SwitchProps) => JSX.Element;
41
+ export declare const DSSwitch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -1,10 +1,19 @@
1
- import { HTMLAttributes } from 'react';
2
- import { SystemFeedbackType } from './SystemFeedback.utils';
3
-
1
+ import { HTMLAttributes, JSX } from 'react';
2
+ import { SystemFeedbackVariant } from './SystemFeedback.utils';
4
3
  export interface SystemFeedbackProps extends HTMLAttributes<HTMLDivElement> {
5
- /** Defines the message */
4
+ /** Unique id for connecting the system feedback with aria attributes like aria-describedby. */
5
+ id: string;
6
+ /** Defines the message. */
6
7
  message: string;
7
- /** Defines the type */
8
- type: SystemFeedbackType;
8
+ /** Defines the variant (e.g. "error", "success" or "warning"). */
9
+ variant: SystemFeedbackVariant;
9
10
  }
10
- export declare const DSSystemFeedback: ({ className, message, type, ...rest }: SystemFeedbackProps) => JSX.Element;
11
+ /**
12
+ * Use the SystemFeedback component to provide clear and immediate feedback to the user
13
+ * about the status of a system process or validation state.
14
+ *
15
+ * Design in Figma: [SystemFeedback](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=14690-32&t=qoxy54r8T2z3eW8T-4)
16
+ *
17
+ * <div className="ds-info">For more information on the different types of notifications and to determine which is best suited for your needs, please refer to our [Notification Guidelines](/docs/templates-notification-guidelines--documentation) and explore the decision trees provided.</div>
18
+ */
19
+ export declare const DSSystemFeedback: ({ id, message, variant, className, ...rest }: SystemFeedbackProps) => JSX.Element;
@@ -1,8 +1,5 @@
1
- interface SystemFeedbackIcons {
2
- valid: 'circle-check-colored';
3
- invalid: 'diamond-exclamationmark-colored';
4
- warning: 'triangle-exclamationmark-colored';
5
- }
6
- export declare const systemFeedbackIcons: SystemFeedbackIcons;
7
- export type SystemFeedbackType = 'valid' | 'invalid' | 'warning';
1
+ type SystemFeedbackIcon = 'circle-check-colored' | 'diamond-exclamationmark-colored' | 'triangle-exclamationmark-colored';
2
+ export declare const SYSTEM_FEEDBACK_VARIANT: readonly ["success", "error", "warning"];
3
+ export type SystemFeedbackVariant = (typeof SYSTEM_FEEDBACK_VARIANT)[number];
4
+ export declare const SYSTEM_FEEDBACK_ICON_MAP: Record<SystemFeedbackVariant, SystemFeedbackIcon>;
8
5
  export {};
@@ -0,0 +1,22 @@
1
+ import { JSX } from 'react';
2
+ import { NavigationTab } from '../../../NavigationTabs/NavigationTabs';
3
+ interface NavigationTabListProps {
4
+ tabs: NavigationTab[];
5
+ tabRefs: React.RefObject<HTMLAnchorElement[]>;
6
+ scrollerClass: string;
7
+ scrollerRef: React.RefObject<HTMLUListElement>;
8
+ selectedTabIndex: number;
9
+ handleNavigationKeydown: (event: React.KeyboardEvent<HTMLAnchorElement>, index: number) => void;
10
+ setSelectedTab: (index: number) => void;
11
+ }
12
+ /**
13
+ * The NavigationTabList component is an internal component used inside the TabList component.
14
+ * It renders an unordered list with list items that contain anchor elements.
15
+ *
16
+ * Consumers can pass in a link component which is cloned and modified. This allows us to add
17
+ * DSIcon and NumberIndicator and other props.
18
+ * Additionally the link component can be a regular anchor element or a Link component from
19
+ * React Router/Next or any other routing framework.
20
+ */
21
+ export declare const NavigationTabList: ({ tabs, tabRefs, scrollerClass, scrollerRef, selectedTabIndex, handleNavigationKeydown, setSelectedTab, }: NavigationTabListProps) => JSX.Element;
22
+ export {};