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

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 (223) hide show
  1. package/{accordion.CEKQh-7i.js → accordion.Rvtiu8Y4.js} +3 -3
  2. package/arialiveregions.Cyycgs8g.js +27 -0
  3. package/assets/Accordion.i4k5SMQM.css +1 -0
  4. package/assets/CheckboxGroup.BH1Br1dg.css +1 -0
  5. package/assets/Chip.DSdLuzoi.css +1 -0
  6. package/assets/CustomReactSelect.vHt8qNKC.css +1 -0
  7. package/assets/Dialog.BgzebVk4.css +1 -0
  8. package/assets/Drawer.Bauwxrk7.css +1 -0
  9. package/assets/Fieldset.DOdTbb7C.css +1 -0
  10. package/assets/Icon.DxRSBRSL.css +1 -0
  11. package/assets/InputPassword.CG7Ugu73.css +1 -0
  12. package/assets/InputSearch.CseChMc-.css +1 -0
  13. package/assets/InputStepper.C0eAYr7P.css +1 -0
  14. package/assets/Notification.DbRapUJo.css +1 -0
  15. package/assets/RadioGroup.BfMo157q.css +1 -0
  16. package/assets/Select.D4EXgIbz.css +1 -0
  17. package/assets/Textarea.KJGPTYMz.css +1 -0
  18. package/assets/Toast.CuafTAf7.css +1 -0
  19. package/assets/arialiveregions.DhsijBaL.css +1 -0
  20. package/assets/asterisk.BfVAUBO7.css +1 -0
  21. package/assets/button.DF4RBeC2.css +1 -0
  22. package/assets/buttonround.19uK_-oO.css +1 -0
  23. package/assets/checkbox.ByOoFouu.css +1 -0
  24. package/assets/chipgroup.BzfZLbkv.css +1 -0
  25. package/assets/flag.B-RLcMcf.css +1 -0
  26. package/assets/floatingactionbutton.E9HekT6S.css +1 -0
  27. package/assets/heading.u4f8Mz94.css +1 -0
  28. package/assets/input.BAkFKPW3.css +1 -0
  29. package/assets/link.DDJj0D1U.css +1 -0
  30. package/assets/linkstandalone.DIazcjIv.css +1 -0
  31. package/assets/logo.CnW8alZU.css +1 -0
  32. package/assets/optioncheckbox.BZaWtRD7.css +1 -0
  33. package/assets/radio.X-RTl_jo.css +1 -0
  34. package/assets/skiptocontent.PTL3256m.css +1 -0
  35. package/assets/spinner.2iWJWKyA.css +1 -0
  36. package/assets/switch.gw6aa3kx.css +1 -0
  37. package/assets/systemfeedback.BPz5YlPC.css +1 -0
  38. package/assets/text.DjTG_qNb.css +1 -0
  39. package/assets/title.rosWPEG3.css +1 -0
  40. package/asterisk.DpzETKdT.js +8 -0
  41. package/button.M4nXjcUn.js +135 -0
  42. package/buttonround.E56F_805.js +118 -0
  43. package/checkbox.Cb2_ey6U.js +111 -0
  44. package/{checkboxgroup.BqD5IV51.js → checkboxgroup.DBDmB-zR.js} +2 -2
  45. package/{chip.B92ew-hk.js → chip.C_1tGqvZ.js} +2 -2
  46. package/chipgroup.BvTj1ziW.js +174 -0
  47. package/chunks/Accordion.CB6jB3s_.js +125 -0
  48. package/chunks/{CheckboxGroup.M3jOjhNf.js → CheckboxGroup.S6i5EOc4.js} +40 -40
  49. package/chunks/{Chip.fMG8wi5K.js → Chip.CMlPUyOJ.js} +15 -15
  50. package/chunks/{CustomReactSelect.D3jv5-fa.js → CustomReactSelect.Cg_XW3YK.js} +1189 -1189
  51. package/chunks/Dialog.CudsqNag.js +148 -0
  52. package/chunks/Drawer.ueG2Bzr9.js +154 -0
  53. package/chunks/{Fieldset.C9K8BYmH.js → Fieldset.Cjmkgxxk.js} +32 -32
  54. package/chunks/{Icon.C2o2seDb.js → Icon.BCmt_XBG.js} +45 -45
  55. package/chunks/InputPassword.CNLbBFjx.js +143 -0
  56. package/chunks/InputSearch.CHA6mkX_.js +192 -0
  57. package/chunks/InputStepper.xmWGU9pU.js +294 -0
  58. package/chunks/Notification.o6pagKQy.js +93 -0
  59. package/chunks/RadioGroup.Crj7NoOs.js +137 -0
  60. package/chunks/Select.E6gLFYLk.js +194 -0
  61. package/chunks/Textarea.DUBSOpNL.js +198 -0
  62. package/chunks/Toast.DyEi2GEP.js +89 -0
  63. package/{combobox.BeTnbG1m.js → combobox.DUzv8jzM.js} +1 -1
  64. package/components/Combobox/Combobox.d.ts +1 -1
  65. package/components/{CustomReactSelect → Combobox/CustomReactSelect}/CustomReactSelect.d.ts +2 -2
  66. package/components/{CustomReactSelect → Combobox/CustomReactSelect}/CustomReactSelect.utils.d.ts +1 -1
  67. package/components/Radio/Radio.d.ts +1 -1
  68. package/customreactselect.CXmBRqQ9.js +13 -0
  69. package/customreactselect.d.ts +1 -1
  70. package/{dialog.lGwNQU91.js → dialog.DYlBUsOD.js} +2 -2
  71. package/{drawer.DNi5m8wP.js → drawer.CvhbP1ra.js} +2 -2
  72. package/fieldset.CtUGEdLv.js +11 -0
  73. package/flag.BKpsdB_-.js +43 -0
  74. package/floatingactionbutton.D5L0B7zI.js +87 -0
  75. package/heading.IPIYc5vW.js +50 -0
  76. package/{icon.BoMgOmC1.js → icon.Ck0BpI34.js} +1 -1
  77. package/index.es.js +34 -34
  78. package/input.BEnCFNM-.js +239 -0
  79. package/{inputpassword.CSjh1GU7.js → inputpassword.B-D_jB9w.js} +4 -4
  80. package/{inputsearch.DyznOWLK.js → inputsearch.CaSpklR1.js} +4 -4
  81. package/{inputstepper.3BLb7s0P.js → inputstepper.C7KD1-0S.js} +4 -4
  82. package/link.DREJAoPG.js +116 -0
  83. package/linkstandalone.BBoEniZ_.js +79 -0
  84. package/logo.Hul8qCFo.js +65 -0
  85. package/{notification.0kX1GMaB.js → notification.JWhrkEcE.js} +3 -3
  86. package/optioncheckbox.BRUTnQnJ.js +43 -0
  87. package/optioncheckbox.d.ts +1 -1
  88. package/package.json +5 -3
  89. package/partials/index.js +1 -1
  90. package/radio.DEILy_lV.js +114 -0
  91. package/{radiogroup.SYkZm2DG.js → radiogroup.DeU-HdlP.js} +3 -3
  92. package/{select.CYbwR3RW.js → select.BYraFJzz.js} +4 -4
  93. package/skiptocontent.BxvpIB7H.js +45 -0
  94. package/spinner.Bq97Og-6.js +58 -0
  95. package/styles/scss/ds/index.scss +19 -0
  96. package/styles/scss/ds/lib/animation.scss +21 -0
  97. package/styles/scss/ds/lib/breakpoints.scss +15 -0
  98. package/styles/scss/ds/lib/container-query.scss +54 -0
  99. package/styles/scss/ds/lib/ds-internal/_a11y.scss +15 -0
  100. package/styles/scss/{lib → ds/lib/ds-internal}/_focus.scss +13 -15
  101. package/styles/scss/ds/lib/ds-internal/_heading.scss +37 -0
  102. package/styles/scss/ds/lib/ds-internal/_helpers.scss +32 -0
  103. package/styles/scss/ds/lib/ds-internal/_high-contrast.scss +6 -0
  104. package/styles/scss/ds/lib/ds-internal/_hover.scss +6 -0
  105. package/styles/scss/ds/lib/ds-internal/_index.scss +9 -0
  106. package/styles/scss/ds/lib/ds-internal/_link.scss +62 -0
  107. package/styles/scss/ds/lib/ds-internal/_spacing-dynamic.scss +53 -0
  108. package/styles/scss/ds/lib/ds-internal/_text.scss +30 -0
  109. package/styles/scss/ds/lib/grid-extended.scss +11 -0
  110. package/styles/scss/ds/lib/grid-full.scss +6 -0
  111. package/styles/scss/ds/lib/grid-main.scss +119 -0
  112. package/styles/scss/ds/lib/grid-narrow.scss +14 -0
  113. package/styles/scss/ds/lib/grid-sidebar-sidebar.scss +52 -0
  114. package/styles/scss/{lib/_grid-sidebar.scss → ds/lib/grid-sidebar.scss} +23 -32
  115. package/styles/scss/{lib/_grid.scss → ds/lib/grid.scss} +15 -17
  116. package/styles/scss/ds/lib/heading.scss +75 -0
  117. package/styles/scss/ds/lib/link.scss +74 -0
  118. package/styles/scss/ds/lib/media-query.scss +32 -0
  119. package/styles/scss/{lib/_shadow.scss → ds/lib/shadow.scss} +2 -2
  120. package/styles/scss/ds/lib/spacing-dynamic.scss +7 -0
  121. package/styles/scss/ds/lib/spacing.scss +20 -0
  122. package/styles/scss/ds/lib/text.scss +83 -0
  123. package/styles/scss/ds/lib/theme.scss +162 -0
  124. package/styles/scss/ds/lib/transition.scss +36 -0
  125. package/switch.DI8YYa5G.js +65 -0
  126. package/{systemfeedback.ZzRUAVYX.js → systemfeedback.C3Pfxxpp.js} +6 -6
  127. package/text.DThvTwm8.js +57 -0
  128. package/{textarea.DJc527nX.js → textarea.CBvH0ljM.js} +3 -3
  129. package/title.DqzdB2Gq.js +36 -0
  130. package/{toast.D48GFmp0.js → toast.n1QUINSA.js} +3 -3
  131. package/{toastmanager.Dl8-Q3ED.js → toastmanager.B7EZ4JSI.js} +1 -1
  132. package/arialiveregions.BKpxxK7O.js +0 -27
  133. package/assets/Accordion.DMEFgtQm.css +0 -1
  134. package/assets/CheckboxGroup.Bz3_xkZU.css +0 -1
  135. package/assets/Chip.D10_7Q82.css +0 -1
  136. package/assets/CustomReactSelect.D5XKd9vg.css +0 -1
  137. package/assets/Dialog.B0pucIEI.css +0 -1
  138. package/assets/Drawer.CATBzfY7.css +0 -1
  139. package/assets/Fieldset.CwDhKRUL.css +0 -1
  140. package/assets/Icon.Duy_0R8w.css +0 -1
  141. package/assets/InputPassword.DOAAzj-O.css +0 -1
  142. package/assets/InputSearch.CxPYaQGZ.css +0 -1
  143. package/assets/InputStepper.CYYJUu0b.css +0 -1
  144. package/assets/Notification.mhVFeSGm.css +0 -1
  145. package/assets/Select.DZKpHV4G.css +0 -1
  146. package/assets/Textarea.Cp0b7oZp.css +0 -1
  147. package/assets/Toast.Cz6wYaBv.css +0 -1
  148. package/assets/arialiveregions.GsGx2USO.css +0 -1
  149. package/assets/asterisk.DlJ4YtSZ.css +0 -1
  150. package/assets/button.C9_ejpGG.css +0 -1
  151. package/assets/buttonround.DTCqRP-0.css +0 -1
  152. package/assets/checkbox.K4CVYK9g.css +0 -1
  153. package/assets/chipgroup.BMovtKTy.css +0 -1
  154. package/assets/flag.DX_lH1v7.css +0 -1
  155. package/assets/floatingactionbutton.Do-yEH6c.css +0 -1
  156. package/assets/heading.6bER-Eac.css +0 -1
  157. package/assets/input.Q5oKkmW2.css +0 -1
  158. package/assets/link.DhZqkLMP.css +0 -1
  159. package/assets/linkstandalone.Dwz-_O8q.css +0 -1
  160. package/assets/logo.pETQEsvZ.css +0 -1
  161. package/assets/optioncheckbox.C62HtIj5.css +0 -1
  162. package/assets/radio.-Xxx5wL4.css +0 -1
  163. package/assets/skiptocontent.CHcqLS7S.css +0 -1
  164. package/assets/spinner.D_Nnf1ZG.css +0 -1
  165. package/assets/switch.C1Ei0-z8.css +0 -1
  166. package/assets/systemfeedback.Sq0bAIyf.css +0 -1
  167. package/assets/text.DxKFcfY6.css +0 -1
  168. package/assets/title.f74Bosn-.css +0 -1
  169. package/asterisk.DDn-yX4P.js +0 -8
  170. package/button.C5opEJ6x.js +0 -135
  171. package/buttonround.CUoqRyy0.js +0 -118
  172. package/checkbox.DETR3e3X.js +0 -112
  173. package/chipgroup.BJrqEfvr.js +0 -175
  174. package/chunks/Accordion.DFwFN8mX.js +0 -125
  175. package/chunks/Dialog.Fwr6vLiK.js +0 -148
  176. package/chunks/Drawer.CKoYzQHd.js +0 -154
  177. package/chunks/InputPassword.C7pNeWGx.js +0 -143
  178. package/chunks/InputSearch.B24rcIJ_.js +0 -192
  179. package/chunks/InputStepper.CEW-bieQ.js +0 -294
  180. package/chunks/Notification.BXVN7_Fs.js +0 -93
  181. package/chunks/RadioGroup.D4UOflwr.js +0 -137
  182. package/chunks/Select.Ds86q4UC.js +0 -194
  183. package/chunks/Textarea.DcB8hKnO.js +0 -198
  184. package/chunks/Toast.DrzxdzVW.js +0 -89
  185. package/customreactselect.lYJhIeyx.js +0 -13
  186. package/fieldset.BqiAjeax.js +0 -11
  187. package/flag.XJHHSP38.js +0 -43
  188. package/floatingactionbutton.CMpkTdhX.js +0 -87
  189. package/heading.CAkraI2D.js +0 -50
  190. package/input.v7qB7wPJ.js +0 -239
  191. package/link.Clk5_BYp.js +0 -116
  192. package/linkstandalone.BXERmqdN.js +0 -80
  193. package/logo.CEO6OV7u.js +0 -65
  194. package/optioncheckbox.BPN3f6l_.js +0 -43
  195. package/radio.DTZNJzMU.js +0 -115
  196. package/skiptocontent.DUQWopO4.js +0 -46
  197. package/spinner.D-xrotcu.js +0 -58
  198. package/styles/scss/_index.scss +0 -24
  199. package/styles/scss/lib/_a11y.scss +0 -15
  200. package/styles/scss/lib/_animation.scss +0 -21
  201. package/styles/scss/lib/_breakpoints.scss +0 -15
  202. package/styles/scss/lib/_container-query.scss +0 -58
  203. package/styles/scss/lib/_grid-extended.scss +0 -11
  204. package/styles/scss/lib/_grid-full.scss +0 -6
  205. package/styles/scss/lib/_grid-main.scss +0 -117
  206. package/styles/scss/lib/_grid-narrow.scss +0 -16
  207. package/styles/scss/lib/_grid-sidebar-sidebar.scss +0 -50
  208. package/styles/scss/lib/_heading.scss +0 -107
  209. package/styles/scss/lib/_helpers.scss +0 -15
  210. package/styles/scss/lib/_high-contrast.scss +0 -24
  211. package/styles/scss/lib/_hover.scss +0 -10
  212. package/styles/scss/lib/_link.scss +0 -129
  213. package/styles/scss/lib/_media-query.scss +0 -32
  214. package/styles/scss/lib/_spacing-dynamic.scss +0 -61
  215. package/styles/scss/lib/_spacing.scss +0 -32
  216. package/styles/scss/lib/_text.scss +0 -110
  217. package/styles/scss/lib/_theme.scss +0 -162
  218. package/styles/scss/lib/_transition.scss +0 -45
  219. package/switch.CoNnIhM4.js +0 -65
  220. package/text.fMcHzVbH.js +0 -57
  221. package/title.LY1ylQsb.js +0 -36
  222. /package/components/{CustomReactSelect → Combobox/CustomReactSelect}/CustomReactSelect.utils.test.d.ts +0 -0
  223. /package/components/{CustomReactSelect → Combobox/CustomReactSelect}/OptionCheckbox.d.ts +0 -0
package/radio.DTZNJzMU.js DELETED
@@ -1,115 +0,0 @@
1
- "use client";
2
- import { j as i } from "./chunks/jsx-runtime.C115EyI4.js";
3
- import { c as h } from "./chunks/index.CvOaL64Y.js";
4
- import { forwardRef as $, useRef as C, useState as E, useEffect as L, useCallback as O } from "react";
5
- import { u as P } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
- import './assets/radio.-Xxx5wL4.css';const R = (r) => r.replace(/\s+/g, ""), U = "_radio-root_2r9h1_76", q = "_radio-root--disabled_2r9h1_97", z = "_radio-root--with-custom-area_2r9h1_100", F = "_radio_2r9h1_76", G = "_dot_2r9h1_121", J = "_radio--invalid_2r9h1_145", K = "_label_2r9h1_150", M = "_label--bold_2r9h1_165", Q = "_label--hidden_2r9h1_177", T = "_label--with-custom-area_2r9h1_189", X = "_custom-area_2r9h1_193", Y = "_hint_2r9h1_201", Z = "_hint--visible_2r9h1_225", ee = "_hint--unchecked-hidden_2r9h1_229", te = "_hint--hidden_2r9h1_234", oe = "_input_2r9h1_247", e = {
7
- "radio-root": "_radio-root_2r9h1_76",
8
- radioRoot: U,
9
- "radio-root--disabled": "_radio-root--disabled_2r9h1_97",
10
- radioRootDisabled: q,
11
- "radio-root--with-custom-area": "_radio-root--with-custom-area_2r9h1_100",
12
- radioRootWithCustomArea: z,
13
- radio: F,
14
- dot: G,
15
- "radio--invalid": "_radio--invalid_2r9h1_145",
16
- radioInvalid: J,
17
- label: K,
18
- "label--bold": "_label--bold_2r9h1_165",
19
- labelBold: M,
20
- "label--hidden": "_label--hidden_2r9h1_177",
21
- labelHidden: Q,
22
- "label--with-custom-area": "_label--with-custom-area_2r9h1_189",
23
- labelWithCustomArea: T,
24
- "custom-area": "_custom-area_2r9h1_193",
25
- customArea: X,
26
- hint: Y,
27
- "hint--visible": "_hint--visible_2r9h1_225",
28
- hintVisible: Z,
29
- "hint--unchecked-hidden": "_hint--unchecked-hidden_2r9h1_229",
30
- hintUncheckedHidden: ee,
31
- "hint--hidden": "_hint--hidden_2r9h1_234",
32
- hintHidden: te,
33
- input: oe
34
- }, ie = $(
35
- ({
36
- label: r,
37
- name: b,
38
- value: m,
39
- checked: f,
40
- className: v,
41
- customArea: a,
42
- defaultChecked: x = !1,
43
- disabled: s = !1,
44
- hideLabel: k = !1,
45
- hint: l,
46
- invalid: j = !1,
47
- isBold: N = !1,
48
- hideUncheckedHint: n = !1,
49
- onChange: _,
50
- ...g
51
- }, d) => {
52
- const H = C(null), t = C(null), [w, D] = E(x), u = f !== void 0, c = u ? f : w;
53
- L(() => {
54
- t.current && n && ((t.current.style.height === "0px" || t.current.style.height === "") && c ? (t.current.style.height = `${t.current.scrollHeight}px`, t.current.style.opacity = "1") : (t.current.style.opacity = "0", t.current.style.height = "0px"));
55
- }, [t, c]);
56
- const p = P(k), A = h(
57
- e.radioRoot,
58
- {
59
- [e.radioRootDisabled]: s,
60
- [e.radioRootWithCustomArea]: !!a
61
- },
62
- v
63
- ), W = h(e.label, {
64
- [e.labelBold]: N,
65
- // hide label only visually to keep them available for assistive technologies
66
- [e.labelHidden]: p,
67
- [e.labelWithCustomArea]: !!a
68
- }), B = () => !n && l ? !0 : !!(n && l && c), V = h(e.hint, {
69
- [e.hintHidden]: p,
70
- [e.hintUncheckedHidden]: n,
71
- [e.hintVisible]: B()
72
- }), I = h(e.radio, {
73
- [e.radioInvalid]: j
74
- }), S = O(
75
- (o) => {
76
- if (s) {
77
- o.preventDefault();
78
- return;
79
- }
80
- u || D(o.target.checked), _ && _(o);
81
- },
82
- [s, u, _]
83
- ), y = l ? `${R(b)}-${R(m)}-description` : void 0;
84
- return /* @__PURE__ */ i.jsxs("label", { className: A, children: [
85
- /* @__PURE__ */ i.jsx(
86
- "input",
87
- {
88
- type: "radio",
89
- value: m,
90
- name: b,
91
- className: e.input,
92
- ref: (o) => {
93
- typeof d == "function" ? d(o) : d !== null && (d.current = o), H.current = o;
94
- },
95
- onChange: S,
96
- ...g,
97
- disabled: s,
98
- checked: c,
99
- "aria-label": typeof r == "string" ? r : void 0,
100
- "aria-describedby": y
101
- }
102
- ),
103
- /* @__PURE__ */ i.jsx("span", { className: I, children: /* @__PURE__ */ i.jsx("div", { className: e.dot }) }),
104
- /* @__PURE__ */ i.jsxs("span", { className: W, children: [
105
- r,
106
- a && /* @__PURE__ */ i.jsx("div", { className: e.customArea, children: a }),
107
- /* @__PURE__ */ i.jsx("span", { id: y, className: V, ref: t, children: l })
108
- ] })
109
- ] });
110
- }
111
- );
112
- ie.displayName = "DSRadio";
113
- export {
114
- ie as DSRadio
115
- };
@@ -1,46 +0,0 @@
1
- "use client";
2
- import { j as p } from "./chunks/jsx-runtime.C115EyI4.js";
3
- import { c as k } from "./chunks/index.CvOaL64Y.js";
4
- import { g as n } from "./chunks/helpers.B1JT5ShS.js";
5
- import "react";
6
- import { DSLink as c } from "./link.Clk5_BYp.js";
7
- import './assets/skiptocontent.CHcqLS7S.css';const h = "_skip-to-content_cxg2l_76", l = "_skip-to-content--dark_cxg2l_83", s = {
8
- "skip-to-content": "_skip-to-content_cxg2l_76",
9
- skipToContent: h,
10
- "skip-to-content--dark": "_skip-to-content--dark_cxg2l_83",
11
- skipToContentDark: l
12
- }, f = ({
13
- children: e = "Skip to main content",
14
- className: i,
15
- targetElementId: t = "main",
16
- theme: o = "light",
17
- ...r
18
- }) => {
19
- t.startsWith("#") && console.warn(
20
- n(
21
- "DSSkipToContent",
22
- 'The targetElementId should not start with a "#" character. Please provide the id of the element you want to skip to.'
23
- )
24
- ), (t.startsWith("http") || t.startsWith(".")) && console.warn(
25
- n(
26
- "DSSkipToContent",
27
- 'The targetElementId should not start with "http" or ".". Please provide the id of the element you want to skip to.'
28
- )
29
- );
30
- const a = k(s.skipToContent, i, {
31
- [s.skipToContentDark]: o === "dark"
32
- });
33
- return /* @__PURE__ */ p.jsx(
34
- c,
35
- {
36
- ...r,
37
- className: a,
38
- href: `#${t}`,
39
- theme: o,
40
- children: e
41
- }
42
- );
43
- };
44
- export {
45
- f as DSSkipToContent
46
- };
@@ -1,58 +0,0 @@
1
- "use client";
2
- import { j as r } from "./chunks/jsx-runtime.C115EyI4.js";
3
- import { c as n } from "./chunks/index.CvOaL64Y.js";
4
- import { D as _ } from "./chunks/Icon.C2o2seDb.js";
5
- import './assets/spinner.D_Nnf1ZG.css';const m = "_root_11iwi_76", z = "_root-size-small_11iwi_82", c = "_root-size-medium_11iwi_86", S = "_root-size-large_11iwi_90", d = "_root-size-x-large_11iwi_94", g = "_root-size-inherit_11iwi_98", w = "_rotate_11iwi_1", u = "_screenReaderOnly_11iwi_123", e = {
6
- root: m,
7
- "root-size-small": "_root-size-small_11iwi_82",
8
- rootSizeSmall: z,
9
- "root-size-medium": "_root-size-medium_11iwi_86",
10
- rootSizeMedium: c,
11
- "root-size-large": "_root-size-large_11iwi_90",
12
- rootSizeLarge: S,
13
- "root-size-x-large": "_root-size-x-large_11iwi_94",
14
- rootSizeXLarge: d,
15
- "root-size-inherit": "_root-size-inherit_11iwi_98",
16
- rootSizeInherit: g,
17
- rotate: w,
18
- screenReaderOnly: u
19
- }, L = ({
20
- aria: i,
21
- className: t,
22
- size: o = "small",
23
- theme: s = "light",
24
- ...a
25
- }) => {
26
- const l = n(e.root, t, {
27
- [e.rootSizeSmall]: o === "small",
28
- [e.rootSizeMedium]: o === "medium",
29
- [e.rootSizeLarge]: o === "large",
30
- [e.rootSizeXLarge]: o === "x-large",
31
- [e.rootSizeInherit]: o === "inherit"
32
- });
33
- return /* @__PURE__ */ r.jsxs(
34
- "span",
35
- {
36
- className: l,
37
- role: "alert",
38
- "aria-live": "assertive",
39
- "aria-label": (i == null ? void 0 : i["aria-label"]) || void 0,
40
- ...a,
41
- children: [
42
- /* @__PURE__ */ r.jsx("span", { className: e.screenReaderOnly, children: " " }),
43
- /* @__PURE__ */ r.jsx(
44
- _,
45
- {
46
- name: "loading-spinner",
47
- theme: s,
48
- focusable: "false",
49
- "aria-hidden": "true"
50
- }
51
- )
52
- ]
53
- }
54
- );
55
- };
56
- export {
57
- L as DSSpinner
58
- };
@@ -1,24 +0,0 @@
1
- @import 'lib/_a11y.scss';
2
- @import 'lib/_animation.scss';
3
- @import 'lib/_breakpoints.scss';
4
- @import 'lib/_container-query.scss';
5
- @import 'lib/_focus.scss';
6
- @import 'lib/_grid.scss';
7
- @import 'lib/_grid-extended.scss';
8
- @import 'lib/_grid-full.scss';
9
- @import 'lib/_grid-main.scss';
10
- @import 'lib/_grid-narrow.scss';
11
- @import 'lib/_grid-sidebar.scss';
12
- @import 'lib/_grid-sidebar-sidebar.scss';
13
- @import 'lib/_heading.scss';
14
- @import 'lib/_helpers.scss';
15
- @import 'lib/_high-contrast.scss';
16
- @import 'lib/_hover.scss';
17
- @import 'lib/_link.scss';
18
- @import 'lib/_media-query.scss';
19
- @import 'lib/_shadow.scss';
20
- @import 'lib/_spacing.scss';
21
- @import 'lib/_spacing-dynamic.scss';
22
- @import 'lib/_text.scss';
23
- @import 'lib/_theme.scss';
24
- @import 'lib/_transition.scss';
@@ -1,15 +0,0 @@
1
- // Visually hide an element but keep them available to screen reader and other assistive
2
- // technology users.
3
- // https://www.w3.org/WAI/tutorials/forms/labels/#note-on-hiding-elements
4
- @mixin ds-visually-hidden {
5
- border: 0;
6
- clip: rect(0 0 0 0);
7
- width: 1px;
8
- height: 1px;
9
- margin: -1px;
10
- overflow: hidden;
11
- padding: 0;
12
- position: absolute;
13
- text-indent: -999999px;
14
- white-space: nowrap;
15
- }
@@ -1,21 +0,0 @@
1
- $ds-animation-duration-100: var(--ds-animation-duration, 100ms);
2
- $ds-animation-duration-250: var(--ds-animation-duration, 250ms);
3
- $ds-animation-duration-400: var(--ds-animation-duration, 400ms);
4
-
5
- $ds-animation-durations: (
6
- '100': $ds-animation-duration-100,
7
- '250': $ds-animation-duration-250,
8
- '400': $ds-animation-duration-400,
9
- );
10
-
11
- $ds-motion-functional-linear: linear;
12
- $ds-motion-functional-ease-in: cubic-bezier(0.5, 0, 1, 1);
13
- $ds-motion-functional-ease-out: cubic-bezier(0, 0, 0.5, 1);
14
- $ds-motion-functional-ease-in-out: cubic-bezier(0.5, 0, 0.5, 1);
15
-
16
- $ds-animation-easing-functions: (
17
- 'linear': $ds-motion-functional-linear,
18
- 'ease-in': $ds-motion-functional-ease-in,
19
- 'ease-out': $ds-motion-functional-ease-out,
20
- 'ease-in-out': $ds-motion-functional-ease-in-out,
21
- );
@@ -1,15 +0,0 @@
1
- $ds-breakpoint-base: 0;
2
- $ds-breakpoint-s: 320;
3
- $ds-breakpoint-m: 768;
4
- $ds-breakpoint-l: 1024;
5
- $ds-breakpoint-xl: 1536;
6
- $ds-breakpoint-xxl: 1668;
7
-
8
- $ds-breakpoints: (
9
- 'base': $ds-breakpoint-base,
10
- 's': $ds-breakpoint-s,
11
- 'm': $ds-breakpoint-m,
12
- 'l': $ds-breakpoint-l,
13
- 'xl': $ds-breakpoint-xl,
14
- 'xxl': $ds-breakpoint-xxl,
15
- );
@@ -1,58 +0,0 @@
1
- @import '_breakpoints.scss';
2
-
3
- @mixin ds-container-query-min($min: null, $container-name: null) {
4
- @if map-has-key($ds-breakpoints, $min) {
5
- $value: #{map-get($ds-breakpoints, $min)}px;
6
- @if $container-name {
7
- @container #{$container-name} (min-width: #{$value}) {
8
- @content;
9
- }
10
- } @else {
11
- @container (min-width: #{$value}) {
12
- @content;
13
- }
14
- }
15
- } @else {
16
- @error "[STIHL Design System] - [ds-container-query-min()]: Passed '#{$min}' breakpoint is not available in ds-container-query-min() mixin.";
17
- }
18
- }
19
-
20
- @mixin ds-container-query-max($max: null, $container-name: null) {
21
- @if map-has-key($ds-breakpoints, $max) {
22
- $value: #{map-get($ds-breakpoints, $max)}px;
23
- @if $container-name {
24
- @container #{$container-name} (width < #{$value}) {
25
- @content;
26
- }
27
- } @else {
28
- @container (width < #{$value}) {
29
- @content;
30
- }
31
- }
32
- } @else {
33
- @error "[STIHL Design System] - [ds-container-query-max()]: Passed '#{$max}' breakpoint is not available in ds-container-query-max() mixin.";
34
- }
35
- }
36
-
37
- @mixin ds-container-query-min-max(
38
- $min: null,
39
- $max: null,
40
- $container-name: null
41
- ) {
42
- @if map-has-key($ds-breakpoints, $min) and map-has-key($ds-breakpoints, $max)
43
- {
44
- $min-value: #{map-get($ds-breakpoints, $min)}px;
45
- $max-value: #{map-get($ds-breakpoints, $max)}px;
46
- @if $container-name {
47
- @container #{$container-name} (min-width: #{$min-value}) and (width < #{$max-value}) {
48
- @content;
49
- }
50
- } @else {
51
- @container (min-width: #{$min-value}) and (width < #{$max-value}) {
52
- @content;
53
- }
54
- }
55
- } @else {
56
- @error "[STIHL Design System] - [ds-container-query-min-max()]: Passed '#{$min}' and/or '#{$max}' breakpoint is not available in ds-container-query-min-max() mixin.";
57
- }
58
- }
@@ -1,11 +0,0 @@
1
- $ds-grid-extended-column-start: extended-start;
2
- $ds-grid-extended-column-end: extended-end;
3
-
4
- @mixin ds-grid-extended-column {
5
- grid-column: $ds-grid-extended-column-start / $ds-grid-extended-column-end;
6
-
7
- @media (min-width: 1668px) {
8
- margin-inline-start: -32px;
9
- margin-inline-end: -32px;
10
- }
11
- }
@@ -1,6 +0,0 @@
1
- $ds-grid-full-column-start: full-start;
2
- $ds-grid-full-column-end: full-end;
3
-
4
- @mixin ds-grid-full-column {
5
- grid-column: $ds-grid-full-column-start / $ds-grid-full-column-end;
6
- }
@@ -1,117 +0,0 @@
1
- $ds-grid-main-column-start: main-start;
2
- $ds-grid-main-column-end: main-end;
3
- $ds-grid-sidebar-main-column-start: $ds-grid-main-column-start;
4
- $ds-grid-sidebar-main-column-end: $ds-grid-main-column-end;
5
-
6
- @mixin ds-grid-main-column {
7
- grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
8
- }
9
-
10
- @mixin ds-grid-sidebar-main-column {
11
- @include ds-grid-main-column;
12
- }
13
-
14
- // Half
15
- @mixin ds-grid-span-first-half {
16
- grid-column: $ds-grid-main-column-start / $ds-grid-span-one-half;
17
- }
18
- @mixin ds-grid-span-second-half {
19
- grid-column: $ds-grid-span-one-half / $ds-grid-main-column-end;
20
- }
21
-
22
- @mixin ds-grid-sidebar-span-first-half {
23
- @include ds-grid-span-first-half;
24
- }
25
- @mixin ds-grid-sidebar-span-second-half {
26
- @include ds-grid-span-second-half;
27
- }
28
-
29
- // Third
30
- @mixin ds-grid-span-first-third {
31
- grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
32
- @include ds-media-query-min('m') {
33
- grid-column: $ds-grid-main-column-start / $ds-grid-span-one-third;
34
- }
35
- }
36
- @mixin ds-grid-span-one-third {
37
- grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
38
- @include ds-media-query-min('m') {
39
- grid-column: $ds-grid-span-one-third;
40
- }
41
- }
42
-
43
- @mixin ds-grid-sidebar-span-first-third {
44
- @include ds-grid-span-first-third;
45
- }
46
- @mixin ds-grid-sidebar-span-one-third {
47
- @include ds-grid-span-one-third;
48
- }
49
-
50
- // Two Thirds
51
- @mixin ds-grid-span-first-two-thirds {
52
- grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
53
- @include ds-media-query-min('m') {
54
- grid-column: $ds-grid-main-column-start / $ds-grid-span-two-thirds;
55
- }
56
- }
57
- @mixin ds-grid-span-two-thirds {
58
- grid-column: $ds-grid-main-column-start / $ds-grid-main-column-end;
59
- @include ds-media-query-min('m') {
60
- grid-column: $ds-grid-span-two-thirds / $ds-grid-main-column-end;
61
- }
62
- }
63
-
64
- @mixin ds-grid-sidebar-span-first-two-thirds {
65
- @include ds-grid-span-first-two-thirds;
66
- }
67
- @mixin ds-grid-sidebar-span-two-thirds {
68
- @include ds-grid-span-two-thirds;
69
- }
70
-
71
- // Quarter
72
- @mixin ds-grid-span-first-quarter {
73
- grid-column: $ds-grid-main-column-start / $ds-grid-span-one-quarter;
74
- }
75
- @mixin ds-grid-span-one-quarter {
76
- grid-column: $ds-grid-span-one-quarter;
77
- // one quarter on viewports smaller than xl should behave like "first" quarter by starting a new row on "overflow":
78
- // first-quarter one-quarter
79
- // one-quarter one-quarter
80
- &:nth-of-type(odd) {
81
- grid-column: $ds-grid-main-column-start / $ds-grid-span-one-quarter;
82
- }
83
- @include ds-media-query-min('l') {
84
- &:nth-of-type(odd) {
85
- grid-column: $ds-grid-span-one-quarter;
86
- }
87
- }
88
- }
89
-
90
- @mixin ds-grid-sidebar-span-first-quarter {
91
- @include ds-grid-span-first-quarter;
92
- }
93
-
94
- @mixin ds-grid-sidebar-span-one-quarter {
95
- grid-column: $ds-grid-span-one-quarter;
96
- // one quarter on viewports smaller than xl should behave like "first" quarter by starting a new row on "overflow":
97
- // first-quarter one-quarter
98
- // one-quarter one-quarter
99
- &:nth-of-type(odd) {
100
- grid-column: $ds-grid-main-column-start / $ds-grid-span-one-quarter;
101
- }
102
- @include ds-media-query-min('xl') {
103
- &:nth-of-type(odd) {
104
- grid-column: $ds-grid-span-one-quarter;
105
- }
106
- }
107
- }
108
-
109
- $ds-grid-span-one-half: var(--ds-grid-span-one-half);
110
- $ds-grid-span-one-third: var(--ds-grid-span-one-third);
111
- $ds-grid-span-two-thirds: var(--ds-grid-span-two-thirds);
112
- $ds-grid-span-one-quarter: var(--ds-grid-span-one-quarter);
113
-
114
- $ds-grid-sidebar-span-one-half: $ds-grid-span-one-half;
115
- $ds-grid-sidebar-span-one-third: $ds-grid-span-one-third;
116
- $ds-grid-sidebar-span-two-thirds: $ds-grid-span-two-thirds;
117
- $ds-grid-sidebar-span-one-quarter: $ds-grid-span-one-quarter;
@@ -1,16 +0,0 @@
1
- // The max-width of the narrow content center/left area in our grid.
2
- $ds-grid-narrow-max-width: 948px;
3
- $ds-grid-narrow-left-column-start: narrow-left-start;
4
- $ds-grid-narrow-left-column-end: narrow-left-end;
5
- $ds-grid-narrow-center-column-start: narrow-center-start;
6
- $ds-grid-narrow-center-column-end: narrow-center-end;
7
-
8
- @mixin ds-grid-narrow-left-column {
9
- grid-column: $ds-grid-narrow-left-column-start /
10
- $ds-grid-narrow-left-column-end;
11
- }
12
-
13
- @mixin ds-grid-narrow-center-column {
14
- grid-column: $ds-grid-narrow-center-column-start /
15
- $ds-grid-narrow-center-column-end;
16
- }
@@ -1,50 +0,0 @@
1
- $ds-grid-sidebar-sidebar-1-column-start: sidebar-1-start;
2
- $ds-grid-sidebar-sidebar-1-column-end: sidebar-1-end;
3
- $ds-grid-sidebar-sidebar-2-column-start: sidebar-2-start;
4
- $ds-grid-sidebar-sidebar-2-column-end: sidebar-2-end;
5
-
6
- // Sidebar 1
7
- @mixin ds-grid-sidebar-sidebar-1($is-open: false) {
8
- display: none;
9
- @include ds-media-query-min('l') {
10
- display: unset;
11
- // This is a hack for implicit grid spanning a row from 1 till -1
12
- // Using it leads us to not being able to use the row-gap property and requires us to use margins instead
13
- // https://stackoverflow.com/a/49076465/2346207
14
- // https://stackoverflow.com/a/56876772/2346207
15
- grid-row: span 300;
16
- grid-column: $ds-grid-sidebar-sidebar-1-column-start /
17
- $ds-grid-sidebar-sidebar-1-column-end;
18
- margin-block-end: 0;
19
- @if ($is-open == true) {
20
- width: 264px;
21
- max-width: 264px;
22
- } @else {
23
- width: 64px;
24
- max-width: 64px;
25
- }
26
- }
27
- }
28
- // Sidebar 2
29
- @mixin ds-grid-sidebar-sidebar-2($is-open: false) {
30
- display: none;
31
- @include ds-media-query-min('l') {
32
- // This is a hack for implicit grid spanning a row from 1 till -1
33
- // Using it leads us to not being able to use the row-gap property and requires us to use margins instead
34
- // https://stackoverflow.com/a/49076465/2346207
35
- // https://stackoverflow.com/a/56876772/2346207
36
- grid-row: span 300;
37
- margin-block-end: 0;
38
- @if ($is-open == true) {
39
- grid-column: $ds-grid-sidebar-sidebar-2-column-start /
40
- $ds-grid-sidebar-sidebar-2-column-end;
41
- display: unset;
42
- width: 320px;
43
- max-width: 320px;
44
- margin-inline-start: -24px;
45
- }
46
- }
47
- @media (min-width: 1535px) {
48
- margin-inline-start: -32px;
49
- }
50
- }
@@ -1,107 +0,0 @@
1
- // Base mixin to define common styles
2
- @mixin base-heading($fontFamily, $fontSize, $lineHeight) {
3
- font-family: #{unquote(
4
- $fontFamily +
5
- ', -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif'
6
- )};
7
- font-style: normal;
8
- font-variant: normal;
9
- font-weight: normal;
10
- font-size: $fontSize;
11
- line-height: $lineHeight;
12
- }
13
-
14
- // Mixin for bold title
15
- @mixin base-heading-bold($fontFamily, $fontSize, $lineHeight) {
16
- @include base-heading($fontFamily, $fontSize, $lineHeight);
17
-
18
- /* x-height 426 https://vertical-metrics.netlify.app/ */
19
- font-size-adjust: 0.426;
20
- }
21
-
22
- // Mixin for display title text
23
- @mixin base-heading-display-title($fontFamily, $fontSize, $lineHeight) {
24
- @include base-heading($fontFamily, $fontSize, $lineHeight);
25
- /* cap-height 680 https://vertical-metrics.netlify.app/*/
26
- font-size-adjust: cap-height 0.68;
27
- }
28
-
29
- @mixin responsive-heading($min, $fontSize, $lineHeight) {
30
- @include ds-media-query-min($min: $min) {
31
- font-size: $fontSize;
32
- line-height: $lineHeight;
33
- }
34
- }
35
-
36
- // Mixins for specific heading sizes
37
- // XL
38
- @mixin ds-heading-x-large {
39
- @include base-heading-bold(
40
- 'STIHL Contraface Digital Text Bold',
41
- 1.625rem,
42
- 1.2
43
- );
44
- @include responsive-heading('l', 1.875rem, 1.25);
45
- }
46
-
47
- @mixin ds-heading-x-large-uppercase {
48
- @include base-heading-display-title(
49
- 'STIHL Contraface Digital Display Title',
50
- 1.625rem,
51
- 1.2
52
- );
53
- text-transform: uppercase;
54
- @include responsive-heading('l', 1.875rem, 1.25);
55
- }
56
-
57
- // Large
58
- @mixin ds-heading-large {
59
- @include base-heading-bold(
60
- 'STIHL Contraface Digital Text Bold',
61
- 1.375rem,
62
- 1.25
63
- );
64
- @include responsive-heading('l', 1.625rem, 1.2);
65
- }
66
-
67
- @mixin ds-heading-large-uppercase {
68
- @include base-heading-display-title(
69
- 'STIHL Contraface Digital Display Title',
70
- 1.375rem,
71
- 1.25
72
- );
73
- text-transform: uppercase;
74
- @include responsive-heading('l', 1.625rem, 1.2);
75
- }
76
-
77
- // Medium
78
- @mixin ds-heading-medium {
79
- @include base-heading-bold(
80
- 'STIHL Contraface Digital Text Bold',
81
- 1.25rem,
82
- 1.2
83
- );
84
- }
85
-
86
- @mixin ds-heading-medium-uppercase {
87
- @include base-heading-display-title(
88
- 'STIHL Contraface Digital Display Title',
89
- 1.25rem,
90
- 1.2
91
- );
92
- text-transform: uppercase;
93
- }
94
-
95
- // Small
96
- @mixin ds-heading-small {
97
- @include base-heading-bold('STIHL Contraface Digital Text Bold', 1rem, 1.5);
98
- }
99
-
100
- @mixin ds-heading-small-uppercase {
101
- @include base-heading-display-title(
102
- 'STIHL Contraface Digital Display Title',
103
- 1rem,
104
- 1.5
105
- );
106
- text-transform: uppercase;
107
- }
@@ -1,15 +0,0 @@
1
- @function px-to-rem($pixels, $base-font-size: 16px) {
2
- @return #{calc($pixels / $base-font-size)}rem;
3
- }
4
-
5
- // Encode a color to be used in a data url.
6
- @function urlEncodeHexColor($string) {
7
- @if type-of($string) == 'color' and str-index(#{$string}, '#') == 1 {
8
- $hex: str-slice(ie-hex-str($string), 4);
9
- $string: unquote('#{$hex}');
10
-
11
- @return '%23' + $string;
12
- }
13
-
14
- @return $string;
15
- }