@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
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ import { j as r } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as p } from "./chunks/index.CvOaL64Y.js";
4
+ import { D as x } from "./chunks/Icon.BCmt_XBG.js";
5
+ import "react";
6
+ import './assets/linkstandalone.DIazcjIv.css';const H = "ds-link-standalone_root_1ubnn_1", j = "ds-link-standalone_root--highlight_1ubnn_68", v = "ds-link-standalone_root--neutral-dark_1ubnn_82", L = "ds-link-standalone_root--highlight-dark_1ubnn_131", N = "ds-link-standalone_root--active_1ubnn_180", I = "ds-link-standalone_root--icon-left_1ubnn_187", o = {
7
+ root: H,
8
+ "root--highlight": "ds-link-standalone_root--highlight_1ubnn_68",
9
+ rootHighlight: j,
10
+ "root--neutral-dark": "ds-link-standalone_root--neutral-dark_1ubnn_82",
11
+ rootNeutralDark: v,
12
+ "root--highlight-dark": "ds-link-standalone_root--highlight-dark_1ubnn_131",
13
+ rootHighlightDark: L,
14
+ "root--active": "ds-link-standalone_root--active_1ubnn_180",
15
+ rootActive: N,
16
+ "root--icon-left": "ds-link-standalone_root--icon-left_1ubnn_187",
17
+ rootIconLeft: I
18
+ }, C = ({
19
+ children: e,
20
+ aria: d,
21
+ active: h,
22
+ className: _,
23
+ dataTrackingid: g,
24
+ download: c,
25
+ href: a,
26
+ iconName: i,
27
+ iconPosition: k = "left",
28
+ iconSource: l,
29
+ referrerPolicy: u,
30
+ rel: b,
31
+ target: f = "_self",
32
+ theme: t = "light",
33
+ variant: n = "neutral",
34
+ ...m
35
+ }) => {
36
+ const D = p(o.root, _, {
37
+ // variant
38
+ [o.rootHighlight]: n === "highlight",
39
+ // theme
40
+ [o.rootNeutralDark]: t === "dark" && n === "neutral",
41
+ [o.rootHighlightDark]: t === "dark" && n === "highlight",
42
+ // active
43
+ [o.rootActive]: h,
44
+ // icon position
45
+ [o.rootIconLeft]: k === "left"
46
+ }), s = a === void 0 ? "span" : "a";
47
+ return /* @__PURE__ */ r.jsxs(
48
+ s,
49
+ {
50
+ className: D,
51
+ "data-trackingid": g,
52
+ ...s === "a" && {
53
+ href: a,
54
+ target: f,
55
+ rel: b,
56
+ referrerPolicy: u,
57
+ download: c
58
+ },
59
+ ...d,
60
+ ...m,
61
+ children: [
62
+ /* @__PURE__ */ r.jsx("span", { className: o.label, children: e }),
63
+ (i || l) && /* @__PURE__ */ r.jsx(
64
+ x,
65
+ {
66
+ name: i,
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
+ };
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ import { j as g } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as r } from "./chunks/index.CvOaL64Y.js";
4
+ import './assets/logo.CnW8alZU.css';const x = "ds-logo_anchor_xhwl6_1", _ = "ds-logo_svg_xhwl6_2", e = "ds-logo_svg-background_xhwl6_40", k = "ds-logo_svg-background--dark_xhwl6_43", u = "ds-logo_svg-text_xhwl6_46", w = "ds-logo_svg-text--dark_xhwl6_49", s = {
5
+ anchor: x,
6
+ svg: _,
7
+ "svg-background": "ds-logo_svg-background_xhwl6_40",
8
+ svgBackground: e,
9
+ "svg-background--dark": "ds-logo_svg-background--dark_xhwl6_43",
10
+ svgBackgroundDark: k,
11
+ "svg-text": "ds-logo_svg-text_xhwl6_46",
12
+ svgText: u,
13
+ "svg-text--dark": "ds-logo_svg-text--dark_xhwl6_49",
14
+ svgTextDark: w
15
+ }, B = ({
16
+ aria: c,
17
+ className: l,
18
+ href: o,
19
+ target: h = "_self",
20
+ theme: d = "light",
21
+ variant: n = "standard",
22
+ ...v
23
+ }) => {
24
+ const a = n === "background" || d === "dark", t = /* @__PURE__ */ g.jsxs(
25
+ "svg",
26
+ {
27
+ xmlns: "http://www.w3.org/2000/svg",
28
+ className: r(s.svg, !o && l),
29
+ viewBox: "0 0 408 179",
30
+ width: "100%",
31
+ height: "100%",
32
+ children: [
33
+ /* @__PURE__ */ g.jsx("title", { children: "STIHL" }),
34
+ /* @__PURE__ */ g.jsx(
35
+ "path",
36
+ {
37
+ className: a ? s.svgBackgroundDark : s.svgBackground,
38
+ d: "M408 0H0v179h408V0Z"
39
+ }
40
+ ),
41
+ /* @__PURE__ */ g.jsx(
42
+ "path",
43
+ {
44
+ className: a ? s.svgTextDark : s.svgText,
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"
46
+ }
47
+ )
48
+ ]
49
+ }
50
+ );
51
+ return o ? /* @__PURE__ */ g.jsx(
52
+ "a",
53
+ {
54
+ className: r(s.anchor, l),
55
+ href: o,
56
+ target: h,
57
+ ...c,
58
+ ...v,
59
+ children: t
60
+ }
61
+ ) : t;
62
+ };
63
+ export {
64
+ B as DSLogo
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.C5opEJ6x.js";
5
- import "./chunks/Icon.C2o2seDb.js";
6
- import { D as e } from "./chunks/Notification.BXVN7_Fs.js";
4
+ import "./button.M4nXjcUn.js";
5
+ import "./chunks/Icon.BCmt_XBG.js";
6
+ import { D as e } from "./chunks/Notification.o6pagKQy.js";
7
7
  export {
8
8
  e as DSNotification
9
9
  };
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { j as c } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as s } from "./chunks/index.CvOaL64Y.js";
4
+ import { D as a } from "./chunks/Icon.BCmt_XBG.js";
5
+ import './assets/optioncheckbox.BZaWtRD7.css';const m = "ds-combobox_root_q88mt_1", _ = "ds-combobox_root--disabled_q88mt_21", l = "ds-combobox_checkbox_q88mt_25", i = "ds-combobox_icon-check_q88mt_41", k = "ds-combobox_checkbox--checked_q88mt_62", n = "ds-combobox_checkbox--disabled_q88mt_65", r = "ds-combobox_label_q88mt_82", o = {
6
+ root: m,
7
+ "root--disabled": "ds-combobox_root--disabled_q88mt_21",
8
+ rootDisabled: _,
9
+ checkbox: l,
10
+ "icon-check": "ds-combobox_icon-check_q88mt_41",
11
+ iconCheck: i,
12
+ "checkbox--checked": "ds-combobox_checkbox--checked_q88mt_62",
13
+ checkboxChecked: k,
14
+ "checkbox--disabled": "ds-combobox_checkbox--disabled_q88mt_65",
15
+ checkboxDisabled: n,
16
+ label: r
17
+ }, D = ({
18
+ label: b,
19
+ checked: t,
20
+ className: d,
21
+ disabled: e
22
+ }) => {
23
+ const x = s(o.root, {
24
+ [o.rootDisabled]: e
25
+ }), h = s(o.checkbox, {
26
+ [o.checkboxDisabled]: e,
27
+ [o.checkboxChecked]: t
28
+ });
29
+ return /* @__PURE__ */ c.jsx("div", { className: d, children: /* @__PURE__ */ c.jsxs("div", { className: x, children: [
30
+ /* @__PURE__ */ c.jsx("span", { className: h, children: /* @__PURE__ */ c.jsx(
31
+ a,
32
+ {
33
+ name: "check",
34
+ className: o.iconCheck,
35
+ "aria-hidden": "true"
36
+ }
37
+ ) }),
38
+ /* @__PURE__ */ c.jsx("span", { className: o.label, children: b })
39
+ ] }) });
40
+ };
41
+ export {
42
+ D as OptionCheckbox
43
+ };
@@ -1,2 +1,2 @@
1
- export * from './components/CustomReactSelect/OptionCheckbox'
1
+ export * from './components/Combobox/CustomReactSelect/OptionCheckbox'
2
2
  export {}
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.11",
4
+ "version": "1.0.0-RC.12",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://main--63440bbb95889041542a5ba3.chromatic.com",
7
7
  "keywords": [
@@ -30,7 +30,7 @@
30
30
  "./styles/fonts/*.css": {
31
31
  "default": "./styles/fonts/*.css"
32
32
  },
33
- "./styles/scss": "./styles/scss/_index.scss",
33
+ "./styles/scss/ds": "./styles/scss/ds/index.scss",
34
34
  "./partials": {
35
35
  "types": "./partials/index.d.ts",
36
36
  "import": "./partials/index.js",
@@ -72,8 +72,10 @@
72
72
  "test:unit": "vitest",
73
73
  "pretest:e2e": "npx playwright install --with-deps",
74
74
  "pretest:e2e-ui": "npx playwright install --with-deps",
75
+ "pretest:e2e-dead-link": "npx playwright install --with-deps",
75
76
  "test:e2e": "npx playwright test",
76
77
  "test:e2e-ui": "npx playwright test --ui",
78
+ "test:e2e-dead-link": "npx playwright test --config=playwright.config.dead-link.ts",
77
79
  "test:a11y": "test-storybook",
78
80
  "test:vrt": "npx playwright test --config=playwright.config.vrt.ts"
79
81
  },
@@ -126,7 +128,7 @@
126
128
  "react-dom": "^18.3.1",
127
129
  "react-intersection-observer": "^9.13.1",
128
130
  "react-syntax-highlighter": "^15.5.0",
129
- "sass": "^1.79.3",
131
+ "sass": "^1.80.6",
130
132
  "storybook": "^8.3.2",
131
133
  "typescript": "^5.4.5",
132
134
  "vite": "^5.4.7",
package/partials/index.js CHANGED
@@ -2138,7 +2138,7 @@ function Kt(N) {
2138
2138
  ...N
2139
2139
  };
2140
2140
  bt("getResetStyles");
2141
- const J = "@layer ds-reset{*,*::before,*::after{box-sizing:border-box}:root{--ds-spacing-dynamic-xs: 16px;--ds-spacing-dynamic-s: 24px;--ds-spacing-dynamic-m: 32px;--ds-spacing-dynamic-l: 40px;--ds-spacing-dynamic-xl: 56px;--ds-spacing-dynamic-xxl: 80px}@media(min-width: 320px){:root{--ds-spacing-dynamic-xs: 16px;--ds-spacing-dynamic-s: 24px;--ds-spacing-dynamic-m: 32px;--ds-spacing-dynamic-l: 40px;--ds-spacing-dynamic-xl: 56px;--ds-spacing-dynamic-xxl: 80px}}@media(min-width: 768px){:root{--ds-spacing-dynamic-xs: 24px;--ds-spacing-dynamic-s: 32px;--ds-spacing-dynamic-m: 40px;--ds-spacing-dynamic-l: 48px;--ds-spacing-dynamic-xl: 64px;--ds-spacing-dynamic-xxl: 96px}}@media(min-width: 1024px){:root{--ds-spacing-dynamic-xs: 24px;--ds-spacing-dynamic-s: 32px;--ds-spacing-dynamic-m: 40px;--ds-spacing-dynamic-l: 48px;--ds-spacing-dynamic-xl: 64px;--ds-spacing-dynamic-xxl: 96px}}@media(min-width: 1536px){:root{--ds-spacing-dynamic-xs: 32px;--ds-spacing-dynamic-s: 40px;--ds-spacing-dynamic-m: 48px;--ds-spacing-dynamic-l: 56px;--ds-spacing-dynamic-xl: 80px;--ds-spacing-dynamic-xxl: 128px}}@media(min-width: 1668px){:root{--ds-spacing-dynamic-xs: 32px;--ds-spacing-dynamic-s: 40px;--ds-spacing-dynamic-m: 48px;--ds-spacing-dynamic-l: 56px;--ds-spacing-dynamic-xl: 80px;--ds-spacing-dynamic-xxl: 128px}}:where(html){font-family:STIHL Contraface Digital Text Regular, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;font-style:normal;font-variant:normal;hyphens:manual;overflow-wrap:break-word;font-weight:normal;font-size:16px;line-height:1.5;font-size-adjust:.414;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}:where(body){hyphens:manual;line-height:1.5;margin:unset;min-height:100vh}:where(body,h1,h2,h3,h4,p,figure,blockquote,dl,dd){margin-block-end:0}:where(h1,h2,h3,h4,h5,h6){margin:0;padding:0;text-wrap:balance;hyphens:manual;overflow-wrap:break-word}:where(a:not([class])){text-decoration-skip-ink:auto;color:currentColor}:where(button,input,textarea,select){font:inherit}:target{scroll-margin-block:5ex}}";
2141
+ const J = "@layer ds-reset{*,*::before,*::after{box-sizing:border-box}:root{--ds-spacing-dynamic-xs: 16px;--ds-spacing-dynamic-s: 24px;--ds-spacing-dynamic-m: 32px;--ds-spacing-dynamic-l: 40px;--ds-spacing-dynamic-xl: 56px;--ds-spacing-dynamic-xxl: 80px;font-size:100%}@media(min-width: 320px){:root{--ds-spacing-dynamic-xs: 16px;--ds-spacing-dynamic-s: 24px;--ds-spacing-dynamic-m: 32px;--ds-spacing-dynamic-l: 40px;--ds-spacing-dynamic-xl: 56px;--ds-spacing-dynamic-xxl: 80px}}@media(min-width: 768px){:root{--ds-spacing-dynamic-xs: 24px;--ds-spacing-dynamic-s: 32px;--ds-spacing-dynamic-m: 40px;--ds-spacing-dynamic-l: 48px;--ds-spacing-dynamic-xl: 64px;--ds-spacing-dynamic-xxl: 96px}}@media(min-width: 1024px){:root{--ds-spacing-dynamic-xs: 24px;--ds-spacing-dynamic-s: 32px;--ds-spacing-dynamic-m: 40px;--ds-spacing-dynamic-l: 48px;--ds-spacing-dynamic-xl: 64px;--ds-spacing-dynamic-xxl: 96px}}@media(min-width: 1536px){:root{--ds-spacing-dynamic-xs: 32px;--ds-spacing-dynamic-s: 40px;--ds-spacing-dynamic-m: 48px;--ds-spacing-dynamic-l: 56px;--ds-spacing-dynamic-xl: 80px;--ds-spacing-dynamic-xxl: 128px}}@media(min-width: 1668px){:root{--ds-spacing-dynamic-xs: 32px;--ds-spacing-dynamic-s: 40px;--ds-spacing-dynamic-m: 48px;--ds-spacing-dynamic-l: 56px;--ds-spacing-dynamic-xl: 80px;--ds-spacing-dynamic-xxl: 128px}}:where(html){font-family:STIHL Contraface Digital Text Regular, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;font-style:normal;font-variant:normal;hyphens:manual;overflow-wrap:break-word;font-weight:normal;font-size:1rem;line-height:1.5;font-size-adjust:.414;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}:where(body){hyphens:manual;line-height:1.5;margin:unset;min-height:100vh}:where(body,h1,h2,h3,h4,p,figure,blockquote,dl,dd){margin-block-end:0}:where(h1,h2,h3,h4,h5,h6){margin:0;padding:0;text-wrap:balance;hyphens:manual;overflow-wrap:break-word}:where(a:not([class])){text-decoration-skip-ink:auto;color:currentColor}:where(button,input,textarea,select){font:inherit}:target{scroll-margin-block:5ex}}";
2142
2142
  return d === "html" ? `<style data-ds-css-reset-styles>${J}</style>` : /* @__PURE__ */ Fe.jsx("style", { "data-ds-css-reset-styles": !0, suppressHydrationWarning: !0, dangerouslySetInnerHTML: { __html: J } });
2143
2143
  }
2144
2144
  export {
@@ -0,0 +1,114 @@
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.X-RTl_jo.css';const v = (o) => o.replace(/\s+/g, ""), U = "ds-radio_root_tdhm5_1", q = "ds-radio_root--disabled_tdhm5_21", z = "ds-radio_root--with-custom-area_tdhm5_24", F = "ds-radio_radio_tdhm5_28", G = "ds-radio_dot_tdhm5_45", J = "ds-radio_radio--invalid_tdhm5_69", K = "ds-radio_label_tdhm5_74", M = "ds-radio_label--bold_tdhm5_88", Q = "ds-radio_label--hidden_tdhm5_99", T = "ds-radio_label--with-custom-area_tdhm5_111", X = "ds-radio_custom-area_tdhm5_115", Y = "ds-radio_hint_tdhm5_123", Z = "ds-radio_hint--visible_tdhm5_146", tt = "ds-radio_hint--unchecked-hidden_tdhm5_150", dt = "ds-radio_hint--hidden_tdhm5_155", et = "ds-radio_input_tdhm5_168", t = {
7
+ root: U,
8
+ "root--disabled": "ds-radio_root--disabled_tdhm5_21",
9
+ rootDisabled: q,
10
+ "root--with-custom-area": "ds-radio_root--with-custom-area_tdhm5_24",
11
+ rootWithCustomArea: z,
12
+ radio: F,
13
+ dot: G,
14
+ "radio--invalid": "ds-radio_radio--invalid_tdhm5_69",
15
+ radioInvalid: J,
16
+ label: K,
17
+ "label--bold": "ds-radio_label--bold_tdhm5_88",
18
+ labelBold: M,
19
+ "label--hidden": "ds-radio_label--hidden_tdhm5_99",
20
+ labelHidden: Q,
21
+ "label--with-custom-area": "ds-radio_label--with-custom-area_tdhm5_111",
22
+ labelWithCustomArea: T,
23
+ "custom-area": "ds-radio_custom-area_tdhm5_115",
24
+ customArea: X,
25
+ hint: Y,
26
+ "hint--visible": "ds-radio_hint--visible_tdhm5_146",
27
+ hintVisible: Z,
28
+ "hint--unchecked-hidden": "ds-radio_hint--unchecked-hidden_tdhm5_150",
29
+ hintUncheckedHidden: tt,
30
+ "hint--hidden": "ds-radio_hint--hidden_tdhm5_155",
31
+ hintHidden: dt,
32
+ input: et
33
+ }, it = $(
34
+ ({
35
+ label: o,
36
+ name: u,
37
+ value: b,
38
+ checked: f,
39
+ className: x,
40
+ customArea: s,
41
+ defaultChecked: k = !1,
42
+ disabled: a = !1,
43
+ hideLabel: j = !1,
44
+ hint: r,
45
+ invalid: N = !1,
46
+ isBold: g = !1,
47
+ hideUncheckedHint: l = !1,
48
+ onChange: _,
49
+ ...H
50
+ }, n) => {
51
+ const w = C(null), d = C(null), [D, A] = E(k), m = f !== void 0, c = m ? f : D;
52
+ L(() => {
53
+ d.current && l && ((d.current.style.height === "0px" || d.current.style.height === "") && c ? (d.current.style.height = `${d.current.scrollHeight}px`, d.current.style.opacity = "1") : (d.current.style.opacity = "0", d.current.style.height = "0px"));
54
+ }, [d, c]);
55
+ const p = P(j), W = h(
56
+ t.root,
57
+ {
58
+ [t.rootDisabled]: a,
59
+ [t.rootWithCustomArea]: !!s
60
+ },
61
+ x
62
+ ), B = h(t.label, {
63
+ [t.labelBold]: g,
64
+ // hide label only visually to keep them available for assistive technologies
65
+ [t.labelHidden]: p,
66
+ [t.labelWithCustomArea]: !!s
67
+ }), V = () => !l && r ? !0 : !!(l && r && c), I = h(t.hint, {
68
+ [t.hintHidden]: p,
69
+ [t.hintUncheckedHidden]: l,
70
+ [t.hintVisible]: V()
71
+ }), R = h(t.radio, {
72
+ [t.radioInvalid]: N
73
+ }), S = O(
74
+ (e) => {
75
+ if (a) {
76
+ e.preventDefault();
77
+ return;
78
+ }
79
+ m || A(e.target.checked), _ && _(e);
80
+ },
81
+ [a, m, _]
82
+ ), y = r ? `${v(u)}-${v(b)}-description` : void 0;
83
+ return /* @__PURE__ */ i.jsxs("label", { className: W, children: [
84
+ /* @__PURE__ */ i.jsx(
85
+ "input",
86
+ {
87
+ type: "radio",
88
+ value: b,
89
+ name: u,
90
+ className: t.input,
91
+ ref: (e) => {
92
+ typeof n == "function" ? n(e) : n !== null && (n.current = e), w.current = e;
93
+ },
94
+ onChange: S,
95
+ ...H,
96
+ disabled: a,
97
+ checked: c,
98
+ "aria-label": typeof o == "string" ? o : void 0,
99
+ "aria-describedby": y
100
+ }
101
+ ),
102
+ /* @__PURE__ */ i.jsx("span", { className: R, children: /* @__PURE__ */ i.jsx("div", { className: t.dot }) }),
103
+ /* @__PURE__ */ i.jsxs("span", { className: B, children: [
104
+ o,
105
+ s && /* @__PURE__ */ i.jsx("div", { className: t.customArea, children: s }),
106
+ /* @__PURE__ */ i.jsx("span", { id: y, className: I, ref: d, children: r })
107
+ ] })
108
+ ] });
109
+ }
110
+ );
111
+ it.displayName = "DSRadio";
112
+ export {
113
+ it as DSRadio
114
+ };
@@ -2,9 +2,9 @@
2
2
  import "./chunks/jsx-runtime.C115EyI4.js";
3
3
  import "./chunks/index.CvOaL64Y.js";
4
4
  import "react";
5
- import "./chunks/Fieldset.C9K8BYmH.js";
6
- import "./radio.DTZNJzMU.js";
7
- import { D as a } from "./chunks/RadioGroup.D4UOflwr.js";
5
+ import "./chunks/Fieldset.Cjmkgxxk.js";
6
+ import "./radio.DEILy_lV.js";
7
+ import { D as a } from "./chunks/RadioGroup.Crj7NoOs.js";
8
8
  export {
9
9
  a as DSRadioGroup
10
10
  };
@@ -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.DDn-yX4P.js";
7
- import "./chunks/Icon.C2o2seDb.js";
8
- import "./systemfeedback.ZzRUAVYX.js";
9
- import { D as s } from "./chunks/Select.Ds86q4UC.js";
6
+ import "./asterisk.DpzETKdT.js";
7
+ import "./chunks/Icon.BCmt_XBG.js";
8
+ import "./systemfeedback.C3Pfxxpp.js";
9
+ import { D as s } from "./chunks/Select.E6gLFYLk.js";
10
10
  export {
11
11
  s as DSSelect
12
12
  };
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { j as k } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as p } from "./chunks/index.CvOaL64Y.js";
4
+ import { g as s } from "./chunks/helpers.B1JT5ShS.js";
5
+ import "react";
6
+ import { DSLink as c } from "./link.DREJAoPG.js";
7
+ import './assets/skiptocontent.PTL3256m.css';const h = "ds-skip-to-content_root_uqkjt_1", m = "ds-skip-to-content_root--dark_uqkjt_8", r = {
8
+ root: h,
9
+ "root--dark": "ds-skip-to-content_root--dark_uqkjt_8",
10
+ rootDark: m
11
+ }, _ = ({
12
+ children: e = "Skip to main content",
13
+ className: n,
14
+ targetElementId: t = "main",
15
+ theme: o = "light",
16
+ ...a
17
+ }) => {
18
+ t.startsWith("#") && console.warn(
19
+ s(
20
+ "DSSkipToContent",
21
+ 'The targetElementId should not start with a "#" character. Please provide the id of the element you want to skip to.'
22
+ )
23
+ ), (t.startsWith("http") || t.startsWith(".")) && console.warn(
24
+ s(
25
+ "DSSkipToContent",
26
+ 'The targetElementId should not start with "http" or ".". Please provide the id of the element you want to skip to.'
27
+ )
28
+ );
29
+ const i = p(r.root, n, {
30
+ [r.rootDark]: o === "dark"
31
+ });
32
+ return /* @__PURE__ */ k.jsx(
33
+ c,
34
+ {
35
+ ...a,
36
+ className: i,
37
+ href: `#${t}`,
38
+ theme: o,
39
+ children: e
40
+ }
41
+ );
42
+ };
43
+ export {
44
+ _ as DSSkipToContent
45
+ };
@@ -0,0 +1,58 @@
1
+ "use client";
2
+ import { j as s } from "./chunks/jsx-runtime.C115EyI4.js";
3
+ import { c as l } from "./chunks/index.CvOaL64Y.js";
4
+ import { D as m } from "./chunks/Icon.BCmt_XBG.js";
5
+ import './assets/spinner.2iWJWKyA.css';const _ = "ds-spinner_root_15hmy_1", d = "ds-spinner_root-size-small_15hmy_7", z = "ds-spinner_root-size-medium_15hmy_11", c = "ds-spinner_root-size-large_15hmy_15", h = "ds-spinner_root-size-x-large_15hmy_19", p = "ds-spinner_root-size-inherit_15hmy_23", S = "ds-spinner_rotate_15hmy_1", y = "ds-spinner_screenReaderOnly_15hmy_48", e = {
6
+ root: _,
7
+ "root-size-small": "ds-spinner_root-size-small_15hmy_7",
8
+ rootSizeSmall: d,
9
+ "root-size-medium": "ds-spinner_root-size-medium_15hmy_11",
10
+ rootSizeMedium: z,
11
+ "root-size-large": "ds-spinner_root-size-large_15hmy_15",
12
+ rootSizeLarge: c,
13
+ "root-size-x-large": "ds-spinner_root-size-x-large_15hmy_19",
14
+ rootSizeXLarge: h,
15
+ "root-size-inherit": "ds-spinner_root-size-inherit_15hmy_23",
16
+ rootSizeInherit: p,
17
+ rotate: S,
18
+ screenReaderOnly: y
19
+ }, L = ({
20
+ aria: o,
21
+ className: i,
22
+ size: r = "small",
23
+ theme: t = "light",
24
+ ...n
25
+ }) => {
26
+ const a = l(e.root, i, {
27
+ [e.rootSizeSmall]: r === "small",
28
+ [e.rootSizeMedium]: r === "medium",
29
+ [e.rootSizeLarge]: r === "large",
30
+ [e.rootSizeXLarge]: r === "x-large",
31
+ [e.rootSizeInherit]: r === "inherit"
32
+ });
33
+ return /* @__PURE__ */ s.jsxs(
34
+ "span",
35
+ {
36
+ className: a,
37
+ role: "alert",
38
+ "aria-live": "assertive",
39
+ "aria-label": (o == null ? void 0 : o["aria-label"]) || void 0,
40
+ ...n,
41
+ children: [
42
+ /* @__PURE__ */ s.jsx("span", { className: e.screenReaderOnly, children: " " }),
43
+ /* @__PURE__ */ s.jsx(
44
+ m,
45
+ {
46
+ name: "loading-spinner",
47
+ theme: t,
48
+ focusable: "false",
49
+ "aria-hidden": "true"
50
+ }
51
+ )
52
+ ]
53
+ }
54
+ );
55
+ };
56
+ export {
57
+ L as DSSpinner
58
+ };
@@ -0,0 +1,19 @@
1
+ @forward 'lib/animation';
2
+ @forward 'lib/breakpoints';
3
+ @forward 'lib/container-query';
4
+ @forward 'lib/grid';
5
+ @forward 'lib/grid-extended';
6
+ @forward 'lib/grid-full';
7
+ @forward 'lib/grid-main';
8
+ @forward 'lib/grid-narrow';
9
+ @forward 'lib/grid-sidebar';
10
+ @forward 'lib/grid-sidebar-sidebar';
11
+ @forward 'lib/heading';
12
+ @forward 'lib/link';
13
+ @forward 'lib/media-query';
14
+ @forward 'lib/shadow';
15
+ @forward 'lib/spacing';
16
+ @forward 'lib/spacing-dynamic';
17
+ @forward 'lib/text';
18
+ @forward 'lib/theme';
19
+ @forward 'lib/transition';
@@ -0,0 +1,21 @@
1
+ $animation-duration-100: var(--ds-animation-duration, 100ms);
2
+ $animation-duration-250: var(--ds-animation-duration, 250ms);
3
+ $animation-duration-400: var(--ds-animation-duration, 400ms);
4
+
5
+ $animation-durations: (
6
+ '100': $animation-duration-100,
7
+ '250': $animation-duration-250,
8
+ '400': $animation-duration-400,
9
+ );
10
+
11
+ $motion-functional-linear: linear;
12
+ $motion-functional-ease-in: cubic-bezier(0.5, 0, 1, 1);
13
+ $motion-functional-ease-out: cubic-bezier(0, 0, 0.5, 1);
14
+ $motion-functional-ease-in-out: cubic-bezier(0.5, 0, 0.5, 1);
15
+
16
+ $animation-easing-functions: (
17
+ 'linear': $motion-functional-linear,
18
+ 'ease-in': $motion-functional-ease-in,
19
+ 'ease-out': $motion-functional-ease-out,
20
+ 'ease-in-out': $motion-functional-ease-in-out,
21
+ );
@@ -0,0 +1,15 @@
1
+ $breakpoint-base: 0;
2
+ $breakpoint-s: 320;
3
+ $breakpoint-m: 768;
4
+ $breakpoint-l: 1024;
5
+ $breakpoint-xl: 1536;
6
+ $breakpoint-xxl: 1668;
7
+
8
+ $breakpoints: (
9
+ 'base': $breakpoint-base,
10
+ 's': $breakpoint-s,
11
+ 'm': $breakpoint-m,
12
+ 'l': $breakpoint-l,
13
+ 'xl': $breakpoint-xl,
14
+ 'xxl': $breakpoint-xxl,
15
+ );
@@ -0,0 +1,54 @@
1
+ @use 'sass:map';
2
+ @use 'breakpoints' as *;
3
+
4
+ @mixin container-query-min($min: null, $container-name: null) {
5
+ @if map.has-key($breakpoints, $min) {
6
+ $value: #{map.get($breakpoints, $min)}px;
7
+ @if $container-name {
8
+ @container #{$container-name} (min-width: #{$value}) {
9
+ @content;
10
+ }
11
+ } @else {
12
+ @container (min-width: #{$value}) {
13
+ @content;
14
+ }
15
+ }
16
+ } @else {
17
+ @error "[STIHL Design System] - [ds.container-query-min()]: Passed '#{$min}' breakpoint is not available in ds.container-query-min() mixin.";
18
+ }
19
+ }
20
+
21
+ @mixin container-query-max($max: null, $container-name: null) {
22
+ @if map.has-key($breakpoints, $max) {
23
+ $value: #{map.get($breakpoints, $max)}px;
24
+ @if $container-name {
25
+ @container #{$container-name} (width < #{$value}) {
26
+ @content;
27
+ }
28
+ } @else {
29
+ @container (width < #{$value}) {
30
+ @content;
31
+ }
32
+ }
33
+ } @else {
34
+ @error "[STIHL Design System] - [ds.container-query-max()]: Passed '#{$max}' breakpoint is not available in ds.container-query-max() mixin.";
35
+ }
36
+ }
37
+
38
+ @mixin container-query-min-max($min: null, $max: null, $container-name: null) {
39
+ @if map.has-key($breakpoints, $min) and map.has-key($breakpoints, $max) {
40
+ $min-value: #{map.get($breakpoints, $min)}px;
41
+ $max-value: #{map.get($breakpoints, $max)}px;
42
+ @if $container-name {
43
+ @container #{$container-name} (min-width: #{$min-value}) and (width < #{$max-value}) {
44
+ @content;
45
+ }
46
+ } @else {
47
+ @container (min-width: #{$min-value}) and (width < #{$max-value}) {
48
+ @content;
49
+ }
50
+ }
51
+ } @else {
52
+ @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.";
53
+ }
54
+ }
@@ -0,0 +1,15 @@
1
+
2
+
3
+
4
+ @mixin 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
+ }