@stihl-design-system/components 1.0.0-RC.32 → 1.0.0-RC.35

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 (284) hide show
  1. package/accordion.Dmqocj97.js +12 -0
  2. package/actionbutton.Du5CT-Mt.js +12 -0
  3. package/actionlink.BK9CaQUY.js +12 -0
  4. package/{arialiveregions.Fgcshs5k.js → arialiveregions.BUVY9NpY.js} +2 -2
  5. package/assets/Accordion.CzBGud45.css +1 -0
  6. package/assets/Button.CmeGVEAY.css +1 -0
  7. package/assets/Checkbox.CyOw3rXI.css +1 -0
  8. package/assets/CustomReactSelect.BihX36Uo.css +1 -0
  9. package/assets/Dialog.DJkn65Es.css +1 -0
  10. package/assets/Drawer.x3BCQvWE.css +1 -0
  11. package/assets/Fieldset.Oqu7pOBv.css +1 -0
  12. package/assets/InputFile.D7Ihod7B.css +1 -0
  13. package/assets/InputNumber.z_UqRYdv.css +1 -0
  14. package/assets/InputPassword.DZENjxJ9.css +1 -0
  15. package/assets/InputSearch.GBH9Eh6F.css +1 -0
  16. package/assets/LinkButton.88j5ckLu.css +1 -0
  17. package/assets/{MegaMenu.DX9gChtY.css → MegaMenu.D5EtjFeL.css} +1 -1
  18. package/assets/Notification.CvohYEvT.css +1 -0
  19. package/assets/Select.CL0fqx7X.css +1 -0
  20. package/assets/Slider.DWLuIsNj.css +1 -0
  21. package/assets/Stepper.tXJl15yL.css +1 -0
  22. package/assets/{SystemFeedback.RcrPepSZ.css → SystemFeedback.PKzqnXUe.css} +1 -1
  23. package/assets/Textarea.B1HOakic.css +1 -0
  24. package/assets/Toast.CGyKXb4V.css +1 -0
  25. package/assets/buttonround.DBpMesfr.css +1 -0
  26. package/assets/input.RPDR8qdT.css +1 -0
  27. package/assets/step.BeLporJO.css +1 -0
  28. package/assets/switch.B9B-n_3y.css +1 -0
  29. package/{asterisk.CR60hx8S.js → asterisk.B2ih8VwF.js} +1 -1
  30. package/{banner.o4Etkjjo.js → banner.D-RX60nJ.js} +3 -3
  31. package/breadcrumb.tvMByFgp.js +11 -0
  32. package/button.CZupaV9L.js +12 -0
  33. package/buttonround.9IS0tUqw.js +96 -0
  34. package/checkbox.XYQI-ubx.js +12 -0
  35. package/checkboxgroup.CjnNJ8e6.js +9 -0
  36. package/chip.B-pxhsdb.js +12 -0
  37. package/chipgroup.cGjn4LVV.js +143 -0
  38. package/chunks/Accordion.CYIfNOWr.js +168 -0
  39. package/chunks/{ActionButton.DdDesD7K.js → ActionButton.BOYQYo5M.js} +37 -37
  40. package/chunks/{ActionLink.DqAsPYda.js → ActionLink.BlwvrnPN.js} +36 -36
  41. package/chunks/{AriaLiveRegions.utils.Cb327d_2.js → AriaLiveRegions.utils.CybNIBSa.js} +2 -2
  42. package/chunks/{Breadcrumb.9KinNuyQ.js → Breadcrumb.Qr6bDP2N.js} +35 -37
  43. package/chunks/Button.Cn5yg7dG.js +138 -0
  44. package/chunks/Checkbox.D5X5T6Yg.js +88 -0
  45. package/chunks/CheckboxGroup.CUR_0VMc.js +74 -0
  46. package/chunks/{Chip.BrbYu6i_.js → Chip.DIp5hdRH.js} +6 -6
  47. package/chunks/{CustomReactSelect.Cqq70QC0.js → CustomReactSelect.BA3hUVkh.js} +897 -878
  48. package/chunks/Dialog.DRk_jSj5.js +102 -0
  49. package/chunks/Drawer.Dj6WeUC8.js +107 -0
  50. package/chunks/Fieldset.C0RzpI-h.js +81 -0
  51. package/chunks/Header.18sOO0Gf.js +370 -0
  52. package/chunks/{Icon.NSsVrYeq.js → Icon.CDLyB7Pv.js} +77 -79
  53. package/chunks/{Input.utils.Cnnzvuk4.js → Input.utils.CL1u4Ctq.js} +30 -28
  54. package/chunks/InputFile.Bki3bs3U.js +236 -0
  55. package/chunks/InputNumber.B43cqBH0.js +242 -0
  56. package/chunks/InputPassword.DcdMjsXr.js +121 -0
  57. package/chunks/InputSearch.CJm6ph8W.js +149 -0
  58. package/chunks/LinkButton.C6F-yuLL.js +139 -0
  59. package/chunks/MegaMenu.qttkjGbD.js +188 -0
  60. package/chunks/NavigationTabList.G_l0GiUa.js +67 -0
  61. package/chunks/{NavigationTabs.DspPFHPh.js → NavigationTabs.CQxlahX1.js} +13 -14
  62. package/chunks/Notification.Qzz88ngL.js +91 -0
  63. package/chunks/Popover.D7McfVaH.js +214 -0
  64. package/chunks/RadioGroup.B2VCD9x-.js +106 -0
  65. package/chunks/Select.B0uMOSSD.js +147 -0
  66. package/chunks/Slider.YTIktxxD.js +306 -0
  67. package/chunks/Stepper.BvPmbbqw.js +152 -0
  68. package/chunks/{SystemFeedback.CyGbUCzT.js → SystemFeedback.CjlARKki.js} +9 -9
  69. package/chunks/Tabs.CoO_lrhV.js +83 -0
  70. package/chunks/{Text.DGWeWF1y.js → Text.DpRtTpB4.js} +3 -3
  71. package/chunks/Textarea.lYiPXerd.js +181 -0
  72. package/chunks/Toast.L5HAuEOn.js +76 -0
  73. package/chunks/{arrow-clockwise.BefOjGPg.js → arrow-clockwise.C4iOgjOc.js} +1 -1
  74. package/chunks/{arrow-counterclockwise.C7Ov32BZ.js → arrow-counterclockwise.CgQAuBUe.js} +1 -1
  75. package/chunks/{circle-check-colored.Bye_GwLy.js → circle-check-colored.qP2s3vjI.js} +1 -1
  76. package/chunks/{diamond-exclamationmark-colored.WNKYwZ8q.js → diamond-exclamationmark-colored.CzYiaTZ0.js} +1 -1
  77. package/chunks/feather.l1E4nFBx.js +10 -0
  78. package/chunks/file-type-doc.B_RSSYbu.js +10 -0
  79. package/chunks/floating-ui.react.COTL3jH5.js +2984 -0
  80. package/chunks/helpers.CexwVao7.js +38 -0
  81. package/chunks/{index.CgTHIF3K.js → index.D-sRdssb.js} +1 -1
  82. package/chunks/{index.CEyLAtio.js → index.DL9mof6u.js} +2 -2
  83. package/chunks/{is-animation-disabled.CUl4N3LI.js → is-animation-disabled.B-V_68K-.js} +5 -5
  84. package/chunks/{map.CXgG1iGz.js → map.DNl7PF61.js} +1 -1
  85. package/chunks/moon.5yILPYXs.js +10 -0
  86. package/chunks/muscle.DbNjWasV.js +10 -0
  87. package/chunks/petrol.BGWwCsTw.js +10 -0
  88. package/chunks/sun.CY6ttzTL.js +10 -0
  89. package/chunks/{triangle-exclamationmark-colored.CbVC3Gzi.js → triangle-exclamationmark-colored.e93zvQ6Q.js} +1 -1
  90. package/chunks/upload.BogDfonx.js +10 -0
  91. package/chunks/useBreakpoint.1txsny17.js +45 -0
  92. package/chunks/variants.-R3_RCW8.js +10 -0
  93. package/chunks/weight.DUPu2UT0.js +10 -0
  94. package/combobox.CGEDlMo0.js +71 -0
  95. package/components/Button/Button.d.ts +5 -0
  96. package/components/Button/Button.utils.d.ts +4 -5
  97. package/components/CheckboxGroup/CheckboxGroup.d.ts +14 -1
  98. package/components/ChipGroup/ChipGroup.utils.d.ts +1 -3
  99. package/components/Combobox/Combobox.utils.d.ts +6 -6
  100. package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +17 -2
  101. package/components/Fieldset/Fieldset.d.ts +14 -1
  102. package/components/Input/Input.d.ts +13 -0
  103. package/components/Input/Input.utils.d.ts +2 -2
  104. package/components/InputFile/InputFile.d.ts +13 -0
  105. package/components/InputFile/InputFile.utils.d.ts +4 -2
  106. package/components/{InputStepper/InputStepper.d.ts → InputNumber/InputNumber.d.ts} +21 -8
  107. package/components/InputNumber/InputNumber.utils.d.ts +13 -0
  108. package/components/InputPassword/InputPassword.d.ts +13 -0
  109. package/components/InputPassword/InputPassword.utils.d.ts +2 -2
  110. package/components/InputSearch/InputSearch.d.ts +13 -0
  111. package/components/InputSearch/InputSearch.utils.d.ts +2 -2
  112. package/components/LinkButton/LinkButton.d.ts +5 -0
  113. package/components/LinkButton/LinkButton.utils.d.ts +4 -5
  114. package/components/RadioGroup/RadioGroup.d.ts +13 -0
  115. package/components/Scroller/Scroller.d.ts +6 -2
  116. package/components/Select/Select.d.ts +13 -0
  117. package/components/Select/Select.utils.d.ts +2 -2
  118. package/components/Slider/Slider.d.ts +13 -0
  119. package/components/Stepper/Step.d.ts +33 -0
  120. package/components/Stepper/Step.utils.d.ts +5 -0
  121. package/components/Stepper/Stepper.d.ts +56 -0
  122. package/components/Stepper/Stepper.test.d.ts +1 -0
  123. package/components/Stepper/Stepper.utils.d.ts +30 -0
  124. package/components/Stepper/Stepper.utils.test.d.ts +1 -0
  125. package/components/Textarea/Textarea.d.ts +13 -0
  126. package/components/Textarea/Textarea.utils.d.ts +2 -2
  127. package/customreactselect.BgYf8rKE.js +15 -0
  128. package/dialog.Bq-ZyzR8.js +9 -0
  129. package/drawer.DL5UzLWf.js +9 -0
  130. package/fieldset.BFLW2D9H.js +12 -0
  131. package/{filelist.BiKMKCyg.js → filelist.BG6SGVJ8.js} +23 -24
  132. package/{flag.72PONA83.js → flag.CE32qHPa.js} +3 -3
  133. package/{floatingactionbutton.B2YChsNU.js → floatingactionbutton.B5hJ2At2.js} +5 -5
  134. package/header.A77yIAH3.js +12 -0
  135. package/{heading.BXFBZhKv.js → heading.DHLpT4dc.js} +2 -2
  136. package/icon.vzkPwgjZ.js +9 -0
  137. package/index.d.ts +4 -2
  138. package/index.es.js +218 -206
  139. package/input.hBWqQr3X.js +190 -0
  140. package/inputfile.BSZuRujU.js +18 -0
  141. package/inputnumber.CA4JiUmq.js +17 -0
  142. package/inputnumber.d.ts +2 -0
  143. package/inputpassword.Cju_crMi.js +13 -0
  144. package/inputsearch.CU9AhVVv.js +15 -0
  145. package/{link.DbnvsD3j.js → link.DoiK003-.js} +5 -5
  146. package/linkbutton.CWco_B7v.js +12 -0
  147. package/{logo.C96KaG1P.js → logo.DprmD8HU.js} +3 -3
  148. package/{logo100years.BcB6_c-o.js → logo100years.DDzCrczW.js} +11 -11
  149. package/megamenu.BurL9MfF.js +12 -0
  150. package/navigationtablist.CkkLyHrM.js +10 -0
  151. package/navigationtabs.zhRZHjgs.js +9 -0
  152. package/notification.BiXdWNo7.js +10 -0
  153. package/{numberindicator.Ddf3ESi7.js → numberindicator.BdnPMogE.js} +2 -2
  154. package/{optioncheckbox.DqfXuPdi.js → optioncheckbox.nBVwGv6c.js} +3 -3
  155. package/package.json +42 -50
  156. package/partials/index.js +54 -48
  157. package/partials/lib/partials.d.ts +1 -1
  158. package/popover.79Voiadz.js +12 -0
  159. package/{radio.7_N_alaS.js → radio.DHUfSPai.js} +2 -2
  160. package/radiogroup.CwBh7u9L.js +11 -0
  161. package/scroller.IpfbFV8B.js +98 -0
  162. package/select.NHaEtX_u.js +14 -0
  163. package/{skiptocontent.BSCde5hT.js → skiptocontent.X4USTODk.js} +4 -4
  164. package/slider.jnNGEyBq.js +12 -0
  165. package/{spinner.BUjhjAvw.js → spinner.C9qCeq0R.js} +18 -18
  166. package/step.D5p7qppy.js +82 -0
  167. package/step.d.ts +6 -0
  168. package/stepper.DnMc4ex6.js +16 -0
  169. package/stepper.d.ts +2 -0
  170. package/styles/scss/ds/lib/ds-internal/_input.scss +12 -3
  171. package/styles/scss/ds/lib/ds-internal/_link-button.scss +10 -2
  172. package/styles/scss/ds/lib/link-button.scss +11 -3
  173. package/{switch.D7BCfyyZ.js → switch.Bqdyzi2E.js} +5 -5
  174. package/systemfeedback.O7tj1juR.js +10 -0
  175. package/tablist.BFE6RAPD.js +209 -0
  176. package/{tabpane.CB-eudyw.js → tabpane.C4nsUlwc.js} +2 -2
  177. package/tabs.CsOxxQyQ.js +11 -0
  178. package/text.cLv2PhjQ.js +10 -0
  179. package/textarea.C9OAAjhG.js +14 -0
  180. package/{title.Bz_k5Vda.js → title.DuLPB-VK.js} +2 -2
  181. package/toast.OBI9qnAM.js +11 -0
  182. package/toastmanager.CgsA-1y_.js +89 -0
  183. package/tooltip.Cj3AvYgB.js +177 -0
  184. package/topbar.CAujTZAE.js +12 -0
  185. package/types/icon-types.d.ts +1 -1
  186. package/utils/index.d.ts +1 -0
  187. package/utils/mergeRefs.d.ts +5 -0
  188. package/utils/mergeRefs.test.d.ts +1 -0
  189. package/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  190. package/accordion.HfUSDwQJ.js +0 -12
  191. package/actionbutton.kgd0E_xF.js +0 -12
  192. package/actionlink.CwC42RWc.js +0 -12
  193. package/assets/Accordion.BJb4TOG0.css +0 -1
  194. package/assets/Button.Dw8H5nFS.css +0 -1
  195. package/assets/Checkbox.BKHQN_tu.css +0 -1
  196. package/assets/CustomReactSelect.DGIItWIh.css +0 -1
  197. package/assets/Dialog.CGAg7bnN.css +0 -1
  198. package/assets/Drawer.VOvWQoEr.css +0 -1
  199. package/assets/Fieldset.CW9dBvAo.css +0 -1
  200. package/assets/InputFile.CCQxsulT.css +0 -1
  201. package/assets/InputPassword.124xVOiO.css +0 -1
  202. package/assets/InputSearch.Bkg-1urJ.css +0 -1
  203. package/assets/InputStepper.DvFJk1Mi.css +0 -1
  204. package/assets/LinkButton.xMvg_ojf.css +0 -1
  205. package/assets/Notification.BOuaA5GT.css +0 -1
  206. package/assets/Select.C1gWF32A.css +0 -1
  207. package/assets/Slider.Bidyhb-B.css +0 -1
  208. package/assets/Textarea.Dq4rH9Tg.css +0 -1
  209. package/assets/Toast.CJ1zhDIT.css +0 -1
  210. package/assets/buttonround.Cw9hnUan.css +0 -1
  211. package/assets/input.CUjGh-UM.css +0 -1
  212. package/assets/switch.Bc9KIyw9.css +0 -1
  213. package/breadcrumb.BsQm0kUD.js +0 -11
  214. package/button.Dyy6ajX6.js +0 -13
  215. package/buttonround.ChKWHzsv.js +0 -96
  216. package/checkbox.BNnp4ztM.js +0 -12
  217. package/checkboxgroup.BTVnKenc.js +0 -9
  218. package/chip.C7NstOHt.js +0 -12
  219. package/chipgroup.Zo1-IOCn.js +0 -210
  220. package/chunks/Accordion.CnqryAUu.js +0 -170
  221. package/chunks/Button.Cf1CKq8N.js +0 -142
  222. package/chunks/Checkbox.CiwriItT.js +0 -88
  223. package/chunks/CheckboxGroup.Cj68J6Ee.js +0 -72
  224. package/chunks/Dialog.Bv7k55He.js +0 -135
  225. package/chunks/Drawer.BVTvx276.js +0 -140
  226. package/chunks/Fieldset.D7cLR5ze.js +0 -74
  227. package/chunks/Header.um5MlziB.js +0 -377
  228. package/chunks/InputFile.bVWWdePn.js +0 -220
  229. package/chunks/InputPassword.Da3hEKTc.js +0 -136
  230. package/chunks/InputSearch.GOYqFCcZ.js +0 -174
  231. package/chunks/InputStepper.BuhPtfl-.js +0 -268
  232. package/chunks/LinkButton.59oNDwPU.js +0 -132
  233. package/chunks/MegaMenu._o3nNDAa.js +0 -192
  234. package/chunks/NavigationTabList.DuT7gzhj.js +0 -57
  235. package/chunks/Notification.Pts2oh0R.js +0 -92
  236. package/chunks/Popover.BRR8YZ-P.js +0 -228
  237. package/chunks/RadioGroup.DeTz3c19.js +0 -104
  238. package/chunks/Select.D2ehd4yN.js +0 -162
  239. package/chunks/Slider.84lkgq3W.js +0 -292
  240. package/chunks/Tabs.C8ADTzJ0.js +0 -83
  241. package/chunks/Textarea.Cw85sxHL.js +0 -163
  242. package/chunks/Toast.DG3WVvau.js +0 -76
  243. package/chunks/file-type-doc.DlovDOBh.js +0 -10
  244. package/chunks/floating-ui.dom.VgHc0h4l.js +0 -989
  245. package/chunks/floating-ui.react.DCyAzlZ4.js +0 -2011
  246. package/chunks/helpers.BbWkXTr3.js +0 -37
  247. package/chunks/petrol.Du6qAgp0.js +0 -10
  248. package/chunks/upload.ZImTAIgx.js +0 -10
  249. package/chunks/useBreakpoint.CMOR9ZOB.js +0 -44
  250. package/combobox.orZ3z8CB.js +0 -60
  251. package/components/InputStepper/InputStepper.utils.d.ts +0 -13
  252. package/customreactselect.Np-RpzvU.js +0 -14
  253. package/dialog.D4rcbW6A.js +0 -10
  254. package/drawer.BCCB3Rkj.js +0 -10
  255. package/fieldset.ZLs9IGpE.js +0 -11
  256. package/header.DUbn3BZt.js +0 -12
  257. package/icon.CHVAZr5T.js +0 -9
  258. package/input.DG20x6gh.js +0 -203
  259. package/inputfile.Dc56lQ4t.js +0 -17
  260. package/inputpassword.znFHRLsI.js +0 -13
  261. package/inputsearch.B1G6rfVk.js +0 -14
  262. package/inputstepper.d.ts +0 -2
  263. package/inputstepper.o6rdM_CW.js +0 -16
  264. package/linkbutton.DU8Ih8ZF.js +0 -12
  265. package/megamenu.CPH8EeFF.js +0 -12
  266. package/navigationtablist.C0iwsAad.js +0 -9
  267. package/navigationtabs.JjJtbuUe.js +0 -9
  268. package/notification.Ds_Q7ifk.js +0 -10
  269. package/popover.B72W0OvU.js +0 -12
  270. package/radiogroup.C_3IcNBq.js +0 -11
  271. package/scroller.CQxmQU6U.js +0 -123
  272. package/select.Ceyt-zvu.js +0 -13
  273. package/slider.Dq2dcziy.js +0 -11
  274. package/systemfeedback.CSdWOWuf.js +0 -10
  275. package/tablist.V7DBklhE.js +0 -256
  276. package/tabs.DQNLPAEN.js +0 -11
  277. package/text.ZOUuesnU.js +0 -10
  278. package/textarea.CixKeQBp.js +0 -13
  279. package/toast.D8QprMCa.js +0 -11
  280. package/toastmanager.BSVjYsg9.js +0 -116
  281. package/tooltip.CUCSRXd3.js +0 -191
  282. package/topbar.CVhJy-Br.js +0 -12
  283. /package/components/{InputStepper/InputStepper.test.d.ts → InputNumber/InputNumber.test.d.ts} +0 -0
  284. /package/components/{InputStepper/InputStepper.utils.test.d.ts → InputNumber/InputNumber.utils.test.d.ts} +0 -0
@@ -0,0 +1,236 @@
1
+ "use client";
2
+ import { jsxs as D, jsx as r, Fragment as _e } from "react/jsx-runtime";
3
+ import { c as f } from "./index.DL9mof6u.js";
4
+ import { forwardRef as he, useState as Q, useRef as Ie, useCallback as ve } from "react";
5
+ import { t as we } from "./translate.nuU7uChI.js";
6
+ import { u as P } from "./useBreakpoint.1txsny17.js";
7
+ import "./index.D-sRdssb.js";
8
+ import { g as Se } from "./AriaLiveRegions.utils.CybNIBSa.js";
9
+ import { Asterisk as Fe } from "../asterisk.B2ih8VwF.js";
10
+ import { D as ze } from "./Button.Cn5yg7dG.js";
11
+ import { FileList as Ne } from "../filelist.BG6SGVJ8.js";
12
+ import { D as Le } from "./Icon.CDLyB7Pv.js";
13
+ import { D as ke } from "./Popover.D7McfVaH.js";
14
+ import { D as ye } from "./SystemFeedback.CjlARKki.js";
15
+ import { g as _ } from "./helpers.CexwVao7.js";
16
+ import '../assets/InputFile.D7Ihod7B.css';const Be = "ds-input-file_root_ad2pg_1", Te = "ds-input-file_browse-button--is-dragging-filled_ad2pg_1", Ae = "ds-input-file_browse-button--is-dragging_ad2pg_1", Pe = "ds-input-file_hint_ad2pg_14", $e = "ds-input-file_label-wrapper_ad2pg_14", Ce = "ds-input-file_label_ad2pg_14", Re = "ds-input-file_label--disabled_ad2pg_33", Ee = "ds-input-file_label-wrapper--hidden_ad2pg_45", We = "ds-input-file_feedback_ad2pg_73", qe = "ds-input-file_dropzone_ad2pg_77", xe = "ds-input-file_dropzone--disabled_ad2pg_83", He = "ds-input-file_dropzone--invalid_ad2pg_97", Oe = "ds-input-file_dropzone--is-dragging_ad2pg_100", Ve = "ds-input-file_hint-drop-zone_ad2pg_103", je = "ds-input-file_upload-icon_ad2pg_106", Me = "ds-input-file_browse-button-dropzone--is-dragging_ad2pg_109", Ue = "ds-input-file_instructions_ad2pg_112", Ze = "ds-input-file_input_ad2pg_149", Ge = "ds-input-file_required-sr-info_ad2pg_153", t = {
17
+ root: Be,
18
+ browseButtonIsDraggingFilled: Te,
19
+ browseButtonIsDragging: Ae,
20
+ hint: Pe,
21
+ labelWrapper: $e,
22
+ label: Ce,
23
+ labelDisabled: Re,
24
+ labelWrapperHidden: Ee,
25
+ feedback: We,
26
+ dropzone: qe,
27
+ dropzoneDisabled: xe,
28
+ dropzoneInvalid: He,
29
+ dropzoneIsDragging: Oe,
30
+ hintDropZone: Ve,
31
+ uploadIcon: je,
32
+ browseButtonDropzoneIsDragging: Me,
33
+ instructions: Ue,
34
+ input: Ze,
35
+ requiredSrInfo: Ge
36
+ }, Je = {
37
+ dragAndDropInstructions: "Drag and drop files here or",
38
+ feedbackFileSize: "File too large. Maximum file size is",
39
+ feedbackFileType: "File type not allowed",
40
+ // {0} is the file name
41
+ fileListRemoveSelectionButtonLabel: "Remove {0} from selected files",
42
+ fileListPreviewAltText: "Preview of",
43
+ filesSelectedHint: "The following files are selected",
44
+ required: "required",
45
+ togglePopover: "Toggle popover"
46
+ }, Ke = {
47
+ dragAndDropInstructions: "Dateien hier hin ziehen oder",
48
+ feedbackFileSize: "Datei zu groß. Maximale Dateigröße ist",
49
+ feedbackFileType: "Dateityp nicht zugelassen",
50
+ // {0} is the file name
51
+ fileListRemoveSelectionButtonLabel: "Datei {0} aus der Auswahl entfernen",
52
+ fileListPreviewAltText: "Vorschau von",
53
+ filesSelectedHint: "Die folgenden Dateien sind ausgewählt",
54
+ required: "erforderlich",
55
+ togglePopover: "Popover öffnen/schließen"
56
+ }, X = {
57
+ en: Je,
58
+ de: Ke
59
+ }, Qe = (a, d) => {
60
+ const o = d.split(",").map((l) => l.trim().toLowerCase()).filter(Boolean), g = a.name.toLowerCase(), n = a.type.toLowerCase();
61
+ return o.some((l) => {
62
+ if (l.startsWith("."))
63
+ return g.endsWith(l);
64
+ if (l.endsWith("/*")) {
65
+ const [h] = n.split("/");
66
+ return h === l.slice(0, -2);
67
+ }
68
+ return n === l;
69
+ });
70
+ }, Xe = ({
71
+ id: a,
72
+ label: d,
73
+ inputFileButtonProps: o,
74
+ hideLabel: g,
75
+ popoverContent: n
76
+ }) => {
77
+ if (!a)
78
+ throw new Error(_("DSInputFile", 'A unique "id" prop is required. Please add a unique "id" prop to the DSInputFile component.'));
79
+ if (!d)
80
+ throw new Error(_("DSInputFile", `A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputFile component. If you don't want to display a label, set hideLabel={true}.`));
81
+ if (o && o.label?.trim() === "")
82
+ throw new Error(_("DSInputFile", "The input file button needs to have a label for a11y reasons. Please add a label to the inputFileButtonProps."));
83
+ if (o && o.variant && o.variant !== "outline" && o.variant !== "filled")
84
+ throw new Error(_("DSInputFile", "The inputFileButtonProps variant value can only be 'outline' for DSInputFile components inside forms or 'filled' for standalone DSInputFile components."));
85
+ g && n && console.warn(_("DSInputFile", "Using a popover when hideLabel is set to true is not supported."));
86
+ }, Ye = he(({
87
+ id: a,
88
+ label: d,
89
+ accept: o,
90
+ className: g,
91
+ disabled: n = !1,
92
+ fileListItemRemoveButtonProps: l,
93
+ hideLabel: h = !1,
94
+ hint: b,
95
+ inputFileButtonProps: $,
96
+ invalid: I = !1,
97
+ isHintOutsideDropzone: Y = {
98
+ base: !0,
99
+ m: !1
100
+ },
101
+ lang: S = "en",
102
+ maxSizeInMb: F = 7,
103
+ multiple: m = !1,
104
+ popoverContent: z,
105
+ popoverInfoButtonProps: C,
106
+ required: R = !1,
107
+ showFileList: ee = !0,
108
+ showDropzone: p = !1,
109
+ systemFeedback: N,
110
+ translations: L,
111
+ onFilesSelect: E,
112
+ ...te
113
+ }, v) => {
114
+ const c = we(L || X[S]);
115
+ process.env.NODE_ENV !== "production" && Xe({
116
+ id: a,
117
+ label: d,
118
+ inputFileButtonProps: $,
119
+ hideLabel: P(h),
120
+ popoverContent: z
121
+ });
122
+ const {
123
+ label: ne = S === "en" ? `Choose File${m ? "s" : ""}` : `Datei${m ? "en" : ""} auswählen`,
124
+ variant: k = "outline",
125
+ ...oe
126
+ } = $ || {}, ie = {
127
+ ...C,
128
+ label: L && L.togglePopover || C?.label || X[S].togglePopover
129
+ }, [W, q] = Q([]), w = Ie(null), [u, y] = Q(!1), re = F * 1024 * 1024, B = `${a}-label`, x = `${a}-feedback`, T = `${a}-hint`, H = b ? ` ${T}` : "", O = P(h), V = P(Y), ae = f(t.root, g), se = f(t.dropzone, {
130
+ [t.dropzoneDisabled]: n,
131
+ [t.dropzoneInvalid]: I,
132
+ [t.dropzoneIsDragging]: u
133
+ }), le = f(t.label, {
134
+ [t.labelDisabled]: n
135
+ }), de = f(t.labelWrapper, {
136
+ // hide label only visually to keep them available for assistive technologies
137
+ [t.labelWrapperHidden]: O
138
+ }), pe = f(t.browseButton, {
139
+ [t.browseButtonIsDragging]: u && k === "outline",
140
+ [t.browseButtonIsDraggingFilled]: u && k === "filled"
141
+ }), ce = f(t.browseButtonDropzone, {
142
+ [t.browseButtonDropzoneIsDragging]: u
143
+ }), ue = [I && N && x].filter(Boolean).join(" ") || void 0, fe = (e) => {
144
+ w.current = e, typeof v == "function" ? v(e) : v && (v.current = e);
145
+ }, j = (e) => {
146
+ if (!e)
147
+ return;
148
+ const s = [];
149
+ for (const i of e)
150
+ if (o && !Qe(i, o) && (i.feedback = `${c("feedbackFileType")}: ${i.type}.`), i.size > re && (i.feedback = `${c("feedbackFileSize")} ${F} MB.`), s.push(i), !m && s.length > 0)
151
+ break;
152
+ s.length > 0 && (q(() => {
153
+ const i = [...s], K = i.map(({
154
+ name: A,
155
+ feedback: De = ""
156
+ }) => `${A} ${De}`).join(", ");
157
+ return setTimeout(() => {
158
+ me(`${c("filesSelectedHint")}: ${K}.`);
159
+ }, 1e3), i;
160
+ }), E?.(s));
161
+ }, M = (e) => {
162
+ n || (w.current?.click(), e.stopPropagation());
163
+ }, U = (e) => {
164
+ e.preventDefault(), u || y(!0);
165
+ }, Z = (e) => {
166
+ e.preventDefault(), u && y(!1);
167
+ }, G = ve((e) => {
168
+ e.preventDefault(), !n && (y(!1), j(e.dataTransfer.files));
169
+ }, [m, o, F, n]), ge = (e) => {
170
+ j(e.target.files), w?.current && (w.current.value = "");
171
+ }, be = (e) => {
172
+ q((s) => {
173
+ const i = s.filter((K, A) => A !== e);
174
+ return E?.(i), i;
175
+ });
176
+ }, me = (e) => {
177
+ const s = Se();
178
+ s && (s.innerText = e, setTimeout(() => {
179
+ s.innerText = "";
180
+ }, 350));
181
+ }, J = () => /* @__PURE__ */ r(ze, { ...oe, className: p ? ce : pe, type: "button", variant: k, size: p ? "small" : "medium", disabled: n, iconName: p ? void 0 : "upload", onClick: M, "aria-describedby": ue, "aria-invalid": I, children: ne });
182
+ return /* @__PURE__ */ D("div", { className: ae, children: [
183
+ /* @__PURE__ */ D("div", { className: de, children: [
184
+ /* @__PURE__ */ D("label", { className: le, id: B, htmlFor: a, children: [
185
+ d,
186
+ R && /* @__PURE__ */ D(_e, { children: [
187
+ /* @__PURE__ */ r(Fe, {}),
188
+ /* @__PURE__ */ r("span", { className: t.requiredSrInfo, children: c("required") })
189
+ ] })
190
+ ] }),
191
+ z && !O && /* @__PURE__ */ r(ke, { placement: "top", defaultAnchorButtonProps: ie, children: z })
192
+ ] }),
193
+ b && (V || !p) && /* @__PURE__ */ r("div", { className: t.hint, id: T, children: b }),
194
+ !p && /* @__PURE__ */ r(
195
+ "div",
196
+ {
197
+ onDragOver: U,
198
+ onDragLeave: Z,
199
+ onDrop: G,
200
+ "aria-labelledby": `${B}${H}`,
201
+ "aria-disabled": n,
202
+ children: J()
203
+ }
204
+ ),
205
+ p && /* @__PURE__ */ D(
206
+ "div",
207
+ {
208
+ className: se,
209
+ onClick: (e) => M(e),
210
+ onDragOver: U,
211
+ onDragLeave: Z,
212
+ onDrop: G,
213
+ "aria-labelledby": `${B}${H}`,
214
+ "aria-disabled": n,
215
+ children: [
216
+ /* @__PURE__ */ r(Le, { name: "upload", className: t.uploadIcon, size: "x-large" }),
217
+ /* @__PURE__ */ r("p", { id: "file-upload-instructions", className: t.instructions, children: c("dragAndDropInstructions") }),
218
+ J(),
219
+ b && !V && /* @__PURE__ */ r("div", { className: t.hintDropZone, id: T, children: b })
220
+ ]
221
+ }
222
+ ),
223
+ /* @__PURE__ */ r("input", { ...te, type: "file", className: t.input, id: a, ref: fe, accept: o, multiple: m, "aria-hidden": "true", required: R, disabled: n, onChange: ge }),
224
+ I && N && /* @__PURE__ */ r(ye, { className: t.feedback, message: N, variant: "error", id: x }),
225
+ W.length > 0 && ee && /* @__PURE__ */ r(Ne, { files: W, onRemoveFile: be, fileListItemRemoveButtonProps: l, t: c })
226
+ ] });
227
+ });
228
+ Ye.displayName = "DSInputFile";
229
+ export {
230
+ Ye as D,
231
+ Je as a,
232
+ Ke as b,
233
+ X as c,
234
+ Qe as f,
235
+ Xe as v
236
+ };
@@ -0,0 +1,242 @@
1
+ "use client";
2
+ import { jsxs as N, jsx as a } from "react/jsx-runtime";
3
+ import { c as r } from "./index.DL9mof6u.js";
4
+ import { forwardRef as Be, useState as m, useRef as E, useEffect as W } from "react";
5
+ import { h as Le } from "./has-window.ut_-aShB.js";
6
+ import { u as J } from "./useBreakpoint.1txsny17.js";
7
+ import { u as K } from "./useIsomorphicLayoutEffect.CnJ9AMFS.js";
8
+ import "./index.D-sRdssb.js";
9
+ import { Asterisk as Re } from "../asterisk.B2ih8VwF.js";
10
+ import { D as Q } from "./Button.Cn5yg7dG.js";
11
+ import { M as k, a as P } from "./Input.utils.CL1u4Ctq.js";
12
+ import { D as Ee } from "./Popover.D7McfVaH.js";
13
+ import { D as We } from "./SystemFeedback.CjlARKki.js";
14
+ import { g as f } from "./helpers.CexwVao7.js";
15
+ import '../assets/InputNumber.z_UqRYdv.css';const ke = "ds-input-number_input_1nvt0_1", Pe = "ds-input-number_input--small_1nvt0_9", Ce = "ds-input-number_input--invalid_1nvt0_121", Ve = "ds-input-number_input--has-affix_1nvt0_197", $e = "ds-input-number_input--is-ready_1nvt0_211", He = "ds-input-number_root_1nvt0_222", Fe = "ds-input-number_hint_1nvt0_222", Te = "ds-input-number_label-wrapper_1nvt0_222", Me = "ds-input-number_wrapper_1nvt0_226", Xe = "ds-input-number_affix_1nvt0_232", je = "ds-input-number_affix--small_1nvt0_253", qe = "ds-input-number_prefix_1nvt0_266", Ue = "ds-input-number_suffix_1nvt0_272", Ge = "ds-input-number_affix--disabled_1nvt0_278", Oe = "ds-input-number_affix--readonly_1nvt0_289", Je = "ds-input-number_action-button_1nvt0_325", Ke = "ds-input-number_label_1nvt0_222", Qe = "ds-input-number_label--disabled_1nvt0_344", Ye = "ds-input-number_label-wrapper--hidden_1nvt0_356", Ze = "ds-input-number_feedback_1nvt0_384", ze = "ds-input-number_second-action-button_1nvt0_397", et = "ds-input-number_value-announcer_1nvt0_401", e = {
16
+ input: ke,
17
+ inputSmall: Pe,
18
+ inputInvalid: Ce,
19
+ inputHasAffix: Ve,
20
+ inputIsReady: $e,
21
+ root: He,
22
+ hint: Fe,
23
+ labelWrapper: Te,
24
+ wrapper: Me,
25
+ affix: Xe,
26
+ affixSmall: je,
27
+ prefix: qe,
28
+ suffix: Ue,
29
+ affixDisabled: Ge,
30
+ affixReadonly: Oe,
31
+ actionButton: Je,
32
+ label: Ke,
33
+ labelDisabled: Qe,
34
+ labelWrapperHidden: Ye,
35
+ feedback: Ze,
36
+ secondActionButton: ze,
37
+ valueAnnouncer: et
38
+ }, Y = (n) => n != null && n !== "", tt = ({
39
+ id: n,
40
+ label: b,
41
+ prefix: _,
42
+ suffix: h,
43
+ hideLabel: s,
44
+ popoverContent: x
45
+ }) => {
46
+ if (!n)
47
+ throw new Error(f("DSInputNumber", 'A unique "id" prop is required. Please add a unique "id" prop to the DSInputNumber component.'));
48
+ if (!b)
49
+ throw new Error(f("DSInputNumber", `A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputNumber component. If you don't want to display a label, set hideLabel={true}.`));
50
+ _ && _.length > k && console.warn(f("DSInputNumber", `Prefix length must not exceed ${k} characters.`)), h && h.length > P && console.warn(f("DSInputNumber", `Suffix length must not exceed ${P} characters.`)), s && x && console.warn(f("DSInputNumber", "Using a popover when hideLabel is set to true is not supported."));
51
+ }, nt = Be(({
52
+ id: n,
53
+ label: b,
54
+ announcementText: _ = "Value changed to",
55
+ className: h,
56
+ disabled: s = !1,
57
+ decreaseAmountButtonProps: x,
58
+ hint: y,
59
+ hideLabel: C = !1,
60
+ invalid: v = !1,
61
+ increaseAmountButtonProps: Z,
62
+ prefix: u,
63
+ max: V = 100,
64
+ min: $ = 0,
65
+ popoverContent: D,
66
+ popoverInfoButtonProps: z,
67
+ readonly: l = !1,
68
+ required: H = !1,
69
+ size: i = "medium",
70
+ step: ee = 1,
71
+ suffix: c,
72
+ systemFeedback: A,
73
+ value: S,
74
+ onChange: F,
75
+ ...te
76
+ }, I) => {
77
+ process.env.NODE_ENV !== "production" && tt({
78
+ id: n,
79
+ label: b,
80
+ prefix: u,
81
+ suffix: c,
82
+ hideLabel: J(C),
83
+ popoverContent: D
84
+ });
85
+ const {
86
+ label: ne = "Decrease",
87
+ tooltip: ae,
88
+ ...se
89
+ } = x || {}, {
90
+ label: oe = "Increase",
91
+ tooltip: re,
92
+ ...ie
93
+ } = Z || {}, [ue, le] = m(!1), [p, g] = m(S), [w, T] = m(""), [ce, pe] = m(!1), [de, me] = m({}), o = E(null), fe = (t) => {
94
+ o.current = t, typeof I == "function" ? I(t) : I && (I.current = t);
95
+ }, be = u?.substring(0, k), B = E(null), _e = c?.substring(0, P), L = E(null), M = J(C);
96
+ W(() => {
97
+ g(S);
98
+ }, [S]), W(() => {
99
+ if (w) {
100
+ const t = setTimeout(() => {
101
+ T("");
102
+ }, 3e3);
103
+ return () => clearTimeout(t);
104
+ }
105
+ }, [w]), W(() => {
106
+ const t = (d) => {
107
+ d.preventDefault();
108
+ };
109
+ return o.current?.addEventListener("wheel", t, {
110
+ // The { passive: false } option is used to indicate that the event listener wants to cancel the event, allowing preventDefault to work as expected.
111
+ passive: !1
112
+ }), () => {
113
+ o.current?.removeEventListener("wheel", t);
114
+ };
115
+ }, []), K(() => {
116
+ const t = i === "medium" ? 16 : 8, d = {};
117
+ if (B.current) {
118
+ const R = B.current.offsetWidth;
119
+ d.paddingInlineStart = t + R + "px";
120
+ }
121
+ if (L.current) {
122
+ const R = L.current.offsetWidth;
123
+ d.paddingInlineEnd = t + R + "px";
124
+ }
125
+ me(d), le(!0);
126
+ }, [u, c, i, ce]), K(() => {
127
+ Le && (async () => {
128
+ "fonts" in document && (await document.fonts.load('1em "STIHL Contraface Digital Text Regular"'), pe(!0));
129
+ })();
130
+ }, []);
131
+ const X = r(e.affix, {
132
+ [e.affixSmall]: i === "small",
133
+ [e.affixDisabled]: s,
134
+ [e.affixReadonly]: l
135
+ }), j = `${n}-label`, q = `${n}-feedback`, U = `${n}-hint`, G = `${n}-value-announcer`, he = y ? ` ${U}` : "", ve = r(e.root, h), Ie = r(e.input, {
136
+ // small input
137
+ [e.inputSmall]: i === "small",
138
+ // invalid state
139
+ [e.inputInvalid]: v,
140
+ // prefix/suffix
141
+ [e.inputHasAffix]: u || c,
142
+ [e.inputIsReady]: ue
143
+ }), Ne = r(e.label, {
144
+ [e.labelDisabled]: s
145
+ }), xe = r(e.labelWrapper, {
146
+ // hide label only visually to keep them available for assistive technologies
147
+ [e.labelWrapperHidden]: M
148
+ }), ye = r(e.secondActionButton, {
149
+ [e.secondActionButtonSmall]: i === "small"
150
+ }), De = r(e.actionButton, {
151
+ [e.actionButtonSmall]: i === "small"
152
+ }), Ae = () => {
153
+ const t = [G];
154
+ return v && A && t.push(q), t.join(" ");
155
+ }, O = () => {
156
+ if (o.current) {
157
+ g(o.current.value);
158
+ const t = new Event("change", {
159
+ bubbles: !0
160
+ });
161
+ o.current?.dispatchEvent(t), T(`${_} ${o.current.value}`);
162
+ }
163
+ }, Se = () => {
164
+ o.current?.stepDown(), O();
165
+ }, ge = () => {
166
+ o.current?.stepUp(), O();
167
+ }, we = (t) => {
168
+ g(t.target.value), F && F(t);
169
+ };
170
+ return /* @__PURE__ */ N("div", { className: ve, children: [
171
+ /* @__PURE__ */ N("div", { className: xe, children: [
172
+ /* @__PURE__ */ N("label", { className: Ne, id: j, htmlFor: n, children: [
173
+ b,
174
+ H && /* @__PURE__ */ a(Re, {})
175
+ ] }),
176
+ D && !M && /* @__PURE__ */ a(Ee, { placement: "top", defaultAnchorButtonProps: z, children: D })
177
+ ] }),
178
+ y && /* @__PURE__ */ a("div", { className: e.hint, id: U, children: y }),
179
+ /* @__PURE__ */ a(
180
+ "div",
181
+ {
182
+ "aria-live": "polite",
183
+ "aria-atomic": "true",
184
+ className: e.valueAnnouncer,
185
+ id: G,
186
+ children: w
187
+ }
188
+ ),
189
+ /* @__PURE__ */ N("div", { className: e.wrapper, children: [
190
+ u && /* @__PURE__ */ a(
191
+ "span",
192
+ {
193
+ className: r(X, e.prefix),
194
+ ref: B,
195
+ "aria-disabled": s,
196
+ children: be
197
+ }
198
+ ),
199
+ /* @__PURE__ */ a(
200
+ "input",
201
+ {
202
+ className: Ie,
203
+ id: n,
204
+ ...te,
205
+ style: de,
206
+ ref: fe,
207
+ "aria-labelledby": `${j}${he}`,
208
+ "aria-describedby": Ae(),
209
+ "aria-invalid": v,
210
+ "aria-disabled": l,
211
+ disabled: s,
212
+ min: $,
213
+ max: V,
214
+ readOnly: l,
215
+ required: H,
216
+ step: ee,
217
+ type: "number",
218
+ value: p,
219
+ onChange: we
220
+ }
221
+ ),
222
+ c && /* @__PURE__ */ a(
223
+ "span",
224
+ {
225
+ className: r(X, e.suffix),
226
+ ref: L,
227
+ "aria-disabled": s,
228
+ children: _e
229
+ }
230
+ ),
231
+ /* @__PURE__ */ a(Q, { ...se, hideLabel: !0, theme: "light", iconName: "minus", variant: "filled", className: ye, size: i, onClick: Se, tooltip: ae, disabled: s || l || Y(p) && Number(p) <= Number($), type: "button", children: ne }),
232
+ /* @__PURE__ */ a(Q, { ...ie, hideLabel: !0, theme: "light", iconName: "plus", variant: "filled", tooltip: re, className: De, size: i, onClick: ge, disabled: s || l || Y(p) && Number(p) >= Number(V), type: "button", children: oe })
233
+ ] }),
234
+ v && A && /* @__PURE__ */ a(We, { className: e.feedback, message: A, variant: "error", id: q })
235
+ ] });
236
+ });
237
+ nt.displayName = "DSInputNumber";
238
+ export {
239
+ nt as D,
240
+ Y as i,
241
+ tt as v
242
+ };
@@ -0,0 +1,121 @@
1
+ "use client";
2
+ import { jsxs as i, jsx as t } from "react/jsx-runtime";
3
+ import { c as e } from "./index.DL9mof6u.js";
4
+ import { forwardRef as F, useState as M, useRef as U } from "react";
5
+ import { u as I } from "./useBreakpoint.1txsny17.js";
6
+ import { Asterisk as G } from "../asterisk.B2ih8VwF.js";
7
+ import { D as J } from "./Button.Cn5yg7dG.js";
8
+ import { D as K } from "./Popover.D7McfVaH.js";
9
+ import { D as Q } from "./SystemFeedback.CjlARKki.js";
10
+ import { g as f } from "./helpers.CexwVao7.js";
11
+ import "./index.D-sRdssb.js";
12
+ import '../assets/InputPassword.DZENjxJ9.css';const X = "ds-input-password_input_l2ovg_1", Y = "ds-input-password_input--small_l2ovg_9", Z = "ds-input-password_input--invalid_l2ovg_121", z = "ds-input-password_input--has-action-button_l2ovg_182", ss = "ds-input-password_root_l2ovg_218", as = "ds-input-password_hint_l2ovg_218", ts = "ds-input-password_label-wrapper_l2ovg_218", os = "ds-input-password_wrapper_l2ovg_222", es = "ds-input-password_action-button_l2ovg_228", ns = "ds-input-password_label_l2ovg_218", rs = "ds-input-password_label--disabled_l2ovg_247", ls = "ds-input-password_label-wrapper--hidden_l2ovg_259", is = "ds-input-password_feedback_l2ovg_287", s = {
13
+ input: X,
14
+ inputSmall: Y,
15
+ inputInvalid: Z,
16
+ inputHasActionButton: z,
17
+ root: ss,
18
+ hint: as,
19
+ labelWrapper: ts,
20
+ wrapper: os,
21
+ actionButton: es,
22
+ label: ns,
23
+ labelDisabled: rs,
24
+ labelWrapperHidden: ls,
25
+ feedback: is
26
+ }, ps = ({
27
+ id: a,
28
+ label: n,
29
+ hideLabel: p,
30
+ popoverContent: d
31
+ }) => {
32
+ if (!a)
33
+ throw new Error(f("DSInputPassword", 'A unique "id" prop is required. Please add a unique "id" prop to the DSInputPassword component.'));
34
+ if (!n)
35
+ throw new Error(f("DSInputPassword", `A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputPassword component. If you don't want to display a label, set hideLabel={true}.`));
36
+ p && d && console.warn(f("DSInputPassword", "Using a popover when hideLabel is set to true is not supported."));
37
+ }, ds = F(({
38
+ id: a,
39
+ label: n,
40
+ autoComplete: p = "new-password",
41
+ className: d,
42
+ disabled: c = !1,
43
+ hint: u,
44
+ hideLabel: h = !1,
45
+ invalid: r = !1,
46
+ popoverContent: w,
47
+ popoverInfoButtonProps: B,
48
+ readonly: v = !1,
49
+ required: g = !1,
50
+ togglePasswordVisibilityButtonProps: N,
51
+ size: b = "medium",
52
+ systemFeedback: m,
53
+ ...k
54
+ }, l) => {
55
+ process.env.NODE_ENV !== "production" && ps({
56
+ id: a,
57
+ label: n,
58
+ hideLabel: I(h),
59
+ popoverContent: w
60
+ });
61
+ const {
62
+ hidePasswordText: H = "Hide password",
63
+ showPasswordText: A = "Show password",
64
+ ...W
65
+ } = N || {}, [_, x] = M(!1), P = `${a}-label`, D = `${a}-feedback`, S = `${a}-hint`, L = u ? ` ${S}` : "", $ = [r && m && D].filter(Boolean).join(" ") || void 0, y = I(h), C = e(s.root, d), E = e(s.input, {
66
+ // small input
67
+ [s.inputSmall]: b === "small",
68
+ // invalid state
69
+ [s.inputInvalid]: r,
70
+ // action button - input password always has an action button
71
+ [s.inputHasActionButton]: !0
72
+ }), R = e(s.label, {
73
+ [s.labelDisabled]: c
74
+ }), T = e(s.labelWrapper, {
75
+ // hide label only visually to keep them available for assistive technologies
76
+ [s.labelWrapperHidden]: y
77
+ }), V = e(s.actionButton, {
78
+ [s.actionButtonSmall]: b === "small"
79
+ }), j = U(null), q = (o) => {
80
+ j.current = o, typeof l == "function" ? l(o) : l && (l.current = o);
81
+ }, O = () => {
82
+ x((o) => !o);
83
+ };
84
+ return /* @__PURE__ */ i("div", { className: C, children: [
85
+ /* @__PURE__ */ i("div", { className: T, children: [
86
+ /* @__PURE__ */ i("label", { className: R, id: P, htmlFor: a, children: [
87
+ n,
88
+ g && /* @__PURE__ */ t(G, {})
89
+ ] }),
90
+ w && !y && /* @__PURE__ */ t(K, { placement: "top", defaultAnchorButtonProps: B, children: w })
91
+ ] }),
92
+ u && /* @__PURE__ */ t("div", { className: s.hint, id: S, children: u }),
93
+ /* @__PURE__ */ i("div", { className: s.wrapper, children: [
94
+ /* @__PURE__ */ t(
95
+ "input",
96
+ {
97
+ className: E,
98
+ id: a,
99
+ ...k,
100
+ ref: q,
101
+ "aria-labelledby": `${P}${L}`,
102
+ "aria-describedby": $,
103
+ "aria-invalid": r,
104
+ "aria-disabled": v,
105
+ readOnly: v,
106
+ required: g,
107
+ disabled: c,
108
+ autoComplete: p,
109
+ type: _ ? "text" : "password"
110
+ }
111
+ ),
112
+ /* @__PURE__ */ t(J, { ...W, hideLabel: !0, theme: "light", iconName: _ ? "eye-closed" : "eye", variant: "ghost", className: V, size: b, onClick: O, type: "button", disabled: c, children: _ ? H : A })
113
+ ] }),
114
+ r && m && /* @__PURE__ */ t(Q, { className: s.feedback, message: m, variant: "error", id: D })
115
+ ] });
116
+ });
117
+ ds.displayName = "DSInputPassword";
118
+ export {
119
+ ds as D,
120
+ ps as v
121
+ };