@stihl-design-system/components 1.0.0-RC.10 → 1.0.0-RC.11

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 (238) hide show
  1. package/README.md +0 -9
  2. package/{accordion.B3UkxlAZ.js → accordion.CEKQh-7i.js} +1 -1
  3. package/accordion.d.ts +1 -0
  4. package/{arialiveregions.BK4T7Vhk.js → arialiveregions.BKpxxK7O.js} +1 -1
  5. package/arialiveregions.d.ts +1 -0
  6. package/assets/Accordion.DMEFgtQm.css +1 -0
  7. package/assets/Chip.D10_7Q82.css +1 -0
  8. package/assets/CustomReactSelect.D5XKd9vg.css +1 -0
  9. package/assets/Dialog.B0pucIEI.css +1 -0
  10. package/assets/Drawer.CATBzfY7.css +1 -0
  11. package/assets/Fieldset.CwDhKRUL.css +1 -0
  12. package/assets/InputPassword.DOAAzj-O.css +1 -0
  13. package/assets/InputSearch.CxPYaQGZ.css +1 -0
  14. package/assets/InputStepper.CYYJUu0b.css +1 -0
  15. package/assets/Notification.mhVFeSGm.css +1 -0
  16. package/assets/Select.DZKpHV4G.css +1 -0
  17. package/assets/Textarea.Cp0b7oZp.css +1 -0
  18. package/assets/Toast.Cz6wYaBv.css +1 -0
  19. package/assets/button.C9_ejpGG.css +1 -0
  20. package/assets/buttonround.DTCqRP-0.css +1 -0
  21. package/assets/chipgroup.BMovtKTy.css +1 -0
  22. package/assets/flag.DX_lH1v7.css +1 -0
  23. package/assets/floatingactionbutton.Do-yEH6c.css +1 -0
  24. package/assets/input.Q5oKkmW2.css +1 -0
  25. package/assets/link.DhZqkLMP.css +1 -0
  26. package/assets/linkstandalone.Dwz-_O8q.css +1 -0
  27. package/assets/optioncheckbox.C62HtIj5.css +1 -0
  28. package/assets/radio.-Xxx5wL4.css +1 -0
  29. package/assets/switch.C1Ei0-z8.css +1 -0
  30. package/assets/text.DxKFcfY6.css +1 -0
  31. package/asterisk.d.ts +1 -0
  32. package/button.C5opEJ6x.js +135 -0
  33. package/button.d.ts +1 -0
  34. package/buttonround.CUoqRyy0.js +118 -0
  35. package/buttonround.d.ts +1 -0
  36. package/checkbox.d.ts +1 -0
  37. package/checkboxgroup.BqD5IV51.js +8 -0
  38. package/checkboxgroup.d.ts +1 -0
  39. package/chip.B92ew-hk.js +10 -0
  40. package/chip.d.ts +2 -0
  41. package/chipgroup.BJrqEfvr.js +175 -0
  42. package/chipgroup.d.ts +2 -0
  43. package/chunks/Accordion.DFwFN8mX.js +125 -0
  44. package/chunks/{AriaLiveRegions.utils.D2ni4Yrf.js → AriaLiveRegions.utils.BGSZafnS.js} +2 -2
  45. package/chunks/CheckboxGroup.M3jOjhNf.js +92 -0
  46. package/chunks/Chip.fMG8wi5K.js +142 -0
  47. package/chunks/{CustomReactSelect.ChAtL6fu.js → CustomReactSelect.D3jv5-fa.js} +883 -876
  48. package/chunks/{Dialog.Z5ESJQMi.js → Dialog.Fwr6vLiK.js} +47 -47
  49. package/chunks/{Drawer.BdowMqE0.js → Drawer.CKoYzQHd.js} +32 -32
  50. package/chunks/Fieldset.C9K8BYmH.js +99 -0
  51. package/chunks/InputPassword.C7pNeWGx.js +143 -0
  52. package/chunks/InputSearch.B24rcIJ_.js +192 -0
  53. package/chunks/InputStepper.CEW-bieQ.js +294 -0
  54. package/chunks/Notification.BXVN7_Fs.js +93 -0
  55. package/chunks/RadioGroup.D4UOflwr.js +137 -0
  56. package/chunks/Select.Ds86q4UC.js +194 -0
  57. package/chunks/Textarea.DcB8hKnO.js +198 -0
  58. package/chunks/Toast.DrzxdzVW.js +89 -0
  59. package/chunks/translate.isa3FHb8.js +11 -0
  60. package/{combobox.JL1Dsn3E.js → combobox.BeTnbG1m.js} +1 -1
  61. package/combobox.d.ts +1 -0
  62. package/components/Accordion/Accordion.d.ts +0 -1
  63. package/components/Accordion/Accordion.utils.d.ts +0 -1
  64. package/components/Button/Button.d.ts +0 -1
  65. package/components/ButtonRound/ButtonRound.d.ts +0 -1
  66. package/components/Checkbox/Checkbox.d.ts +0 -1
  67. package/components/CheckboxGroup/CheckboxGroup.d.ts +6 -7
  68. package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +0 -1
  69. package/components/ChipGroup/Chip.d.ts +12 -0
  70. package/components/ChipGroup/ChipGroup.d.ts +42 -0
  71. package/components/ChipGroup/ChipGroup.test.d.ts +1 -0
  72. package/components/ChipGroup/ChipGroup.utils.d.ts +60 -0
  73. package/components/ChipGroup/ChipGroup.utils.test.d.ts +1 -0
  74. package/components/Combobox/Combobox.d.ts +0 -1
  75. package/components/Combobox/Combobox.utils.d.ts +6 -1
  76. package/components/CustomReactSelect/CustomReactSelect.d.ts +0 -1
  77. package/components/CustomReactSelect/CustomReactSelect.utils.d.ts +0 -13
  78. package/components/CustomReactSelect/OptionCheckbox.d.ts +0 -1
  79. package/components/Dialog/Dialog.d.ts +0 -1
  80. package/components/Dialog/Dialog.utils.d.ts +0 -1
  81. package/components/Drawer/Drawer.d.ts +0 -1
  82. package/components/Drawer/Drawer.utils.d.ts +0 -1
  83. package/components/Fieldset/Fieldset.d.ts +0 -1
  84. package/components/Fieldset/Fieldset.utils.d.ts +7 -1
  85. package/components/Flag/Flag.d.ts +23 -0
  86. package/components/Flag/Flag.test.d.ts +1 -0
  87. package/components/Flag/Flag.utils.d.ts +2 -0
  88. package/components/FloatingActionButton/FloatingActionButton.d.ts +0 -1
  89. package/components/Heading/Heading.d.ts +0 -1
  90. package/components/Icon/Icon.d.ts +0 -1
  91. package/components/Icon/Icon.utils.d.ts +0 -1
  92. package/components/Input/Input.d.ts +0 -1
  93. package/components/Input/Input.utils.d.ts +0 -1
  94. package/components/InputPassword/InputPassword.d.ts +0 -1
  95. package/components/InputPassword/InputPassword.utils.d.ts +0 -1
  96. package/components/InputSearch/InputSearch.d.ts +0 -1
  97. package/components/InputSearch/InputSearch.utils.d.ts +0 -1
  98. package/components/InputStepper/InputStepper.d.ts +0 -1
  99. package/components/InputStepper/InputStepper.utils.d.ts +0 -1
  100. package/components/Link/Link.d.ts +0 -1
  101. package/components/LinkStandalone/LinkStandalone.d.ts +0 -1
  102. package/components/Logo/Logo.d.ts +1 -2
  103. package/components/Logo/Logo.utils.d.ts +0 -1
  104. package/components/Notification/Notification.d.ts +0 -1
  105. package/components/Notification/Notification.utils.d.ts +0 -1
  106. package/components/Radio/Radio.d.ts +0 -1
  107. package/components/RadioGroup/RadioGroup.d.ts +7 -8
  108. package/components/RadioGroup/RadioGroup.utils.d.ts +2 -3
  109. package/components/Select/Select.d.ts +0 -1
  110. package/components/Select/Select.utils.d.ts +0 -1
  111. package/components/SkipToContent/SkipToContent.d.ts +0 -1
  112. package/components/Spinner/Spinner.d.ts +0 -1
  113. package/components/Switch/Switch.d.ts +0 -1
  114. package/components/SystemFeedback/SystemFeedback.d.ts +0 -1
  115. package/components/Text/Text.d.ts +0 -1
  116. package/components/Textarea/Textarea.d.ts +0 -1
  117. package/components/Textarea/Textarea.utils.d.ts +0 -1
  118. package/components/Title/Title.d.ts +0 -1
  119. package/components/Toast/Toast.d.ts +0 -1
  120. package/components/Toast/Toast.utils.d.ts +0 -1
  121. package/components/Toast/ToastManager.d.ts +0 -1
  122. package/customreactselect.d.ts +1 -0
  123. package/{customreactselect.Dg8Kgq3e.js → customreactselect.lYJhIeyx.js} +2 -2
  124. package/dialog.d.ts +1 -0
  125. package/{dialog.D3bJ0rsW.js → dialog.lGwNQU91.js} +2 -2
  126. package/{drawer.CNPF1-Kc.js → drawer.DNi5m8wP.js} +2 -2
  127. package/drawer.d.ts +1 -0
  128. package/{fieldset.CTshPWYX.js → fieldset.BqiAjeax.js} +1 -1
  129. package/fieldset.d.ts +1 -0
  130. package/flag.XJHHSP38.js +43 -0
  131. package/flag.d.ts +2 -0
  132. package/floatingactionbutton.CMpkTdhX.js +87 -0
  133. package/floatingactionbutton.d.ts +1 -0
  134. package/heading.d.ts +1 -0
  135. package/icon.d.ts +1 -0
  136. package/index.d.ts +4 -0
  137. package/index.es.js +133 -113
  138. package/input.d.ts +1 -0
  139. package/input.v7qB7wPJ.js +239 -0
  140. package/{inputpassword.nsYu6YeB.js → inputpassword.CSjh1GU7.js} +2 -2
  141. package/inputpassword.d.ts +1 -0
  142. package/{inputsearch.ZGIrDrcv.js → inputsearch.DyznOWLK.js} +2 -2
  143. package/inputsearch.d.ts +1 -0
  144. package/{inputstepper.BvY36hA1.js → inputstepper.3BLb7s0P.js} +2 -2
  145. package/inputstepper.d.ts +1 -0
  146. package/link.Clk5_BYp.js +116 -0
  147. package/link.d.ts +1 -0
  148. package/linkstandalone.BXERmqdN.js +80 -0
  149. package/linkstandalone.d.ts +1 -0
  150. package/logo.d.ts +1 -0
  151. package/{notification.BAS13UQ6.js → notification.0kX1GMaB.js} +2 -2
  152. package/notification.d.ts +1 -0
  153. package/{optioncheckbox.DZWwtx6f.js → optioncheckbox.BPN3f6l_.js} +13 -13
  154. package/optioncheckbox.d.ts +1 -0
  155. package/package.json +44 -39
  156. package/partials/index.js +407 -407
  157. package/partials/lib/partials.d.ts +0 -1
  158. package/radio.DTZNJzMU.js +115 -0
  159. package/radio.d.ts +1 -0
  160. package/radiogroup.SYkZm2DG.js +10 -0
  161. package/radiogroup.d.ts +1 -0
  162. package/{select.C4OZMB-V.js → select.CYbwR3RW.js} +1 -1
  163. package/select.d.ts +1 -0
  164. package/{skiptocontent.C4yQfWr2.js → skiptocontent.DUQWopO4.js} +1 -1
  165. package/skiptocontent.d.ts +1 -0
  166. package/spinner.d.ts +1 -0
  167. package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff +0 -0
  168. package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff2 +0 -0
  169. package/styles/fonts/font-face.min.css +1 -1
  170. package/styles/scss/_index.scss +1 -0
  171. package/styles/scss/lib/_breakpoints.scss +0 -1
  172. package/styles/scss/lib/_link.scss +3 -0
  173. package/styles/scss/lib/_spacing-dynamic.scss +61 -0
  174. package/switch.CoNnIhM4.js +65 -0
  175. package/switch.d.ts +1 -0
  176. package/systemfeedback.d.ts +1 -0
  177. package/text.d.ts +1 -0
  178. package/text.fMcHzVbH.js +57 -0
  179. package/{textarea.CtQtGqn5.js → textarea.DJc527nX.js} +1 -1
  180. package/textarea.d.ts +1 -0
  181. package/title.d.ts +1 -0
  182. package/{toast.DVd9dLs2.js → toast.D48GFmp0.js} +2 -2
  183. package/toast.d.ts +1 -0
  184. package/{toastmanager.Dh0gzFkM.js → toastmanager.Dl8-Q3ED.js} +2 -2
  185. package/toastmanager.d.ts +1 -0
  186. package/utils/index.d.ts +1 -0
  187. package/utils/translate.d.ts +11 -0
  188. package/utils/translate.test.d.ts +1 -0
  189. package/utils/useBreakpoint.d.ts +0 -1
  190. package/utils/useIsomorphicLayoutEffect.d.ts +0 -1
  191. package/utils/vitest.setup.d.ts +0 -1
  192. package/assets/Accordion.lFv7Q_RG.css +0 -1
  193. package/assets/CustomReactSelect.CMkn-EGK.css +0 -1
  194. package/assets/Dialog.fiQvxJg_.css +0 -1
  195. package/assets/Drawer.BqBgbSuP.css +0 -1
  196. package/assets/Fieldset.qHYeUFZt.css +0 -1
  197. package/assets/InputPassword.Cf394z47.css +0 -1
  198. package/assets/InputSearch.eCRQoxjN.css +0 -1
  199. package/assets/InputStepper.B80KulYE.css +0 -1
  200. package/assets/Notification.DK6agBGS.css +0 -1
  201. package/assets/Select.BptsMxz4.css +0 -1
  202. package/assets/Textarea.CIIVh03G.css +0 -1
  203. package/assets/Toast.Dsvs1zdM.css +0 -1
  204. package/assets/button.B1O7Yw3Q.css +0 -1
  205. package/assets/buttonround.DlH_ipDo.css +0 -1
  206. package/assets/floatingactionbutton.DRYentYC.css +0 -1
  207. package/assets/input.C0MrSbQu.css +0 -1
  208. package/assets/link.vtTST2ki.css +0 -1
  209. package/assets/linkstandalone.BtAcziZ7.css +0 -1
  210. package/assets/optioncheckbox.BJJAph5_.css +0 -1
  211. package/assets/radio.9kpIO3HC.css +0 -1
  212. package/assets/switch.2DQF2zH-.css +0 -1
  213. package/assets/text.Dhb_l50R.css +0 -1
  214. package/button.DH0h6uPs.js +0 -135
  215. package/buttonround.0mw4zzlU.js +0 -118
  216. package/checkboxgroup.CZqrlF-x.js +0 -9
  217. package/chunks/Accordion.pI3JyHJL.js +0 -125
  218. package/chunks/CheckboxGroup.4J_gZ_XJ.js +0 -87
  219. package/chunks/Fieldset.COGbZwry.js +0 -99
  220. package/chunks/InputPassword.Dgo95-PU.js +0 -140
  221. package/chunks/InputSearch.BFof0pBn.js +0 -189
  222. package/chunks/InputStepper.4IqLa5tX.js +0 -291
  223. package/chunks/Notification.BhwbaXqk.js +0 -93
  224. package/chunks/RadioGroup.C5jbCJM4.js +0 -132
  225. package/chunks/RadioGroup.module.BBZwHDjW.js +0 -11
  226. package/chunks/Select.fXeQJXtz.js +0 -191
  227. package/chunks/Textarea.Bewrp0Za.js +0 -195
  228. package/chunks/Toast.DA_CQ9J-.js +0 -89
  229. package/floatingactionbutton.CCIj9Fjr.js +0 -87
  230. package/input.CTgeAYdu.js +0 -236
  231. package/link.DAZNwQ0a.js +0 -116
  232. package/linkstandalone.C9X3er7g.js +0 -80
  233. package/radio.CWGJtmKl.js +0 -115
  234. package/radiogroup.BhffFqN3.js +0 -11
  235. package/switch.CmpNUC7s.js +0 -65
  236. package/text.rgDKQBrU.js +0 -57
  237. package/utils/render-in-iframe.d.ts +0 -15
  238. /package/assets/{RadioGroup.Bz3_xkZU.css → CheckboxGroup.Bz3_xkZU.css} +0 -0
@@ -0,0 +1,192 @@
1
+ "use client";
2
+ import { j as e } from "./jsx-runtime.C115EyI4.js";
3
+ import { c as l } from "./index.CvOaL64Y.js";
4
+ import { useState as J, useRef as N, useEffect as w } from "react";
5
+ import { g as y, a as K } from "./helpers.B1JT5ShS.js";
6
+ import { u as Q } from "./useBreakpoint.5xBNDiCf.js";
7
+ import { Asterisk as U } from "../asterisk.DDn-yX4P.js";
8
+ import { DSButton as A } from "../button.C5opEJ6x.js";
9
+ import { DSSystemFeedback as X } from "../systemfeedback.ZzRUAVYX.js";
10
+ import '../assets/InputSearch.CxPYaQGZ.css';const Y = "_input_eh22y_226", Z = "_input--invalid_eh22y_343", z = "_input--small_eh22y_350", tt = "_input--has-leading-icon_eh22y_404", nt = "_input--has-action-button_eh22y_407", et = "_input--has-second-action-button_eh22y_410", at = "_input--has-affix_eh22y_422", st = "_input--is-ready_eh22y_436", ot = "_root_eh22y_443", it = "_hint_eh22y_451", ct = "_label_eh22y_451", lt = "_wrapper_eh22y_455", ut = "_action-button_eh22y_461", rt = "_second-action-button_eh22y_465", pt = "_label--hidden_eh22y_484", ht = "_label--disabled_eh22y_497", _t = "_feedback_eh22y_518", t = {
11
+ input: Y,
12
+ "input--invalid": "_input--invalid_eh22y_343",
13
+ inputInvalid: Z,
14
+ "input--small": "_input--small_eh22y_350",
15
+ inputSmall: z,
16
+ "input--has-leading-icon": "_input--has-leading-icon_eh22y_404",
17
+ inputHasLeadingIcon: tt,
18
+ "input--has-action-button": "_input--has-action-button_eh22y_407",
19
+ inputHasActionButton: nt,
20
+ "input--has-second-action-button": "_input--has-second-action-button_eh22y_410",
21
+ inputHasSecondActionButton: et,
22
+ "input--has-affix": "_input--has-affix_eh22y_422",
23
+ inputHasAffix: at,
24
+ "input--is-ready": "_input--is-ready_eh22y_436",
25
+ inputIsReady: st,
26
+ root: ot,
27
+ hint: it,
28
+ label: ct,
29
+ wrapper: lt,
30
+ "action-button": "_action-button_eh22y_461",
31
+ actionButton: ut,
32
+ "second-action-button": "_second-action-button_eh22y_465",
33
+ secondActionButton: rt,
34
+ "label--hidden": "_label--hidden_eh22y_484",
35
+ labelHidden: pt,
36
+ "label--disabled": "_label--disabled_eh22y_497",
37
+ labelDisabled: ht,
38
+ feedback: _t
39
+ }, dt = ({ id: n, label: u }) => {
40
+ if (!n)
41
+ throw new Error(
42
+ y(
43
+ "DSInputSearch",
44
+ 'A unique "id" prop is required. Please add an unique "id" prop to the DSInputSearch component.'
45
+ )
46
+ );
47
+ if (!u)
48
+ throw new Error(
49
+ y(
50
+ "DSInputSearch",
51
+ `A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputSearch component. If you don't want to display a label, set hideLabel={true}.`
52
+ )
53
+ );
54
+ }, bt = (n) => !!K(n, "form"), Dt = ({
55
+ id: n,
56
+ label: u,
57
+ className: H,
58
+ clearButtonLabel: E = "Clear search field",
59
+ disabled: s = !1,
60
+ hint: d,
61
+ hideLabel: j = !1,
62
+ invalid: r = !1,
63
+ readonly: o = !1,
64
+ required: S = !1,
65
+ size: i = "medium",
66
+ submitButtonLabel: C = "Search",
67
+ systemFeedback: b,
68
+ value: m,
69
+ submitButtonOnClick: k,
70
+ onChange: I,
71
+ ...L
72
+ }) => {
73
+ process.env.NODE_ENV !== "production" && dt({
74
+ id: n,
75
+ label: u
76
+ });
77
+ const [p, g] = J(m), f = N(null), h = N(null), V = Q(j);
78
+ w(() => {
79
+ g(m);
80
+ }, [m]), w(() => {
81
+ f.current && !bt(f.current) && process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test" && console.warn(
82
+ y(
83
+ "DSInputSearch",
84
+ `The DSInputSearch component with the id "${n}" is not within a form element. This may cause issues with form submission. Please ensure the DSInputSearch component is within a form element.`
85
+ )
86
+ );
87
+ }, []);
88
+ const v = `${n}-label`, B = `${n}-feedback`, D = `${n}-hint`, O = d ? ` ${D}` : "", x = p !== "" && p !== void 0 && p !== null, P = l(t.root, H), $ = l(t.input, {
89
+ // small input
90
+ [t.inputSmall]: i === "small",
91
+ // invalid state
92
+ [t.inputInvalid]: r,
93
+ // action button - input password always has an action button
94
+ [t.inputHasActionButton]: !0,
95
+ // action second action button
96
+ [t.inputHasSecondActionButton]: x && !o && !s
97
+ }), R = l(t.label, {
98
+ // hide label only visually to keep them available for assistive technologies
99
+ [t.labelHidden]: V,
100
+ [t.labelDisabled]: s
101
+ }), q = l(t.actionButton, {
102
+ [t.actionButtonSmall]: i === "small"
103
+ }), T = l(t.secondActionButton, {
104
+ [t.secondActionButtonSmall]: i === "small"
105
+ }), F = (a, c) => {
106
+ const G = Object.getPrototypeOf(a), _ = Object.getOwnPropertyDescriptor(
107
+ G,
108
+ "value"
109
+ );
110
+ _ != null && _.set ? _.set.call(a, c) : a.value = c;
111
+ }, M = () => {
112
+ var c;
113
+ if (!h.current) return;
114
+ F(h.current, "");
115
+ const a = new Event("change", { bubbles: !0 });
116
+ (c = h.current) == null || c.dispatchEvent(a);
117
+ }, W = (a) => {
118
+ g(a.target.value), I && I(a);
119
+ };
120
+ return /* @__PURE__ */ e.jsxs("div", { className: P, ref: f, children: [
121
+ /* @__PURE__ */ e.jsxs("label", { className: R, id: v, htmlFor: n, children: [
122
+ u,
123
+ S && /* @__PURE__ */ e.jsx(U, {})
124
+ ] }),
125
+ d && /* @__PURE__ */ e.jsx("div", { className: t.hint, id: D, children: d }),
126
+ r && b && /* @__PURE__ */ e.jsx(
127
+ X,
128
+ {
129
+ className: t.feedback,
130
+ message: b,
131
+ type: "invalid",
132
+ id: B
133
+ }
134
+ ),
135
+ /* @__PURE__ */ e.jsxs("div", { className: t.wrapper, children: [
136
+ /* @__PURE__ */ e.jsx(
137
+ "input",
138
+ {
139
+ className: $,
140
+ id: n,
141
+ ref: h,
142
+ ...L,
143
+ "aria-labelledby": `${v}${O}`,
144
+ "aria-describedby": r && b ? B : void 0,
145
+ "aria-invalid": r,
146
+ "aria-disabled": o,
147
+ readOnly: o,
148
+ required: S,
149
+ disabled: s,
150
+ type: "search",
151
+ value: p,
152
+ onChange: W
153
+ }
154
+ ),
155
+ x && !o && !s && /* @__PURE__ */ e.jsx(
156
+ A,
157
+ {
158
+ hideLabel: !0,
159
+ theme: "light",
160
+ iconName: "cross",
161
+ className: T,
162
+ variant: "ghost",
163
+ size: i,
164
+ onClick: M,
165
+ type: "button",
166
+ tabIndex: -1,
167
+ children: E
168
+ }
169
+ ),
170
+ /* @__PURE__ */ e.jsx(
171
+ A,
172
+ {
173
+ hideLabel: !0,
174
+ theme: "light",
175
+ iconName: "magnifying-glass",
176
+ className: q,
177
+ variant: "ghost",
178
+ size: i,
179
+ onClick: k,
180
+ type: "submit",
181
+ disabled: s || o,
182
+ children: C
183
+ }
184
+ )
185
+ ] })
186
+ ] });
187
+ };
188
+ export {
189
+ Dt as D,
190
+ bt as i,
191
+ dt as v
192
+ };
@@ -0,0 +1,294 @@
1
+ "use client";
2
+ import { j as e } from "./jsx-runtime.C115EyI4.js";
3
+ import { c } from "./index.CvOaL64Y.js";
4
+ import { useState as f, useRef as B, useEffect as N } from "react";
5
+ import { u as bn } from "./useBreakpoint.5xBNDiCf.js";
6
+ import { M as E, a as H, u as M } from "./Input.utils.ChV6RJsh.js";
7
+ import { Asterisk as xn } from "../asterisk.DDn-yX4P.js";
8
+ import { DSButton as X } from "../button.C5opEJ6x.js";
9
+ import { DSSystemFeedback as mn } from "../systemfeedback.ZzRUAVYX.js";
10
+ import { g as S } from "./helpers.B1JT5ShS.js";
11
+ import '../assets/InputStepper.CYYJUu0b.css';const hn = "_input_bwxln_226", wn = "_input--invalid_bwxln_343", Sn = "_input--small_bwxln_350", yn = "_input--has-leading-icon_bwxln_404", In = "_input--has-action-button_bwxln_407", vn = "_input--has-second-action-button_bwxln_410", gn = "_input--has-affix_bwxln_422", An = "_input--is-ready_bwxln_436", Dn = "_root_bwxln_446", Bn = "_hint_bwxln_454", Nn = "_label_bwxln_454", En = "_wrapper_bwxln_458", Hn = "_affix_bwxln_464", Ln = "_affix--small_bwxln_486", jn = "_affix--disabled_bwxln_500", Rn = "_prefix_bwxln_508", kn = "_affix--readonly_bwxln_511", Cn = "_suffix_bwxln_521", $n = "_action-button_bwxln_528", Fn = "_label--hidden_bwxln_547", Vn = "_label--disabled_bwxln_560", Pn = "_feedback_bwxln_581", Tn = "_second-action-button_bwxln_595", Wn = "_value-announcer_bwxln_599", t = {
12
+ input: hn,
13
+ "input--invalid": "_input--invalid_bwxln_343",
14
+ inputInvalid: wn,
15
+ "input--small": "_input--small_bwxln_350",
16
+ inputSmall: Sn,
17
+ "input--has-leading-icon": "_input--has-leading-icon_bwxln_404",
18
+ inputHasLeadingIcon: yn,
19
+ "input--has-action-button": "_input--has-action-button_bwxln_407",
20
+ inputHasActionButton: In,
21
+ "input--has-second-action-button": "_input--has-second-action-button_bwxln_410",
22
+ inputHasSecondActionButton: vn,
23
+ "input--has-affix": "_input--has-affix_bwxln_422",
24
+ inputHasAffix: gn,
25
+ "input--is-ready": "_input--is-ready_bwxln_436",
26
+ inputIsReady: An,
27
+ root: Dn,
28
+ hint: Bn,
29
+ label: Nn,
30
+ wrapper: En,
31
+ affix: Hn,
32
+ "affix--small": "_affix--small_bwxln_486",
33
+ affixSmall: Ln,
34
+ "affix--disabled": "_affix--disabled_bwxln_500",
35
+ affixDisabled: jn,
36
+ prefix: Rn,
37
+ "affix--readonly": "_affix--readonly_bwxln_511",
38
+ affixReadonly: kn,
39
+ suffix: Cn,
40
+ "action-button": "_action-button_bwxln_528",
41
+ actionButton: $n,
42
+ "label--hidden": "_label--hidden_bwxln_547",
43
+ labelHidden: Fn,
44
+ "label--disabled": "_label--disabled_bwxln_560",
45
+ labelDisabled: Vn,
46
+ feedback: Pn,
47
+ "second-action-button": "_second-action-button_bwxln_595",
48
+ secondActionButton: Tn,
49
+ "value-announcer": "_value-announcer_bwxln_599",
50
+ valueAnnouncer: Wn
51
+ }, Mn = ({
52
+ id: a,
53
+ label: b,
54
+ prefix: x,
55
+ suffix: m
56
+ }) => {
57
+ if (!a)
58
+ throw new Error(
59
+ S(
60
+ "DSInputStepper",
61
+ 'A unique "id" prop is required. Please add an unique "id" prop to the DSInputStepper component.'
62
+ )
63
+ );
64
+ if (!b)
65
+ throw new Error(
66
+ S(
67
+ "DSInputStepper",
68
+ `A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputStepper component. If you don't want to display a label, set hideLabel={true}.`
69
+ )
70
+ );
71
+ x && x.length > E && console.warn(
72
+ S(
73
+ "DSInputStepper",
74
+ `Prefix length must not exceed ${E} characters.`
75
+ )
76
+ ), m && m.length > H && console.warn(
77
+ S(
78
+ "DSInputStepper",
79
+ `Suffix length must not exceed ${H} characters.`
80
+ )
81
+ );
82
+ }, Zn = ({
83
+ id: a,
84
+ label: b,
85
+ announcementText: x = "Value changed to",
86
+ className: m,
87
+ disabled: u = !1,
88
+ decreaseAmountButtonLabel: q = "Decrease",
89
+ hint: y,
90
+ hideLabel: G = !1,
91
+ invalid: h = !1,
92
+ increaseAmountButtonLabel: O = "Increase",
93
+ prefix: r,
94
+ max: L = 100,
95
+ min: j = 0,
96
+ readonly: p = !1,
97
+ required: R = !1,
98
+ size: l = "medium",
99
+ step: U = 1,
100
+ suffix: d,
101
+ systemFeedback: I,
102
+ value: w,
103
+ onChange: k,
104
+ ...J
105
+ }) => {
106
+ process.env.NODE_ENV !== "production" && Mn({
107
+ id: a,
108
+ label: b,
109
+ prefix: r,
110
+ suffix: d
111
+ });
112
+ const [K, Q] = f(!1), [_, v] = f(w), [g, C] = f(""), [Y, Z] = f(!1), [z, nn] = f({}), s = B(null), tn = r == null ? void 0 : r.substring(0, E), A = B(null), en = d == null ? void 0 : d.substring(0, H), D = B(null), an = bn(G);
113
+ N(() => {
114
+ w && v(w);
115
+ }, [w]), N(() => {
116
+ if (g) {
117
+ const n = setTimeout(() => {
118
+ C("");
119
+ }, 3e3);
120
+ return () => clearTimeout(n);
121
+ }
122
+ }, [g]), N(() => {
123
+ var i;
124
+ const n = (o) => {
125
+ o.preventDefault();
126
+ };
127
+ return (i = s.current) == null || i.addEventListener("wheel", n, {
128
+ // The { passive: false } option is used to indicate that the event listener wants to cancel the event, allowing preventDefault to work as expected.
129
+ passive: !1
130
+ }), () => {
131
+ var o;
132
+ (o = s.current) == null || o.removeEventListener("wheel", n);
133
+ };
134
+ }, []), M(() => {
135
+ const n = l === "medium" ? 16 : 8, i = {};
136
+ if (A.current) {
137
+ const o = A.current.offsetWidth;
138
+ i.paddingInlineStart = n + o + "px";
139
+ }
140
+ if (D.current) {
141
+ const o = D.current.offsetWidth;
142
+ i.paddingInlineEnd = n + o + "px";
143
+ }
144
+ nn(i), Q(!0);
145
+ }, [r, d, l, Y]), M(() => {
146
+ (async () => {
147
+ "fonts" in document && (await document.fonts.load(
148
+ '1em "STIHL Contraface Digital Text Regular"'
149
+ ), Z(!0));
150
+ })();
151
+ }, []);
152
+ const $ = c(t.affix, {
153
+ [t.affixSmall]: l === "small",
154
+ [t.affixDisabled]: u,
155
+ [t.affixReadonly]: p
156
+ }), F = `${a}-label`, V = `${a}-feedback`, P = `${a}-hint`, T = `${a}-value-announcer`, sn = y ? ` ${P}` : "", ln = c(t.root, m), on = c(t.input, {
157
+ // small input
158
+ [t.inputSmall]: l === "small",
159
+ // invalid state
160
+ [t.inputInvalid]: h,
161
+ // prefix/suffix
162
+ [t.inputHasAffix]: r || d,
163
+ [t.inputIsReady]: K
164
+ }), cn = c(t.label, {
165
+ // hide label only visually to keep them available for assistive technologies
166
+ [t.labelHidden]: an,
167
+ [t.labelDisabled]: u
168
+ }), un = c(t.secondActionButton, {
169
+ [t.secondActionButtonSmall]: l === "small"
170
+ }), rn = c(t.actionButton, {
171
+ [t.actionButtonSmall]: l === "small"
172
+ }), dn = () => {
173
+ const n = [T];
174
+ return h && I && n.push(V), n.join(" ");
175
+ }, W = () => {
176
+ var n;
177
+ if (s.current) {
178
+ v(s.current.value);
179
+ const i = new Event("change", { bubbles: !0 });
180
+ (n = s.current) == null || n.dispatchEvent(i), C(`${x} ${s.current.value}`);
181
+ }
182
+ }, pn = () => {
183
+ var n;
184
+ (n = s.current) == null || n.stepDown(), W();
185
+ }, _n = () => {
186
+ var n;
187
+ (n = s.current) == null || n.stepUp(), W();
188
+ }, fn = (n) => {
189
+ v(n.target.value), k && k(n);
190
+ };
191
+ return /* @__PURE__ */ e.jsxs("div", { className: ln, children: [
192
+ /* @__PURE__ */ e.jsxs("label", { className: cn, id: F, htmlFor: a, children: [
193
+ b,
194
+ R && /* @__PURE__ */ e.jsx(xn, {})
195
+ ] }),
196
+ y && /* @__PURE__ */ e.jsx("div", { className: t.hint, id: P, children: y }),
197
+ /* @__PURE__ */ e.jsx(
198
+ "div",
199
+ {
200
+ "aria-live": "polite",
201
+ "aria-atomic": "true",
202
+ className: t.valueAnnouncer,
203
+ id: T,
204
+ children: g
205
+ }
206
+ ),
207
+ h && I && /* @__PURE__ */ e.jsx(
208
+ mn,
209
+ {
210
+ className: t.feedback,
211
+ message: I,
212
+ type: "invalid",
213
+ id: V
214
+ }
215
+ ),
216
+ /* @__PURE__ */ e.jsxs("div", { className: t.wrapper, children: [
217
+ r && /* @__PURE__ */ e.jsx(
218
+ "span",
219
+ {
220
+ className: c($, t.prefix),
221
+ ref: A,
222
+ "aria-disabled": u,
223
+ children: tn
224
+ }
225
+ ),
226
+ /* @__PURE__ */ e.jsx(
227
+ "input",
228
+ {
229
+ className: on,
230
+ id: a,
231
+ ref: s,
232
+ ...J,
233
+ style: z,
234
+ "aria-labelledby": `${F}${sn}`,
235
+ "aria-describedby": dn(),
236
+ "aria-invalid": h,
237
+ "aria-disabled": p,
238
+ disabled: u,
239
+ min: j,
240
+ max: L,
241
+ readOnly: p,
242
+ required: R,
243
+ step: U,
244
+ type: "number",
245
+ value: _,
246
+ onChange: fn
247
+ }
248
+ ),
249
+ d && /* @__PURE__ */ e.jsx(
250
+ "span",
251
+ {
252
+ className: c($, t.suffix),
253
+ ref: D,
254
+ "aria-disabled": u,
255
+ children: en
256
+ }
257
+ ),
258
+ /* @__PURE__ */ e.jsx(
259
+ X,
260
+ {
261
+ hideLabel: !0,
262
+ theme: "light",
263
+ iconName: "minus",
264
+ variant: "filled",
265
+ className: un,
266
+ size: l,
267
+ onClick: pn,
268
+ disabled: u || p || !!_ && Number(_) <= j,
269
+ type: "button",
270
+ children: q
271
+ }
272
+ ),
273
+ /* @__PURE__ */ e.jsx(
274
+ X,
275
+ {
276
+ hideLabel: !0,
277
+ theme: "light",
278
+ iconName: "plus",
279
+ variant: "filled",
280
+ className: rn,
281
+ size: l,
282
+ onClick: _n,
283
+ disabled: u || p || !!_ && Number(_) >= L,
284
+ type: "button",
285
+ children: O
286
+ }
287
+ )
288
+ ] })
289
+ ] });
290
+ };
291
+ export {
292
+ Zn as D,
293
+ Mn as v
294
+ };
@@ -0,0 +1,93 @@
1
+ "use client";
2
+ import { j as n } from "./jsx-runtime.C115EyI4.js";
3
+ import { c } from "./index.CvOaL64Y.js";
4
+ import { DSButton as x } from "../button.C5opEJ6x.js";
5
+ import { D as w } from "./Icon.C2o2seDb.js";
6
+ import '../assets/Notification.mhVFeSGm.css';const k = "_root_1xkow_76", g = "_root--success_1xkow_102", N = "_root--error_1xkow_106", f = "_root--warning_1xkow_110", h = "_root--hide-icon_1xkow_114", I = "_content_1xkow_128", A = "_content--hide-close-button_1xkow_135", C = "_content--hide-icon_1xkow_138", H = "_icon_1xkow_142", j = "_message_1xkow_146", S = "_custom-action-area_1xkow_246", o = {
7
+ root: k,
8
+ "root--success": "_root--success_1xkow_102",
9
+ rootSuccess: g,
10
+ "root--error": "_root--error_1xkow_106",
11
+ rootError: N,
12
+ "root--warning": "_root--warning_1xkow_110",
13
+ rootWarning: f,
14
+ "root--hide-icon": "_root--hide-icon_1xkow_114",
15
+ rootHideIcon: h,
16
+ content: I,
17
+ "content--hide-close-button": "_content--hide-close-button_1xkow_135",
18
+ contentHideCloseButton: A,
19
+ "content--hide-icon": "_content--hide-icon_1xkow_138",
20
+ contentHideIcon: C,
21
+ icon: H,
22
+ message: j,
23
+ "custom-action-area": "_custom-action-area_1xkow_246",
24
+ customActionArea: S
25
+ }, R = [
26
+ "success",
27
+ "error",
28
+ "warning",
29
+ "info"
30
+ ], p = {
31
+ success: "circle-check-colored",
32
+ error: "diamond-exclamationmark-colored",
33
+ warning: "triangle-exclamationmark-colored",
34
+ info: "circle-info-colored"
35
+ }, O = {
36
+ error: "alert",
37
+ warning: "alert",
38
+ info: "status",
39
+ success: "status"
40
+ }, B = ({
41
+ children: i,
42
+ variant: t = "info",
43
+ className: a,
44
+ closeButtonLabel: _ = "Close notification",
45
+ customActionArea: e,
46
+ hideCloseButton: r = !1,
47
+ hideIcon: s = !1,
48
+ onClose: l,
49
+ ...m
50
+ }) => {
51
+ const d = c(o.root, a, {
52
+ [o.rootSuccess]: t === "success",
53
+ [o.rootError]: t === "error",
54
+ [o.rootWarning]: t === "warning",
55
+ [o.rootInfo]: t === "info",
56
+ [o.rootHideIcon]: s
57
+ }), u = c(o.content, {
58
+ [o.contentHideCloseButton]: r,
59
+ [o.contentHideIcon]: s
60
+ });
61
+ return /* @__PURE__ */ n.jsxs("div", { className: d, ...m, role: O[t], children: [
62
+ /* @__PURE__ */ n.jsxs("div", { className: u, children: [
63
+ !s && /* @__PURE__ */ n.jsx(
64
+ w,
65
+ {
66
+ name: p[t],
67
+ className: o.icon,
68
+ "aria-hidden": "true"
69
+ }
70
+ ),
71
+ /* @__PURE__ */ n.jsx("div", { className: o.message, children: i }),
72
+ !r && /* @__PURE__ */ n.jsx(
73
+ x,
74
+ {
75
+ hideLabel: !0,
76
+ iconName: "cross",
77
+ isFlush: !0,
78
+ variant: "ghost",
79
+ size: "small",
80
+ onClick: l,
81
+ type: "button",
82
+ children: _
83
+ }
84
+ )
85
+ ] }),
86
+ e && /* @__PURE__ */ n.jsx("div", { className: c({ [o.customActionArea]: !s }), children: e })
87
+ ] });
88
+ };
89
+ export {
90
+ B as D,
91
+ R as N,
92
+ p as a
93
+ };