@stihl-design-system/components 1.0.0-RC.4 → 1.0.0-RC.40

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 (669) 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.d.ts +2 -0
  13. package/accordion.nt0Foequ.js +12 -0
  14. package/actionbutton.Ctea6drN.js +12 -0
  15. package/actionbutton.d.ts +2 -0
  16. package/actionlink.VX1OMtm-.js +12 -0
  17. package/actionlink.d.ts +2 -0
  18. package/arialiveregions.B0AV2JcV.js +18 -0
  19. package/arialiveregions.d.ts +1 -0
  20. package/assets/Accordion.Cr1dbVTH.css +1 -0
  21. package/assets/ActionButton.BLOWs6IZ.css +1 -0
  22. package/assets/ActionLink.BJDUVdT7.css +1 -0
  23. package/assets/Breadcrumb.BavNNzAA.css +1 -0
  24. package/assets/Button.C-UYIggc.css +1 -0
  25. package/assets/Checkbox.ZAPIO2N8.css +1 -0
  26. package/assets/CheckboxGroup.Dd-Huo7x.css +1 -0
  27. package/assets/Chip.D3vV0wyV.css +1 -0
  28. package/assets/CustomReactSelect.Ctze4SRN.css +1 -0
  29. package/assets/Dialog.DyiHUgTp.css +1 -0
  30. package/assets/Drawer.UugEajR2.css +1 -0
  31. package/assets/Fieldset.DmxbjOm1.css +1 -0
  32. package/assets/Header.BNYL2Y78.css +1 -0
  33. package/assets/Icon.i2P_Jf3Q.css +1 -0
  34. package/assets/InputFile.BUMCNCrj.css +1 -0
  35. package/assets/InputNumber.Bmz8cNKg.css +1 -0
  36. package/assets/InputPassword.CutbykTm.css +1 -0
  37. package/assets/InputSearch.Sr9jVpKt.css +1 -0
  38. package/assets/LinkButton.BEbmxP7h.css +1 -0
  39. package/assets/LinkCard.C6HtgbjH.css +1 -0
  40. package/assets/MegaMenu.Dw-oLSCX.css +1 -0
  41. package/assets/NavigationTabList.CzAiHz7G.css +1 -0
  42. package/assets/Notification.DBGpHzov.css +1 -0
  43. package/assets/Popover.mL5g23EK.css +1 -0
  44. package/assets/RadioGroup.q1lQ-HIZ.css +1 -0
  45. package/assets/Select.BZYb_HAG.css +1 -0
  46. package/assets/Slider.vnSU0ya0.css +1 -0
  47. package/assets/Stepper.tXJl15yL.css +1 -0
  48. package/assets/SystemFeedback.PKzqnXUe.css +1 -0
  49. package/assets/TextUtility.CEBJaKBG.css +1 -0
  50. package/assets/Textarea.BIgA9_fl.css +1 -0
  51. package/assets/Toast.DgRXxA0s.css +1 -0
  52. package/assets/arialiveregions.e0Q16ZWi.css +1 -0
  53. package/assets/asterisk.B41DaZDe.css +1 -0
  54. package/assets/banner.DFvdtgMp.css +1 -0
  55. package/assets/buttonround.BTC-HthI.css +1 -0
  56. package/assets/chipgroup.BGxjdSDX.css +1 -0
  57. package/assets/filelist.H_wKcSPX.css +1 -0
  58. package/assets/flag.CyCIPu_J.css +1 -0
  59. package/assets/floatingactionbutton.CTbMRM9Q.css +1 -0
  60. package/assets/heading.mGwg9pVU.css +1 -0
  61. package/assets/input.BEOus9jX.css +1 -0
  62. package/assets/link.BemYqm4d.css +1 -0
  63. package/assets/logo.SVrBe1T8.css +1 -0
  64. package/assets/logo100years.CQrEg-Vo.css +1 -0
  65. package/assets/numberindicator.BYIPwkAK.css +1 -0
  66. package/assets/optioncheckbox.6zYgifUk.css +1 -0
  67. package/assets/radio.l9OTraQU.css +1 -0
  68. package/assets/scroller.BGlPnnPD.css +1 -0
  69. package/assets/skiptocontent.CTSDC_kG.css +1 -0
  70. package/assets/spinner.C7QSv7jc.css +1 -0
  71. package/assets/step.Ch508u7I.css +1 -0
  72. package/assets/switch.DYamtd9O.css +1 -0
  73. package/assets/tabpane.o34hshTz.css +1 -0
  74. package/assets/text.BA1eUihR.css +1 -0
  75. package/assets/title.N-QcA7Re.css +1 -0
  76. package/assets/tooltip.BPcysHGE.css +1 -0
  77. package/asterisk.Dwtdwpkq.js +13 -0
  78. package/asterisk.d.ts +1 -0
  79. package/banner.S_c1UQJe.js +55 -0
  80. package/banner.d.ts +2 -0
  81. package/breadcrumb.DiuuVblR.js +11 -0
  82. package/breadcrumb.d.ts +2 -0
  83. package/button.Z7Mmvwhv.js +12 -0
  84. package/button.d.ts +1 -0
  85. package/buttonround.Bqi8Ej-y.js +96 -0
  86. package/buttonround.d.ts +1 -0
  87. package/card-example-image-1.webp +0 -0
  88. package/card-example-image-2.webp +0 -0
  89. package/card-example-image-3.webp +0 -0
  90. package/card-example-image-4.webp +0 -0
  91. package/card-example-image-5.webp +0 -0
  92. package/card-example-image-6.webp +0 -0
  93. package/card-example-image-7.webp +0 -0
  94. package/card-example-image-8.webp +0 -0
  95. package/card-example-image-square.webp +0 -0
  96. package/card-example-image.webp +0 -0
  97. package/checkbox.DtSSduSH.js +12 -0
  98. package/checkbox.d.ts +1 -0
  99. package/checkboxgroup.CSP1DOCW.js +9 -0
  100. package/checkboxgroup.d.ts +1 -0
  101. package/chip.CyypeY5M.js +12 -0
  102. package/chip.d.ts +2 -0
  103. package/chipgroup.d.ts +2 -0
  104. package/chipgroup.i5SOv6LA.js +199 -0
  105. package/chunks/Accordion.B-0pf8Fq.js +168 -0
  106. package/chunks/ActionButton.wdWh7E2b.js +182 -0
  107. package/chunks/ActionLink.DwUP-Kgm.js +155 -0
  108. package/chunks/AriaLiveRegions.utils.CLpOaVD9.js +27 -0
  109. package/chunks/Breadcrumb.nflDJoKs.js +103 -0
  110. package/chunks/Button.DpGeheky.js +139 -0
  111. package/chunks/Checkbox.B3NeB54s.js +88 -0
  112. package/chunks/CheckboxGroup.BYZSvqF7.js +74 -0
  113. package/chunks/Chip.SiGIIHR-.js +133 -0
  114. package/chunks/CustomReactSelect.DBsnmMPl.js +3379 -0
  115. package/chunks/Dialog.C-rcs_Up.js +102 -0
  116. package/chunks/Drawer.D0d557c5.js +107 -0
  117. package/chunks/Fieldset.7WM7w62l.js +81 -0
  118. package/chunks/Header.DyqOlV8L.js +402 -0
  119. package/chunks/Icon.m6sMB6vl.js +232 -0
  120. package/chunks/Input.utils.D78E4MGO.js +59 -0
  121. package/chunks/InputFile.DRGNdtY0.js +236 -0
  122. package/chunks/InputNumber.a44HnJ9B.js +240 -0
  123. package/chunks/InputPassword.B1E0Maub.js +121 -0
  124. package/chunks/InputSearch.C7AvD7Eu.js +149 -0
  125. package/chunks/LinkButton.CMjq2FKc.js +140 -0
  126. package/chunks/LinkCard.CJ5P0ews.js +199 -0
  127. package/chunks/MegaMenu.CiSiMlE3.js +188 -0
  128. package/chunks/NavigationTabList.C2f-lWex.js +67 -0
  129. package/chunks/NavigationTabs.D2QrnlL2.js +62 -0
  130. package/chunks/Notification.COwLndR0.js +91 -0
  131. package/chunks/Popover.C5wtha5l.js +214 -0
  132. package/chunks/RadioGroup.B-qTH31u.js +125 -0
  133. package/chunks/Select.DrDVi9lg.js +147 -0
  134. package/chunks/Slider.DGMrDfWv.js +306 -0
  135. package/chunks/Stepper.DptsFh5n.js +152 -0
  136. package/chunks/SystemFeedback.DFN6Y2cw.js +38 -0
  137. package/chunks/TabPane.utils.DG16Y2uD.js +10 -0
  138. package/chunks/Tabs.2JTenRcr.js +83 -0
  139. package/chunks/Text.utils.D_iOyOSH.js +11 -0
  140. package/chunks/TextUtility.Wbd4oQXI.js +82 -0
  141. package/chunks/Textarea.ymNCbcvH.js +181 -0
  142. package/chunks/Toast.RUzRjojQ.js +76 -0
  143. package/chunks/accessibility.B57oX4yV.js +10 -0
  144. package/chunks/{arrow-clockwise.BefOjGPg.js → arrow-clockwise.C4iOgjOc.js} +1 -1
  145. package/chunks/{arrow-counterclockwise.C7Ov32BZ.js → arrow-counterclockwise.CgQAuBUe.js} +1 -1
  146. package/chunks/battery-charge-0.DxlgEAto.js +10 -0
  147. package/chunks/battery-charge-100.D0Cax7dU.js +10 -0
  148. package/chunks/{battery.YCg9lYqC.js → battery.6Idoickg.js} +3 -3
  149. package/chunks/bluetooth-off.BzZCh4Q8.js +10 -0
  150. package/chunks/caret-down.CupuwAF6.js +10 -0
  151. package/chunks/caret-right.DKtu4PQe.js +10 -0
  152. package/chunks/{circle-check-colored.Bye_GwLy.js → circle-check-colored.qP2s3vjI.js} +1 -1
  153. package/chunks/collapse.Dvv3mgkv.js +10 -0
  154. package/chunks/connected-icon.BEijTRDG.js +10 -0
  155. package/chunks/default-icon.D_-oBHyT.js +10 -0
  156. package/chunks/{diamond-exclamationmark-colored.WNKYwZ8q.js → diamond-exclamationmark-colored.CzYiaTZ0.js} +1 -1
  157. package/chunks/document-magnifying-glass.DkvpNz-D.js +10 -0
  158. package/chunks/document-s.CoOp0kBK.js +10 -0
  159. package/chunks/feather.l1E4nFBx.js +10 -0
  160. package/chunks/file-type-doc.B_RSSYbu.js +10 -0
  161. package/chunks/file-type-image.Cg2NRd7y.js +10 -0
  162. package/chunks/file-type-pdf.Dm94xL2i.js +10 -0
  163. package/chunks/{map.CXgG1iGz.js → file-type-video.CFwfiP-D.js} +1 -1
  164. package/chunks/file-type-zip.SNixmKhQ.js +10 -0
  165. package/chunks/file.DLgRXiem.js +10 -0
  166. package/chunks/floating-ui.react.CP5A99-c.js +2980 -0
  167. package/chunks/has-window.ut_-aShB.js +5 -0
  168. package/chunks/helpers.CexwVao7.js +38 -0
  169. package/chunks/imow-icon.CyH72ySI.js +10 -0
  170. package/chunks/index.DQOqod3i.js +43 -0
  171. package/chunks/index.cKLI89Eg.js +281 -0
  172. package/chunks/is-animation-disabled.B-V_68K-.js +20 -0
  173. package/chunks/map.DNl7PF61.js +10 -0
  174. package/chunks/moon.5yILPYXs.js +10 -0
  175. package/chunks/muscle.DbNjWasV.js +10 -0
  176. package/chunks/mystihl-icon.xHpCyYJf.js +10 -0
  177. package/chunks/petrol.BGWwCsTw.js +10 -0
  178. package/chunks/sun.CY6ttzTL.js +10 -0
  179. package/chunks/tiktok.BWJTDGYm.js +10 -0
  180. package/chunks/translate.nuU7uChI.js +8 -0
  181. package/chunks/{triangle-exclamationmark-colored.CbVC3Gzi.js → triangle-exclamationmark-colored.e93zvQ6Q.js} +1 -1
  182. package/chunks/twitch.C893cAK8.js +10 -0
  183. package/chunks/upload.BogDfonx.js +10 -0
  184. package/chunks/useBreakpoint.1txsny17.js +45 -0
  185. package/chunks/useIsomorphicLayoutEffect.CnJ9AMFS.js +7 -0
  186. package/chunks/variants.-R3_RCW8.js +10 -0
  187. package/chunks/weight.DUPu2UT0.js +10 -0
  188. package/combobox.DzSEFo_5.js +69 -0
  189. package/combobox.d.ts +1 -0
  190. package/components/Accordion/Accordion.d.ts +43 -0
  191. package/components/Accordion/Accordion.utils.d.ts +16 -0
  192. package/components/ActionButton/ActionButton.d.ts +63 -0
  193. package/components/ActionButton/ActionButton.utils.d.ts +22 -0
  194. package/components/ActionLink/ActionLink.d.ts +38 -0
  195. package/components/ActionLink/ActionLink.test.d.ts +1 -0
  196. package/components/ActionLink/ActionLink.utils.d.ts +19 -0
  197. package/components/ActionLink/ActionLink.utils.test.d.ts +1 -0
  198. package/components/AriaLiveRegions/AriaLiveRegions.d.ts +1 -0
  199. package/components/AriaLiveRegions/AriaLiveRegions.utils.d.ts +2 -2
  200. package/components/Asterisk/Asterisk.d.ts +1 -0
  201. package/components/Banner/Banner.d.ts +32 -0
  202. package/components/Banner/Banner.test.d.ts +1 -0
  203. package/components/Banner/Banner.utils.d.ts +2 -0
  204. package/components/Breadcrumb/Breadcrumb.d.ts +45 -0
  205. package/components/Breadcrumb/Breadcrumb.test.d.ts +1 -0
  206. package/components/Breadcrumb/Breadcrumb.utils.d.ts +4 -0
  207. package/components/Button/Button.d.ts +41 -16
  208. package/components/Button/Button.utils.d.ts +17 -1
  209. package/components/Button/Button.utils.test.d.ts +1 -0
  210. package/components/ButtonRound/ButtonRound.d.ts +12 -3
  211. package/components/Checkbox/Checkbox.d.ts +25 -9
  212. package/components/Checkbox/Checkbox.utils.d.ts +11 -0
  213. package/components/Checkbox/Checkbox.utils.test.d.ts +1 -0
  214. package/components/CheckboxGroup/CheckboxGroup.d.ts +34 -14
  215. package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +0 -1
  216. package/components/ChipGroup/Chip.d.ts +13 -0
  217. package/components/ChipGroup/ChipGroup.d.ts +48 -0
  218. package/components/ChipGroup/ChipGroup.test.d.ts +1 -0
  219. package/components/ChipGroup/ChipGroup.utils.d.ts +58 -0
  220. package/components/ChipGroup/ChipGroup.utils.test.d.ts +1 -0
  221. package/components/Combobox/Combobox.d.ts +27 -6
  222. package/components/Combobox/Combobox.utils.d.ts +14 -7
  223. package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +88 -0
  224. package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.d.ts +3 -0
  225. package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.test.d.ts +1 -0
  226. package/components/{CustomReactSelect → Combobox/CustomReactSelect}/OptionCheckbox.d.ts +1 -2
  227. package/components/Dialog/Dialog.d.ts +40 -6
  228. package/components/Dialog/Dialog.test.d.ts +1 -0
  229. package/components/Dialog/Dialog.utils.d.ts +11 -0
  230. package/components/Dialog/Dialog.utils.test.d.ts +1 -0
  231. package/components/Drawer/Drawer.d.ts +49 -0
  232. package/components/Drawer/Drawer.test.d.ts +1 -0
  233. package/components/Drawer/Drawer.utils.d.ts +13 -0
  234. package/components/Drawer/Drawer.utils.test.d.ts +1 -0
  235. package/components/Fieldset/Fieldset.d.ts +29 -10
  236. package/components/Fieldset/Fieldset.utils.d.ts +7 -1
  237. package/components/FileList/FileList.d.ts +13 -0
  238. package/components/FileList/FileList.test.d.ts +1 -0
  239. package/components/FileList/FileList.utils.d.ts +18 -0
  240. package/components/FileList/FileList.utils.test.d.ts +1 -0
  241. package/components/Flag/Flag.d.ts +26 -0
  242. package/components/Flag/Flag.test.d.ts +1 -0
  243. package/components/Flag/Flag.utils.d.ts +2 -0
  244. package/components/FloatingActionButton/FloatingActionButton.d.ts +8 -2
  245. package/components/Header/Header.d.ts +67 -0
  246. package/components/Header/Header.utils.d.ts +17 -0
  247. package/components/Header/Header.utils.test.d.ts +1 -0
  248. package/components/Heading/Heading.d.ts +13 -6
  249. package/components/Icon/Icon.d.ts +14 -7
  250. package/components/Icon/Icon.utils.d.ts +1 -2
  251. package/components/Input/Input.d.ts +69 -25
  252. package/components/Input/Input.utils.d.ts +5 -6
  253. package/components/InputFile/InputFile.d.ts +104 -0
  254. package/components/InputFile/InputFile.test.d.ts +1 -0
  255. package/components/InputFile/InputFile.utils.d.ts +48 -0
  256. package/components/InputFile/InputFile.utils.test.d.ts +1 -0
  257. package/components/InputNumber/InputNumber.d.ts +110 -0
  258. package/components/InputNumber/InputNumber.test.d.ts +1 -0
  259. package/components/InputNumber/InputNumber.utils.d.ts +13 -0
  260. package/components/InputNumber/InputNumber.utils.test.d.ts +1 -0
  261. package/components/InputPassword/InputPassword.d.ts +56 -18
  262. package/components/InputPassword/InputPassword.utils.d.ts +2 -3
  263. package/components/InputSearch/InputSearch.d.ts +55 -18
  264. package/components/InputSearch/InputSearch.utils.d.ts +2 -3
  265. package/components/Link/Link.d.ts +11 -43
  266. package/components/Link/Link.utils.d.ts +2 -8
  267. package/components/LinkButton/LinkButton.d.ts +71 -0
  268. package/components/LinkButton/LinkButton.test.d.ts +1 -0
  269. package/components/LinkButton/LinkButton.utils.d.ts +24 -0
  270. package/components/LinkButton/LinkButton.utils.test.d.ts +1 -0
  271. package/components/LinkCard/LinkCard.d.ts +96 -0
  272. package/components/LinkCard/LinkCard.test.d.ts +1 -0
  273. package/components/LinkCard/LinkCard.utils.d.ts +10 -0
  274. package/components/LinkCard/LinkCard.utils.test.d.ts +1 -0
  275. package/components/Logo/Logo.d.ts +18 -10
  276. package/components/Logo/Logo.test.d.ts +1 -0
  277. package/components/Logo/Logo.utils.d.ts +2 -2
  278. package/components/Logo100Years/Logo100Years.d.ts +1 -0
  279. package/components/MegaMenu/MegaMenu.d.ts +32 -0
  280. package/components/MegaMenu/MegaMenu.test.d.ts +1 -0
  281. package/components/MegaMenu/MegaMenu.utils.d.ts +52 -0
  282. package/components/MegaMenu/MegaMenu.utils.test.d.ts +1 -0
  283. package/components/NavigationTabs/NavigationTabs.d.ts +43 -0
  284. package/components/NavigationTabs/NavigationTabs.test.d.ts +1 -0
  285. package/components/NavigationTabs/NavigationTabs.utils.d.ts +6 -0
  286. package/components/Notification/Notification.d.ts +25 -11
  287. package/components/Notification/Notification.utils.d.ts +0 -1
  288. package/components/NumberIndicator/NumberIndicator.d.ts +13 -0
  289. package/components/NumberIndicator/NumberIndicator.test.d.ts +1 -0
  290. package/components/NumberIndicator/NumberIndicator.utils.d.ts +2 -0
  291. package/components/Popover/Popover.d.ts +62 -0
  292. package/components/Popover/Popover.test.d.ts +1 -0
  293. package/components/Popover/Popover.utils.d.ts +84 -0
  294. package/components/Popover/Popover.utils.test.d.ts +1 -0
  295. package/components/Radio/Radio.d.ts +32 -14
  296. package/components/RadioGroup/RadioGroup.d.ts +43 -20
  297. package/components/RadioGroup/RadioGroup.utils.d.ts +6 -4
  298. package/components/RadioGroup/RadioGroup.utils.test.d.ts +1 -0
  299. package/components/Scroller/Scroller.d.ts +24 -0
  300. package/components/Scroller/Scroller.test.d.ts +1 -0
  301. package/components/Scroller/Scroller.utils.d.ts +3 -0
  302. package/components/Select/Select.d.ts +37 -13
  303. package/components/Select/Select.utils.d.ts +2 -3
  304. package/components/SkipToContent/SkipToContent.d.ts +19 -0
  305. package/components/SkipToContent/SkipToContent.test.d.ts +1 -0
  306. package/components/Slider/Slider.d.ts +76 -0
  307. package/components/Slider/Slider.test.d.ts +1 -0
  308. package/components/Slider/Slider.utils.d.ts +65 -0
  309. package/components/Slider/Slider.utils.test.d.ts +1 -0
  310. package/components/Spinner/Spinner.d.ts +14 -5
  311. package/components/Stepper/Step.d.ts +33 -0
  312. package/components/Stepper/Step.utils.d.ts +5 -0
  313. package/components/Stepper/Stepper.d.ts +56 -0
  314. package/components/Stepper/Stepper.test.d.ts +1 -0
  315. package/components/Stepper/Stepper.utils.d.ts +30 -0
  316. package/components/Stepper/Stepper.utils.test.d.ts +1 -0
  317. package/components/Switch/Switch.d.ts +23 -12
  318. package/components/SystemFeedback/SystemFeedback.d.ts +16 -7
  319. package/components/SystemFeedback/SystemFeedback.utils.d.ts +4 -7
  320. package/components/Tabs/TabList/NavigationTabList/NavigationTabList.d.ts +22 -0
  321. package/components/Tabs/TabList/TabList.d.ts +38 -0
  322. package/components/Tabs/TabList/TabList.utils.d.ts +2 -0
  323. package/components/Tabs/TabPane/TabPane.d.ts +10 -0
  324. package/components/Tabs/TabPane/TabPane.utils.d.ts +3 -0
  325. package/components/Tabs/TabPane/TabPane.utils.test.d.ts +1 -0
  326. package/components/Tabs/Tabs.d.ts +51 -0
  327. package/components/Tabs/Tabs.test.d.ts +1 -0
  328. package/components/Tabs/Tabs.utils.d.ts +6 -0
  329. package/components/Text/Text.d.ts +19 -10
  330. package/components/Text/Text.utils.d.ts +14 -1
  331. package/components/TextUtility/TextUtility.d.ts +30 -0
  332. package/components/TextUtility/TextUtility.test.d.ts +1 -0
  333. package/components/TextUtility/TextUtility.utils.d.ts +10 -0
  334. package/components/TextUtility/TextUtility.utils.test.d.ts +1 -0
  335. package/components/Textarea/Textarea.d.ts +47 -16
  336. package/components/Textarea/Textarea.utils.d.ts +2 -3
  337. package/components/Title/Title.d.ts +13 -6
  338. package/components/Toast/Toast.d.ts +28 -7
  339. package/components/Toast/Toast.utils.d.ts +19 -1
  340. package/components/Toast/ToastManager.d.ts +7 -4
  341. package/components/Tooltip/Tooltip.d.ts +40 -0
  342. package/components/Tooltip/Tooltip.test.d.ts +1 -0
  343. package/components/Tooltip/Tooltip.utils.d.ts +70 -0
  344. package/components/Tooltip/Tooltip.utils.test.d.ts +1 -0
  345. package/components/TopBar/TopBar.d.ts +54 -0
  346. package/components/TopBar/TopBar.utils.d.ts +14 -0
  347. package/components/TopBar/TopBar.utils.test.d.ts +1 -0
  348. package/connected-icon.svg +1 -0
  349. package/customreactselect.D7YraWJ7.js +15 -0
  350. package/customreactselect.d.ts +2 -1
  351. package/dialog.CBovd8em.js +9 -0
  352. package/dialog.d.ts +1 -0
  353. package/drawer.D5F0KXI2.js +9 -0
  354. package/drawer.d.ts +2 -0
  355. package/fieldset.DgbZ_K_l.js +12 -0
  356. package/fieldset.d.ts +1 -0
  357. package/filelist.CDEBo3Pi.js +160 -0
  358. package/filelist.d.ts +2 -0
  359. package/flag.D-wrUioF.js +50 -0
  360. package/flag.d.ts +2 -0
  361. package/floatingactionbutton.CE-Rz0dx.js +87 -0
  362. package/floatingactionbutton.d.ts +1 -0
  363. package/github-mark-white.svg +1 -0
  364. package/github-mark.svg +1 -0
  365. package/header.BtGgmM59.js +12 -0
  366. package/header.d.ts +2 -0
  367. package/heading.BHSklXho.js +46 -0
  368. package/heading.d.ts +1 -0
  369. package/icon.ByLYRkPZ.js +9 -0
  370. package/icon.d.ts +1 -0
  371. package/icon.svg +1 -1
  372. package/imow-icon.svg +1 -0
  373. package/index.d.ts +51 -4
  374. package/index.es.js +235 -138
  375. package/input.MZXe6rlg.js +188 -0
  376. package/input.d.ts +1 -0
  377. package/inputfile.BO4wDnzQ.js +18 -0
  378. package/inputfile.d.ts +2 -0
  379. package/inputnumber.DevQudIX.js +17 -0
  380. package/inputnumber.d.ts +2 -0
  381. package/inputpassword.C-XYK-JP.js +13 -0
  382. package/inputpassword.d.ts +1 -0
  383. package/inputsearch.CmJdxnzX.js +15 -0
  384. package/inputsearch.d.ts +1 -0
  385. package/intro-design-spacings01.webp +0 -0
  386. package/intro-design-spacings02.webp +0 -0
  387. package/intro-design-spacings03.webp +0 -0
  388. package/link.R1lfD5aN.js +81 -0
  389. package/link.d.ts +1 -0
  390. package/linkbutton.Y-ET1tc9.js +12 -0
  391. package/linkbutton.d.ts +2 -0
  392. package/linkcard.CayqoQNo.js +12 -0
  393. package/linkcard.d.ts +2 -0
  394. package/logo.D7LnRA1E.js +80 -0
  395. package/logo.d.ts +1 -0
  396. package/logo100years.C0IojOp9.js +24 -0
  397. package/logo100years.d.ts +2 -0
  398. package/megamenu.CUjk3_h2.js +12 -0
  399. package/megamenu.d.ts +2 -0
  400. package/mystihl-icon.svg +1 -0
  401. package/navigationtablist.CKPpQrme.js +10 -0
  402. package/navigationtablist.d.ts +2 -0
  403. package/navigationtabs.VUAOwesQ.js +9 -0
  404. package/navigationtabs.d.ts +2 -0
  405. package/notification.d.ts +1 -0
  406. package/notification.u_LLz-O0.js +10 -0
  407. package/numberindicator.ZGVRSmqf.js +36 -0
  408. package/numberindicator.d.ts +2 -0
  409. package/optioncheckbox.d.ts +2 -1
  410. package/optioncheckbox.v8Plcgeg.js +48 -0
  411. package/package.json +77 -59
  412. package/partials/assets.const.js +2 -0
  413. package/partials/connected-apple-icon.png +0 -0
  414. package/partials/connected-favicon.ico +0 -0
  415. package/partials/connected-icon-192.png +0 -0
  416. package/partials/connected-icon-512.png +0 -0
  417. package/partials/connected-icon.svg +1 -0
  418. package/partials/copyAssets.js +27 -13
  419. package/partials/default-icon.svg +1 -0
  420. package/partials/imow-apple-icon.png +0 -0
  421. package/partials/imow-favicon.ico +0 -0
  422. package/partials/imow-icon-192.png +0 -0
  423. package/partials/imow-icon-512.png +0 -0
  424. package/partials/imow-icon.svg +1 -0
  425. package/partials/index.js +342 -2159
  426. package/partials/lib/partials.d.ts +77 -5
  427. package/partials/mystihl-apple-icon.png +0 -0
  428. package/partials/mystihl-favicon.ico +0 -0
  429. package/partials/mystihl-icon-192.png +0 -0
  430. package/partials/mystihl-icon-512.png +0 -0
  431. package/partials/mystihl-icon.svg +1 -0
  432. package/popover.T7-imfkx.js +12 -0
  433. package/popover.d.ts +2 -0
  434. package/radio.DxdVKoxe.js +137 -0
  435. package/radio.d.ts +1 -0
  436. package/radiogroup.CAh4wto1.js +11 -0
  437. package/radiogroup.d.ts +1 -0
  438. package/scroller.DfhhZelk.js +98 -0
  439. package/scroller.d.ts +2 -0
  440. package/select-decision-tree-small.webp +0 -0
  441. package/select-decision-tree.webp +0 -0
  442. package/select.CSCc_-6d.js +14 -0
  443. package/select.d.ts +1 -0
  444. package/skiptocontent.C2HpZt5q.js +35 -0
  445. package/skiptocontent.d.ts +2 -0
  446. package/slider.B2aQwfc2.js +12 -0
  447. package/slider.d.ts +2 -0
  448. package/spinner.CRVyui04.js +46 -0
  449. package/spinner.d.ts +1 -0
  450. package/step.C-LC5sKQ.js +82 -0
  451. package/step.d.ts +6 -0
  452. package/stepper.CRljfUF8.js +16 -0
  453. package/stepper.d.ts +2 -0
  454. package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff +0 -0
  455. package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff2 +0 -0
  456. package/styles/fonts/font-face.min.css +1 -1
  457. package/styles/js/index.d.ts +4 -0
  458. package/styles/js/index.es.js +249 -0
  459. package/styles/js/lib/animation.d.ts +13 -0
  460. package/styles/js/lib/breakpoint.d.ts +9 -0
  461. package/styles/js/lib/spacing.d.ts +22 -0
  462. package/styles/js/lib/theme.d.ts +202 -0
  463. package/styles/scss/ds/index.scss +20 -0
  464. package/styles/scss/ds/lib/animation.scss +21 -0
  465. package/styles/scss/ds/lib/breakpoints.scss +17 -0
  466. package/styles/scss/ds/lib/container-query.scss +54 -0
  467. package/styles/scss/ds/lib/ds-internal/_a11y.scss +15 -0
  468. package/styles/scss/ds/lib/ds-internal/_focus.scss +60 -0
  469. package/styles/scss/ds/lib/ds-internal/_heading.scss +37 -0
  470. package/styles/scss/ds/lib/ds-internal/_helpers.scss +32 -0
  471. package/styles/scss/ds/lib/ds-internal/_high-contrast.scss +6 -0
  472. package/styles/scss/ds/lib/ds-internal/_hover.scss +6 -0
  473. package/styles/scss/ds/lib/ds-internal/_index.scss +11 -0
  474. package/styles/scss/ds/lib/ds-internal/_input.scss +196 -0
  475. package/styles/scss/ds/lib/ds-internal/_link-button.scss +226 -0
  476. package/styles/scss/ds/lib/ds-internal/_link.scss +62 -0
  477. package/styles/scss/ds/lib/ds-internal/_spacing-dynamic.scss +53 -0
  478. package/styles/scss/ds/lib/ds-internal/_text.scss +30 -0
  479. package/styles/scss/ds/lib/grid-extended.scss +14 -0
  480. package/styles/scss/ds/lib/grid-full.scss +6 -0
  481. package/styles/scss/ds/lib/grid-main.scss +122 -0
  482. package/styles/scss/ds/lib/grid-narrow.scss +14 -0
  483. package/styles/scss/ds/lib/grid-sidebar.scss +57 -0
  484. package/styles/scss/ds/lib/grid.scss +92 -0
  485. package/styles/scss/ds/lib/heading.scss +75 -0
  486. package/styles/scss/ds/lib/input.scss +26 -0
  487. package/styles/scss/ds/lib/link-button.scss +29 -0
  488. package/styles/scss/ds/lib/link.scss +74 -0
  489. package/styles/scss/ds/lib/media-query.scss +32 -0
  490. package/styles/scss/{lib/_shadow.scss → ds/lib/shadow.scss} +7 -2
  491. package/styles/scss/ds/lib/spacing-dynamic.scss +7 -0
  492. package/styles/scss/ds/lib/spacing.scss +20 -0
  493. package/styles/scss/ds/lib/text.scss +107 -0
  494. package/styles/scss/ds/lib/theme.scss +171 -0
  495. package/styles/scss/ds/lib/transition.scss +36 -0
  496. package/switch.DgKgzm-j.js +66 -0
  497. package/switch.d.ts +1 -0
  498. package/systemfeedback.BKLsE5sY.js +10 -0
  499. package/systemfeedback.d.ts +1 -0
  500. package/tablist.d.ts +2 -0
  501. package/tablist.hMHdX1V8.js +210 -0
  502. package/tabpane.7vMXUKFX.js +37 -0
  503. package/tabpane.d.ts +2 -0
  504. package/tabs.d.ts +2 -0
  505. package/tabs.t-gR7dGc.js +11 -0
  506. package/text.D_e3JBvf.js +72 -0
  507. package/text.d.ts +1 -0
  508. package/textarea.CDXY-OVz.js +14 -0
  509. package/textarea.d.ts +1 -0
  510. package/textutility.CNWCGYOy.js +11 -0
  511. package/textutility.d.ts +2 -0
  512. package/title.d.ts +1 -0
  513. package/title.kJ48FkPU.js +40 -0
  514. package/toast.Bev-Rfuw.js +11 -0
  515. package/toast.d.ts +1 -0
  516. package/toastmanager.DII20_9k.js +89 -0
  517. package/toastmanager.d.ts +1 -0
  518. package/tooltip._lP4aMV2.js +177 -0
  519. package/tooltip.d.ts +2 -0
  520. package/topbar.Z9NNkxKU.js +12 -0
  521. package/topbar.d.ts +2 -0
  522. package/types/icon-types.d.ts +1 -1
  523. package/types/prettier-plugin-organize-imports.d.ts +1 -0
  524. package/utils/get-rect.d.ts +4 -0
  525. package/utils/get-rect.test.d.ts +1 -0
  526. package/utils/helpers.d.ts +17 -0
  527. package/utils/index.d.ts +8 -0
  528. package/utils/is-animation-disabled.d.ts +14 -0
  529. package/utils/is-animation-disabled.test.d.ts +1 -0
  530. package/utils/mergeRefs.d.ts +5 -0
  531. package/utils/mergeRefs.test.d.ts +1 -0
  532. package/utils/remove-spaces.d.ts +6 -0
  533. package/utils/remove-spaces.test.d.ts +1 -0
  534. package/utils/render-documentation.d.ts +1 -0
  535. package/utils/translate.d.ts +11 -0
  536. package/utils/translate.test.d.ts +1 -0
  537. package/utils/useBreakpoint.d.ts +0 -1
  538. package/utils/useElementSize.d.ts +14 -0
  539. package/utils/useElementSize.test.d.ts +1 -0
  540. package/utils/useIsomorphicLayoutEffect.d.ts +25 -0
  541. package/utils/useScrollDirection.d.ts +9 -0
  542. package/utils/useScrollDirection.test.d.ts +1 -0
  543. package/utils/vitest.setup.d.ts +2 -1
  544. package/arialiveregions.49Zyf6mj.js +0 -27
  545. package/assets/CustomReactSelect.B0rJLjN0.css +0 -1
  546. package/assets/Fieldset.xazpUXJX.css +0 -1
  547. package/assets/Icon.CB-KQmw4.css +0 -1
  548. package/assets/InputPassword.C3Uyj7oA.css +0 -1
  549. package/assets/InputSearch.tL3e9-Ob.css +0 -1
  550. package/assets/InputStepper.paPJix5A.css +0 -1
  551. package/assets/Notification.CCCbfXEz.css +0 -1
  552. package/assets/RadioGroup.Ur8Ro-XL.css +0 -1
  553. package/assets/Select.D2qBxaHP.css +0 -1
  554. package/assets/Textarea.BKbocznb.css +0 -1
  555. package/assets/Toast.CAP_EwDX.css +0 -1
  556. package/assets/arialiveregions.VnhjP8Gr.css +0 -1
  557. package/assets/asterisk.C-o6rbGQ.css +0 -1
  558. package/assets/button.BuIpnG-S.css +0 -1
  559. package/assets/buttonround.C3ph5Yyu.css +0 -1
  560. package/assets/checkbox.BsFEWfQe.css +0 -1
  561. package/assets/dialog.BGK3mgk7.css +0 -1
  562. package/assets/floatingactionbutton.D7ywURL3.css +0 -1
  563. package/assets/heading.CGFucb-C.css +0 -1
  564. package/assets/input.BcP5kkZ2.css +0 -1
  565. package/assets/link.DQy_OhwC.css +0 -1
  566. package/assets/linkstandalone.Dh6bE5Fb.css +0 -1
  567. package/assets/logo.BbHYgnWo.css +0 -1
  568. package/assets/optioncheckbox.C-K1FLhc.css +0 -1
  569. package/assets/radio.CSHQGdpr.css +0 -1
  570. package/assets/spinner.C5rBmKiF.css +0 -1
  571. package/assets/switch.sqve8ApJ.css +0 -1
  572. package/assets/systemfeedback.WE3wClZ3.css +0 -1
  573. package/assets/text.DDAveG7E.css +0 -1
  574. package/assets/title.CE0Dm7PI.css +0 -1
  575. package/asterisk.DU8THnoC.js +0 -8
  576. package/button.DX_nxoJC.js +0 -135
  577. package/buttonround.CXsBk9nL.js +0 -118
  578. package/checkbox.B43oeMeC.js +0 -112
  579. package/checkboxgroup.C7aCjYds.js +0 -9
  580. package/chunks/AriaLiveRegions.utils.DzWI5KCU.js +0 -31
  581. package/chunks/CheckboxGroup.CS6Q_TeZ.js +0 -87
  582. package/chunks/CustomReactSelect.DtmbYZUf.js +0 -5033
  583. package/chunks/Fieldset.BokeZzG5.js +0 -99
  584. package/chunks/Icon.9gDIp6p4.js +0 -217
  585. package/chunks/Input.utils.AKWCNkpA.js +0 -110
  586. package/chunks/InputPassword.jpUCijp7.js +0 -140
  587. package/chunks/InputSearch.BmOtAZcR.js +0 -190
  588. package/chunks/InputStepper.DTKjUL4U.js +0 -291
  589. package/chunks/Notification.CUPOlHAX.js +0 -93
  590. package/chunks/RadioGroup.DpwnVv7u.js +0 -110
  591. package/chunks/RadioGroup.module.bi3leRes.js +0 -11
  592. package/chunks/Select.DkDZo0ky.js +0 -193
  593. package/chunks/Textarea.C938p79X.js +0 -195
  594. package/chunks/Toast.CLYrwQVO.js +0 -89
  595. package/chunks/helpers.B1JT5ShS.js +0 -7
  596. package/chunks/index.CvOaL64Y.js +0 -45
  597. package/chunks/jsx-runtime.C-kxDJ4g.js +0 -639
  598. package/chunks/pdf.9kZbElrZ.js +0 -10
  599. package/chunks/petrol.Du6qAgp0.js +0 -10
  600. package/chunks/upload.ZImTAIgx.js +0 -10
  601. package/chunks/useBreakpoint.5xBNDiCf.js +0 -48
  602. package/combobox.BaSkiD6f.js +0 -47
  603. package/components/CustomReactSelect/CustomReactSelect.d.ts +0 -60
  604. package/components/CustomReactSelect/CustomReactSelect.utils.d.ts +0 -16
  605. package/components/InputStepper/InputStepper.d.ts +0 -53
  606. package/components/InputStepper/InputStepper.utils.d.ts +0 -13
  607. package/components/LinkStandalone/LinkStandalone.d.ts +0 -15
  608. package/components/LinkStandalone/LinkStandalone.utils.d.ts +0 -2
  609. package/customreactselect.LTbjaBN2.js +0 -13
  610. package/dialog.BkXwcbUh.js +0 -45
  611. package/fieldset.BXOWK-B-.js +0 -11
  612. package/floatingactionbutton.-nDRRiXY.js +0 -87
  613. package/heading.DqGbFfj2.js +0 -50
  614. package/icon.Cpp_9L1I.js +0 -8
  615. package/input.BM6tyRUm.js +0 -236
  616. package/inputpassword.DUxH1K_k.js +0 -12
  617. package/inputsearch.B-vePHle.js +0 -13
  618. package/inputstepper.C2ypADPI.js +0 -13
  619. package/inputstepper.d.ts +0 -1
  620. package/link.B4XZoLDj.js +0 -115
  621. package/linkstandalone.BSfd95Pd.js +0 -79
  622. package/linkstandalone.d.ts +0 -1
  623. package/logo.C_oJ8isW.js +0 -69
  624. package/notification.CxxAOdNV.js +0 -9
  625. package/optioncheckbox.CUV1MQhh.js +0 -43
  626. package/partials/icon.svg +0 -1
  627. package/radio.Bhu9OUY-.js +0 -79
  628. package/radiogroup.CMJ1b38q.js +0 -11
  629. package/select.DFJK2mHF.js +0 -12
  630. package/spinner.BskX4ovu.js +0 -58
  631. package/styles/scss/_index.scss +0 -23
  632. package/styles/scss/lib/_a11y.scss +0 -15
  633. package/styles/scss/lib/_animation.scss +0 -20
  634. package/styles/scss/lib/_breakpoints.scss +0 -16
  635. package/styles/scss/lib/_container-query.scss +0 -58
  636. package/styles/scss/lib/_focus.scss +0 -62
  637. package/styles/scss/lib/_grid-extended.scss +0 -11
  638. package/styles/scss/lib/_grid-full.scss +0 -6
  639. package/styles/scss/lib/_grid-main.scss +0 -117
  640. package/styles/scss/lib/_grid-narrow.scss +0 -14
  641. package/styles/scss/lib/_grid-sidebar-sidebar.scss +0 -50
  642. package/styles/scss/lib/_grid-sidebar.scss +0 -157
  643. package/styles/scss/lib/_grid.scss +0 -88
  644. package/styles/scss/lib/_heading.scss +0 -66
  645. package/styles/scss/lib/_helpers.scss +0 -3
  646. package/styles/scss/lib/_high-contrast.scss +0 -24
  647. package/styles/scss/lib/_hover.scss +0 -10
  648. package/styles/scss/lib/_link.scss +0 -156
  649. package/styles/scss/lib/_media-query.scss +0 -32
  650. package/styles/scss/lib/_spacing.scss +0 -30
  651. package/styles/scss/lib/_text.scss +0 -67
  652. package/styles/scss/lib/_theme.scss +0 -162
  653. package/styles/scss/lib/_transition.scss +0 -26
  654. package/switch.Bx2tDKx0.js +0 -65
  655. package/systemfeedback.4Hkfigi-.js +0 -25
  656. package/text.CPU8IUqY.js +0 -57
  657. package/textarea.DPy3TJJf.js +0 -12
  658. package/title.icX0VDiO.js +0 -36
  659. package/toast.C-Yg5EoE.js +0 -10
  660. package/toastmanager.DQ_-eTrx.js +0 -96
  661. package/utils/has-document.d.ts +0 -1
  662. /package/components/{CustomReactSelect/CustomReactSelect.utils.test.d.ts → Accordion/Accordion.test.d.ts} +0 -0
  663. /package/components/{InputStepper/InputStepper.test.d.ts → Accordion/Acordion.utils.test.d.ts} +0 -0
  664. /package/components/{InputStepper/InputStepper.utils.test.d.ts → ActionButton/ActionButton.test.d.ts} +0 -0
  665. /package/components/{LinkStandalone/LinkStandalone.test.d.ts → ActionButton/ActionButton.utils.test.d.ts} +0 -0
  666. /package/partials/{apple-icon.png → default-apple-icon.png} +0 -0
  667. /package/partials/{favicon.ico → default-favicon.ico} +0 -0
  668. /package/partials/{icon-192.png → default-icon-192.png} +0 -0
  669. /package/partials/{icon-512.png → default-icon-512.png} +0 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Formats a file size in bytes into a human-readable string using appropriate units (bytes, kb, mb).
3
+ *
4
+ * @param {number} fileSizeInBytes - The size of the file in bytes.
5
+ * @returns {string} The formatted file size as a string with the appropriate unit (bytes, kb, mb).
6
+ *
7
+ * @example
8
+ * formatFileSize(500); // "500 bytes"
9
+ * formatFileSize(2048); // "2 kb"
10
+ * formatFileSize(10485760); // "10 mb"
11
+ */
12
+ export declare const formatFileSize: (fileSizeInBytes: number) => string;
13
+ export declare const FILE_ICON_EXTENSIONS: {
14
+ nonDisplayableImages: string[];
15
+ documents: string[];
16
+ videos: string[];
17
+ archives: string[];
18
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ import { IconName } from '../../types';
2
+ import { IconProps } from '../Icon/Icon';
3
+ import { FlagColor } from './Flag.utils';
4
+ import { JSX } from 'react';
5
+ export interface FlagProps extends React.HTMLAttributes<HTMLSpanElement> {
6
+ /** Content within the Flag. */
7
+ children: React.ReactNode;
8
+ /**
9
+ * Background color of the Flag. It can either be a predefined color token (recommended) or a custom color value (e.g. #F37A1F).
10
+ *
11
+ * Possible predefined values: `grey-light` `yellow-light` `red-light` `green-light` `orange-base`
12
+ *
13
+ * @default 'grey-light'
14
+ */
15
+ color: FlagColor;
16
+ /** Name of the icon to display. */
17
+ iconName?: IconName;
18
+ /** URL or path for a custom icon. */
19
+ iconSource?: IconProps['source'];
20
+ }
21
+ /**
22
+ * A read-only component, often representing a status or category.
23
+ *
24
+ * Design in Figma: [Flag](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=19511-2443)
25
+ * */
26
+ export declare const DSFlag: ({ children, className, color, iconName, iconSource, ...rest }: FlagProps) => JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const FLAG_COLOR: readonly ["grey-light", "yellow-light", "red-light", "green-light", "orange-base"];
2
+ export type FlagColor = (typeof FLAG_COLOR)[number] | (string & Record<never, never>);
@@ -1,7 +1,11 @@
1
+ import { IconName } from '../../types';
1
2
  import { ButtonProps } from '../Button/Button';
2
-
3
3
  export interface FloatingActionButtonProps extends Omit<ButtonProps, 'hideLabel' | 'iconPosition' | 'variant' | 'isFlush'> {
4
4
  children: React.ReactNode;
5
+ /** Name of the icon to display.
6
+ * @default 'placeholder'
7
+ */
8
+ iconName?: IconName;
5
9
  }
6
10
  /**
7
11
  * FABs are used to highlight actions by laying over the content.
@@ -9,5 +13,7 @@ export interface FloatingActionButtonProps extends Omit<ButtonProps, 'hideLabel'
9
13
  * Sizes:
10
14
  * - medium (e.g. back-to-top)
11
15
  * - small (e.g. menu drawer of the sidebar navigation)
16
+ *
17
+ * Design in Figma: [Floating Action Button](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=168-5095&t=UBsmFURFENnuYSW1-11)
12
18
  * */
13
- export declare const DSFloatingActionButton: ({ aria, children, className, dataTrackingid, disabled, iconName, iconSource, loading, size, theme, onClick, ...rest }: FloatingActionButtonProps) => JSX.Element;
19
+ export declare const DSFloatingActionButton: import('react').ForwardRefExoticComponent<FloatingActionButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,67 @@
1
+ import { JSX } from 'react';
2
+ import { BrandAddOnProps, BrandAreaLogoProps } from '../TopBar/TopBar';
3
+ import { HeaderVariant, SlotProps } from './Header.utils';
4
+ export interface HeaderProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ /** Brand add-on props:
6
+ *
7
+ * `children`: Content of the brand add-on.
8
+ *
9
+ * `subTitle`: Sub title displayed below the `children` to create a two line brand add-on.
10
+ *
11
+ * `variant`: Predefined variant of the brand add-on.
12
+ */
13
+ brandAddOnProps?: BrandAddOnProps;
14
+ /** Content of the Header. */
15
+ children?: React.ReactNode;
16
+ /** Makes the DSHeader sticky on scroll.
17
+ * @default false
18
+ */
19
+ isHeaderSticky?: boolean;
20
+ /** Logo props:
21
+ *
22
+ * `aria`: Accessibility attributes for screen readers.
23
+ * Ensure to provide a descriptive label via `aria-label`.
24
+ *
25
+ * `href`: Defines the URL to link to. If you provide a URL, the component will be rendered as a link.
26
+ * Defaults to `'/'`.
27
+ *
28
+ * `logo`: Defines which logo to display (e.g., main or sub-brand).
29
+ * Defaults to `'main'`.
30
+ *
31
+ * `target`: Specifies the target of the link.
32
+ * Defaults to `'_self'`.
33
+ * */
34
+ logoProps?: BrandAreaLogoProps;
35
+ /** Sets the visual style variant of the DSHeader.
36
+ * @default 'main'
37
+ */
38
+ variant?: HeaderVariant;
39
+ }
40
+ export declare const DSHeaderContext: import('react').Context<{
41
+ variant: HeaderVariant;
42
+ bannerAreaRef?: React.MutableRefObject<HTMLDivElement | null>;
43
+ brandAddOnProps?: BrandAddOnProps;
44
+ hasBrandAddOn?: boolean;
45
+ setHasBrandAddOn?: React.Dispatch<React.SetStateAction<boolean>>;
46
+ isFixedMainNavigation?: boolean;
47
+ isHeaderSticky?: boolean;
48
+ isMobile?: boolean;
49
+ isStickyMainNavigationVisible?: boolean;
50
+ mainNavigationAreaRef?: React.MutableRefObject<HTMLDivElement | null>;
51
+ topBarAreaRef?: React.MutableRefObject<HTMLDivElement | null>;
52
+ logoProps?: BrandAreaLogoProps;
53
+ }>;
54
+ /**
55
+ * The `<DSHeader />` component renders a semantic `<header>` element that
56
+ * serves as the top-level container for your page’s header region.
57
+ * It manages the DSTopBar element and renders any children passed to it.
58
+ *
59
+ * Design in Figma: [Header](https://www.figma.com/design/Ie2r0R9QwjEc7O3nrFbXhV/Web-Pattern-Library?node-id=5381-2186&t=7P7x6ASRWyOtQQJG-4)
60
+ */
61
+ export declare const DSHeader: {
62
+ ({ children, brandAddOnProps, className, isHeaderSticky, variant, logoProps, ...rest }: HeaderProps): JSX.Element;
63
+ /** attach static members */
64
+ BannerArea: import('react').FC<SlotProps>;
65
+ MainNavigationArea: import('react').FC<SlotProps>;
66
+ displayName: string;
67
+ };
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ export declare const HEADER_VARIANT: readonly ["full", "main"];
3
+ export type HeaderVariant = (typeof HEADER_VARIANT)[number];
4
+ /** Props for any “slot” component */
5
+ export interface SlotProps {
6
+ children: React.ReactNode;
7
+ className?: string;
8
+ }
9
+ /** Props for slot component with optional children */
10
+ export interface OptionalSlotProps extends Omit<SlotProps, 'children'> {
11
+ children?: React.ReactNode;
12
+ }
13
+ export declare const validateHeaderChildren: ({ hasBrandArea, hasPrimaryArea, hasSecondaryArea, }: {
14
+ hasBrandArea: boolean;
15
+ hasPrimaryArea: boolean;
16
+ hasSecondaryArea: boolean;
17
+ }) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -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,89 @@ 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
+ /** Shows an info button next to the label that triggers a popover with the passed content. */
55
+ popoverContent?: React.ReactNode;
56
+ /** Popover info button props:
57
+ *
58
+ * `data-*`: Custom data attributes.
59
+ *
60
+ * `label`: Accessibility label for the default anchor button.
61
+ * (default) 'Toggle popover'
62
+ */
63
+ popoverInfoButtonProps?: {
64
+ [key: `data-${string}`]: string | undefined;
65
+ label?: string;
66
+ };
67
+ /** Text displayed as a prefix inside the input, maximum 8 characters. */
34
68
  prefix?: string;
35
- /** Enables the readonly state of the input */
69
+ /** Enables the readonly state of the input.
70
+ * @default false
71
+ */
36
72
  readonly?: boolean;
37
- /** Indicates that the input is required */
73
+ /** Indicates that the input is required.
74
+ * @default false
75
+ */
38
76
  required?: boolean;
39
- /** Text displayed as a suffix inside the input, maximum 5 characters */
77
+ /** Text displayed as a suffix inside the input, maximum 5 characters. */
40
78
  suffix?: string;
41
- /** Defines a system feedback message, shown when `invalid={true}` */
79
+ /** Defines a system feedback message, shown when `invalid={true}`. */
42
80
  systemFeedback?: string;
43
- /** Size of the input */
81
+ /** Size of the input.
82
+ * @default 'medium'
83
+ */
44
84
  size?: InputSize;
45
- /** Type of the input */
85
+ /** Type of the input.
86
+ * @default 'text'
87
+ */
46
88
  type?: SupportedInputTypes;
47
89
  }
48
90
  /**
@@ -51,5 +93,7 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
51
93
  * a leading icon, prefix and suffix.
52
94
  *
53
95
  * Depending on the `type` prop it expects different input types.
96
+ *
97
+ * Design in Figma: [Input](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=1744-7211&t=UBsmFURFENnuYSW1-4)
54
98
  */
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;
99
+ 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, 'hideLabel' | 'id' | 'label' | 'prefix' | 'popoverContent' | '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: ({ hideLabel, id, label, prefix, popoverContent, 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,104 @@
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
+ /** Shows an info button next to the label that triggers a popover with the passed content. */
59
+ popoverContent?: React.ReactNode;
60
+ /** Popover info button props:
61
+ *
62
+ * `data-*`: Custom data attributes.
63
+ *
64
+ * `label`: Accessibility label for the default anchor button.
65
+ * (default) 'Toggle popover'
66
+ */
67
+ popoverInfoButtonProps?: {
68
+ [key: `data-${string}`]: string | undefined;
69
+ label?: string;
70
+ };
71
+ /** Maximum size allowed in MegaBytes.
72
+ * @default 7
73
+ */
74
+ maxSizeInMb?: number;
75
+ /** Allow multiple file selection.
76
+ * @default false
77
+ */
78
+ multiple?: boolean;
79
+ /** Indicates that the input is required.
80
+ * @default false
81
+ */
82
+ required?: boolean;
83
+ /** Show a bigger dropzone to drag & drop files into instead of only a button.
84
+ * @default false
85
+ */
86
+ showDropzone?: boolean;
87
+ /** Show a file list after file selection. */
88
+ showFileList?: boolean;
89
+ /** Defines a system feedback message, shown when `invalid={true}`. */
90
+ systemFeedback?: string;
91
+ /** Translations for the DSInputFile. Use our [customization page](/?path=/story/components-inputs-input-file-translations--documentation) for creating custom translations. */
92
+ translations?: InputFileTranslations;
93
+ /** Callback function invoked when files are selected. */
94
+ onFilesSelect?: (files: File[]) => void;
95
+ }
96
+ export interface FileWithFeedback extends File {
97
+ feedback?: string;
98
+ }
99
+ /**
100
+ * 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.
101
+ *
102
+ * Design in Figma: [Input File](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=32314-6485&t=QXC7W0qCpEbPrh2M-11)
103
+ */
104
+ export declare const DSInputFile: import('react').ForwardRefExoticComponent<InputFileProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
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
+ togglePopover: string;
13
+ };
14
+ export declare const DS_INPUT_FILE_TRANSLATIONS_DE: {
15
+ dragAndDropInstructions: string;
16
+ feedbackFileSize: string;
17
+ feedbackFileType: string;
18
+ fileListRemoveSelectionButtonLabel: string;
19
+ fileListPreviewAltText: string;
20
+ filesSelectedHint: string;
21
+ required: string;
22
+ togglePopover: string;
23
+ };
24
+ export declare const DS_INPUT_FILE_TRANSLATIONS: {
25
+ [key in InputFileLanguage]: InputFileTranslations;
26
+ };
27
+ /**
28
+ * @param file the File you just got from input.files[0]
29
+ * @param acceptAttr the literal string from your <input accept="…">
30
+ * @returns true if the file would have been allowed by the browser’s picker UI
31
+ */
32
+ export declare const fileMatchesAccept: (file: File, acceptAttr: string) => boolean;
33
+ type ValidationProps = Pick<InputFileProps, 'id' | 'label' | 'inputFileButtonProps' | 'hideLabel' | 'popoverContent'>;
34
+ /**
35
+ * Validates the required props for the `DSInputFile` component.
36
+ *
37
+ * Ensures that:
38
+ * - A unique `id` is provided.
39
+ * - A `label` is provided for accessibility (a11y) reasons.
40
+ * - If `inputFileButtonProps` is provided, it must include a `label` for accessibility.
41
+ *
42
+ * Throws descriptive errors if any of the conditions are not met.
43
+ *
44
+ * @param {ValidationProps} params -The subset of DSInputFile properties to validate. This includes
45
+ * properties related to the prefix, suffix, icons and action button of the input.
46
+ */
47
+ export declare const validateInputFileProps: ({ id, label, inputFileButtonProps, hideLabel, popoverContent, }: ValidationProps) => void;
48
+ export {};
@@ -0,0 +1 @@
1
+ export {};