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

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 (102) hide show
  1. package/README.md +1 -1
  2. package/assets/CustomReactSelect.BdwXfLLO.css +1 -0
  3. package/assets/RadioGroup.Ur8Ro-XL.css +1 -0
  4. package/assets/asterisk.C-o6rbGQ.css +1 -0
  5. package/assets/button.DJvR-58w.css +1 -0
  6. package/assets/buttonround.BlfQkmMV.css +1 -0
  7. package/assets/checkbox.BsFEWfQe.css +1 -0
  8. package/assets/fieldset.xazpUXJX.css +1 -0
  9. package/assets/heading.CGFucb-C.css +1 -0
  10. package/assets/input.BcP5kkZ2.css +1 -0
  11. package/assets/inputpassword.C3Uyj7oA.css +1 -0
  12. package/assets/inputsearch.tL3e9-Ob.css +1 -0
  13. package/assets/inputstepper.paPJix5A.css +1 -0
  14. package/assets/link.V7pJOW1p.css +1 -0
  15. package/assets/linkstandalone.D3RbBp23.css +1 -0
  16. package/assets/radio.CSHQGdpr.css +1 -0
  17. package/assets/select.D2qBxaHP.css +1 -0
  18. package/assets/switch.sqve8ApJ.css +1 -0
  19. package/assets/textarea.BKbocznb.css +1 -0
  20. package/assets/title.CE0Dm7PI.css +1 -0
  21. package/asterisk.DU8THnoC.js +8 -0
  22. package/button.BUUGRxIp.js +135 -0
  23. package/buttonround.CKc-a-hd.js +118 -0
  24. package/{checkbox.Bx5D_GAe.js → checkbox.C2Ga9yTK.js} +28 -28
  25. package/{checkboxgroup.gQwSHy4i.js → checkboxgroup.Cfxz9bk6.js} +3 -3
  26. package/chunks/{CustomReactSelect.Pvkkof1f.js → CustomReactSelect.uzWNynay.js} +222 -222
  27. package/chunks/RadioGroup.module.bi3leRes.js +11 -0
  28. package/chunks/whatsapp.CPpu-7Nn.js +10 -0
  29. package/{combobox.BOJ7aq_B.js → combobox.BXHAo4Wx.js} +1 -1
  30. package/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  31. package/components/Fieldset/Fieldset.d.ts +1 -1
  32. package/components/Heading/Heading.utils.d.ts +1 -1
  33. package/components/Logo/Logo.d.ts +4 -2
  34. package/components/Logo/Logo.utils.d.ts +1 -0
  35. package/components/RadioGroup/RadioGroup.d.ts +1 -1
  36. package/customreactselect.CipgVXTR.js +13 -0
  37. package/fieldset.DGcIKzDI.js +98 -0
  38. package/{floatingactionbutton.BtQVIj6W.js → floatingactionbutton.DzHD39NY.js} +2 -2
  39. package/heading.DqGbFfj2.js +50 -0
  40. package/{icon.CmAhxgHK.js → icon.PX9_1kNB.js} +1 -1
  41. package/index.es.js +22 -22
  42. package/input.o8OT6rxJ.js +236 -0
  43. package/inputpassword.-MXq8baU.js +139 -0
  44. package/inputsearch.CoYTSjox.js +188 -0
  45. package/inputstepper.BBMQr6kM.js +290 -0
  46. package/link.BN6AZfhG.js +115 -0
  47. package/linkstandalone.4-fyRd08.js +79 -0
  48. package/{logo.DXWgPUY4.js → logo.C_oJ8isW.js} +25 -24
  49. package/{optioncheckbox.CYikfEsE.js → optioncheckbox.-DRnW_ch.js} +1 -1
  50. package/package.json +2 -2
  51. package/radio.Bhu9OUY-.js +79 -0
  52. package/{radiogroup.7ptQiohb.js → radiogroup.oILRMrX-.js} +3 -3
  53. package/select.OGcreXnT.js +190 -0
  54. package/{spinner.CSzQEBx2.js → spinner.Diy_EeFY.js} +1 -1
  55. package/styles/scss/lib/_grid-extended.scss +2 -2
  56. package/styles/scss/lib/_grid-sidebar-sidebar.scss +2 -2
  57. package/styles/scss/lib/_grid-sidebar.scss +6 -6
  58. package/styles/scss/lib/_heading.scss +14 -1
  59. package/styles/scss/lib/_link.scss +9 -9
  60. package/styles/scss/lib/_text.scss +4 -0
  61. package/switch.BjoFKMQC.js +65 -0
  62. package/{systemfeedback.rBgdiL5T.js → systemfeedback.C7iXO5A1.js} +1 -1
  63. package/textarea.kc_Sfbgr.js +193 -0
  64. package/title.icX0VDiO.js +36 -0
  65. package/types/icon-types.d.ts +1 -1
  66. package/assets/CustomReactSelect.bVnR5yBP.css +0 -1
  67. package/assets/RadioGroup.SF2fv4CL.css +0 -1
  68. package/assets/asterisk.Bz7RZnKb.css +0 -1
  69. package/assets/button.C6ZbQtZ-.css +0 -1
  70. package/assets/buttonround.CjJUeMND.css +0 -1
  71. package/assets/checkbox.Bbc6PYDK.css +0 -1
  72. package/assets/fieldset.DTFs_koU.css +0 -1
  73. package/assets/heading.5HpYs7wS.css +0 -1
  74. package/assets/input.GpXQJqEO.css +0 -1
  75. package/assets/inputpassword.B9J1hCcj.css +0 -1
  76. package/assets/inputsearch.BY0BGFPK.css +0 -1
  77. package/assets/inputstepper.B0oC1URa.css +0 -1
  78. package/assets/link.Di4qXro5.css +0 -1
  79. package/assets/linkstandalone.239FeO2E.css +0 -1
  80. package/assets/radio.pqc9u_wx.css +0 -1
  81. package/assets/select.DLOQ6wu0.css +0 -1
  82. package/assets/switch.DVlaePGM.css +0 -1
  83. package/assets/textarea.BNOpd7Nf.css +0 -1
  84. package/assets/title.1dq1eWy9.css +0 -1
  85. package/asterisk.BlYjsfkN.js +0 -8
  86. package/button.Di5XtChf.js +0 -135
  87. package/buttonround._w4KDbHE.js +0 -118
  88. package/chunks/RadioGroup.module.B35YQcsb.js +0 -11
  89. package/customreactselect.DPHXAssl.js +0 -13
  90. package/fieldset.yE6WV6Ls.js +0 -98
  91. package/heading.C6k7Gakb.js +0 -44
  92. package/input.vP5xcwzV.js +0 -236
  93. package/inputpassword.BiQ8ORmn.js +0 -139
  94. package/inputsearch.BA9N3RRc.js +0 -188
  95. package/inputstepper.Cyxeg2Cj.js +0 -290
  96. package/link.BoSdsZHj.js +0 -115
  97. package/linkstandalone.BoN7nARO.js +0 -79
  98. package/radio.DTO5-Yzf.js +0 -79
  99. package/select.Dx80W7cW.js +0 -190
  100. package/switch.BwGtQdnx.js +0 -65
  101. package/textarea.C8tp1ciU.js +0 -193
  102. package/title.BT-uIobN.js +0 -36
@@ -0,0 +1,290 @@
1
+ "use client";
2
+ import { j as e } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c } from "./chunks/index.CvOaL64Y.js";
4
+ import { useState as f, useRef as N, useEffect as w, useLayoutEffect as M } from "react";
5
+ import { u as bn } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import { Asterisk as mn } from "./asterisk.DU8THnoC.js";
7
+ import { DSButton as X } from "./button.BUUGRxIp.js";
8
+ import { M as E, b as H } from "./chunks/Input.utils.Bly6ZzLI.js";
9
+ import { DSSystemFeedback as hn } from "./systemfeedback.C7iXO5A1.js";
10
+ import { g as y } from "./chunks/helpers.B1JT5ShS.js";
11
+ import './assets/inputstepper.paPJix5A.css';const xn = "_input_134nb_187", Sn = "_input--invalid_134nb_298", yn = "_input--small_134nb_305", In = "_input--has-leading-icon_134nb_351", vn = "_input--has-action-button_134nb_354", gn = "_input--has-second-action-button_134nb_357", An = "_input--has-affix_134nb_369", Bn = "_input--is-ready_134nb_381", Dn = "_root_134nb_388", Nn = "_hint_134nb_396", wn = "_label_134nb_396", En = "_wrapper_134nb_400", Hn = "_affix_134nb_406", Ln = "_affix--small_134nb_426", jn = "_affix--disabled_134nb_438", Rn = "_prefix_134nb_441", kn = "_affix--readonly_134nb_444", Cn = "_suffix_134nb_454", $n = "_action-button_134nb_461", Fn = "_label--hidden_134nb_478", Vn = "_feedback_134nb_505", Pn = "_second-action-button_134nb_519", Tn = "_value-announcer_134nb_523", t = {
12
+ input: xn,
13
+ "input--invalid": "_input--invalid_134nb_298",
14
+ inputInvalid: Sn,
15
+ "input--small": "_input--small_134nb_305",
16
+ inputSmall: yn,
17
+ "input--has-leading-icon": "_input--has-leading-icon_134nb_351",
18
+ inputHasLeadingIcon: In,
19
+ "input--has-action-button": "_input--has-action-button_134nb_354",
20
+ inputHasActionButton: vn,
21
+ "input--has-second-action-button": "_input--has-second-action-button_134nb_357",
22
+ inputHasSecondActionButton: gn,
23
+ "input--has-affix": "_input--has-affix_134nb_369",
24
+ inputHasAffix: An,
25
+ "input--is-ready": "_input--is-ready_134nb_381",
26
+ inputIsReady: Bn,
27
+ root: Dn,
28
+ hint: Nn,
29
+ label: wn,
30
+ wrapper: En,
31
+ affix: Hn,
32
+ "affix--small": "_affix--small_134nb_426",
33
+ affixSmall: Ln,
34
+ "affix--disabled": "_affix--disabled_134nb_438",
35
+ affixDisabled: jn,
36
+ prefix: Rn,
37
+ "affix--readonly": "_affix--readonly_134nb_444",
38
+ affixReadonly: kn,
39
+ suffix: Cn,
40
+ "action-button": "_action-button_134nb_461",
41
+ actionButton: $n,
42
+ "label--hidden": "_label--hidden_134nb_478",
43
+ labelHidden: Fn,
44
+ feedback: Vn,
45
+ "second-action-button": "_second-action-button_134nb_519",
46
+ secondActionButton: Pn,
47
+ "value-announcer": "_value-announcer_134nb_523",
48
+ valueAnnouncer: Tn
49
+ }, Wn = ({
50
+ id: a,
51
+ label: b,
52
+ prefix: m,
53
+ suffix: h
54
+ }) => {
55
+ if (!a)
56
+ throw new Error(
57
+ y(
58
+ "DSInputStepper",
59
+ 'A unique "id" prop is required. Please add an unique "id" prop to the DSInputStepper component.'
60
+ )
61
+ );
62
+ if (!b)
63
+ throw new Error(
64
+ y(
65
+ "DSInputStepper",
66
+ `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}.`
67
+ )
68
+ );
69
+ m && m.length > E && console.warn(
70
+ y(
71
+ "DSInputStepper",
72
+ `Prefix length must not exceed ${E} characters.`
73
+ )
74
+ ), h && h.length > H && console.warn(
75
+ y(
76
+ "DSInputStepper",
77
+ `Suffix length must not exceed ${H} characters.`
78
+ )
79
+ );
80
+ }, Yn = ({
81
+ id: a,
82
+ label: b,
83
+ announcementText: m = "Value changed to",
84
+ className: h,
85
+ disabled: d = !1,
86
+ decreaseAmountButtonLabel: q = "Decrease",
87
+ hint: I,
88
+ hideLabel: G = !1,
89
+ invalid: x = !1,
90
+ increaseAmountButtonLabel: O = "Increase",
91
+ prefix: u,
92
+ max: L = 100,
93
+ min: j = 0,
94
+ readonly: p = !1,
95
+ required: R = !1,
96
+ size: i = "medium",
97
+ step: U = 1,
98
+ suffix: r,
99
+ systemFeedback: v,
100
+ value: S,
101
+ onChange: k,
102
+ ...J
103
+ }) => {
104
+ process.env.NODE_ENV !== "production" && Wn({
105
+ id: a,
106
+ label: b,
107
+ prefix: u,
108
+ suffix: r
109
+ });
110
+ const [K, Q] = f(!1), [_, g] = f(S), [A, C] = f(""), [Y, Z] = f(!1), [z, nn] = f({}), s = N(null), tn = u == null ? void 0 : u.substring(0, E), B = N(null), en = r == null ? void 0 : r.substring(0, H), D = N(null), an = bn(G);
111
+ w(() => {
112
+ S && g(S);
113
+ }, [S]), w(() => {
114
+ if (A) {
115
+ const n = setTimeout(() => {
116
+ C("");
117
+ }, 3e3);
118
+ return () => clearTimeout(n);
119
+ }
120
+ }, [A]), w(() => {
121
+ var o;
122
+ const n = (l) => {
123
+ l.preventDefault();
124
+ };
125
+ return (o = s.current) == null || o.addEventListener("wheel", n, {
126
+ // The { passive: false } option is used to indicate that the event listener wants to cancel the event, allowing preventDefault to work as expected.
127
+ passive: !1
128
+ }), () => {
129
+ var l;
130
+ (l = s.current) == null || l.removeEventListener("wheel", n);
131
+ };
132
+ }, []), M(() => {
133
+ const n = i === "medium" ? 16 : 8, o = {};
134
+ if (B.current) {
135
+ const l = B.current.offsetWidth;
136
+ o.paddingInlineStart = n + l + "px";
137
+ }
138
+ if (D.current) {
139
+ const l = D.current.offsetWidth;
140
+ o.paddingInlineEnd = n + l + "px";
141
+ }
142
+ nn(o), Q(!0);
143
+ }, [u, r, i, Y]), M(() => {
144
+ (async () => {
145
+ "fonts" in document && (await document.fonts.load(
146
+ '1em "STIHL Contraface Digital Text Regular"'
147
+ ), Z(!0));
148
+ })();
149
+ }, []);
150
+ const $ = c(t.affix, {
151
+ [t.affixSmall]: i === "small",
152
+ [t.affixDisabled]: d,
153
+ [t.affixReadonly]: p
154
+ }), F = `${a}-label`, V = `${a}-feedback`, P = `${a}-hint`, T = `${a}-value-announcer`, sn = I ? ` ${P}` : "", on = c(t.root, h), ln = c(t.input, {
155
+ // small input
156
+ [t.inputSmall]: i === "small",
157
+ // invalid state
158
+ [t.inputInvalid]: x,
159
+ // prefix/suffix
160
+ [t.inputHasAffix]: u || r,
161
+ [t.inputIsReady]: K
162
+ }), cn = c(t.label, {
163
+ // hide label only visually to keep them available for assistive technologies
164
+ [t.labelHidden]: an
165
+ }), un = c(t.secondActionButton, {
166
+ [t.secondActionButtonSmall]: i === "small"
167
+ }), rn = c(t.actionButton, {
168
+ [t.actionButtonSmall]: i === "small"
169
+ }), dn = () => {
170
+ const n = [T];
171
+ return x && v && n.push(V), n.join(" ");
172
+ }, W = () => {
173
+ var n;
174
+ if (s.current) {
175
+ g(s.current.value);
176
+ const o = new Event("change", { bubbles: !0 });
177
+ (n = s.current) == null || n.dispatchEvent(o), C(`${m} ${s.current.value}`);
178
+ }
179
+ }, pn = () => {
180
+ var n;
181
+ (n = s.current) == null || n.stepDown(), W();
182
+ }, _n = () => {
183
+ var n;
184
+ (n = s.current) == null || n.stepUp(), W();
185
+ }, fn = (n) => {
186
+ g(n.target.value), k && k(n);
187
+ };
188
+ return /* @__PURE__ */ e.jsxs("div", { className: on, children: [
189
+ /* @__PURE__ */ e.jsxs("label", { className: cn, id: F, htmlFor: a, children: [
190
+ b,
191
+ R && /* @__PURE__ */ e.jsx(mn, {})
192
+ ] }),
193
+ I && /* @__PURE__ */ e.jsx("div", { className: t.hint, id: P, children: I }),
194
+ /* @__PURE__ */ e.jsx(
195
+ "div",
196
+ {
197
+ "aria-live": "polite",
198
+ "aria-atomic": "true",
199
+ className: t.valueAnnouncer,
200
+ id: T,
201
+ children: A
202
+ }
203
+ ),
204
+ x && v && /* @__PURE__ */ e.jsx(
205
+ hn,
206
+ {
207
+ className: t.feedback,
208
+ message: v,
209
+ type: "invalid",
210
+ id: V
211
+ }
212
+ ),
213
+ /* @__PURE__ */ e.jsxs("div", { className: t.wrapper, children: [
214
+ u && /* @__PURE__ */ e.jsx(
215
+ "span",
216
+ {
217
+ className: c($, t.prefix),
218
+ ref: B,
219
+ "aria-disabled": d,
220
+ children: tn
221
+ }
222
+ ),
223
+ /* @__PURE__ */ e.jsx(
224
+ "input",
225
+ {
226
+ className: ln,
227
+ id: a,
228
+ ref: s,
229
+ ...J,
230
+ style: z,
231
+ "aria-labelledby": `${F}${sn}`,
232
+ "aria-describedby": dn(),
233
+ "aria-invalid": x,
234
+ "aria-disabled": p,
235
+ disabled: d,
236
+ min: j,
237
+ max: L,
238
+ readOnly: p,
239
+ required: R,
240
+ step: U,
241
+ type: "number",
242
+ value: _,
243
+ onChange: fn
244
+ }
245
+ ),
246
+ r && /* @__PURE__ */ e.jsx(
247
+ "span",
248
+ {
249
+ className: c($, t.suffix),
250
+ ref: D,
251
+ "aria-disabled": d,
252
+ children: en
253
+ }
254
+ ),
255
+ /* @__PURE__ */ e.jsx(
256
+ X,
257
+ {
258
+ hideLabel: !0,
259
+ theme: "light",
260
+ iconName: "minus",
261
+ variant: "filled",
262
+ className: un,
263
+ size: i,
264
+ onClick: pn,
265
+ disabled: d || p || !!_ && Number(_) <= j,
266
+ type: "button",
267
+ children: q
268
+ }
269
+ ),
270
+ /* @__PURE__ */ e.jsx(
271
+ X,
272
+ {
273
+ hideLabel: !0,
274
+ theme: "light",
275
+ iconName: "plus",
276
+ variant: "filled",
277
+ className: rn,
278
+ size: i,
279
+ onClick: _n,
280
+ disabled: d || p || !!_ && Number(_) >= L,
281
+ type: "button",
282
+ children: O
283
+ }
284
+ )
285
+ ] })
286
+ ] });
287
+ };
288
+ export {
289
+ Yn as DSInputStepper
290
+ };
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { j as h } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c as g } from "./chunks/index.CvOaL64Y.js";
4
+ import { u as i } from "./chunks/useBreakpoint.5xBNDiCf.js";
5
+ import { DSIcon as p } from "./icon.PX9_1kNB.js";
6
+ import './assets/link.V7pJOW1p.css';const F = "_root_1rqzw_125", H = "_root--highlight_1rqzw_191", S = "_root--dark-highlight_1rqzw_191", x = "_root--filled_1rqzw_269", b = "_root--outline_1rqzw_297", j = "_root--ghost_1rqzw_324", L = "_root--ghost-flush_1rqzw_349", C = "_root--small_1rqzw_355", N = "_root--dark-filled_1rqzw_430", T = "_root--dark-outline_1rqzw_489", B = "_root--dark-ghost_1rqzw_547", E = "_root--dark-ghost-flush_1rqzw_603", R = "_root--icon-left_1rqzw_662", V = "_root--icon-only_1rqzw_678", A = "_root--icon-only-small_1rqzw_682", J = "_label--hidden_1rqzw_689", o = {
7
+ root: F,
8
+ "root--highlight": "_root--highlight_1rqzw_191",
9
+ rootHighlight: H,
10
+ "root--dark-highlight": "_root--dark-highlight_1rqzw_191",
11
+ rootDarkHighlight: S,
12
+ "root--filled": "_root--filled_1rqzw_269",
13
+ rootFilled: x,
14
+ "root--outline": "_root--outline_1rqzw_297",
15
+ rootOutline: b,
16
+ "root--ghost": "_root--ghost_1rqzw_324",
17
+ rootGhost: j,
18
+ "root--ghost-flush": "_root--ghost-flush_1rqzw_349",
19
+ rootGhostFlush: L,
20
+ "root--small": "_root--small_1rqzw_355",
21
+ rootSmall: C,
22
+ "root--dark-filled": "_root--dark-filled_1rqzw_430",
23
+ rootDarkFilled: N,
24
+ "root--dark-outline": "_root--dark-outline_1rqzw_489",
25
+ rootDarkOutline: T,
26
+ "root--dark-ghost": "_root--dark-ghost_1rqzw_547",
27
+ rootDarkGhost: B,
28
+ "root--dark-ghost-flush": "_root--dark-ghost-flush_1rqzw_603",
29
+ rootDarkGhostFlush: E,
30
+ "root--icon-left": "_root--icon-left_1rqzw_662",
31
+ rootIconLeft: R,
32
+ "root--icon-only": "_root--icon-only_1rqzw_678",
33
+ rootIconOnly: V,
34
+ "root--icon-only-small": "_root--icon-only-small_1rqzw_682",
35
+ rootIconOnlySmall: A,
36
+ "label--hidden": "_label--hidden_1rqzw_689",
37
+ labelHidden: J
38
+ }, U = ({
39
+ children: c,
40
+ aria: k,
41
+ className: u,
42
+ dataTrackingid: q,
43
+ download: w,
44
+ hideLabel: _ = !1,
45
+ href: n,
46
+ iconName: e,
47
+ iconPosition: f = "left",
48
+ iconSource: a,
49
+ isFlush: l = !1,
50
+ referrerPolicy: z,
51
+ rel: m,
52
+ size: s = "medium",
53
+ target: D = "_self",
54
+ theme: r = "light",
55
+ variant: t = "filled",
56
+ ...y
57
+ }) => {
58
+ const G = g(o.root, u, {
59
+ // variant
60
+ [o.rootFilled]: t === "filled",
61
+ [o.rootHighlight]: t === "highlight",
62
+ [o.rootOutline]: t === "outline",
63
+ [o.rootGhost]: t === "ghost" && l !== !0,
64
+ // isFlush
65
+ [o.rootGhostFlush]: t === "ghost" && l === !0,
66
+ // dark theme
67
+ [o.rootDarkFilled]: r === "dark" && t === "filled",
68
+ [o.rootDarkHighlight]: r === "dark" && t === "highlight",
69
+ [o.rootDarkOutline]: r === "dark" && t === "outline",
70
+ [o.rootDarkGhost]: r === "dark" && t === "ghost" && l !== !0,
71
+ // dark isFlush
72
+ [o.rootDarkGhostFlush]: r === "dark" && t === "ghost" && l === !0,
73
+ // size
74
+ [o.rootSmall]: s === "small",
75
+ // icon position
76
+ [o.rootIconLeft]: f === "left",
77
+ // icon only
78
+ [o.rootIconOnly]: i(_) && s === "medium",
79
+ [o.rootIconOnlySmall]: i(_) && s === "small"
80
+ }), O = g({
81
+ // hide label only visually to keep them available for assistive technologies
82
+ [o.labelHidden]: i(_)
83
+ }), I = r === "light" && t === "filled" || r === "dark" && t === "outline" || r === "dark" && t === "ghost" ? "dark" : "light", d = n === void 0 ? "span" : "a";
84
+ return /* @__PURE__ */ h.jsxs(
85
+ d,
86
+ {
87
+ className: G,
88
+ "data-trackingid": q,
89
+ ...d === "a" && {
90
+ href: n,
91
+ target: D,
92
+ rel: m,
93
+ referrerPolicy: z,
94
+ download: w
95
+ },
96
+ ...k,
97
+ ...y,
98
+ children: [
99
+ /* @__PURE__ */ h.jsx("span", { className: O, children: c }),
100
+ (e || a) && /* @__PURE__ */ h.jsx(
101
+ p,
102
+ {
103
+ name: e,
104
+ theme: I,
105
+ source: a,
106
+ "aria-hidden": "true"
107
+ }
108
+ )
109
+ ]
110
+ }
111
+ );
112
+ };
113
+ export {
114
+ U as DSLink
115
+ };
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ import { j as i } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c as x } from "./chunks/index.CvOaL64Y.js";
4
+ import { DSIcon as H } from "./icon.PX9_1kNB.js";
5
+ import "react";
6
+ import './assets/linkstandalone.D3RbBp23.css';const j = "_root_p84sd_63", v = "_root--highlight_p84sd_134", L = "_root--neutral-dark_p84sd_205", N = "_root--highlight-dark_p84sd_276", I = "_root--active_p84sd_347", A = "_root--icon-left_p84sd_353", o = {
7
+ root: j,
8
+ "root--highlight": "_root--highlight_p84sd_134",
9
+ rootHighlight: v,
10
+ "root--neutral-dark": "_root--neutral-dark_p84sd_205",
11
+ rootNeutralDark: L,
12
+ "root--highlight-dark": "_root--highlight-dark_p84sd_276",
13
+ rootHighlightDark: N,
14
+ "root--active": "_root--active_p84sd_347",
15
+ rootActive: I,
16
+ "root--icon-left": "_root--icon-left_p84sd_353",
17
+ rootIconLeft: A
18
+ }, C = ({
19
+ children: e,
20
+ aria: _,
21
+ active: g,
22
+ className: n,
23
+ dataTrackingid: c,
24
+ download: d,
25
+ href: s,
26
+ iconName: a,
27
+ iconPosition: p = "left",
28
+ iconSource: l,
29
+ referrerPolicy: k,
30
+ rel: u,
31
+ target: f = "_self",
32
+ theme: t = "light",
33
+ variant: r = "neutral",
34
+ ...m
35
+ }) => {
36
+ const D = x(o.root, n, {
37
+ // variant
38
+ [o.rootHighlight]: r === "highlight",
39
+ // theme
40
+ [o.rootNeutralDark]: t === "dark" && r === "neutral",
41
+ [o.rootHighlightDark]: t === "dark" && r === "highlight",
42
+ // active
43
+ [o.rootActive]: g,
44
+ // icon position
45
+ [o.rootIconLeft]: p === "left"
46
+ }), h = s === void 0 ? "span" : "a";
47
+ return /* @__PURE__ */ i.jsxs(
48
+ h,
49
+ {
50
+ className: D,
51
+ "data-trackingid": c,
52
+ ...h === "a" && {
53
+ href: s,
54
+ target: f,
55
+ rel: u,
56
+ referrerPolicy: k,
57
+ download: d
58
+ },
59
+ ..._,
60
+ ...m,
61
+ children: [
62
+ /* @__PURE__ */ i.jsx("span", { className: o.label, children: e }),
63
+ (a || l) && /* @__PURE__ */ i.jsx(
64
+ H,
65
+ {
66
+ name: a,
67
+ theme: t,
68
+ source: l,
69
+ size: "medium",
70
+ "aria-hidden": "true"
71
+ }
72
+ )
73
+ ]
74
+ }
75
+ );
76
+ };
77
+ export {
78
+ C as DSLinkStandalone
79
+ };
@@ -1,32 +1,33 @@
1
1
  "use client";
2
2
  import { j as a } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
- import { c as o } from "./chunks/index.CvOaL64Y.js";
4
- import './assets/logo.BbHYgnWo.css';const v = "_anchor_12s9w_63", k = "_svg_12s9w_64", e = "_anchor--dark_12s9w_103", d = "_svg-background_12s9w_134", x = "_svg-background--dark_12s9w_137", w = "_svg-text_12s9w_140", u = "_svg-text--dark_12s9w_143", s = {
5
- anchor: v,
6
- svg: k,
3
+ import { c as n } from "./chunks/index.CvOaL64Y.js";
4
+ import './assets/logo.BbHYgnWo.css';const l = "_anchor_12s9w_63", v = "_svg_12s9w_64", e = "_anchor--dark_12s9w_103", x = "_svg-background_12s9w_134", w = "_svg-background--dark_12s9w_137", u = "_svg-text_12s9w_140", i = "_svg-text--dark_12s9w_143", s = {
5
+ anchor: l,
6
+ svg: v,
7
7
  "anchor--dark": "_anchor--dark_12s9w_103",
8
8
  anchorDark: e,
9
9
  "svg-background": "_svg-background_12s9w_134",
10
- svgBackground: d,
10
+ svgBackground: x,
11
11
  "svg-background--dark": "_svg-background--dark_12s9w_137",
12
- svgBackgroundDark: x,
12
+ svgBackgroundDark: w,
13
13
  "svg-text": "_svg-text_12s9w_140",
14
- svgText: w,
14
+ svgText: u,
15
15
  "svg-text--dark": "_svg-text--dark_12s9w_143",
16
- svgTextDark: u
17
- }, D = ({
18
- aria: n,
19
- className: g,
16
+ svgTextDark: i
17
+ }, B = ({
18
+ aria: _,
19
+ className: c,
20
20
  href: r,
21
21
  target: h = "_self",
22
- theme: _ = "light",
23
- ...l
22
+ theme: g,
23
+ variant: k = "standard",
24
+ ...d
24
25
  }) => {
25
- const c = _ === "dark", t = /* @__PURE__ */ a.jsxs(
26
+ const t = k === "background" || g === "dark", o = /* @__PURE__ */ a.jsxs(
26
27
  "svg",
27
28
  {
28
29
  xmlns: "http://www.w3.org/2000/svg",
29
- className: o(s.svg, !r && g),
30
+ className: n(s.svg, !r && c),
30
31
  viewBox: "0 0 408 179",
31
32
  width: "100%",
32
33
  height: "100%",
@@ -35,14 +36,14 @@ import './assets/logo.BbHYgnWo.css';const v = "_anchor_12s9w_63", k = "_svg_12s9
35
36
  /* @__PURE__ */ a.jsx(
36
37
  "path",
37
38
  {
38
- className: c ? s.svgBackgroundDark : s.svgBackground,
39
+ className: t ? s.svgBackgroundDark : s.svgBackground,
39
40
  d: "M408 0H0v179h408V0Z"
40
41
  }
41
42
  ),
42
43
  /* @__PURE__ */ a.jsx(
43
44
  "path",
44
45
  {
45
- className: c ? s.svgTextDark : s.svgText,
46
+ className: t ? s.svgTextDark : s.svgText,
46
47
  d: "M195.459 56.314h-61.656l-4.936 16.193h20.668l-15.304 50.179h20.106l15.293-50.18h20.893l4.936-16.192ZM62.286 66.62l-5.353 17.558c-2.384 7.814 1.957 13.531 9.637 13.531h25.065a1.626 1.626 0 0 1 1.288.7 1.638 1.638 0 0 1 .207 1.454l-1.349 4.42a3.37 3.37 0 0 1-2.8 2.154H49.624l-4.993 16.249h50.816c5.622 0 10.39-2.605 12.842-10.645l5.094-16.677c2.406-7.894-2.081-13.532-9.086-13.532H79.108c-1.394 0-1.945-1.015-1.563-2.255l1.35-4.42a3.385 3.385 0 0 1 1.185-1.872 3.368 3.368 0 0 1 2.087-.733h36.253l4.937-16.193H75.251c-6.87-.045-11.155 4.364-12.965 10.261ZM320.571 106.493l15.304-50.18h-20.218l-20.23 66.373h63.017l4.936-16.193h-42.809ZM282.653 56.314l-7.771 25.484H250.83l7.77-25.484h-19.319l-20.23 66.372h19.308l7.736-25.372h24.053l-7.725 25.372h19.836l20.23-66.372h-19.836ZM205.917 56.314l-20.229 66.372h20.218l20.23-66.372h-20.219Z"
47
48
  }
48
49
  )
@@ -52,17 +53,17 @@ import './assets/logo.BbHYgnWo.css';const v = "_anchor_12s9w_63", k = "_svg_12s9
52
53
  return r ? /* @__PURE__ */ a.jsx(
53
54
  "a",
54
55
  {
55
- className: o(s.anchor, g, {
56
- [s.anchorDark]: c
56
+ className: n(s.anchor, c, {
57
+ [s.anchorDark]: g === "dark"
57
58
  }),
58
59
  href: r,
59
60
  target: h,
60
- ...n,
61
- ...l,
62
- children: t
61
+ ..._,
62
+ ...d,
63
+ children: o
63
64
  }
64
- ) : t;
65
+ ) : o;
65
66
  };
66
67
  export {
67
- D as DSLogo
68
+ B as DSLogo
68
69
  };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { j as e } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
3
  import { c as s } from "./chunks/index.CvOaL64Y.js";
4
- import { DSIcon as _ } from "./icon.CmAhxgHK.js";
4
+ import { DSIcon as _ } from "./icon.PX9_1kNB.js";
5
5
  import './assets/optioncheckbox.C-K1FLhc.css';const l = "_root_1sig6_125", k = "_root--disabled_1sig6_144", d = "_checkbox_1sig6_148", n = "_icon-check_1sig6_162", r = "_checkbox--checked_1sig6_181", x = "_checkbox--disabled_1sig6_184", m = "_label_1sig6_201", c = {
6
6
  root: l,
7
7
  "root--disabled": "_root--disabled_1sig6_144",
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@stihl-design-system/components",
3
3
  "private": false,
4
- "version": "1.0.0-RC.2",
4
+ "version": "1.0.0-RC.3",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
- "homepage": "https://designsystem.stihl.de",
6
+ "homepage": "https://main--63440bbb95889041542a5ba3.chromatic.com",
7
7
  "keywords": [
8
8
  "stihl",
9
9
  "design",
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ import { j as e } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c as i } from "./chunks/index.CvOaL64Y.js";
4
+ import { forwardRef as H, useRef as I, useState as R, useCallback as S } from "react";
5
+ import { u as g } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import './assets/radio.CSHQGdpr.css';const B = "_root_vnfdb_63", V = "_root--disabled_vnfdb_82", w = "_radio_vnfdb_86", E = "_dot_vnfdb_101", L = "_radio--invalid_vnfdb_123", O = "_label_vnfdb_128", P = "_label--hidden_vnfdb_138", U = "_input_vnfdb_151", o = {
7
+ root: B,
8
+ "root--disabled": "_root--disabled_vnfdb_82",
9
+ rootDisabled: V,
10
+ radio: w,
11
+ dot: E,
12
+ "radio--invalid": "_radio--invalid_vnfdb_123",
13
+ radioInvalid: L,
14
+ label: O,
15
+ "label--hidden": "_label--hidden_vnfdb_138",
16
+ labelHidden: P,
17
+ input: U
18
+ }, q = H(
19
+ ({
20
+ label: l,
21
+ name: c,
22
+ value: _,
23
+ defaultChecked: f = !1,
24
+ disabled: n = !1,
25
+ hideLabel: b = !1,
26
+ checked: r,
27
+ invalid: u = !1,
28
+ className: v,
29
+ onChange: d,
30
+ ...m
31
+ }, s) => {
32
+ const p = I(null), [h, x] = R(f), t = r !== void 0, C = t ? r : h, j = g(b), k = i(
33
+ o.root,
34
+ {
35
+ [o.rootDisabled]: n
36
+ },
37
+ v
38
+ ), N = i(o.label, {
39
+ // hide label only visually to keep them available for assistive technologies
40
+ [o.labelHidden]: j
41
+ }), D = i(o.radio, {
42
+ [o.radioInvalid]: u
43
+ }), y = S(
44
+ (a) => {
45
+ if (n) {
46
+ a.preventDefault();
47
+ return;
48
+ }
49
+ t || x(a.target.checked), d && d(a);
50
+ },
51
+ [n, t, d]
52
+ );
53
+ return /* @__PURE__ */ e.jsxs("label", { className: k, children: [
54
+ /* @__PURE__ */ e.jsx(
55
+ "input",
56
+ {
57
+ type: "radio",
58
+ value: _,
59
+ name: c,
60
+ className: o.input,
61
+ ref: (a) => {
62
+ typeof s == "function" ? s(a) : s !== null && (s.current = a), p.current = a;
63
+ },
64
+ onChange: y,
65
+ ...m,
66
+ disabled: n,
67
+ checked: C,
68
+ "aria-label": typeof l == "string" ? l : void 0
69
+ }
70
+ ),
71
+ /* @__PURE__ */ e.jsx("span", { className: D, children: /* @__PURE__ */ e.jsx("div", { className: o.dot }) }),
72
+ /* @__PURE__ */ e.jsx("span", { className: N, children: l })
73
+ ] });
74
+ }
75
+ );
76
+ q.displayName = "DSRadio";
77
+ export {
78
+ q as DSRadio
79
+ };
@@ -2,9 +2,9 @@
2
2
  import { j as d } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
3
  import { c as N } from "./chunks/index.CvOaL64Y.js";
4
4
  import { forwardRef as P, useState as C } from "react";
5
- import { DSFieldset as y } from "./fieldset.yE6WV6Ls.js";
6
- import { DSRadio as z } from "./radio.DTO5-Yzf.js";
7
- import { s as c } from "./chunks/RadioGroup.module.B35YQcsb.js";
5
+ import { DSFieldset as y } from "./fieldset.DGcIKzDI.js";
6
+ import { DSRadio as z } from "./radio.Bhu9OUY-.js";
7
+ import { s as c } from "./chunks/RadioGroup.module.bi3leRes.js";
8
8
  import { g as a } from "./chunks/helpers.B1JT5ShS.js";
9
9
  const f = (o) => `The "${o}" prop is required. Please add the "${o}" prop to the DSRadioGroup component.`, M = ({
10
10
  description: o,