@stihl-design-system/components 1.0.0-RC.7 → 1.0.0-RC.9

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 (155) hide show
  1. package/Notification-additional-information.jpeg +0 -0
  2. package/Notification-confirm-error.jpg +0 -0
  3. package/Notification-confirm-warn.jpeg +0 -0
  4. package/Notification-overview.jpeg +0 -0
  5. package/Notification-success.jpeg +0 -0
  6. package/assets/CustomReactSelect.CMkn-EGK.css +1 -0
  7. package/assets/Dialog.DdLMmOLt.css +1 -0
  8. package/assets/Drawer.BqBgbSuP.css +1 -0
  9. package/assets/Fieldset.qHYeUFZt.css +1 -0
  10. package/assets/InputPassword.Cf394z47.css +1 -0
  11. package/assets/InputSearch.eCRQoxjN.css +1 -0
  12. package/assets/InputStepper.B80KulYE.css +1 -0
  13. package/assets/Notification.DK6agBGS.css +1 -0
  14. package/assets/Select.BptsMxz4.css +1 -0
  15. package/assets/Textarea.CIIVh03G.css +1 -0
  16. package/assets/Toast.Dsvs1zdM.css +1 -0
  17. package/assets/asterisk.DlJ4YtSZ.css +1 -0
  18. package/assets/button.B1O7Yw3Q.css +1 -0
  19. package/assets/buttonround.DlH_ipDo.css +1 -0
  20. package/assets/checkbox.K4CVYK9g.css +1 -0
  21. package/assets/heading.6bER-Eac.css +1 -0
  22. package/assets/input.C0MrSbQu.css +1 -0
  23. package/assets/link.vtTST2ki.css +1 -0
  24. package/assets/linkstandalone.BtAcziZ7.css +1 -0
  25. package/assets/logo.pETQEsvZ.css +1 -0
  26. package/assets/optioncheckbox.BJJAph5_.css +1 -0
  27. package/assets/radio.9kpIO3HC.css +1 -0
  28. package/assets/skiptocontent.CHcqLS7S.css +1 -0
  29. package/assets/switch.2DQF2zH-.css +1 -0
  30. package/assets/systemfeedback.Sq0bAIyf.css +1 -0
  31. package/assets/text.Dhb_l50R.css +1 -0
  32. package/assets/title.f74Bosn-.css +1 -0
  33. package/{asterisk.Cjbk-xZi.js → asterisk.DDn-yX4P.js} +1 -1
  34. package/button.CkHCQg3Y.js +135 -0
  35. package/buttonround.DX3u2Fio.js +118 -0
  36. package/checkbox.BbmCDJCm.js +112 -0
  37. package/{checkboxgroup.DqWlzAeR.js → checkboxgroup.CPENWSuk.js} +2 -2
  38. package/chunks/{CheckboxGroup.DsQ6lI5a.js → CheckboxGroup.Dx_Hn8Dl.js} +2 -2
  39. package/chunks/CustomReactSelect.C4rTVlvy.js +3593 -0
  40. package/chunks/Dialog.TPjJ_yxK.js +148 -0
  41. package/chunks/Drawer.DrLGSch-.js +154 -0
  42. package/chunks/{Fieldset.B1vsrHNv.js → Fieldset.P09LInkT.js} +29 -29
  43. package/chunks/{Input.utils.BGUhXCNP.js → Input.utils.ChV6RJsh.js} +19 -17
  44. package/chunks/InputPassword.CSc1c98k.js +140 -0
  45. package/chunks/{InputSearch.DITRiB92.js → InputSearch.DrgdGFT_.js} +49 -49
  46. package/chunks/{InputStepper.Bf8NZ9pb.js → InputStepper.DJEuIr4C.js} +76 -76
  47. package/chunks/{Notification.DVVuSOqG.js → Notification.B68mMDiB.js} +24 -24
  48. package/chunks/{RadioGroup.BO4pbAJw.js → RadioGroup.B5jRveyI.js} +2 -2
  49. package/chunks/Select.Cl2eJR1z.js +191 -0
  50. package/chunks/Textarea.Sk9-GXfs.js +195 -0
  51. package/chunks/{Toast.RON4bFPY.js → Toast.D9DAuz2m.js} +33 -33
  52. package/{combobox.CRlhqmuO.js → combobox.jDpV6bv-.js} +1 -1
  53. package/components/Button/Button.d.ts +1 -1
  54. package/components/Checkbox/Checkbox.d.ts +1 -1
  55. package/components/CustomReactSelect/CustomReactSelect.d.ts +2 -2
  56. package/components/Dialog/Dialog.d.ts +22 -3
  57. package/components/Dialog/Dialog.test.d.ts +1 -0
  58. package/components/Dialog/Dialog.utils.d.ts +12 -0
  59. package/components/Dialog/Dialog.utils.test.d.ts +1 -0
  60. package/components/Drawer/Drawer.d.ts +31 -0
  61. package/components/Drawer/Drawer.test.d.ts +1 -0
  62. package/components/Drawer/Drawer.utils.d.ts +14 -0
  63. package/components/Drawer/Drawer.utils.test.d.ts +1 -0
  64. package/components/Input/Input.d.ts +1 -1
  65. package/components/InputSearch/InputSearch.d.ts +1 -1
  66. package/components/LinkStandalone/LinkStandalone.d.ts +1 -1
  67. package/components/Notification/Notification.d.ts +3 -1
  68. package/components/Radio/Radio.d.ts +1 -1
  69. package/components/RadioGroup/RadioGroup.d.ts +1 -1
  70. package/components/SkipToContent/SkipToContent.d.ts +1 -1
  71. package/components/Switch/Switch.d.ts +1 -1
  72. package/components/Toast/Toast.d.ts +3 -0
  73. package/{customreactselect.CD58gwtp.js → customreactselect.C2QK_Q8T.js} +4 -4
  74. package/dialog.BPX7RJtQ.js +9 -0
  75. package/drawer.BfEPcSsQ.js +9 -0
  76. package/drawer.d.ts +1 -0
  77. package/fieldset.4yvz0e7M.js +11 -0
  78. package/heading.CAkraI2D.js +50 -0
  79. package/index.d.ts +4 -0
  80. package/index.es.js +99 -92
  81. package/input.lLMqAG-6.js +236 -0
  82. package/{inputpassword.Ba9SUUIK.js → inputpassword.BIdYGrhB.js} +4 -4
  83. package/{inputsearch.BK-0OTwA.js → inputsearch.DleOblJp.js} +4 -4
  84. package/inputstepper.DWkHwOAn.js +13 -0
  85. package/link.KZaBufPM.js +116 -0
  86. package/linkstandalone.B6tN-NXD.js +80 -0
  87. package/{logo.BR_CUXFl.js → logo.CqukakYv.js} +32 -36
  88. package/{notification.Csn5QCR2.js → notification.DdJjbSdM.js} +2 -2
  89. package/optioncheckbox.DwQEfxGG.js +43 -0
  90. package/package.json +6 -4
  91. package/partials/index.js +442 -442
  92. package/radio.CWGJtmKl.js +115 -0
  93. package/{radiogroup.CiENWRos.js → radiogroup.FfK4DLsV.js} +3 -3
  94. package/{select.DLYav8gw.js → select.BEuTuEFZ.js} +3 -3
  95. package/{skiptocontent._YZRKxnc.js → skiptocontent.fP4SOp-p.js} +16 -14
  96. package/styles/scss/lib/_heading.scss +50 -9
  97. package/styles/scss/lib/_helpers.scss +12 -0
  98. package/styles/scss/lib/_link.scss +58 -94
  99. package/styles/scss/lib/_text.scss +57 -14
  100. package/switch.KO8HZPNL.js +65 -0
  101. package/{systemfeedback.CUWch42u.js → systemfeedback._8gatmgR.js} +1 -1
  102. package/text.rgDKQBrU.js +57 -0
  103. package/{textarea.hLgeYdsI.js → textarea.DV1yVty7.js} +3 -3
  104. package/title.LY1ylQsb.js +36 -0
  105. package/{toast.r_yhGYEe.js → toast.BB8L0ixD.js} +2 -2
  106. package/{toastmanager.BncH_rUP.js → toastmanager.DifUvJcg.js} +27 -25
  107. package/utils/index.d.ts +1 -0
  108. package/utils/render-in-iframe.d.ts +15 -0
  109. package/utils/useIsomorphicLayoutEffect.d.ts +26 -0
  110. package/utils/vitest.setup.d.ts +2 -0
  111. package/assets/CustomReactSelect.Bsphydqt.css +0 -1
  112. package/assets/Fieldset.D0jHAGRL.css +0 -1
  113. package/assets/InputPassword.VCNO8ANM.css +0 -1
  114. package/assets/InputSearch.BMRAb95l.css +0 -1
  115. package/assets/InputStepper.BKjqNi-i.css +0 -1
  116. package/assets/Notification.Bg63cvs4.css +0 -1
  117. package/assets/Select.Bz1TImkI.css +0 -1
  118. package/assets/Textarea.D2h5cW_t.css +0 -1
  119. package/assets/Toast.BzVaebc0.css +0 -1
  120. package/assets/asterisk.JlyPArZu.css +0 -1
  121. package/assets/button.BdxtFZKx.css +0 -1
  122. package/assets/buttonround.pR4StXA7.css +0 -1
  123. package/assets/checkbox.BjIn2stV.css +0 -1
  124. package/assets/dialog.CKwM2EBH.css +0 -1
  125. package/assets/heading.CCbuI4X-.css +0 -1
  126. package/assets/input.71tOIrpp.css +0 -1
  127. package/assets/link.D61tKkSK.css +0 -1
  128. package/assets/linkstandalone.Bx8Uvo0G.css +0 -1
  129. package/assets/logo.C05WqGId.css +0 -1
  130. package/assets/optioncheckbox.BdRJHcSw.css +0 -1
  131. package/assets/radio.ewRpPo4W.css +0 -1
  132. package/assets/skiptocontent.DGVJ77cj.css +0 -1
  133. package/assets/switch.Ds-I_ybT.css +0 -1
  134. package/assets/systemfeedback.BzJATHDd.css +0 -1
  135. package/assets/text.B-CTuGgI.css +0 -1
  136. package/assets/title.DlhX9K3W.css +0 -1
  137. package/button.L1lgCuM9.js +0 -135
  138. package/buttonround.ddSqXjYf.js +0 -118
  139. package/checkbox.DNHdo6_n.js +0 -113
  140. package/chunks/CustomReactSelect.5dHi6PEO.js +0 -4983
  141. package/chunks/InputPassword.a7zHKrmM.js +0 -140
  142. package/chunks/Select.COdS787F.js +0 -191
  143. package/chunks/Textarea.oqCrSopu.js +0 -195
  144. package/dialog.0qPUVJha.js +0 -45
  145. package/fieldset.aY3V2jK2.js +0 -11
  146. package/heading.BTNroD1E.js +0 -50
  147. package/input.DqSOhSMX.js +0 -236
  148. package/inputstepper.DFQ4zC15.js +0 -13
  149. package/link.SAcKvzJ3.js +0 -115
  150. package/linkstandalone.DNe0Nydm.js +0 -79
  151. package/optioncheckbox.C4l2UIak.js +0 -43
  152. package/radio.epf54-sG.js +0 -115
  153. package/switch.rd7PdLc9.js +0 -65
  154. package/text.CrYUewrP.js +0 -57
  155. package/title.Dvp8LKJt.js +0 -36
@@ -0,0 +1,236 @@
1
+ "use client";
2
+ import { j as a } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as l } from "./chunks/index.CvOaL64Y.js";
4
+ import { useState as m, useRef as v, useEffect as ti } from "react";
5
+ import { u as si } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import { v as ei, b as li, M as oi, a as ui, u as w, s as ci, c as di, i as C } from "./chunks/Input.utils.ChV6RJsh.js";
7
+ import { Asterisk as _i } from "./asterisk.DDn-yX4P.js";
8
+ import { DSButton as E } from "./button.CkHCQg3Y.js";
9
+ import { D as fi } from "./chunks/Icon.n4XZrQ4N.js";
10
+ import { DSSystemFeedback as ri } from "./systemfeedback._8gatmgR.js";
11
+ import './assets/input.C0MrSbQu.css';const pi = "_input_13i6u_226", mi = "_input--invalid_13i6u_338", hi = "_input--small_13i6u_345", bi = "_input--has-leading-icon_13i6u_399", xi = "_input--has-action-button_13i6u_402", gi = "_input--has-second-action-button_13i6u_405", Ii = "_input--has-affix_13i6u_417", Si = "_input--is-ready_13i6u_431", yi = "_root_13i6u_438", Hi = "_hint_13i6u_446", ki = "_label_13i6u_446", vi = "_wrapper_13i6u_450", Ci = "_affix_13i6u_456", Ri = "_affix--small_13i6u_478", ji = "_affix--disabled_13i6u_492", Di = "_prefix_13i6u_495", Li = "_affix--readonly_13i6u_498", Ai = "_suffix_13i6u_508", Ni = "_leading-icon_13i6u_515", Bi = "_leading-icon--small_13i6u_527", wi = "_leading-icon--disabled_13i6u_530", Ei = "_action-button_13i6u_539", Ti = "_label--hidden_13i6u_558", Fi = "_feedback_13i6u_587", i = {
12
+ input: pi,
13
+ "input--invalid": "_input--invalid_13i6u_338",
14
+ inputInvalid: mi,
15
+ "input--small": "_input--small_13i6u_345",
16
+ inputSmall: hi,
17
+ "input--has-leading-icon": "_input--has-leading-icon_13i6u_399",
18
+ inputHasLeadingIcon: bi,
19
+ "input--has-action-button": "_input--has-action-button_13i6u_402",
20
+ inputHasActionButton: xi,
21
+ "input--has-second-action-button": "_input--has-second-action-button_13i6u_405",
22
+ inputHasSecondActionButton: gi,
23
+ "input--has-affix": "_input--has-affix_13i6u_417",
24
+ inputHasAffix: Ii,
25
+ "input--is-ready": "_input--is-ready_13i6u_431",
26
+ inputIsReady: Si,
27
+ root: yi,
28
+ hint: Hi,
29
+ label: ki,
30
+ wrapper: vi,
31
+ affix: Ci,
32
+ "affix--small": "_affix--small_13i6u_478",
33
+ affixSmall: Ri,
34
+ "affix--disabled": "_affix--disabled_13i6u_492",
35
+ affixDisabled: ji,
36
+ prefix: Di,
37
+ "affix--readonly": "_affix--readonly_13i6u_498",
38
+ affixReadonly: Li,
39
+ suffix: Ai,
40
+ "leading-icon": "_leading-icon_13i6u_515",
41
+ leadingIcon: Ni,
42
+ "leading-icon--small": "_leading-icon--small_13i6u_527",
43
+ leadingIconSmall: Bi,
44
+ "leading-icon--disabled": "_leading-icon--disabled_13i6u_530",
45
+ leadingIconDisabled: wi,
46
+ "action-button": "_action-button_13i6u_539",
47
+ actionButton: Ei,
48
+ "label--hidden": "_label--hidden_13i6u_558",
49
+ labelHidden: Ti,
50
+ feedback: Fi
51
+ }, Ji = ({
52
+ id: c,
53
+ label: R,
54
+ actionButtonLabel: T,
55
+ actionButtonIconName: _,
56
+ actionButtonIconSource: h,
57
+ actionButtonOnClick: F,
58
+ className: P,
59
+ disabled: t = !1,
60
+ hint: b,
61
+ hideLabel: O = !1,
62
+ invalid: f = !1,
63
+ leadingIconName: r,
64
+ leadingIconSource: p,
65
+ prefix: s,
66
+ readonly: d = !1,
67
+ required: j = !1,
68
+ size: e = "medium",
69
+ suffix: n,
70
+ systemFeedback: x,
71
+ type: o = "text",
72
+ ...$
73
+ }) => {
74
+ process.env.NODE_ENV !== "production" && (ei({
75
+ id: c,
76
+ label: R,
77
+ prefix: s,
78
+ suffix: n,
79
+ leadingIconName: r,
80
+ leadingIconSource: p,
81
+ actionButtonIconName: _,
82
+ actionButtonIconSource: h
83
+ }), li(o));
84
+ const [W, X] = m(!1), [M, V] = m(!1), [g, G] = m(!1), [U, J] = m({}), I = v(null), K = s == null ? void 0 : s.substring(0, oi), S = v(null), Q = n == null ? void 0 : n.substring(0, ui), y = v(null), Y = si(O);
85
+ w(() => {
86
+ const u = e === "medium" ? 16 : 8, H = {};
87
+ if (S.current) {
88
+ const k = S.current.offsetWidth;
89
+ H.paddingInlineStart = u + k + "px";
90
+ }
91
+ if (y.current) {
92
+ const k = y.current.offsetWidth;
93
+ H.paddingInlineEnd = u + k + "px";
94
+ }
95
+ J(H), X(!0);
96
+ }, [s, n, e, M]), w(() => {
97
+ (async () => {
98
+ "fonts" in document && (await document.fonts.load(
99
+ '1em "STIHL Contraface Digital Text Regular"'
100
+ ), V(!0));
101
+ })();
102
+ }, []), ti(() => {
103
+ const u = ci(
104
+ C(o),
105
+ di(o)
106
+ );
107
+ G(u);
108
+ }, [o]);
109
+ const D = l(i.affix, {
110
+ [i.affixSmall]: e === "small",
111
+ [i.affixDisabled]: t,
112
+ [i.affixReadonly]: d
113
+ }), L = `${c}-label`, A = `${c}-feedback`, N = `${c}-hint`, Z = b ? ` ${N}` : "", q = l(i.root, P), z = l(i.input, {
114
+ // small input
115
+ [i.inputSmall]: e === "small",
116
+ // invalid state
117
+ [i.inputInvalid]: f,
118
+ // leading icon
119
+ [i.inputHasLeadingIcon]: r || p,
120
+ // prefix/suffix
121
+ [i.inputHasAffix]: s || n,
122
+ // action button
123
+ [i.inputHasActionButton]: _ || h || g,
124
+ [i.inputIsReady]: W
125
+ }), ii = l(i.label, {
126
+ // hide label only visually to keep them available for assistive technologies
127
+ [i.labelHidden]: Y
128
+ }), ai = l(i.leadingIcon, {
129
+ [i.leadingIconSmall]: e === "small",
130
+ [i.leadingIconDisabled]: t
131
+ }), B = l(i.actionButton, {
132
+ [i.actionButtonSmall]: e === "small"
133
+ }), ni = (u) => {
134
+ I.current && !t && !d && I.current.showPicker(), u.preventDefault();
135
+ };
136
+ return /* @__PURE__ */ a.jsxs("div", { className: q, children: [
137
+ /* @__PURE__ */ a.jsxs("label", { className: ii, id: L, htmlFor: c, children: [
138
+ R,
139
+ j && /* @__PURE__ */ a.jsx(_i, {})
140
+ ] }),
141
+ b && /* @__PURE__ */ a.jsx("div", { className: i.hint, id: N, children: b }),
142
+ f && x && /* @__PURE__ */ a.jsx(
143
+ ri,
144
+ {
145
+ className: i.feedback,
146
+ message: x,
147
+ type: "invalid",
148
+ id: A
149
+ }
150
+ ),
151
+ /* @__PURE__ */ a.jsxs("div", { className: i.wrapper, children: [
152
+ s && /* @__PURE__ */ a.jsx(
153
+ "span",
154
+ {
155
+ className: l(D, i.prefix),
156
+ ref: S,
157
+ "aria-disabled": t,
158
+ children: K
159
+ }
160
+ ),
161
+ !s && (r || p) && /* @__PURE__ */ a.jsx(
162
+ fi,
163
+ {
164
+ name: r,
165
+ theme: "light",
166
+ source: p,
167
+ className: ai,
168
+ "aria-hidden": "true"
169
+ }
170
+ ),
171
+ /* @__PURE__ */ a.jsx(
172
+ "input",
173
+ {
174
+ type: o,
175
+ className: z,
176
+ id: c,
177
+ ref: I,
178
+ ...$,
179
+ style: U,
180
+ "aria-labelledby": `${L}${Z}`,
181
+ "aria-describedby": f && x ? A : void 0,
182
+ "aria-invalid": f,
183
+ "aria-disabled": d,
184
+ readOnly: d,
185
+ required: j,
186
+ disabled: t
187
+ }
188
+ ),
189
+ n && /* @__PURE__ */ a.jsx(
190
+ "span",
191
+ {
192
+ className: l(D, i.suffix),
193
+ ref: y,
194
+ "aria-disabled": t,
195
+ children: Q
196
+ }
197
+ ),
198
+ !n && !g && (_ || h) && /* @__PURE__ */ a.jsx(
199
+ E,
200
+ {
201
+ hideLabel: !0,
202
+ theme: "light",
203
+ iconName: _,
204
+ variant: "ghost",
205
+ className: B,
206
+ size: e,
207
+ onClick: F,
208
+ type: "button",
209
+ disabled: t || d,
210
+ children: T
211
+ }
212
+ ),
213
+ !n && g && !d && !t && /* @__PURE__ */ a.jsxs(
214
+ E,
215
+ {
216
+ hideLabel: !0,
217
+ theme: "light",
218
+ iconName: C(o) ? "calendar" : "clock",
219
+ variant: "ghost",
220
+ className: B,
221
+ size: e,
222
+ onClick: ni,
223
+ type: "button",
224
+ children: [
225
+ "Open ",
226
+ C(o) ? "date" : "time",
227
+ " picker"
228
+ ]
229
+ }
230
+ )
231
+ ] })
232
+ ] });
233
+ };
234
+ export {
235
+ Ji as DSInput
236
+ };
@@ -3,10 +3,10 @@ import "./chunks/jsx-runtime.C115EyI4.js";
3
3
  import "./chunks/index.CvOaL64Y.js";
4
4
  import "react";
5
5
  import "./chunks/useBreakpoint.5xBNDiCf.js";
6
- import "./asterisk.Cjbk-xZi.js";
7
- import "./button.L1lgCuM9.js";
8
- import "./systemfeedback.CUWch42u.js";
9
- import { D as n } from "./chunks/InputPassword.a7zHKrmM.js";
6
+ import "./asterisk.DDn-yX4P.js";
7
+ import "./button.CkHCQg3Y.js";
8
+ import "./systemfeedback._8gatmgR.js";
9
+ import { D as n } from "./chunks/InputPassword.CSc1c98k.js";
10
10
  export {
11
11
  n as DSInputPassword
12
12
  };
@@ -4,10 +4,10 @@ import "./chunks/index.CvOaL64Y.js";
4
4
  import "react";
5
5
  import "./chunks/helpers.B1JT5ShS.js";
6
6
  import "./chunks/useBreakpoint.5xBNDiCf.js";
7
- import "./asterisk.Cjbk-xZi.js";
8
- import "./button.L1lgCuM9.js";
9
- import "./systemfeedback.CUWch42u.js";
10
- import { D as s } from "./chunks/InputSearch.DITRiB92.js";
7
+ import "./asterisk.DDn-yX4P.js";
8
+ import "./button.CkHCQg3Y.js";
9
+ import "./systemfeedback._8gatmgR.js";
10
+ import { D as s } from "./chunks/InputSearch.DrgdGFT_.js";
11
11
  export {
12
12
  s as DSInputSearch
13
13
  };
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import "./chunks/jsx-runtime.C115EyI4.js";
3
+ import "./chunks/index.CvOaL64Y.js";
4
+ import "react";
5
+ import "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import "./chunks/Input.utils.ChV6RJsh.js";
7
+ import "./asterisk.DDn-yX4P.js";
8
+ import "./button.CkHCQg3Y.js";
9
+ import "./systemfeedback._8gatmgR.js";
10
+ import { D } from "./chunks/InputStepper.DJEuIr4C.js";
11
+ export {
12
+ D as DSInputStepper
13
+ };
@@ -0,0 +1,116 @@
1
+ "use client";
2
+ import { j as _ } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as e } from "./chunks/index.CvOaL64Y.js";
4
+ import { u as i } from "./chunks/useBreakpoint.5xBNDiCf.js";
5
+ import "react";
6
+ import { D as H } from "./chunks/Icon.n4XZrQ4N.js";
7
+ import './assets/link.vtTST2ki.css';const S = "_root_unbkm_151", x = "_root--highlight_unbkm_220", j = "_root--dark-highlight_unbkm_220", L = "_root--filled_unbkm_298", C = "_root--outline_unbkm_326", N = "_root--ghost_unbkm_353", T = "_root--ghost-flush_unbkm_378", B = "_root--small_unbkm_384", E = "_root--dark-filled_unbkm_461", R = "_root--dark-outline_unbkm_520", V = "_root--dark-ghost_unbkm_578", q = "_root--dark-ghost-flush_unbkm_634", w = "_root--icon-left_unbkm_693", A = "_root--icon-only_unbkm_709", J = "_root--icon-only-small_unbkm_718", K = "_label--hidden_unbkm_729", o = {
8
+ root: S,
9
+ "root--highlight": "_root--highlight_unbkm_220",
10
+ rootHighlight: x,
11
+ "root--dark-highlight": "_root--dark-highlight_unbkm_220",
12
+ rootDarkHighlight: j,
13
+ "root--filled": "_root--filled_unbkm_298",
14
+ rootFilled: L,
15
+ "root--outline": "_root--outline_unbkm_326",
16
+ rootOutline: C,
17
+ "root--ghost": "_root--ghost_unbkm_353",
18
+ rootGhost: N,
19
+ "root--ghost-flush": "_root--ghost-flush_unbkm_378",
20
+ rootGhostFlush: T,
21
+ "root--small": "_root--small_unbkm_384",
22
+ rootSmall: B,
23
+ "root--dark-filled": "_root--dark-filled_unbkm_461",
24
+ rootDarkFilled: E,
25
+ "root--dark-outline": "_root--dark-outline_unbkm_520",
26
+ rootDarkOutline: R,
27
+ "root--dark-ghost": "_root--dark-ghost_unbkm_578",
28
+ rootDarkGhost: V,
29
+ "root--dark-ghost-flush": "_root--dark-ghost-flush_unbkm_634",
30
+ rootDarkGhostFlush: q,
31
+ "root--icon-left": "_root--icon-left_unbkm_693",
32
+ rootIconLeft: w,
33
+ "root--icon-only": "_root--icon-only_unbkm_709",
34
+ rootIconOnly: A,
35
+ "root--icon-only-small": "_root--icon-only-small_unbkm_718",
36
+ rootIconOnlySmall: J,
37
+ "label--hidden": "_label--hidden_unbkm_729",
38
+ labelHidden: K
39
+ }, X = ({
40
+ children: d,
41
+ aria: m,
42
+ className: g,
43
+ dataTrackingid: c,
44
+ download: b,
45
+ hideLabel: n = !1,
46
+ href: h,
47
+ iconName: k,
48
+ iconPosition: f = "left",
49
+ iconSource: u,
50
+ isFlush: r = !1,
51
+ referrerPolicy: D,
52
+ rel: y,
53
+ size: s = "medium",
54
+ target: G = "_self",
55
+ theme: l = "light",
56
+ variant: t = "filled",
57
+ ...O
58
+ }) => {
59
+ const p = e(o.root, g, {
60
+ // variant
61
+ [o.rootFilled]: t === "filled",
62
+ [o.rootHighlight]: t === "highlight",
63
+ [o.rootOutline]: t === "outline",
64
+ [o.rootGhost]: t === "ghost" && r !== !0,
65
+ // isFlush
66
+ [o.rootGhostFlush]: t === "ghost" && r === !0,
67
+ // dark theme
68
+ [o.rootDarkFilled]: l === "dark" && t === "filled",
69
+ [o.rootDarkHighlight]: l === "dark" && t === "highlight",
70
+ [o.rootDarkOutline]: l === "dark" && t === "outline",
71
+ [o.rootDarkGhost]: l === "dark" && t === "ghost" && r !== !0,
72
+ // dark isFlush
73
+ [o.rootDarkGhostFlush]: l === "dark" && t === "ghost" && r === !0,
74
+ // size
75
+ [o.rootSmall]: s === "small",
76
+ // icon position
77
+ [o.rootIconLeft]: f === "left",
78
+ // icon only
79
+ [o.rootIconOnly]: i(n) && s === "medium",
80
+ [o.rootIconOnlySmall]: i(n) && s === "small"
81
+ }), I = e({
82
+ // hide label only visually to keep them available for assistive technologies
83
+ [o.labelHidden]: i(n)
84
+ }), F = l === "light" && t === "filled" || l === "dark" && t === "outline" || l === "dark" && t === "ghost" ? "dark" : "light", a = h === void 0 ? "span" : "a";
85
+ return /* @__PURE__ */ _.jsxs(
86
+ a,
87
+ {
88
+ className: p,
89
+ "data-trackingid": c,
90
+ ...a === "a" && {
91
+ href: h,
92
+ target: G,
93
+ rel: y,
94
+ referrerPolicy: D,
95
+ download: b
96
+ },
97
+ ...m,
98
+ ...O,
99
+ children: [
100
+ /* @__PURE__ */ _.jsx("span", { className: I, children: d }),
101
+ (k || u) && /* @__PURE__ */ _.jsx(
102
+ H,
103
+ {
104
+ name: k,
105
+ theme: F,
106
+ source: u,
107
+ "aria-hidden": "true"
108
+ }
109
+ )
110
+ ]
111
+ }
112
+ );
113
+ };
114
+ export {
115
+ X as DSLink
116
+ };
@@ -0,0 +1,80 @@
1
+ "use client";
2
+ import { j as t } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as D } from "./chunks/index.CvOaL64Y.js";
4
+ import { D as p } from "./chunks/Icon.n4XZrQ4N.js";
5
+ import "react";
6
+ import './assets/linkstandalone.BtAcziZ7.css';const x = "_link-standalone_cjaj8_76", H = "_link-standalone--highlight_cjaj8_141", v = "_link-standalone--neutral-dark_cjaj8_155", L = "_link-standalone--highlight-dark_cjaj8_201", N = "_link-standalone--active_cjaj8_247", I = "_link-standalone--icon-left_cjaj8_254", n = {
7
+ "link-standalone": "_link-standalone_cjaj8_76",
8
+ linkStandalone: x,
9
+ "link-standalone--highlight": "_link-standalone--highlight_cjaj8_141",
10
+ linkStandaloneHighlight: H,
11
+ "link-standalone--neutral-dark": "_link-standalone--neutral-dark_cjaj8_155",
12
+ linkStandaloneNeutralDark: v,
13
+ "link-standalone--highlight-dark": "_link-standalone--highlight-dark_cjaj8_201",
14
+ linkStandaloneHighlightDark: L,
15
+ "link-standalone--active": "_link-standalone--active_cjaj8_247",
16
+ linkStandaloneActive: N,
17
+ "link-standalone--icon-left": "_link-standalone--icon-left_cjaj8_254",
18
+ linkStandaloneIconLeft: I
19
+ }, C = ({
20
+ children: s,
21
+ aria: d,
22
+ active: c,
23
+ className: _,
24
+ dataTrackingid: h,
25
+ download: r,
26
+ href: i,
27
+ iconName: e,
28
+ iconPosition: g = "left",
29
+ iconSource: o,
30
+ referrerPolicy: j,
31
+ rel: S,
32
+ target: u = "_self",
33
+ theme: a = "light",
34
+ variant: l = "neutral",
35
+ ...f
36
+ }) => {
37
+ const m = D(n.linkStandalone, _, {
38
+ // variant
39
+ [n.linkStandaloneHighlight]: l === "highlight",
40
+ // theme
41
+ [n.linkStandaloneNeutralDark]: a === "dark" && l === "neutral",
42
+ [n.linkStandaloneHighlightDark]: a === "dark" && l === "highlight",
43
+ // active
44
+ [n.linkStandaloneActive]: c,
45
+ // icon position
46
+ [n.linkStandaloneIconLeft]: g === "left"
47
+ }), k = i === void 0 ? "span" : "a";
48
+ return /* @__PURE__ */ t.jsxs(
49
+ k,
50
+ {
51
+ className: m,
52
+ "data-trackingid": h,
53
+ ...k === "a" && {
54
+ href: i,
55
+ target: u,
56
+ rel: S,
57
+ referrerPolicy: j,
58
+ download: r
59
+ },
60
+ ...d,
61
+ ...f,
62
+ children: [
63
+ /* @__PURE__ */ t.jsx("span", { className: n.label, children: s }),
64
+ (e || o) && /* @__PURE__ */ t.jsx(
65
+ p,
66
+ {
67
+ name: e,
68
+ theme: a,
69
+ source: o,
70
+ size: "medium",
71
+ "aria-hidden": "true"
72
+ }
73
+ )
74
+ ]
75
+ }
76
+ );
77
+ };
78
+ export {
79
+ C as DSLinkStandalone
80
+ };
@@ -1,33 +1,31 @@
1
1
  "use client";
2
2
  import { j as a } from "./chunks/jsx-runtime.C115EyI4.js";
3
- import { c as n } from "./chunks/index.CvOaL64Y.js";
4
- import './assets/logo.C05WqGId.css';const d = "_anchor_1z0x0_76", l = "_svg_1z0x0_77", v = "_anchor--dark_1z0x0_116", e = "_svg-background_1z0x0_147", u = "_svg-background--dark_1z0x0_150", i = "_svg-text_1z0x0_153", z = "_svg-text--dark_1z0x0_156", s = {
5
- anchor: d,
6
- svg: l,
7
- "anchor--dark": "_anchor--dark_1z0x0_116",
8
- anchorDark: v,
9
- "svg-background": "_svg-background_1z0x0_147",
10
- svgBackground: e,
11
- "svg-background--dark": "_svg-background--dark_1z0x0_150",
3
+ import { c as o } from "./chunks/index.CvOaL64Y.js";
4
+ import './assets/logo.pETQEsvZ.css';const h = "_anchor_q0uqp_76", e = "_svg_q0uqp_77", k = "_svg-background_q0uqp_117", u = "_svg-background--dark_q0uqp_120", x = "_svg-text_q0uqp_123", q = "_svg-text--dark_q0uqp_126", s = {
5
+ anchor: h,
6
+ svg: e,
7
+ "svg-background": "_svg-background_q0uqp_117",
8
+ svgBackground: k,
9
+ "svg-background--dark": "_svg-background--dark_q0uqp_120",
12
10
  svgBackgroundDark: u,
13
- "svg-text": "_svg-text_1z0x0_153",
14
- svgText: i,
15
- "svg-text--dark": "_svg-text--dark_1z0x0_156",
16
- svgTextDark: z
17
- }, B = ({
18
- aria: _,
19
- className: c,
20
- href: r,
21
- target: h = "_self",
22
- theme: g,
23
- variant: k = "standard",
24
- ...x
11
+ "svg-text": "_svg-text_q0uqp_123",
12
+ svgText: x,
13
+ "svg-text--dark": "_svg-text--dark_q0uqp_126",
14
+ svgTextDark: q
15
+ }, m = ({
16
+ aria: n,
17
+ className: t,
18
+ href: g,
19
+ target: l = "_self",
20
+ theme: v,
21
+ variant: _ = "standard",
22
+ ...d
25
23
  }) => {
26
- const t = k === "background" || g === "dark", o = /* @__PURE__ */ a.jsxs(
24
+ const r = _ === "background" || v === "dark", c = /* @__PURE__ */ a.jsxs(
27
25
  "svg",
28
26
  {
29
27
  xmlns: "http://www.w3.org/2000/svg",
30
- className: n(s.svg, !r && c),
28
+ className: o(s.svg, !g && t),
31
29
  viewBox: "0 0 408 179",
32
30
  width: "100%",
33
31
  height: "100%",
@@ -36,34 +34,32 @@ import './assets/logo.C05WqGId.css';const d = "_anchor_1z0x0_76", l = "_svg_1z0x
36
34
  /* @__PURE__ */ a.jsx(
37
35
  "path",
38
36
  {
39
- className: t ? s.svgBackgroundDark : s.svgBackground,
37
+ className: r ? s.svgBackgroundDark : s.svgBackground,
40
38
  d: "M408 0H0v179h408V0Z"
41
39
  }
42
40
  ),
43
41
  /* @__PURE__ */ a.jsx(
44
42
  "path",
45
43
  {
46
- className: t ? s.svgTextDark : s.svgText,
44
+ className: r ? s.svgTextDark : s.svgText,
47
45
  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"
48
46
  }
49
47
  )
50
48
  ]
51
49
  }
52
50
  );
53
- return r ? /* @__PURE__ */ a.jsx(
51
+ return g ? /* @__PURE__ */ a.jsx(
54
52
  "a",
55
53
  {
56
- className: n(s.anchor, c, {
57
- [s.anchorDark]: g === "dark"
58
- }),
59
- href: r,
60
- target: h,
61
- ..._,
62
- ...x,
63
- children: o
54
+ className: o(s.anchor, t),
55
+ href: g,
56
+ target: l,
57
+ ...n,
58
+ ...d,
59
+ children: c
64
60
  }
65
- ) : o;
61
+ ) : c;
66
62
  };
67
63
  export {
68
- B as DSLogo
64
+ m as DSLogo
69
65
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import "./chunks/jsx-runtime.C115EyI4.js";
3
3
  import "./chunks/index.CvOaL64Y.js";
4
+ import "./button.CkHCQg3Y.js";
4
5
  import "./chunks/Icon.n4XZrQ4N.js";
5
- import { D as e } from "./chunks/Notification.DVVuSOqG.js";
6
- import "./button.L1lgCuM9.js";
6
+ import { D as e } from "./chunks/Notification.B68mMDiB.js";
7
7
  export {
8
8
  e as DSNotification
9
9
  };
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { j as o } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as s } from "./chunks/index.CvOaL64Y.js";
4
+ import { D as _ } from "./chunks/Icon.n4XZrQ4N.js";
5
+ import './assets/optioncheckbox.BJJAph5_.css';const l = "_root_oj6mx_151", i = "_root--disabled_oj6mx_172", k = "_checkbox_oj6mx_176", d = "_icon-check_oj6mx_192", n = "_checkbox--checked_oj6mx_213", r = "_checkbox--disabled_oj6mx_216", m = "_label_oj6mx_233", c = {
6
+ root: l,
7
+ "root--disabled": "_root--disabled_oj6mx_172",
8
+ rootDisabled: i,
9
+ checkbox: k,
10
+ "icon-check": "_icon-check_oj6mx_192",
11
+ iconCheck: d,
12
+ "checkbox--checked": "_checkbox--checked_oj6mx_213",
13
+ checkboxChecked: n,
14
+ "checkbox--disabled": "_checkbox--disabled_oj6mx_216",
15
+ checkboxDisabled: r,
16
+ label: m
17
+ }, D = ({
18
+ label: x,
19
+ checked: h,
20
+ className: a,
21
+ disabled: e
22
+ }) => {
23
+ const b = s(c.root, {
24
+ [c.rootDisabled]: e
25
+ }), t = s(c.checkbox, {
26
+ [c.checkboxDisabled]: e,
27
+ [c.checkboxChecked]: h
28
+ });
29
+ return /* @__PURE__ */ o.jsx("div", { className: a, children: /* @__PURE__ */ o.jsxs("div", { className: b, children: [
30
+ /* @__PURE__ */ o.jsx("span", { className: t, children: /* @__PURE__ */ o.jsx(
31
+ _,
32
+ {
33
+ name: "check",
34
+ className: c.iconCheck,
35
+ "aria-hidden": "true"
36
+ }
37
+ ) }),
38
+ /* @__PURE__ */ o.jsx("span", { className: c.label, children: x })
39
+ ] }) });
40
+ };
41
+ export {
42
+ D as OptionCheckbox
43
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stihl-design-system/components",
3
3
  "private": false,
4
- "version": "1.0.0-RC.7",
4
+ "version": "1.0.0-RC.9",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://main--63440bbb95889041542a5ba3.chromatic.com",
7
7
  "keywords": [
@@ -49,7 +49,7 @@
49
49
  "dev": "npm run storybook",
50
50
  "prebuild": "npm run build:propsOverview",
51
51
  "build": "npm run build:components && npm run build:storybook",
52
- "build:components": "tsc && vite build && npm run build:copyUtilitiesBuild && npm run build:copyTypes && cp package.json ./dist",
52
+ "build:components": "tsc && vite build && npm run build:copyUtilitiesBuild && npm run build:copyTypes && cp package.json ./dist && npx vite-node scripts/cleanDistPackageJSON.ts",
53
53
  "build:copyComponents": "npm run build:components && ../../copyDistToExampleApps.sh '../../'",
54
54
  "build:copyTypes": "TARGET=./dist/types && rm -rf $TARGET && mkdir -p $TARGET && cp -r ./src/types/* $TARGET/",
55
55
  "build:copyUtilitiesBuild": "npm run build:copyUtilitiesBuild:scss && npm run build:copyUtilitiesBuild:fonts && npm run build:copyUtilitiesBuild:partials",
@@ -60,7 +60,7 @@
60
60
  "build:propsOverview": "npx vite-node scripts/generatePropsOverview.ts",
61
61
  "release": "cp package.json LICENSE.md README.md ./dist && cd dist && npm publish",
62
62
  "preview": "vite preview",
63
- "storybook": "storybook dev -p 6006",
63
+ "storybook": "storybook dev -p 6006 --no-open",
64
64
  "sync": "npm run build && anima-storybook sync",
65
65
  "lint": "eslint -c .eslintrc.cjs './src/**/*.{ts,tsx}'",
66
66
  "pretest:smoke": "npm run build:components && npm run build:propsOverview",
@@ -75,8 +75,10 @@
75
75
  },
76
76
  "devDependencies": {
77
77
  "@babel/core": "^7.24.9",
78
+ "@emotion/react": "^11.11.4",
79
+ "@emotion/styled": "^11.11.0",
78
80
  "@juggle/resize-observer": "^3.4.0",
79
- "@playwright/test": "^1.45.2",
81
+ "@playwright/test": "^1.46.0",
80
82
  "@react-docgen/cli": "^2.0.3",
81
83
  "@storybook/addon-a11y": "^8.2.4",
82
84
  "@storybook/addon-actions": "^8.2.4",