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

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 (251) hide show
  1. package/accordion.Dmqocj97.js +12 -0
  2. package/actionbutton.DLQJU6AV.js +12 -0
  3. package/actionlink.DEBrWfN3.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.C8sNwIeW.css +1 -0
  7. package/assets/Checkbox.CyOw3rXI.css +1 -0
  8. package/assets/CustomReactSelect.E_jJFVew.css +1 -0
  9. package/assets/Dialog.DJkn65Es.css +1 -0
  10. package/assets/Drawer.x3BCQvWE.css +1 -0
  11. package/assets/InputFile.BnIvK65P.css +1 -0
  12. package/assets/InputNumber.BoiCIR1f.css +1 -0
  13. package/assets/InputPassword.Dk3_vNLV.css +1 -0
  14. package/assets/InputSearch.C1_4cVCi.css +1 -0
  15. package/assets/LinkButton.B86yacK5.css +1 -0
  16. package/assets/{MegaMenu.DX9gChtY.css → MegaMenu.D5EtjFeL.css} +1 -1
  17. package/assets/Notification.CvohYEvT.css +1 -0
  18. package/assets/Select.COxLltX7.css +1 -0
  19. package/assets/Slider.DPEmJ3HD.css +1 -0
  20. package/assets/Stepper.tXJl15yL.css +1 -0
  21. package/assets/{SystemFeedback.RcrPepSZ.css → SystemFeedback.PKzqnXUe.css} +1 -1
  22. package/assets/Textarea.y3MW7VW0.css +1 -0
  23. package/assets/Toast.CGyKXb4V.css +1 -0
  24. package/assets/buttonround.BN3vUDc_.css +1 -0
  25. package/assets/input.DTu4g_iA.css +1 -0
  26. package/assets/step.BeLporJO.css +1 -0
  27. package/assets/switch.B9B-n_3y.css +1 -0
  28. package/{asterisk.CR60hx8S.js → asterisk.B2ih8VwF.js} +1 -1
  29. package/{banner.o4Etkjjo.js → banner.CI5HnDqD.js} +3 -3
  30. package/breadcrumb.CtwAux3P.js +11 -0
  31. package/button.DHuKanZP.js +13 -0
  32. package/{buttonround.ChKWHzsv.js → buttonround.CMlmEDaN.js} +6 -6
  33. package/checkbox.DwccD0Mp.js +12 -0
  34. package/checkboxgroup.ZiUFfCJ1.js +9 -0
  35. package/chip.B0s_fS8L.js +12 -0
  36. package/chipgroup.Dpu66bo5.js +143 -0
  37. package/chunks/Accordion.CYIfNOWr.js +168 -0
  38. package/chunks/{ActionButton.DdDesD7K.js → ActionButton.DOYsEHPr.js} +37 -37
  39. package/chunks/{ActionLink.DqAsPYda.js → ActionLink.DbyciN3Y.js} +36 -36
  40. package/chunks/{AriaLiveRegions.utils.Cb327d_2.js → AriaLiveRegions.utils.CybNIBSa.js} +2 -2
  41. package/chunks/{Breadcrumb.9KinNuyQ.js → Breadcrumb.BgnpTo01.js} +35 -37
  42. package/chunks/{Button.Cf1CKq8N.js → Button.DCZgBNmA.js} +8 -8
  43. package/chunks/Checkbox.BcGXAuuP.js +88 -0
  44. package/chunks/{CheckboxGroup.Cj68J6Ee.js → CheckboxGroup.BuFd1luB.js} +5 -5
  45. package/chunks/{Chip.BrbYu6i_.js → Chip.D6pubCZV.js} +6 -6
  46. package/chunks/{CustomReactSelect.Cqq70QC0.js → CustomReactSelect.Dg3wC_VH.js} +450 -447
  47. package/chunks/Dialog.DpqSVrYR.js +102 -0
  48. package/chunks/Drawer.DISWybOa.js +107 -0
  49. package/chunks/{Fieldset.D7cLR5ze.js → Fieldset.DiMtr6Vw.js} +6 -6
  50. package/chunks/Header.7TQL_J9t.js +370 -0
  51. package/chunks/{Icon.NSsVrYeq.js → Icon.CDLyB7Pv.js} +77 -79
  52. package/chunks/{Input.utils.Cnnzvuk4.js → Input.utils.Dkw7gRrr.js} +17 -17
  53. package/chunks/InputFile.C8nt9Fu8.js +218 -0
  54. package/chunks/InputNumber.CbH1XJfl.js +267 -0
  55. package/chunks/{InputPassword.Da3hEKTc.js → InputPassword.DbdjuSiJ.js} +34 -34
  56. package/chunks/InputSearch.joxmugiv.js +173 -0
  57. package/chunks/{LinkButton.59oNDwPU.js → LinkButton.BZgIGgc8.js} +7 -7
  58. package/chunks/MegaMenu.CQbOeaib.js +189 -0
  59. package/chunks/NavigationTabList.G_l0GiUa.js +67 -0
  60. package/chunks/{NavigationTabs.DspPFHPh.js → NavigationTabs.BwM-6CRm.js} +13 -14
  61. package/chunks/Notification.CrojkJ0E.js +91 -0
  62. package/chunks/Popover.Bb0Pjmvg.js +215 -0
  63. package/chunks/{RadioGroup.DeTz3c19.js → RadioGroup.CexC4v2Z.js} +5 -5
  64. package/chunks/Select.BEIdNMML.js +164 -0
  65. package/chunks/{Slider.84lkgq3W.js → Slider.CR0zYHeZ.js} +83 -84
  66. package/chunks/Stepper.PTQdQBYf.js +152 -0
  67. package/chunks/{SystemFeedback.CyGbUCzT.js → SystemFeedback.CjlARKki.js} +9 -9
  68. package/chunks/Tabs.DyP4whX0.js +83 -0
  69. package/chunks/{Text.DGWeWF1y.js → Text.DpRtTpB4.js} +3 -3
  70. package/chunks/Textarea.Du2RII5u.js +168 -0
  71. package/chunks/Toast.ug_RjGgF.js +76 -0
  72. package/chunks/{arrow-clockwise.BefOjGPg.js → arrow-clockwise.C4iOgjOc.js} +1 -1
  73. package/chunks/{arrow-counterclockwise.C7Ov32BZ.js → arrow-counterclockwise.CgQAuBUe.js} +1 -1
  74. package/chunks/{circle-check-colored.Bye_GwLy.js → circle-check-colored.qP2s3vjI.js} +1 -1
  75. package/chunks/{diamond-exclamationmark-colored.WNKYwZ8q.js → diamond-exclamationmark-colored.CzYiaTZ0.js} +1 -1
  76. package/chunks/feather.l1E4nFBx.js +10 -0
  77. package/chunks/file-type-doc.B_RSSYbu.js +10 -0
  78. package/chunks/floating-ui.dom.BT8pKtCQ.js +1005 -0
  79. package/chunks/floating-ui.react.3FjeMiuN.js +1999 -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.BzR_yaIv.js +42 -0
  92. package/chunks/variants.-R3_RCW8.js +10 -0
  93. package/chunks/weight.DUPu2UT0.js +10 -0
  94. package/combobox.jG5GRA7C.js +65 -0
  95. package/components/ChipGroup/ChipGroup.utils.d.ts +1 -3
  96. package/components/Combobox/Combobox.utils.d.ts +3 -4
  97. package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +4 -2
  98. package/components/{InputStepper/InputStepper.d.ts → InputNumber/InputNumber.d.ts} +4 -4
  99. package/components/InputNumber/InputNumber.utils.d.ts +13 -0
  100. package/components/Scroller/Scroller.d.ts +6 -2
  101. package/components/Stepper/Step.d.ts +33 -0
  102. package/components/Stepper/Step.utils.d.ts +5 -0
  103. package/components/Stepper/Stepper.d.ts +56 -0
  104. package/components/Stepper/Stepper.test.d.ts +1 -0
  105. package/components/Stepper/Stepper.utils.d.ts +30 -0
  106. package/components/Stepper/Stepper.utils.test.d.ts +1 -0
  107. package/customreactselect.BFN8cYJi.js +14 -0
  108. package/dialog.CzM_Cxp0.js +9 -0
  109. package/drawer._A9MQ8Cj.js +9 -0
  110. package/fieldset.CId-NtI5.js +11 -0
  111. package/{filelist.BiKMKCyg.js → filelist.DgVuWpR3.js} +23 -24
  112. package/{flag.72PONA83.js → flag.CE32qHPa.js} +3 -3
  113. package/{floatingactionbutton.B2YChsNU.js → floatingactionbutton.Bsnncudt.js} +5 -5
  114. package/header.CelAkqtp.js +12 -0
  115. package/{heading.BXFBZhKv.js → heading.DHLpT4dc.js} +2 -2
  116. package/icon.vzkPwgjZ.js +9 -0
  117. package/index.d.ts +4 -2
  118. package/index.es.js +218 -206
  119. package/input.DuEbg7d6.js +206 -0
  120. package/inputfile.BjgJGefV.js +17 -0
  121. package/inputnumber.BcrxBVv0.js +16 -0
  122. package/inputnumber.d.ts +2 -0
  123. package/inputpassword.CddmBW-T.js +13 -0
  124. package/inputsearch.CFOASqrd.js +14 -0
  125. package/{link.DbnvsD3j.js → link.f8MMZo-w.js} +5 -5
  126. package/linkbutton.BYAvi-_V.js +12 -0
  127. package/{logo.C96KaG1P.js → logo.DprmD8HU.js} +3 -3
  128. package/{logo100years.BcB6_c-o.js → logo100years.B4d_DIiB.js} +1 -1
  129. package/megamenu.Cy9Cc-mC.js +12 -0
  130. package/navigationtablist.CkkLyHrM.js +10 -0
  131. package/navigationtabs.Dp7D2fnc.js +9 -0
  132. package/notification.B-norGiB.js +10 -0
  133. package/{numberindicator.Ddf3ESi7.js → numberindicator.BdnPMogE.js} +2 -2
  134. package/{optioncheckbox.DqfXuPdi.js → optioncheckbox.nBVwGv6c.js} +3 -3
  135. package/package.json +41 -50
  136. package/partials/index.js +56 -50
  137. package/partials/lib/partials.d.ts +1 -1
  138. package/popover.DFVDZY-m.js +12 -0
  139. package/{radio.7_N_alaS.js → radio.DHUfSPai.js} +2 -2
  140. package/radiogroup.DaThoMfq.js +11 -0
  141. package/scroller.Cu7H_VCT.js +98 -0
  142. package/select.CMdKf7tC.js +13 -0
  143. package/{skiptocontent.BSCde5hT.js → skiptocontent.CHVh0hbr.js} +4 -4
  144. package/slider.C5dK6KcG.js +11 -0
  145. package/{spinner.BUjhjAvw.js → spinner.C9qCeq0R.js} +18 -18
  146. package/step.DKf4CHGr.js +82 -0
  147. package/step.d.ts +6 -0
  148. package/stepper.CCP_igpJ.js +16 -0
  149. package/stepper.d.ts +2 -0
  150. package/{switch.D7BCfyyZ.js → switch.Bqdyzi2E.js} +5 -5
  151. package/systemfeedback.O7tj1juR.js +10 -0
  152. package/tablist.DZgo49nZ.js +209 -0
  153. package/{tabpane.CB-eudyw.js → tabpane.C4nsUlwc.js} +2 -2
  154. package/tabs.BkoT7feH.js +11 -0
  155. package/text.cLv2PhjQ.js +10 -0
  156. package/textarea.DMn20z4p.js +13 -0
  157. package/{title.Bz_k5Vda.js → title.DuLPB-VK.js} +2 -2
  158. package/toast.Dvs8woTH.js +11 -0
  159. package/toastmanager.pi_Fhd5t.js +89 -0
  160. package/tooltip.QJe_bfO-.js +178 -0
  161. package/topbar.Bxwvp9Lf.js +12 -0
  162. package/types/icon-types.d.ts +1 -1
  163. package/utils/index.d.ts +1 -0
  164. package/utils/mergeRefs.d.ts +5 -0
  165. package/utils/mergeRefs.test.d.ts +1 -0
  166. package/accordion.HfUSDwQJ.js +0 -12
  167. package/actionbutton.kgd0E_xF.js +0 -12
  168. package/actionlink.CwC42RWc.js +0 -12
  169. package/assets/Accordion.BJb4TOG0.css +0 -1
  170. package/assets/Button.Dw8H5nFS.css +0 -1
  171. package/assets/Checkbox.BKHQN_tu.css +0 -1
  172. package/assets/CustomReactSelect.DGIItWIh.css +0 -1
  173. package/assets/Dialog.CGAg7bnN.css +0 -1
  174. package/assets/Drawer.VOvWQoEr.css +0 -1
  175. package/assets/InputFile.CCQxsulT.css +0 -1
  176. package/assets/InputPassword.124xVOiO.css +0 -1
  177. package/assets/InputSearch.Bkg-1urJ.css +0 -1
  178. package/assets/InputStepper.DvFJk1Mi.css +0 -1
  179. package/assets/LinkButton.xMvg_ojf.css +0 -1
  180. package/assets/Notification.BOuaA5GT.css +0 -1
  181. package/assets/Select.C1gWF32A.css +0 -1
  182. package/assets/Slider.Bidyhb-B.css +0 -1
  183. package/assets/Textarea.Dq4rH9Tg.css +0 -1
  184. package/assets/Toast.CJ1zhDIT.css +0 -1
  185. package/assets/buttonround.Cw9hnUan.css +0 -1
  186. package/assets/input.CUjGh-UM.css +0 -1
  187. package/assets/switch.Bc9KIyw9.css +0 -1
  188. package/breadcrumb.BsQm0kUD.js +0 -11
  189. package/button.Dyy6ajX6.js +0 -13
  190. package/checkbox.BNnp4ztM.js +0 -12
  191. package/checkboxgroup.BTVnKenc.js +0 -9
  192. package/chip.C7NstOHt.js +0 -12
  193. package/chipgroup.Zo1-IOCn.js +0 -210
  194. package/chunks/Accordion.CnqryAUu.js +0 -170
  195. package/chunks/Checkbox.CiwriItT.js +0 -88
  196. package/chunks/Dialog.Bv7k55He.js +0 -135
  197. package/chunks/Drawer.BVTvx276.js +0 -140
  198. package/chunks/Header.um5MlziB.js +0 -377
  199. package/chunks/InputFile.bVWWdePn.js +0 -220
  200. package/chunks/InputSearch.GOYqFCcZ.js +0 -174
  201. package/chunks/InputStepper.BuhPtfl-.js +0 -268
  202. package/chunks/MegaMenu._o3nNDAa.js +0 -192
  203. package/chunks/NavigationTabList.DuT7gzhj.js +0 -57
  204. package/chunks/Notification.Pts2oh0R.js +0 -92
  205. package/chunks/Popover.BRR8YZ-P.js +0 -228
  206. package/chunks/Select.D2ehd4yN.js +0 -162
  207. package/chunks/Tabs.C8ADTzJ0.js +0 -83
  208. package/chunks/Textarea.Cw85sxHL.js +0 -163
  209. package/chunks/Toast.DG3WVvau.js +0 -76
  210. package/chunks/file-type-doc.DlovDOBh.js +0 -10
  211. package/chunks/floating-ui.dom.VgHc0h4l.js +0 -989
  212. package/chunks/floating-ui.react.DCyAzlZ4.js +0 -2011
  213. package/chunks/helpers.BbWkXTr3.js +0 -37
  214. package/chunks/petrol.Du6qAgp0.js +0 -10
  215. package/chunks/upload.ZImTAIgx.js +0 -10
  216. package/chunks/useBreakpoint.CMOR9ZOB.js +0 -44
  217. package/combobox.orZ3z8CB.js +0 -60
  218. package/components/InputStepper/InputStepper.utils.d.ts +0 -13
  219. package/customreactselect.Np-RpzvU.js +0 -14
  220. package/dialog.D4rcbW6A.js +0 -10
  221. package/drawer.BCCB3Rkj.js +0 -10
  222. package/fieldset.ZLs9IGpE.js +0 -11
  223. package/header.DUbn3BZt.js +0 -12
  224. package/icon.CHVAZr5T.js +0 -9
  225. package/input.DG20x6gh.js +0 -203
  226. package/inputfile.Dc56lQ4t.js +0 -17
  227. package/inputpassword.znFHRLsI.js +0 -13
  228. package/inputsearch.B1G6rfVk.js +0 -14
  229. package/inputstepper.d.ts +0 -2
  230. package/inputstepper.o6rdM_CW.js +0 -16
  231. package/linkbutton.DU8Ih8ZF.js +0 -12
  232. package/megamenu.CPH8EeFF.js +0 -12
  233. package/navigationtablist.C0iwsAad.js +0 -9
  234. package/navigationtabs.JjJtbuUe.js +0 -9
  235. package/notification.Ds_Q7ifk.js +0 -10
  236. package/popover.B72W0OvU.js +0 -12
  237. package/radiogroup.C_3IcNBq.js +0 -11
  238. package/scroller.CQxmQU6U.js +0 -123
  239. package/select.Ceyt-zvu.js +0 -13
  240. package/slider.Dq2dcziy.js +0 -11
  241. package/systemfeedback.CSdWOWuf.js +0 -10
  242. package/tablist.V7DBklhE.js +0 -256
  243. package/tabs.DQNLPAEN.js +0 -11
  244. package/text.ZOUuesnU.js +0 -10
  245. package/textarea.CixKeQBp.js +0 -13
  246. package/toast.D8QprMCa.js +0 -11
  247. package/toastmanager.BSVjYsg9.js +0 -116
  248. package/tooltip.CUCSRXd3.js +0 -191
  249. package/topbar.CVhJy-Br.js +0 -12
  250. /package/components/{InputStepper/InputStepper.test.d.ts → InputNumber/InputNumber.test.d.ts} +0 -0
  251. /package/components/{InputStepper/InputStepper.utils.test.d.ts → InputNumber/InputNumberutils.test.d.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import l from "react";
3
+ const f = (e) => typeof e != "number" || isNaN(e) ? 0 : e / 16, m = (e, t) => `[STIHL Design System] - [${e}]: ${t}`, d = (e, t) => `The "${e}" prop is required. Please add the "${e}" prop to the ${t} component.`, y = (e, t) => e?.closest(t), u = (e, t, a) => {
4
+ let r = !1;
5
+ const n = {
6
+ fn: t,
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- any is needed here to allow any React component type to be checked
8
+ displayName: t.displayName || t.name
9
+ };
10
+ return l.Children.forEach(e, (s) => {
11
+ if (r || !l.isValidElement(s))
12
+ return;
13
+ if (s.type === n.fn) {
14
+ r = !0;
15
+ return;
16
+ }
17
+ const i = s.type, o = (
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- any is needed here to allow any React component type to be checked
19
+ i.displayName || i.name
20
+ );
21
+ if (typeof o == "string" && o === n.displayName) {
22
+ r = !0;
23
+ return;
24
+ }
25
+ const p = s.props;
26
+ if (a && p.children && u(p.children, n.fn, a)) {
27
+ r = !0;
28
+ return;
29
+ }
30
+ }), r;
31
+ };
32
+ export {
33
+ y as a,
34
+ u as c,
35
+ m as g,
36
+ f as p,
37
+ d as r
38
+ };
@@ -147,7 +147,7 @@ function ee() {
147
147
  }
148
148
  function Y(e, r) {
149
149
  const i = p.get(e);
150
- i != null && i.delete(r);
150
+ i?.delete(r);
151
151
  }
152
152
  function Z(e) {
153
153
  const r = w(null);
@@ -10,7 +10,7 @@ var o = { exports: {} };
10
10
  */
11
11
  var i;
12
12
  function p() {
13
- return i || (i = 1, function(e) {
13
+ return i || (i = 1, (function(e) {
14
14
  (function() {
15
15
  var u = {}.hasOwnProperty;
16
16
  function s() {
@@ -39,7 +39,7 @@ function p() {
39
39
  }
40
40
  e.exports ? (s.default = s, e.exports = s) : window.classNames = s;
41
41
  })();
42
- }(o)), o.exports;
42
+ })(o)), o.exports;
43
43
  }
44
44
  var l = p();
45
45
  const m = /* @__PURE__ */ c(l);
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { h as i } from "./has-window.ut_-aShB.js";
3
- const n = (t) => i && (t == null ? void 0 : t.getBoundingClientRect()) || DOMRect.fromRect({
3
+ const o = (e) => i && e?.getBoundingClientRect() || DOMRect.fromRect({
4
4
  x: 0,
5
5
  y: 0,
6
6
  width: 0,
@@ -8,13 +8,13 @@ const n = (t) => i && (t == null ? void 0 : t.getBoundingClientRect()) || DOMRec
8
8
  }), r = () => {
9
9
  if (i) {
10
10
  const {
11
- matches: t
12
- } = window.matchMedia("(prefers-reduced-motion: reduce)"), e = getComputedStyle(document.documentElement).getPropertyValue("--ds-animation-duration").trim();
13
- return e === "0s" || e === "0ms" || t;
11
+ matches: e
12
+ } = window.matchMedia("(prefers-reduced-motion: reduce)"), t = getComputedStyle(document.documentElement).getPropertyValue("--ds-animation-duration").trim();
13
+ return t === "0s" || t === "0ms" || e;
14
14
  } else
15
15
  return !0;
16
16
  };
17
17
  export {
18
- n as g,
18
+ o as g,
19
19
  r as i
20
20
  };
@@ -4,7 +4,7 @@ const i = ({
4
4
  title: l,
5
5
  titleId: t,
6
6
  ...a
7
- }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 17 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "m5.6.9 4.7 2L16.1.5v12.2l-5.7 2.4-4.7-2L0 15.5V3.3zM2 12.5l2.7-1.2V3.5L2 4.7zm7.3 0-2.7-1.1V3.5l2.7 1.2zm2-.1 2.7-1.1V3.5l-2.7 1.2z", clipRule: "evenodd" }));
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "m5.565.9 4.671 2L16 .5v12.2l-5.665 2.4-4.67-2L0 15.5V3.3zM1.988 12.5l2.683-1.2V3.5L1.988 4.7zm7.254 0L6.56 11.4V3.5l2.683 1.2zm1.988-.1 2.683-1.1V3.5L11.23 4.7z", clipRule: "evenodd" }));
8
8
  export {
9
9
  i as default
10
10
  };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const c = ({
4
+ title: l,
5
+ titleId: a,
6
+ ...t
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": a, ...t }, l ? /* @__PURE__ */ e.createElement("title", { id: a }, l) : null, /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "M3.992 8c0 2.761 2.229 5 4.978 5a4.7 4.7 0 0 0 1.15-.158c-2.403-2.707-2.39-7.042.103-9.683Q9.62 3.002 8.97 3C6.22 3 3.992 5.239 3.992 8m8.125-6.248A6.9 6.9 0 0 0 8.97 1C5.12 1 2 4.134 2 8s3.12 7 6.97 7c.989 0 2.04-.267 2.99-.694A7.9 7.9 0 0 0 14 13a5.2 5.2 0 0 1-1.921-1.031c-2.349-2.015-2.338-5.87.044-7.84A5.2 5.2 0 0 1 14 3.155a7 7 0 0 0-1.883-1.402", clipRule: "evenodd" }));
8
+ export {
9
+ c as default
10
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const c = ({
4
+ title: l,
5
+ titleId: t,
6
+ ...a
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "M0 5.895c3.5-.723 6.5-.723 10 2.68l1-3.216-2-1.097V1.69L10.4 0H14l2 4.262-2 11.628s-3.911.247-6.4 0c-3.018-.3-5.6-1.153-7.6-1.689zm2 6.244v-4.1s2.726-.911 5.6 1.42c.976.792 2.9 2.68 2.9 2.68l2.5-6.78V4.287l-2-1.071V2.144h2l1 2.143V5.36l-1.6 8.842s-4.214-.267-4.4-.267c-3.018 0-6-1.795-6-1.795", clipRule: "evenodd" }));
8
+ export {
9
+ c as default
10
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const n = ({
4
+ title: l,
5
+ titleId: t,
6
+ ...a
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("path", { d: "M4.414 0 1 3.46l1.394 1.413 3.414-3.46zm6.053 6.511 1.38 1.399-1.38 1.398 1.38 1.398-1.38 1.399-1.38-1.399-1.379 1.399-1.38-1.399 1.38-1.398-1.38-1.398 1.38-1.399 1.38 1.399z" }), /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "M3.175 5.712 8.792.02H15V16H3.175zm1.971 8.29h7.883V2.017H9.58L5.146 6.51z", clipRule: "evenodd" }));
8
+ export {
9
+ n as default
10
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const m = ({
4
+ title: l,
5
+ titleId: t,
6
+ ...a
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ e.createElement("path", { d: "M9 16H7v-2.75h2zm-4.005-3.58L3.05 14.364 1.636 12.95l1.944-1.945zm9.369.53-1.414 1.414-1.945-1.945 1.414-1.414z" }), /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "M8 3.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9m0 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5", clipRule: "evenodd" }), /* @__PURE__ */ e.createElement("path", { d: "M2.75 9H0V7h2.75zM16 9h-2.75V7H16zM4.995 3.581 3.581 4.995 1.636 3.051 3.05 1.636zm9.369-.531L12.42 4.995 11.005 3.58l1.945-1.944zM9 2.75H7V0h2z" })));
8
+ export {
9
+ m as default
10
+ };
@@ -4,7 +4,7 @@ const c = ({
4
4
  title: l,
5
5
  titleId: a,
6
6
  ...t
7
- }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": a, ...t }, l ? /* @__PURE__ */ e.createElement("title", { id: a }, l) : null, /* @__PURE__ */ e.createElement("path", { fill: "#FDC543", d: "M8 0 0 16h16z" }), /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "m8.7 11.3.5-4.9H6.8l.5 4.9zm-1.8 2.1c0 .6.5 1.1 1.1 1.1s1.1-.4 1.1-1.1c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1", clipRule: "evenodd" }));
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": a, ...t }, l ? /* @__PURE__ */ e.createElement("title", { id: a }, l) : null, /* @__PURE__ */ e.createElement("path", { fill: "#fdc543", d: "M8 0 0 16h16z" }), /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "m8.7 11.3.5-4.9H6.8l.5 4.9zm-1.8 2.1c0 .6.5 1.1 1.1 1.1s1.1-.4 1.1-1.1c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1", clipRule: "evenodd" }));
8
8
  export {
9
9
  c as default
10
10
  };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const h = ({
4
+ title: l,
5
+ titleId: t,
6
+ ...a
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("path", { d: "M13 5 8 0 3 5l1.5 1.4L7 3.8V10h2V3.8l2.5 2.6z" }), /* @__PURE__ */ e.createElement("path", { d: "M4 8H0v8h16V8h-4v2h2v4H2v-4h2z" }));
8
+ export {
9
+ h as default
10
+ };
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { useState as u, useEffect as c } from "react";
3
+ const o = {
4
+ base: 0,
5
+ s: 320,
6
+ m: 768,
7
+ l: 1024,
8
+ xl: 1536
9
+ }, a = ["base", "s", "m", "l", "xl"], k = (e) => {
10
+ let n = "base";
11
+ for (const t of a)
12
+ if (e >= o[t])
13
+ n = t;
14
+ else
15
+ break;
16
+ return n;
17
+ }, b = (e) => e && typeof e == "object" && "base" in e, f = () => {
18
+ const [e, n] = u("base");
19
+ c(() => (t(), window.addEventListener("resize", t), () => window.removeEventListener("resize", t)), []);
20
+ const t = () => {
21
+ const r = window.innerWidth;
22
+ n(k(r));
23
+ };
24
+ return e;
25
+ }, B = (e) => {
26
+ const n = f();
27
+ if (e && typeof e != "object" || !b(e))
28
+ return e;
29
+ const t = [...a].reverse();
30
+ let r = e.base;
31
+ for (const s of t) {
32
+ const i = e[s];
33
+ if (i !== void 0 && o[n] >= o[s]) {
34
+ r = i;
35
+ break;
36
+ }
37
+ }
38
+ return r;
39
+ };
40
+ export {
41
+ B as u
42
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const h = ({
4
+ title: t,
5
+ titleId: l,
6
+ ...a
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": l, ...a }, t ? /* @__PURE__ */ e.createElement("title", { id: l }, t) : null, /* @__PURE__ */ e.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ e.createElement("path", { fillRule: "evenodd", d: "M10 16H0V6h10zm-8-2h6V8H2z", clipRule: "evenodd" }), /* @__PURE__ */ e.createElement("path", { d: "M13 13h-2V5H3V3h10z" }), /* @__PURE__ */ e.createElement("path", { d: "M16 10h-2V2H6V0h10z" })));
8
+ export {
9
+ h as default
10
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import * as e from "react";
3
+ const c = ({
4
+ title: l,
5
+ titleId: t,
6
+ ...a
7
+ }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "#252525", viewBox: "0 0 16 16", focusable: "false", width: "100%", height: "100%", "aria-labelledby": t, ...a }, l ? /* @__PURE__ */ e.createElement("title", { id: t }, l) : null, /* @__PURE__ */ e.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ e.createElement("path", { d: "m15.614 14.039-1.516-7.767-.256-1.322h-3.678c.481-.525.776-1.23.776-2.001C10.94 1.322 9.64 0 8.04 0S5.143 1.322 5.143 2.949c0 .771.294 1.472.775 2H2.153l-.255 1.323L.38 14.04 0 16h16l-.381-1.961zm-7.573-12.4c.71 0 1.283.587 1.283 1.305 0 .719-.577 1.305-1.283 1.305A1.296 1.296 0 0 1 6.76 2.944c0-.718.576-1.304 1.282-1.304M2.775 14 4 7h8l1.39 7z" })));
8
+ export {
9
+ c as default
10
+ };
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ import { jsx as y } from "react/jsx-runtime";
3
+ import { d as P } from "./chunks/index.D-sRdssb.js";
4
+ import { v as _, c as $ } from "./chunks/CustomReactSelect.Dg3wC_VH.js";
5
+ import { forwardRef as z } from "react";
6
+ const A = z((O, x) => {
7
+ const e = P.c(32);
8
+ let s, a, t, n, d, l, r, o, c, p, i, m, u;
9
+ if (e[0] !== O) {
10
+ const {
11
+ id: h,
12
+ label: q,
13
+ className: L,
14
+ disabled: S,
15
+ dropdownOnFocus: g,
16
+ filterOption: R,
17
+ hideLabel: w,
18
+ invalid: D,
19
+ lang: E,
20
+ required: F,
21
+ tabSelectsValue: M,
22
+ variant: V,
23
+ ...j
24
+ } = O;
25
+ if (l = h, o = q, s = L, n = R, i = j, a = S === void 0 ? !1 : S, t = g === void 0 ? !1 : g, d = w === void 0 ? !1 : w, r = D === void 0 ? !1 : D, c = E === void 0 ? "en" : E, p = F === void 0 ? !1 : F, m = M === void 0 ? !0 : M, u = V === void 0 ? "single" : V, process.env.NODE_ENV !== "production") {
26
+ const {
27
+ options: k
28
+ } = i;
29
+ _({
30
+ id: l,
31
+ label: o,
32
+ options: k
33
+ });
34
+ }
35
+ e[0] = O, e[1] = s, e[2] = a, e[3] = t, e[4] = n, e[5] = d, e[6] = l, e[7] = r, e[8] = o, e[9] = c, e[10] = p, e[11] = i, e[12] = m, e[13] = u;
36
+ } else
37
+ s = e[1], a = e[2], t = e[3], n = e[4], d = e[5], l = e[6], r = e[7], o = e[8], c = e[9], p = e[10], i = e[11], m = e[12], u = e[13];
38
+ const b = u === "multi", C = !t || b;
39
+ let f;
40
+ e[14] !== s || e[15] !== a || e[16] !== t || e[17] !== n || e[18] !== d || e[19] !== l || e[20] !== r || e[21] !== b || e[22] !== o || e[23] !== c || e[24] !== x || e[25] !== p || e[26] !== i || e[27] !== C || e[28] !== m ? (f = {
41
+ id: l,
42
+ label: o,
43
+ className: s,
44
+ disabled: a,
45
+ filterOption: n,
46
+ hideLabel: d,
47
+ isMulti: b,
48
+ invalid: r,
49
+ lang: c,
50
+ openMenuOnClick: t,
51
+ openMenuOnFocus: t,
52
+ isClearable: C,
53
+ required: p,
54
+ ref: x,
55
+ tabSelectsValue: m,
56
+ ...i
57
+ }, e[14] = s, e[15] = a, e[16] = t, e[17] = n, e[18] = d, e[19] = l, e[20] = r, e[21] = b, e[22] = o, e[23] = c, e[24] = x, e[25] = p, e[26] = i, e[27] = C, e[28] = m, e[29] = f) : f = e[29];
58
+ const N = f;
59
+ let v;
60
+ return e[30] !== N ? (v = /* @__PURE__ */ y($, { ...N }), e[30] = N, e[31] = v) : v = e[31], v;
61
+ });
62
+ A.displayName = "DSCombobox";
63
+ export {
64
+ A as DSCombobox
65
+ };
@@ -52,9 +52,7 @@ export declare const DS_CHIP_GROUP_TRANSLATIONS_DE: {
52
52
  tooltipDeactivate: string;
53
53
  tooltipActivate: string;
54
54
  };
55
- export declare const DS_CHIP_GROUP_TRANSLATIONS: {
56
- [key in ChipGroupLanguage]: ChipGroupAriaTranslations;
57
- };
55
+ export declare const DS_CHIP_GROUP_TRANSLATIONS: Record<ChipGroupLanguage, ChipGroupAriaTranslations>;
58
56
  export declare const getChipAriaLabel: (t: (key: keyof ChipGroupAriaTranslations, replacements?: string[]) => string, label: string, disabled: boolean | undefined, isSelected: boolean | undefined, selectionMode: ChipGroupSelectionMode, isRemovable: boolean | undefined) => string;
59
57
  export declare const getChipTooltip: (t: (key: keyof ChipGroupAriaTranslations, replacements?: string[]) => string, disabled: boolean | undefined, isSelected: boolean | undefined, isRemovable: boolean | undefined) => string;
60
58
  export {};
@@ -1,8 +1,9 @@
1
1
  import { IconName } from '../../types';
2
2
  import { ComboboxProps } from './Combobox';
3
- import { GroupBase, OptionsOrGroups } from 'react-select';
3
+ import { FilterOptionOption, GroupBase, OptionsOrGroups } from 'react-select';
4
4
  export type ComboboxVariant = 'single' | 'multi';
5
5
  type ValidationProps = Pick<ComboboxProps, 'id' | 'label' | 'options'>;
6
+ export type ComboboxFilterOption<Option> = FilterOptionOption<Option>;
6
7
  /**
7
8
  * Validates the given properties of the DSCombobox component for common configuration errors.
8
9
  * This function is intended to be used in development mode to provide developers with
@@ -57,7 +58,5 @@ export declare const DS_COMBOBOX_TRANSLATIONS_EN: {
57
58
  resultsAvailable: string;
58
59
  };
59
60
  export declare const DS_COMBOBOX_TRANSLATIONS_DE: ComboboxAriaTranslations;
60
- export declare const DS_COMBOBOX_TRANSLATIONS: {
61
- [key in ComboboxLanguage]: ComboboxAriaTranslations;
62
- };
61
+ export declare const DS_COMBOBOX_TRANSLATIONS: Record<ComboboxLanguage, ComboboxAriaTranslations>;
63
62
  export {};
@@ -1,9 +1,9 @@
1
1
  import { GroupBase } from 'react-select';
2
2
  import { BreakpointCustomizable, Optional } from '../../../types';
3
- import { ComboboxAriaTranslations, ComboboxLanguage, ComboboxOption, ComboboxOptionsGroup, ComboboxOptionsOrOptGroups, ComboboxSize } from '../Combobox.utils';
3
+ import { ComboboxAriaTranslations, ComboboxFilterOption, ComboboxLanguage, ComboboxOption, ComboboxOptionsGroup, ComboboxOptionsOrOptGroups, ComboboxSize } from '../Combobox.utils';
4
4
  import { PublicBaseSelectProps } from 'react-select/dist/declarations/src/Select';
5
5
  import { StateManagerProps } from 'react-select/dist/declarations/src/useStateManager';
6
- type IncludedReactSelectKeys = 'className' | 'form' | 'inputValue' | 'menuIsOpen' | 'name' | 'onBlur' | 'onFocus' | 'openMenuOnClick' | 'openMenuOnFocus' | 'tabIndex';
6
+ type IncludedReactSelectKeys = 'className' | 'filterOption' | 'form' | 'inputValue' | 'menuIsOpen' | 'name' | 'onBlur' | 'onFocus' | 'openMenuOnClick' | 'openMenuOnFocus' | 'tabIndex';
7
7
  type PickedReactSelectProps<OptionType, IsMulti extends boolean, GroupType extends GroupBase<OptionType>> = Optional<Pick<PublicBaseSelectProps<OptionType, IsMulti, GroupType>, IncludedReactSelectKeys>, IncludedReactSelectKeys>;
8
8
  type PickedReactSelectStateManagerProps<OptionType, IsMulti extends boolean, GroupType extends GroupBase<OptionType>> = Optional<Pick<StateManagerProps<OptionType, IsMulti, GroupType>, 'defaultInputValue'>, 'defaultInputValue'>;
9
9
  export interface CustomReactSelectProps<IsMulti extends boolean> extends PickedReactSelectProps<ComboboxOption, IsMulti, ComboboxOptionsGroup>, PickedReactSelectStateManagerProps<ComboboxOption, IsMulti, ComboboxOptionsGroup> {
@@ -26,6 +26,8 @@ export interface CustomReactSelectProps<IsMulti extends boolean> extends PickedR
26
26
  * @default false
27
27
  */
28
28
  disabled?: boolean;
29
+ /** Custom method to filter whether an option should be displayed in the menu */
30
+ filterOption?: ((option: ComboboxFilterOption<ComboboxOption>, inputValue: string) => boolean) | null;
29
31
  /** Hides the DSCombobox label, can be responsive.
30
32
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
31
33
  * @default false
@@ -1,7 +1,7 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
2
  import { BreakpointCustomizable } from '../../types';
3
3
  import { InputSize } from '../Input/Input.utils';
4
- export interface InputStepperProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'size' | 'value'> {
4
+ export interface InputNumberProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'size' | 'value'> {
5
5
  /** Unique id for the input. */
6
6
  id: string;
7
7
  /** Label text displayed above the input. */
@@ -87,11 +87,11 @@ export interface InputStepperProps extends Omit<InputHTMLAttributes<HTMLInputEle
87
87
  value?: InputHTMLAttributes<HTMLInputElement>['value'];
88
88
  }
89
89
  /**
90
- * The `<DSInputStepper />` component is a versatile input field that allows users to easily enter a value and decrease or increase it as needed.
90
+ * The `<DSInputNumber />` component is a versatile input field that allows users to easily enter a value and decrease or increase it as needed.
91
91
  * It comes in two sizes (medium & small) and supports various customizations including a prefix and suffix.
92
92
  *
93
93
  * Next to the input field, there are two buttons to increase or decrease the input value.
94
94
  *
95
- * Design in Figma: [Input Stepper](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2141-6769&t=UBsmFURFENnuYSW1-11)
95
+ * Design in Figma: [Input Number](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2141-6769&t=UBsmFURFENnuYSW1-11)
96
96
  */
97
- export declare const DSInputStepper: import('react').ForwardRefExoticComponent<InputStepperProps & import('react').RefAttributes<HTMLInputElement>>;
97
+ export declare const DSInputNumber: import('react').ForwardRefExoticComponent<InputNumberProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,13 @@
1
+ import { InputNumberProps } from './InputNumber';
2
+ type ValidationProps = Pick<InputNumberProps, 'id' | 'label' | 'prefix' | 'suffix'>;
3
+ export declare const isValidValue: (value: string | number | readonly string[] | undefined | null) => boolean;
4
+ /**
5
+ * Validates the given properties of the DSInputNumber component for common configuration errors.
6
+ * This function is intended to be used in development mode to provide developers with
7
+ * warnings about potential misuse of the component.
8
+ *
9
+ * @param validationProps - The subset of DSInputNumber properties to validate. This includes
10
+ * properties related to the prefix, suffix, icons and action button of the input.
11
+ */
12
+ export declare const validateInputNumberProps: ({ id, label, prefix, suffix, }: ValidationProps) => void;
13
+ export {};
@@ -1,7 +1,11 @@
1
- import { HTMLAttributes, JSX } from 'react';
1
+ import { HTMLAttributes } from 'react';
2
2
  export interface ScrollerProps extends HTMLAttributes<HTMLDivElement> {
3
3
  /** Content to be displayed within the scroller. */
4
4
  children?: React.ReactNode;
5
+ /** Additional class name to apply to the scrolling element. */
6
+ scrollerClassName?: string;
7
+ /** Additional class name to apply to the scroll buttons. */
8
+ scrollerButtonClassName?: string;
5
9
  /** Scrolls the scroll area to the left either smooth or immediately.
6
10
  * `{scrollPosition: number;`
7
11
  * `isSmooth?: boolean;}`
@@ -17,4 +21,4 @@ export interface ScrollerProps extends HTMLAttributes<HTMLDivElement> {
17
21
  *
18
22
  * Design in Figma: [Scroller](https://www.figma.com/design/Ie2r0R9QwjEc7O3nrFbXhV/Web-Pattern-Library?node-id=6263-49213&t=wRBNgx5siTv3aUkL-11)
19
23
  */
20
- export declare const DSScroller: ({ children, className, scrollToPosition, ...rest }: ScrollerProps) => JSX.Element;
24
+ export declare const DSScroller: import('react').ForwardRefExoticComponent<ScrollerProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,33 @@
1
+ import { default as React, JSX } from 'react';
2
+ import { StepState } from './Step.utils';
3
+ import { StepperTranslations } from './Stepper.utils';
4
+ /** Local copy of the Step data contract to avoid circular dependency with `Stepper.tsx`. */
5
+ export interface Step {
6
+ label: string;
7
+ hint?: string;
8
+ disabled?: boolean;
9
+ state?: StepState;
10
+ onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
11
+ }
12
+ export interface StepperStepProps {
13
+ /** Step object */
14
+ step: Step;
15
+ /** Index of this step in the list */
16
+ index: number;
17
+ /** Orientation of the Stepper */
18
+ orientation: 'horizontal' | 'vertical';
19
+ /** Total number of steps */
20
+ stepsCount: number;
21
+ /** Translation function */
22
+ t: (key: keyof StepperTranslations, replacements?: string[]) => string;
23
+ /** Called when the button is clicked (index is already bound in parent) */
24
+ onStepClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
25
+ /** Collect the ref for scroll / focus management */
26
+ buttonRef?: (el: HTMLButtonElement | null) => void;
27
+ }
28
+ /**
29
+ * Presentational single Step inside the DSStepper.
30
+ * Keeps the markup & ARIA logic isolated from the Stepper container.
31
+ */
32
+ export declare const StepperStep: ({ step, index, stepsCount, t, onStepClick, buttonRef, orientation, }: StepperStepProps) => JSX.Element;
33
+ export default StepperStep;
@@ -0,0 +1,5 @@
1
+ import { Step } from './Step';
2
+ import { StepperTranslations } from './Stepper.utils';
3
+ export declare const STEP_STATE: readonly ["current", "completed", undefined];
4
+ export type StepState = (typeof STEP_STATE)[number];
5
+ export declare const getStepAriaLabel: (t: (key: keyof StepperTranslations, replacements?: string[]) => string, index: number, total: number, step: Step, isCurrent: boolean) => string;
@@ -0,0 +1,56 @@
1
+ import { default as React, JSX } from 'react';
2
+ import { SelectedAriaAttributes } from '../../types';
3
+ import { StepState } from './Step.utils';
4
+ import { StepperAlignment, StepperAriaAttributes, StepperLanguage, StepperOrientation, StepperTranslations } from './Stepper.utils';
5
+ export interface Step {
6
+ /** Label text displayed for the Step. */
7
+ label: string;
8
+ /** Short descriptive text displayed beneath the label. */
9
+ hint?: string;
10
+ /** Disables the Step, preventing user interaction.
11
+ * @default false
12
+ */
13
+ disabled?: boolean;
14
+ /**
15
+ * State of the Step. If set to 'current', the step is highlighted as the current step.
16
+ * @default undefined
17
+ */
18
+ state?: StepState;
19
+ /** Callback function called when the Step is clicked. */
20
+ onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
21
+ }
22
+ export interface StepperProps extends React.HTMLAttributes<HTMLElement> {
23
+ /** ARIA attributes to enhance accessibility
24
+ * `{'aria-label'? string;`
25
+ * `'aria-labelledby'?: string;}`
26
+ * */
27
+ aria: SelectedAriaAttributes<StepperAriaAttributes>;
28
+ /** An array of Step Objects containing the label and other optional parameters.
29
+ * `{label: string; hint: string; disabled?: boolean; state?: 'current' | 'completed' | undefined; onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;}[]`*/
30
+ steps: Step[];
31
+ /** Callback function called when the selection of the Stepper changes. */
32
+ onStepChange: (selectedStepIndex: number) => void;
33
+ /** Alignment of the DSStepper.
34
+ * @default 'left'
35
+ */
36
+ alignment?: StepperAlignment;
37
+ /** Sets language to use for the screen reader messages, if no translations object is provided.
38
+ * @default 'en'
39
+ */
40
+ lang?: StepperLanguage;
41
+ /** Orientation of the DSStepper.
42
+ * @default 'horizontal'
43
+ */
44
+ orientation?: StepperOrientation;
45
+ /** Translations for the DSStepper. Use our [customization page](/?path=/story/components-stepper-translations--documentation) for creating custom translations. */
46
+ translations?: StepperTranslations;
47
+ }
48
+ /**
49
+ * The `<DSStepper />` component provides an accessible step-based navigation pattern following the `aria-current="step"` specification.
50
+ * It is a **controlled component** and does not manage its own state.
51
+ * It renders steps as buttons inside an ordered list (`<ol>`) wrapped in a semantic `<nav>` landmark.
52
+ * Horizontal overflow is handled via `<DSScroller>` preventing line wrapping while enabling keyboard and pointer based scrolling.
53
+ *
54
+ * Design in Figma: [Stepper](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=26075-10497)
55
+ */
56
+ export declare const DSStepper: ({ aria, className, steps, orientation, alignment, lang, translations, onStepChange, ...rest }: StepperProps) => JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { Step } from './Step';
2
+ import { StepperProps } from './Stepper';
3
+ export type StepperAriaAttributes = 'aria-label' | 'aria-labelledby';
4
+ export declare const STEPPER_ALIGNMENT: readonly ["left", "center"];
5
+ export type StepperAlignment = (typeof STEPPER_ALIGNMENT)[number];
6
+ export declare const STEPPER_ORIENTATION: readonly ["horizontal", "vertical"];
7
+ export type StepperOrientation = (typeof STEPPER_ORIENTATION)[number];
8
+ export type ValidateStepperPropsParams = Pick<StepperProps, 'aria' | 'steps'>;
9
+ export declare const validateStepperProps: ({ aria, steps, }: ValidateStepperPropsParams) => void;
10
+ export declare const validateIsLiveRegionPresentForStepper: () => void;
11
+ export type StepperLanguage = 'en' | 'de';
12
+ export type StepperTranslations = typeof DS_STEPPER_TRANSLATIONS_EN;
13
+ export declare const DS_STEPPER_TRANSLATIONS_EN: {
14
+ current: string;
15
+ completed: string;
16
+ step: string;
17
+ of: string;
18
+ };
19
+ export declare const DS_STEPPER_TRANSLATIONS_DE: StepperTranslations;
20
+ export declare const DS_STEPPER_TRANSLATIONS: Record<StepperLanguage, StepperTranslations>;
21
+ /**
22
+ * Get the current step in the stepper.
23
+ * If no step is marked as 'current', the last step with a defined state is returned.
24
+ * If no steps have a defined state, the first step is returned.
25
+ * @param steps The array of steps.
26
+ * @returns The current step.
27
+ */
28
+ export declare const getCurrentStep: (steps: Step[]) => Step;
29
+ export declare const getCurrentStepIndex: (steps: Step[]) => number;
30
+ export declare const isStepClickable: (state: Step["state"], disabled: boolean | undefined) => boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import "react/jsx-runtime";
3
+ import "./chunks/index.D-sRdssb.js";
4
+ import "./chunks/index.DL9mof6u.js";
5
+ import "react";
6
+ import { c as u } from "./chunks/CustomReactSelect.Dg3wC_VH.js";
7
+ import "./chunks/useBreakpoint.BzR_yaIv.js";
8
+ import "./asterisk.B2ih8VwF.js";
9
+ import "./chunks/Icon.CDLyB7Pv.js";
10
+ import "./chunks/SystemFeedback.CjlARKki.js";
11
+ import "./optioncheckbox.nBVwGv6c.js";
12
+ export {
13
+ u as CustomReactSelect
14
+ };
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import "react/jsx-runtime";
3
+ import "./chunks/index.DL9mof6u.js";
4
+ import "react";
5
+ import "./chunks/Button.DCZgBNmA.js";
6
+ import { D as e } from "./chunks/Dialog.DpqSVrYR.js";
7
+ export {
8
+ e as DSDialog
9
+ };
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import "react/jsx-runtime";
3
+ import "./chunks/index.DL9mof6u.js";
4
+ import "react";
5
+ import "./chunks/Button.DCZgBNmA.js";
6
+ import { D as e } from "./chunks/Drawer.DISWybOa.js";
7
+ export {
8
+ e as DSDrawer
9
+ };
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import "react/jsx-runtime";
3
+ import "./chunks/index.DL9mof6u.js";
4
+ import "react";
5
+ import "./asterisk.B2ih8VwF.js";
6
+ import "./heading.DHLpT4dc.js";
7
+ import "./chunks/SystemFeedback.CjlARKki.js";
8
+ import { D as l } from "./chunks/Fieldset.DiMtr6Vw.js";
9
+ export {
10
+ l as DSFieldset
11
+ };