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

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.D_1YqlWl.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 +66 -28
  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.Y-YzUHhF.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
@@ -1,19 +1,26 @@
1
- import { HTMLAttributes } from 'react';
1
+ import { HTMLAttributes, JSX } from 'react';
2
2
  import { Theme } from '../../types';
3
3
  import { HeadingSize, HeadingTag } from './Heading.utils';
4
-
5
4
  export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
6
- /** Content within the heading */
5
+ /** Content within the heading. */
7
6
  children: React.ReactNode;
8
- /** Size of the heading */
7
+ /** Size of the heading.
8
+ * @default 'medium'
9
+ */
9
10
  size?: HeadingSize;
10
- /** Specifies the HTML tag to be used for the heading */
11
+ /** Specifies the HTML tag to be used for the heading.
12
+ * @default 'h2'
13
+ */
11
14
  tag?: HeadingTag;
12
- /** Defines the theme */
15
+ /** Defines the theme.
16
+ * @default 'light'
17
+ */
13
18
  theme?: Theme;
14
19
  }
15
20
  /**
16
21
  * The `DSHeading` component is used to specify heading styling and hierarchy in documents.
17
22
  * It allows for consistent heading styles across different parts of your application.
23
+ *
24
+ * Design in Figma: [Heading](https://www.figma.com/design/d9wrOp4aCplDsV9AVC87Xn/Typography-%F0%9F%85%B0%EF%B8%8F?node-id=3-2186&t=TeSgud7dB5pnld5s-11)
18
25
  * */
19
26
  export declare const DSHeading: ({ children, className, size, tag, theme, ...rest }: HeadingProps) => JSX.Element;
@@ -1,24 +1,31 @@
1
- import { HTMLProps, SVGProps } from 'react';
1
+ import { HTMLProps, JSX, SVGProps } from 'react';
2
2
  import { IconName, SelectedAriaAttributes, Theme } from '../../types';
3
3
  import { IconAriaAttribute, IconSize } from './Icon.utils';
4
-
5
4
  export interface IconProps {
6
- /** ARIA attributes to enhance accessibility
5
+ /** ARIA attributes to enhance accessibility.
7
6
  * `{'aria-label'? string;}`
8
7
  */
9
8
  aria?: SelectedAriaAttributes<IconAriaAttribute>;
10
- /** Name of the icon to display */
9
+ /** Name of the icon to display.
10
+ * @default 'placeholder'
11
+ */
11
12
  name?: IconName;
12
- /** Size of the icon */
13
+ /** Size of the icon.
14
+ * @default 'large'
15
+ */
13
16
  size?: IconSize;
14
- /** URL or path for a custom icon */
17
+ /** URL or path for a custom icon. */
15
18
  source?: string;
16
- /** Defines the theme */
19
+ /** Defines the theme.
20
+ * @default 'light'
21
+ */
17
22
  theme?: Theme;
18
23
  }
19
24
  /**
20
25
  * The STIHL Iconography ranges from content and feature icons to product or system icons.
21
26
  * The STIHL Design System is using an SVG icon system to visually present an icon object.
22
27
  * Icons are provided as assets and can be bundled into the application.
28
+ *
29
+ * Design in Figma: [Icon](https://www.figma.com/design/U218NNP4OsipaHOtv5flns/Iconography-%E2%9E%A1%EF%B8%8F?node-id=0-1)
23
30
  */
24
31
  export declare const DSIcon: ({ aria, className, name, size, source, theme, ...rest }: IconProps & (HTMLProps<HTMLImageElement> | SVGProps<SVGSVGElement>)) => JSX.Element;
@@ -1,7 +1,6 @@
1
1
  import { IconName } from '../../types';
2
-
3
2
  export type IconAriaAttribute = 'aria-label';
4
- export declare const ICON_SIZE: readonly ["large", "medium", "small", "x-small"];
3
+ export declare const ICON_SIZE: readonly ["x-large", "large", "medium", "small", "x-small"];
5
4
  export type IconSize = (typeof ICON_SIZE)[number];
6
5
  export declare const useDynamicSvgImport: (iconName: IconName) => {
7
6
  isLoading: boolean;
@@ -2,47 +2,76 @@ import { InputHTMLAttributes } from 'react';
2
2
  import { BreakpointCustomizable, IconName } from '../../types';
3
3
  import { IconProps } from '../Icon/Icon';
4
4
  import { InputSize, SupportedInputTypes } from './Input.utils';
5
-
6
5
  export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
7
- /** Unique id for the input */
6
+ /** Unique id for the input. */
8
7
  id: string;
9
- /** Label text displayed above the input */
8
+ /** Label text displayed above the input. */
10
9
  label: string;
11
- /** Accessibility label for the action button or icon */
12
- actionButtonLabel?: string;
13
- /** Name of the icon used in the action button */
14
- actionButtonIconName?: IconName;
15
- /** Custom source URL for the action button icon */
16
- actionButtonIconSource?: IconProps['source'];
17
- /** Callback function triggered when the action button is clicked */
18
- actionButtonOnClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
19
- /** Disables the input, preventing user interaction */
10
+ /** Action button props:
11
+ *
12
+ * `label`: Accessibility label for the action button or icon.
13
+ *
14
+ * `data-*`: Custom data attributes.
15
+ *
16
+ * `iconName`: Name of the icon used in the action button.
17
+ *
18
+ * `iconSource`: Custom source URL for the action button icon.
19
+ *
20
+ * `onClick`: Callback function called when the action button is clicked.
21
+ */
22
+ actionButtonProps?: {
23
+ label: string;
24
+ [key: `data-${string}`]: string | undefined;
25
+ iconName?: IconName;
26
+ iconSource?: string;
27
+ onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
28
+ };
29
+ /**
30
+ * Provides hints to the browser for what type of data the input expects.
31
+ * Use standardized values from the W3C specification for input purposes:
32
+ * https://www.w3.org/TR/WCAG21/#input-purposes.
33
+ */
34
+ autoComplete?: string;
35
+ /** Disables the input, preventing user interaction.
36
+ * @default false
37
+ */
20
38
  disabled?: boolean;
21
- /** Hides the input label, can be responsive
39
+ /** Hides the input label, can be responsive.
22
40
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
41
+ * @default false
23
42
  */
24
43
  hideLabel?: BreakpointCustomizable<boolean>;
25
- /** Short descriptive text displayed beneath the label */
44
+ /** Short descriptive text displayed beneath the label. */
26
45
  hint?: string;
27
- /** Name of the leading icon */
46
+ /** Name of the leading icon. */
28
47
  leadingIconName?: IconName;
29
- /** URL or path for a custom leading icon */
48
+ /** URL or path for a custom leading icon. */
30
49
  leadingIconSource?: IconProps['source'];
31
- /** Marks the input as invalid, typically used for form validation */
50
+ /** Marks the input as invalid, typically used for form validation.
51
+ * @default false
52
+ */
32
53
  invalid?: boolean;
33
- /** Text displayed as a prefix inside the input, maximum 8 characters */
54
+ /** Text displayed as a prefix inside the input, maximum 8 characters. */
34
55
  prefix?: string;
35
- /** Enables the readonly state of the input */
56
+ /** Enables the readonly state of the input.
57
+ * @default false
58
+ */
36
59
  readonly?: boolean;
37
- /** Indicates that the input is required */
60
+ /** Indicates that the input is required.
61
+ * @default false
62
+ */
38
63
  required?: boolean;
39
- /** Text displayed as a suffix inside the input, maximum 5 characters */
64
+ /** Text displayed as a suffix inside the input, maximum 5 characters. */
40
65
  suffix?: string;
41
- /** Defines a system feedback message, shown when `invalid={true}` */
66
+ /** Defines a system feedback message, shown when `invalid={true}`. */
42
67
  systemFeedback?: string;
43
- /** Size of the input */
68
+ /** Size of the input.
69
+ * @default 'medium'
70
+ */
44
71
  size?: InputSize;
45
- /** Type of the input */
72
+ /** Type of the input.
73
+ * @default 'text'
74
+ */
46
75
  type?: SupportedInputTypes;
47
76
  }
48
77
  /**
@@ -51,5 +80,7 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
51
80
  * a leading icon, prefix and suffix.
52
81
  *
53
82
  * Depending on the `type` prop it expects different input types.
83
+ *
84
+ * Design in Figma: [Input](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=1744-7211&t=UBsmFURFENnuYSW1-4)
54
85
  */
55
- export declare const DSInput: ({ id, label, actionButtonLabel, actionButtonIconName, actionButtonIconSource, actionButtonOnClick, className, disabled, hint, hideLabel, invalid, leadingIconName, leadingIconSource, prefix, readonly, required, size, suffix, systemFeedback, type, ...rest }: InputProps) => JSX.Element;
86
+ export declare const DSInput: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -1,14 +1,13 @@
1
1
  import { InputProps } from './Input';
2
-
3
2
  export declare const MAX_PREFIX_LENGTH = 8;
4
3
  export declare const MAX_SUFFIX_LENGTH = 5;
5
4
  export declare const INPUT_SIZE: readonly ["medium", "small"];
6
5
  export type InputSize = (typeof INPUT_SIZE)[number];
7
- export declare const SUPPORTED_INPUT_TYPES: readonly ["color", "date", "datetime-local", "email", "file", "month", "number", "range", "tel", "text", "time", "url"];
6
+ export declare const SUPPORTED_INPUT_TYPES: readonly ["color", "date", "datetime-local", "email", "month", "number", "range", "tel", "text", "time", "url"];
8
7
  export type SupportedInputTypes = (typeof SUPPORTED_INPUT_TYPES)[number];
9
- export declare const UNSUPPORTED_INPUT_TYPES: readonly ["week", "hidden", "button", "checkbox", "password", "radio", "search", "reset", "submit", "image", "datetime"];
8
+ export declare const UNSUPPORTED_INPUT_TYPES: readonly ["week", "file", "hidden", "button", "checkbox", "password", "radio", "search", "reset", "submit", "image", "datetime"];
10
9
  export type UnSupportedInputTypes = (typeof UNSUPPORTED_INPUT_TYPES)[number];
11
- type ValidationProps = Pick<InputProps, 'id' | 'label' | 'prefix' | 'suffix' | 'leadingIconName' | 'leadingIconSource' | 'actionButtonIconName' | 'actionButtonIconSource'>;
10
+ type ValidationProps = Pick<InputProps, 'id' | 'label' | 'prefix' | 'suffix' | 'leadingIconName' | 'leadingIconSource' | 'actionButtonProps'>;
12
11
  /**
13
12
  * Validates the given properties of the DSInput component for common configuration errors.
14
13
  * This function is intended to be used in development mode to provide developers with
@@ -17,14 +16,14 @@ type ValidationProps = Pick<InputProps, 'id' | 'label' | 'prefix' | 'suffix' | '
17
16
  * @param validationProps - The subset of DSInput properties to validate. This includes
18
17
  * properties related to the prefix, suffix, icons and action button of the input.
19
18
  */
20
- export declare const validateInputProps: ({ id, label, prefix, suffix, leadingIconName, leadingIconSource, actionButtonIconName, actionButtonIconSource, }: ValidationProps) => void;
19
+ export declare const validateInputProps: ({ id, label, prefix, suffix, leadingIconName, leadingIconSource, actionButtonProps, }: ValidationProps) => void;
21
20
  /**
22
21
  * Validates the input type for the DSInput component and provides warnings for certain unsupported types.
23
22
  *
24
23
  * @param {SupportedInputTypes} type - The input type to validate.
25
24
  * @throws {Error} Throws an error if the input type is not supported by the DSInput component.
26
25
  */
27
- export declare const validateType: (type: SupportedInputTypes | UnSupportedInputTypes) => void;
26
+ export declare const validateType: (type: SupportedInputTypes | UnSupportedInputTypes, autoComplete?: string | undefined) => void;
28
27
  /**
29
28
  * Checks if the current browser supports the 'showPicker' attribute for date/time input fields
30
29
  * and is a compatible browser (Chrome, Chromium, Chrome on iOS, or Microsoft Edge).
@@ -0,0 +1,91 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ import { BreakpointCustomizable } from '../../types';
3
+ import { ButtonVariant } from '../Button/Button.utils';
4
+ import { InputFileLanguage, InputFileTranslations } from './InputFile.utils';
5
+ export interface InputFileProps extends InputHTMLAttributes<HTMLInputElement> {
6
+ /** Unique id for the input. */
7
+ id: string;
8
+ /** Label text displayed above the input. */
9
+ label: string;
10
+ /** Defines the file types the input file should accept. */
11
+ accept?: string;
12
+ /** Disables the input, preventing user interaction.
13
+ * @default false
14
+ */
15
+ disabled?: boolean;
16
+ /** The remove button visible in the file list, when file(s) were selected by the user:
17
+ *
18
+ * `data-*`: Custom data attributes, which will have the index of the selected file appended at the end of the value.
19
+ */
20
+ fileListItemRemoveButtonProps?: {
21
+ [key: `data-${string}`]: string | undefined;
22
+ };
23
+ /** Hides the input label, can be responsive.
24
+ * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
25
+ * @default false
26
+ */
27
+ hideLabel?: BreakpointCustomizable<boolean>;
28
+ /** Short descriptive text displayed beneath the label OR in the dropzone. */
29
+ hint?: string;
30
+ /** Input File button props:
31
+ *
32
+ * `label`: Accessibility label for the action button or icon.
33
+ * * (default) Depends on lang and multi props, 'Choose File', 'Choose Files', 'Datei auswählen' or 'Dateien auswählen'.
34
+ *
35
+ * `variant`: Visual style variant of the button.
36
+ * (default) 'outline'
37
+ *
38
+ * `data-*`: Custom data attributes.
39
+ */
40
+ inputFileButtonProps?: {
41
+ [key: `data-${string}`]: string | undefined;
42
+ label?: string;
43
+ variant?: Extract<ButtonVariant, 'outline' | 'filled'>;
44
+ };
45
+ /** Marks the input as invalid, typically used for form validation.
46
+ * @default false
47
+ */
48
+ invalid?: boolean;
49
+ /** Moves the hint outside of the dropzone.
50
+ * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
51
+ * @default {base: true, m: false}
52
+ */
53
+ isHintOutsideDropzone?: BreakpointCustomizable<boolean>;
54
+ /** Sets language to use for messages, if no translations object is provided.
55
+ * @default 'en'
56
+ */
57
+ lang?: InputFileLanguage;
58
+ /** Maximum size allowed in MegaBytes.
59
+ * @default 7
60
+ */
61
+ maxSizeInMb?: number;
62
+ /** Allow multiple file selection.
63
+ * @default false
64
+ */
65
+ multiple?: boolean;
66
+ /** Indicates that the input is required.
67
+ * @default false
68
+ */
69
+ required?: boolean;
70
+ /** Show a bigger dropzone to drag & drop files into instead of only a button.
71
+ * @default false
72
+ */
73
+ showDropzone?: boolean;
74
+ /** Show a file list after file selection. */
75
+ showFileList?: boolean;
76
+ /** Defines a system feedback message, shown when `invalid={true}`. */
77
+ systemFeedback?: string;
78
+ /** Translations for the DSInputFile. Use our [customization page](/?path=/story/components-inputs-input-file-translations--documentation) for creating custom translations. */
79
+ translations?: InputFileTranslations;
80
+ /** Callback function invoked when files are selected. */
81
+ onFilesSelect?: (files: File[]) => void;
82
+ }
83
+ export interface FileWithFeedback extends File {
84
+ feedback?: string;
85
+ }
86
+ /**
87
+ * The `<DSInputFile />` allows users to select and upload files, such as images, documents, or videos. It ensures a clear, accessible, and user-friendly way to manage file uploads.
88
+ *
89
+ * Design in Figma: [Input File](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=32314-6485&t=QXC7W0qCpEbPrh2M-11)
90
+ */
91
+ export declare const DSInputFile: import('react').ForwardRefExoticComponent<InputFileProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ import { InputFileProps } from './InputFile';
2
+ export type InputFileLanguage = 'de' | 'en';
3
+ export type InputFileTranslations = typeof DS_INPUT_FILE_TRANSLATIONS_EN;
4
+ export declare const DS_INPUT_FILE_TRANSLATIONS_EN: {
5
+ dragAndDropInstructions: string;
6
+ feedbackFileSize: string;
7
+ feedbackFileType: string;
8
+ fileListRemoveSelectionButtonLabel: string;
9
+ fileListPreviewAltText: string;
10
+ filesSelectedHint: string;
11
+ required: string;
12
+ };
13
+ export declare const DS_INPUT_FILE_TRANSLATIONS_DE: {
14
+ dragAndDropInstructions: string;
15
+ feedbackFileSize: string;
16
+ feedbackFileType: string;
17
+ fileListRemoveSelectionButtonLabel: string;
18
+ fileListPreviewAltText: string;
19
+ filesSelectedHint: string;
20
+ required: string;
21
+ };
22
+ export declare const DS_INPUT_FILE_TRANSLATIONS: {
23
+ [key in InputFileLanguage]: InputFileTranslations;
24
+ };
25
+ /**
26
+ * @param file the File you just got from input.files[0]
27
+ * @param acceptAttr the literal string from your <input accept="…">
28
+ * @returns true if the file would have been allowed by the browser’s picker UI
29
+ */
30
+ export declare const fileMatchesAccept: (file: File, acceptAttr: string) => boolean;
31
+ type ValidationProps = Pick<InputFileProps, 'id' | 'label' | 'inputFileButtonProps'>;
32
+ /**
33
+ * Validates the required props for the `DSInputFile` component.
34
+ *
35
+ * Ensures that:
36
+ * - A unique `id` is provided.
37
+ * - A `label` is provided for accessibility (a11y) reasons.
38
+ * - If `inputFileButtonProps` is provided, it must include a `label` for accessibility.
39
+ *
40
+ * Throws descriptive errors if any of the conditions are not met.
41
+ *
42
+ * @param {ValidationProps} params -The subset of DSInputFile properties to validate. This includes
43
+ * properties related to the prefix, suffix, icons and action button of the input.
44
+ */
45
+ export declare const validateInputFileProps: ({ id, label, inputFileButtonProps, }: ValidationProps) => void;
46
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,36 +1,59 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
2
  import { BreakpointCustomizable } from '../../types';
3
3
  import { InputSize } from '../Input/Input.utils';
4
-
5
4
  export interface InputPasswordProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'size'> {
6
- /** Unique id for the input */
5
+ /** Unique id for the input. */
7
6
  id: string;
8
- /** Label text displayed above the input */
7
+ /** Label text displayed above the input. */
9
8
  label: string;
10
- /** The value of autocomplete to use for the input */
11
- autocomplete?: 'new-password' | 'current-password' | 'off';
12
- /** Disables the input, preventing user interaction */
9
+ /** The value of autoComplete to use for the input.
10
+ * @default 'new-password'
11
+ */
12
+ autoComplete?: 'new-password' | 'current-password' | 'off';
13
+ /** Disables the input, preventing user interaction.
14
+ * @default false
15
+ */
13
16
  disabled?: boolean;
14
- /** Hides the input label, can be responsive
17
+ /** Hides the input label, can be responsive.
15
18
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
19
+ * @default false
16
20
  */
17
21
  hideLabel?: BreakpointCustomizable<boolean>;
18
- /** Short descriptive text displayed beneath the label */
22
+ /** Short descriptive text displayed beneath the label. */
19
23
  hint?: string;
20
- /** Marks the input as invalid, typically used for form validation */
24
+ /** Marks the input as invalid, typically used for form validation.
25
+ * @default false
26
+ */
21
27
  invalid?: boolean;
22
- /** Enables the readonly state of the input */
28
+ /** Enables the readonly state of the input.
29
+ * @default false
30
+ */
23
31
  readonly?: boolean;
24
- /** Indicates that the input is required */
32
+ /** Indicates that the input is required.
33
+ * @default false
34
+ */
25
35
  required?: boolean;
26
- /** Defines a system feedback message, shown when `invalid={true}` */
36
+ /** Defines a system feedback message, shown when `invalid={true}`. */
27
37
  systemFeedback?: string;
28
- /** Size of the input */
38
+ /** Size of the input.
39
+ * @default 'medium'
40
+ */
29
41
  size?: InputSize;
30
- /** The show password button text label (for assistive technologies) */
31
- showPasswordText?: string;
32
- /** The hide password button text label (for assistive technologies) */
33
- hidePasswordText?: string;
42
+ /** Toggle password visibility button props:
43
+ *
44
+ * `data-*`: Custom data attributes.
45
+ *
46
+ * `hidePasswordText`: The hide password button text label (for assistive technologies).
47
+ * (default) 'Hide password'
48
+ *
49
+ * `showPasswordText`: The show password button text label (for assistive technologies).
50
+ * (default) 'Show password'
51
+ */
52
+ togglePasswordVisibilityButtonProps?: {
53
+ [key: `data-${string}`]: string | undefined;
54
+ hidePasswordText?: string;
55
+ showPasswordText?: string;
56
+ };
34
57
  }
35
58
  /**
36
59
  * The `<DSInputPassword />` component is an input field that allows users to enter and edit passwords.
@@ -38,5 +61,7 @@ export interface InputPasswordProps extends Omit<InputHTMLAttributes<HTMLInputEl
38
61
  * a hint and a system feedback message.
39
62
  *
40
63
  * The user can toggle the visibility of the password by clicking on the action button.
64
+ *
65
+ * Design in Figma: [Input Password](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2141-6655&t=UBsmFURFENnuYSW1-11)
41
66
  */
42
- export declare const DSInputPassword: ({ id, label, autocomplete, className, disabled, hidePasswordText, hint, hideLabel, invalid, readonly, required, showPasswordText, size, systemFeedback, ...rest }: InputPasswordProps) => JSX.Element;
67
+ export declare const DSInputPassword: import('react').ForwardRefExoticComponent<InputPasswordProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -1,5 +1,4 @@
1
1
  import { InputPasswordProps } from './InputPassword';
2
-
3
2
  type ValidationProps = Pick<InputPasswordProps, 'id' | 'label'>;
4
3
  /**
5
4
  * Validates the given properties of the DSInputPassword component for common configuration errors.
@@ -1,38 +1,60 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
2
  import { BreakpointCustomizable } from '../../types';
3
3
  import { InputSize } from '../Input/Input.utils';
4
-
5
4
  export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'size'> {
6
- /** Unique id for the input */
5
+ /** Unique id for the input. */
7
6
  id: string;
8
- /** Label text displayed above the input */
7
+ /** Label text displayed above the input. */
9
8
  label: string;
10
- /** Accessibility label for the clear button */
9
+ /** Accessibility label for the clear button.
10
+ * @default 'Clear search field'
11
+ */
11
12
  clearButtonLabel?: string;
12
- /** Disables the input, preventing user interaction */
13
+ /** Disables the input, preventing user interaction.
14
+ * @default false
15
+ */
13
16
  disabled?: boolean;
14
- /** Hides the input label, can be responsive
17
+ /** Hides the input label, can be responsive.
15
18
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
19
+ * @default false
16
20
  */
17
21
  hideLabel?: BreakpointCustomizable<boolean>;
18
- /** Short descriptive text displayed beneath the label */
22
+ /** Short descriptive text displayed beneath the label. */
19
23
  hint?: string;
20
- /** Marks the input as invalid, typically used for form validation */
24
+ /** Marks the input as invalid, typically used for form validation.
25
+ * @default false
26
+ */
21
27
  invalid?: boolean;
22
- /** Enables the readonly state of the input */
28
+ /** Enables the readonly state of the input.
29
+ * @default false
30
+ */
23
31
  readonly?: boolean;
24
- /** Indicates that the input is required */
32
+ /** Indicates that the input is required.
33
+ * @default false
34
+ */
25
35
  required?: boolean;
26
- /** Accessibility label for the submit button */
27
- submitButtonLabel?: string;
28
- /** Defines a system feedback message, shown when `invalid={true}` */
36
+ /** Submit button props:
37
+ *
38
+ * `data-*`: Custom data attributes.
39
+ *
40
+ * `label`: Accessibility label for the submit button.
41
+ * (default) 'Search'
42
+ *
43
+ * `onClick`: Callback function called when the submit button is clicked.
44
+ */
45
+ submitButtonProps?: {
46
+ [key: `data-${string}`]: string | undefined;
47
+ label?: string;
48
+ onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
49
+ };
50
+ /** Defines a system feedback message, shown when `invalid={true}`. */
29
51
  systemFeedback?: string;
30
- /** Size of the input */
52
+ /** Size of the input.
53
+ * @default 'medium'
54
+ */
31
55
  size?: InputSize;
32
- /** Value of the input */
56
+ /** Value of the input. */
33
57
  value?: string;
34
- /** Callback function triggered when the submit button is clicked */
35
- submitButtonOnClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
36
58
  }
37
59
  /**
38
60
  * The `<DSInputSearch />` component can be used as a dedicated search field input.
@@ -41,5 +63,7 @@ export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElem
41
63
  *
42
64
  * A search button is always available on the right to submit the search request.
43
65
  * Additionally when the input is filled, a button to clear the input value becomes visible.
66
+ *
67
+ * Design in Figma: [Input Search](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2141-6712&t=UBsmFURFENnuYSW1-11)
44
68
  */
45
- export declare const DSInputSearch: ({ id, label, className, clearButtonLabel, disabled, hint, hideLabel, invalid, readonly, required, size, submitButtonLabel, systemFeedback, value, submitButtonOnClick, onChange, ...rest }: InputSearchProps) => JSX.Element;
69
+ export declare const DSInputSearch: import('react').ForwardRefExoticComponent<InputSearchProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -1,5 +1,4 @@
1
1
  import { InputSearchProps } from './InputSearch';
2
-
3
2
  type ValidationProps = Pick<InputSearchProps, 'id' | 'label'>;
4
3
  /**
5
4
  * Validates the given properties of the DSInputSearch component for common configuration errors.