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

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 (156) hide show
  1. package/README.md +1 -1
  2. package/arialiveregions.49Zyf6mj.js +27 -0
  3. package/arialiveregions.d.ts +1 -0
  4. package/assets/CustomReactSelect.B0rJLjN0.css +1 -0
  5. package/assets/Fieldset.xazpUXJX.css +1 -0
  6. package/assets/InputPassword.C3Uyj7oA.css +1 -0
  7. package/assets/InputSearch.tL3e9-Ob.css +1 -0
  8. package/assets/InputStepper.paPJix5A.css +1 -0
  9. package/assets/Notification.CCCbfXEz.css +1 -0
  10. package/assets/RadioGroup.Ur8Ro-XL.css +1 -0
  11. package/assets/Select.D2qBxaHP.css +1 -0
  12. package/assets/Textarea.BKbocznb.css +1 -0
  13. package/assets/Toast.CAP_EwDX.css +1 -0
  14. package/assets/arialiveregions.VnhjP8Gr.css +1 -0
  15. package/assets/asterisk.C-o6rbGQ.css +1 -0
  16. package/assets/button.BuIpnG-S.css +1 -0
  17. package/assets/buttonround.C3ph5Yyu.css +1 -0
  18. package/assets/checkbox.BsFEWfQe.css +1 -0
  19. package/assets/dialog.BGK3mgk7.css +1 -0
  20. package/assets/heading.CGFucb-C.css +1 -0
  21. package/assets/input.BcP5kkZ2.css +1 -0
  22. package/assets/link.DQy_OhwC.css +1 -0
  23. package/assets/linkstandalone.Dh6bE5Fb.css +1 -0
  24. package/assets/radio.CSHQGdpr.css +1 -0
  25. package/assets/switch.sqve8ApJ.css +1 -0
  26. package/assets/title.CE0Dm7PI.css +1 -0
  27. package/asterisk.DU8THnoC.js +8 -0
  28. package/button.DX_nxoJC.js +135 -0
  29. package/buttonround.CXsBk9nL.js +118 -0
  30. package/{checkbox.Bx5D_GAe.js → checkbox.B43oeMeC.js} +30 -30
  31. package/checkboxgroup.C7aCjYds.js +9 -0
  32. package/chunks/AriaLiveRegions.utils.DzWI5KCU.js +31 -0
  33. package/{checkboxgroup.gQwSHy4i.js → chunks/CheckboxGroup.CS6Q_TeZ.js} +27 -20
  34. package/chunks/{CustomReactSelect.Pvkkof1f.js → CustomReactSelect.DtmbYZUf.js} +516 -510
  35. package/chunks/Fieldset.BokeZzG5.js +99 -0
  36. package/chunks/Icon.9gDIp6p4.js +217 -0
  37. package/chunks/{Input.utils.Bly6ZzLI.js → Input.utils.AKWCNkpA.js} +12 -8
  38. package/chunks/InputPassword.jpUCijp7.js +140 -0
  39. package/chunks/InputSearch.BmOtAZcR.js +190 -0
  40. package/chunks/InputStepper.DTKjUL4U.js +291 -0
  41. package/chunks/Notification.CUPOlHAX.js +93 -0
  42. package/{radiogroup.7ptQiohb.js → chunks/RadioGroup.DpwnVv7u.js} +37 -29
  43. package/chunks/RadioGroup.module.bi3leRes.js +11 -0
  44. package/chunks/Select.DkDZo0ky.js +193 -0
  45. package/chunks/Textarea.C938p79X.js +195 -0
  46. package/chunks/Toast.CLYrwQVO.js +89 -0
  47. package/chunks/{circle-info-colored.DLY6BTL4.js → circle-info-colored.D2pp54gf.js} +3 -3
  48. package/chunks/whatsapp.CPpu-7Nn.js +10 -0
  49. package/{combobox.BOJ7aq_B.js → combobox.BaSkiD6f.js} +7 -7
  50. package/components/AriaLiveRegions/AriaLiveRegions.d.ts +4 -0
  51. package/components/AriaLiveRegions/AriaLiveRegions.utils.d.ts +5 -0
  52. package/components/AriaLiveRegions/AriaLiveRegions.utils.test.d.ts +1 -0
  53. package/components/Checkbox/Checkbox.d.ts +1 -1
  54. package/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  55. package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +1 -1
  56. package/components/Dialog/Dialog.d.ts +11 -0
  57. package/components/Dialog/Dialog.utils.d.ts +0 -0
  58. package/components/Fieldset/Fieldset.d.ts +1 -1
  59. package/components/Fieldset/Fieldset.utils.d.ts +1 -1
  60. package/components/Heading/Heading.utils.d.ts +1 -1
  61. package/components/Logo/Logo.d.ts +4 -2
  62. package/components/Logo/Logo.utils.d.ts +1 -0
  63. package/components/Notification/Notification.d.ts +26 -0
  64. package/components/Notification/Notification.test.d.ts +1 -0
  65. package/components/Notification/Notification.utils.d.ts +5 -0
  66. package/components/RadioGroup/RadioGroup.d.ts +1 -1
  67. package/components/RadioGroup/RadioGroup.utils.d.ts +1 -1
  68. package/components/Toast/Toast.d.ts +21 -0
  69. package/components/Toast/Toast.utils.d.ts +9 -0
  70. package/components/Toast/ToastManager.d.ts +6 -0
  71. package/components/Toast/ToastManager.test.d.ts +1 -0
  72. package/components/Toast/ToastManager.utils.d.ts +2 -0
  73. package/components/Toast/ToastManager.utils.test.d.ts +1 -0
  74. package/customreactselect.LTbjaBN2.js +13 -0
  75. package/dialog.BkXwcbUh.js +45 -0
  76. package/dialog.d.ts +1 -0
  77. package/fieldset.BXOWK-B-.js +11 -0
  78. package/{floatingactionbutton.BtQVIj6W.js → floatingactionbutton.-nDRRiXY.js} +9 -9
  79. package/heading.DqGbFfj2.js +50 -0
  80. package/icon.Cpp_9L1I.js +8 -0
  81. package/index.d.ts +24 -0
  82. package/index.es.js +138 -45
  83. package/input.BM6tyRUm.js +236 -0
  84. package/inputpassword.DUxH1K_k.js +12 -0
  85. package/inputsearch.B-vePHle.js +13 -0
  86. package/inputstepper.C2ypADPI.js +13 -0
  87. package/link.B4XZoLDj.js +115 -0
  88. package/linkstandalone.BSfd95Pd.js +79 -0
  89. package/{logo.DXWgPUY4.js → logo.C_oJ8isW.js} +25 -24
  90. package/notification.CxxAOdNV.js +9 -0
  91. package/notification.d.ts +1 -0
  92. package/{optioncheckbox.CYikfEsE.js → optioncheckbox.CUV1MQhh.js} +3 -3
  93. package/package.json +4 -4
  94. package/radio.Bhu9OUY-.js +79 -0
  95. package/radiogroup.CMJ1b38q.js +11 -0
  96. package/select.DFJK2mHF.js +12 -0
  97. package/{spinner.CSzQEBx2.js → spinner.BskX4ovu.js} +1 -1
  98. package/styles/scss/_index.scss +1 -0
  99. package/styles/scss/lib/_animation.scss +18 -4
  100. package/styles/scss/lib/_grid-extended.scss +2 -2
  101. package/styles/scss/lib/_grid-sidebar-sidebar.scss +4 -2
  102. package/styles/scss/lib/_grid-sidebar.scss +6 -6
  103. package/styles/scss/lib/_heading.scss +14 -1
  104. package/styles/scss/lib/_link.scss +10 -9
  105. package/styles/scss/lib/_shadow.scss +10 -0
  106. package/styles/scss/lib/_text.scss +4 -0
  107. package/styles/scss/lib/_theme.scss +7 -5
  108. package/switch.Bx2tDKx0.js +65 -0
  109. package/{systemfeedback.rBgdiL5T.js → systemfeedback.4Hkfigi-.js} +1 -1
  110. package/textarea.DPy3TJJf.js +12 -0
  111. package/title.icX0VDiO.js +36 -0
  112. package/toast.C-Yg5EoE.js +10 -0
  113. package/toast.d.ts +1 -0
  114. package/toastmanager.DQ_-eTrx.js +96 -0
  115. package/toastmanager.d.ts +1 -0
  116. package/types/icon-types.d.ts +1 -1
  117. package/utils/vitest.setup.d.ts +2 -0
  118. package/assets/CustomReactSelect.bVnR5yBP.css +0 -1
  119. package/assets/RadioGroup.SF2fv4CL.css +0 -1
  120. package/assets/asterisk.Bz7RZnKb.css +0 -1
  121. package/assets/button.C6ZbQtZ-.css +0 -1
  122. package/assets/buttonround.CjJUeMND.css +0 -1
  123. package/assets/checkbox.Bbc6PYDK.css +0 -1
  124. package/assets/fieldset.DTFs_koU.css +0 -1
  125. package/assets/heading.5HpYs7wS.css +0 -1
  126. package/assets/input.GpXQJqEO.css +0 -1
  127. package/assets/inputpassword.B9J1hCcj.css +0 -1
  128. package/assets/inputsearch.BY0BGFPK.css +0 -1
  129. package/assets/inputstepper.B0oC1URa.css +0 -1
  130. package/assets/link.Di4qXro5.css +0 -1
  131. package/assets/linkstandalone.239FeO2E.css +0 -1
  132. package/assets/radio.pqc9u_wx.css +0 -1
  133. package/assets/select.DLOQ6wu0.css +0 -1
  134. package/assets/switch.DVlaePGM.css +0 -1
  135. package/assets/textarea.BNOpd7Nf.css +0 -1
  136. package/assets/title.1dq1eWy9.css +0 -1
  137. package/asterisk.BlYjsfkN.js +0 -8
  138. package/button.Di5XtChf.js +0 -135
  139. package/buttonround._w4KDbHE.js +0 -118
  140. package/chunks/RadioGroup.module.B35YQcsb.js +0 -11
  141. package/customreactselect.DPHXAssl.js +0 -13
  142. package/fieldset.yE6WV6Ls.js +0 -98
  143. package/heading.C6k7Gakb.js +0 -44
  144. package/icon.CmAhxgHK.js +0 -215
  145. package/input.vP5xcwzV.js +0 -236
  146. package/inputpassword.BiQ8ORmn.js +0 -139
  147. package/inputsearch.BA9N3RRc.js +0 -188
  148. package/inputstepper.Cyxeg2Cj.js +0 -290
  149. package/link.BoSdsZHj.js +0 -115
  150. package/linkstandalone.BoN7nARO.js +0 -79
  151. package/radio.DTO5-Yzf.js +0 -79
  152. package/select.Dx80W7cW.js +0 -190
  153. package/switch.BwGtQdnx.js +0 -65
  154. package/textarea.C8tp1ciU.js +0 -193
  155. package/title.BT-uIobN.js +0 -36
  156. /package/assets/{icon.CB-KQmw4.css → Icon.CB-KQmw4.css} +0 -0
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ import { j as e } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c as i } from "./chunks/index.CvOaL64Y.js";
4
+ import { forwardRef as H, useRef as I, useState as R, useCallback as S } from "react";
5
+ import { u as g } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import './assets/radio.CSHQGdpr.css';const B = "_root_vnfdb_63", V = "_root--disabled_vnfdb_82", w = "_radio_vnfdb_86", E = "_dot_vnfdb_101", L = "_radio--invalid_vnfdb_123", O = "_label_vnfdb_128", P = "_label--hidden_vnfdb_138", U = "_input_vnfdb_151", o = {
7
+ root: B,
8
+ "root--disabled": "_root--disabled_vnfdb_82",
9
+ rootDisabled: V,
10
+ radio: w,
11
+ dot: E,
12
+ "radio--invalid": "_radio--invalid_vnfdb_123",
13
+ radioInvalid: L,
14
+ label: O,
15
+ "label--hidden": "_label--hidden_vnfdb_138",
16
+ labelHidden: P,
17
+ input: U
18
+ }, q = H(
19
+ ({
20
+ label: l,
21
+ name: c,
22
+ value: _,
23
+ defaultChecked: f = !1,
24
+ disabled: n = !1,
25
+ hideLabel: b = !1,
26
+ checked: r,
27
+ invalid: u = !1,
28
+ className: v,
29
+ onChange: d,
30
+ ...m
31
+ }, s) => {
32
+ const p = I(null), [h, x] = R(f), t = r !== void 0, C = t ? r : h, j = g(b), k = i(
33
+ o.root,
34
+ {
35
+ [o.rootDisabled]: n
36
+ },
37
+ v
38
+ ), N = i(o.label, {
39
+ // hide label only visually to keep them available for assistive technologies
40
+ [o.labelHidden]: j
41
+ }), D = i(o.radio, {
42
+ [o.radioInvalid]: u
43
+ }), y = S(
44
+ (a) => {
45
+ if (n) {
46
+ a.preventDefault();
47
+ return;
48
+ }
49
+ t || x(a.target.checked), d && d(a);
50
+ },
51
+ [n, t, d]
52
+ );
53
+ return /* @__PURE__ */ e.jsxs("label", { className: k, children: [
54
+ /* @__PURE__ */ e.jsx(
55
+ "input",
56
+ {
57
+ type: "radio",
58
+ value: _,
59
+ name: c,
60
+ className: o.input,
61
+ ref: (a) => {
62
+ typeof s == "function" ? s(a) : s !== null && (s.current = a), p.current = a;
63
+ },
64
+ onChange: y,
65
+ ...m,
66
+ disabled: n,
67
+ checked: C,
68
+ "aria-label": typeof l == "string" ? l : void 0
69
+ }
70
+ ),
71
+ /* @__PURE__ */ e.jsx("span", { className: D, children: /* @__PURE__ */ e.jsx("div", { className: o.dot }) }),
72
+ /* @__PURE__ */ e.jsx("span", { className: N, children: l })
73
+ ] });
74
+ }
75
+ );
76
+ q.displayName = "DSRadio";
77
+ export {
78
+ q as DSRadio
79
+ };
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import "./chunks/index.CvOaL64Y.js";
4
+ import "react";
5
+ import "./chunks/Fieldset.BokeZzG5.js";
6
+ import "./radio.Bhu9OUY-.js";
7
+ import "./chunks/RadioGroup.module.bi3leRes.js";
8
+ import { D as s } from "./chunks/RadioGroup.DpwnVv7u.js";
9
+ export {
10
+ s as DSRadioGroup
11
+ };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import "./chunks/index.CvOaL64Y.js";
4
+ import "react";
5
+ import "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import "./asterisk.DU8THnoC.js";
7
+ import "./chunks/Icon.9gDIp6p4.js";
8
+ import "./systemfeedback.4Hkfigi-.js";
9
+ import { D as s } from "./chunks/Select.DkDZo0ky.js";
10
+ export {
11
+ s as DSSelect
12
+ };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { j as t } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
3
  import { c as n } from "./chunks/index.CvOaL64Y.js";
4
- import { DSIcon as _ } from "./icon.CmAhxgHK.js";
4
+ import { D as _ } from "./chunks/Icon.9gDIp6p4.js";
5
5
  import './assets/spinner.C5rBmKiF.css';const m = "_root_1xfbe_63", z = "_root-size-small_1xfbe_69", c = "_root-size-medium_1xfbe_73", x = "_root-size-large_1xfbe_77", S = "_root-size-x-large_1xfbe_81", f = "_root-size-inherit_1xfbe_85", d = "_rotate_1xfbe_1", b = "_screenReaderOnly_1xfbe_105", e = {
6
6
  root: m,
7
7
  "root-size-small": "_root-size-small_1xfbe_69",
@@ -16,6 +16,7 @@
16
16
  @import 'lib/_hover.scss';
17
17
  @import 'lib/_link.scss';
18
18
  @import 'lib/_media-query.scss';
19
+ @import 'lib/_shadow.scss';
19
20
  @import 'lib/_spacing.scss';
20
21
  @import 'lib/_text.scss';
21
22
  @import 'lib/_theme.scss';
@@ -1,6 +1,20 @@
1
- $ds-animation-duration-short: var(--ds-animation-duration, 550ms);
2
- $ds-animation-duration-medium: var(--ds-animation-duration, 1100ms);
3
- $ds-animation-duration-long: var(--ds-animation-duration, 1650ms);
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
+ // TODO remove or move to spinner component after discussion with design took place
5
+ $ds-animation-duration-spinner: var(--ds-animation-duration, 1100ms);
4
6
 
5
7
  $ds-animation-timing-function-ease-in-out: ease-in-out;
6
- $ds-animation-timing-function-linear: linear;
8
+ $ds-animation-timing-function-motion-functional-linear: linear;
9
+ $ds-animation-timing-function-motion-functional-ease-in: cubic-bezier(
10
+ 0.5,
11
+ 0,
12
+ 1,
13
+ 1
14
+ );
15
+ $ds-animation-timing-function-motion-functional-ease-out: cubic-bezier(
16
+ 0,
17
+ 0,
18
+ 0.5,
19
+ 1
20
+ );
@@ -5,7 +5,7 @@ $ds-grid-extended-column-end: extended-end;
5
5
  grid-column: $ds-grid-extended-column-start / $ds-grid-extended-column-end;
6
6
 
7
7
  @media (min-width: 1668px) {
8
- margin-left: -32px;
9
- margin-right: -32px;
8
+ margin-inline-start: -32px;
9
+ margin-inline-end: -32px;
10
10
  }
11
11
  }
@@ -15,6 +15,7 @@ $ds-grid-sidebar-sidebar-2-column-end: sidebar-2-end;
15
15
  grid-row: span 300;
16
16
  grid-column: $ds-grid-sidebar-sidebar-1-column-start /
17
17
  $ds-grid-sidebar-sidebar-1-column-end;
18
+ margin-block-end: 0;
18
19
  @if ($is-open == true) {
19
20
  width: 264px;
20
21
  max-width: 264px;
@@ -33,16 +34,17 @@ $ds-grid-sidebar-sidebar-2-column-end: sidebar-2-end;
33
34
  // https://stackoverflow.com/a/49076465/2346207
34
35
  // https://stackoverflow.com/a/56876772/2346207
35
36
  grid-row: span 300;
37
+ margin-block-end: 0;
36
38
  @if ($is-open == true) {
37
39
  grid-column: $ds-grid-sidebar-sidebar-2-column-start /
38
40
  $ds-grid-sidebar-sidebar-2-column-end;
39
41
  display: unset;
40
42
  width: 320px;
41
43
  max-width: 320px;
42
- margin-left: -24px;
44
+ margin-inline-start: -24px;
43
45
  }
44
46
  }
45
47
  @media (min-width: 1535px) {
46
- margin-left: -32px;
48
+ margin-inline-start: -32px;
47
49
  }
48
50
  }
@@ -60,11 +60,11 @@
60
60
  --ds-grid-sidebar-gap: 0px;
61
61
  gap: var(--ds-grid-sidebar-gap);
62
62
  column-gap: 24px;
63
- // The children get a margin-bottom to imitate row-gap behavior
63
+ // The children get a margin-block-end to imitate row-gap behavior
64
64
  // This is counteracted for the last row in the parent
65
- margin-bottom: -24px;
65
+ margin-block-end: -24px;
66
66
  & > * {
67
- margin-bottom: 24px;
67
+ margin-block-end: 24px;
68
68
  }
69
69
  @if $is-sidebar-1-open == false {
70
70
  grid-template-columns:
@@ -106,11 +106,11 @@
106
106
 
107
107
  @include ds-media-query-min('xl') {
108
108
  column-gap: 32px;
109
- // The children get a margin-bottom to imitate row-gap behavior
109
+ // The children get a margin-block-end to imitate row-gap behavior
110
110
  // This is counteracted for the last row in the parent
111
- margin-bottom: -32px;
111
+ margin-block-end: -32px;
112
112
  & > * {
113
- margin-bottom: 32px;
113
+ margin-block-end: 32px;
114
114
  }
115
115
 
116
116
  @if $is-sidebar-1-open == false {
@@ -18,7 +18,13 @@
18
18
  }
19
19
 
20
20
  // Mixins for specific heading sizes
21
+ // XL
21
22
  @mixin ds-heading-x-large {
23
+ @include base-heading('STIHL Contraface Digital Text Bold', 1.625rem, 1.2);
24
+ @include responsive-heading('l', 1.875rem, 1.25);
25
+ }
26
+
27
+ @mixin ds-heading-x-large-uppercase {
22
28
  @include base-heading(
23
29
  'STIHL Contraface Digital Display Title',
24
30
  1.625rem,
@@ -27,7 +33,13 @@
27
33
  @include responsive-heading('l', 1.875rem, 1.25);
28
34
  }
29
35
 
36
+ // Large
30
37
  @mixin ds-heading-large {
38
+ @include base-heading('STIHL Contraface Digital Text Bold', 1.375rem, 1.25);
39
+ @include responsive-heading('l', 1.625rem, 1.2);
40
+ }
41
+
42
+ @mixin ds-heading-large-uppercase {
31
43
  @include base-heading(
32
44
  'STIHL Contraface Digital Display Title',
33
45
  1.375rem,
@@ -36,6 +48,7 @@
36
48
  @include responsive-heading('l', 1.625rem, 1.2);
37
49
  }
38
50
 
51
+ // Medium
39
52
  @mixin ds-heading-medium {
40
53
  @include base-heading('STIHL Contraface Digital Text Bold', 1.25rem, 1.2);
41
54
  }
@@ -44,10 +57,10 @@
44
57
  @include base-heading('STIHL Contraface Digital Display Title', 1.25rem, 1.2);
45
58
  }
46
59
 
60
+ // Small
47
61
  @mixin ds-heading-small {
48
62
  @include base-heading('STIHL Contraface Digital Text Bold', 1rem, 1.5);
49
63
  }
50
-
51
64
  @mixin ds-heading-small-uppercase {
52
65
  @include base-heading('STIHL Contraface Digital Display Title', 1rem, 1.5);
53
66
  }
@@ -101,10 +101,10 @@
101
101
  @include link-underline;
102
102
 
103
103
  display: inline;
104
- padding-right: $ds-spacing-2;
105
- padding-left: $ds-spacing-2;
106
- padding-top: 0;
107
- padding-bottom: 0;
104
+ padding-inline-end: $ds-spacing-2;
105
+ padding-inline-start: $ds-spacing-2;
106
+ padding-block-start: 0;
107
+ padding-block-end: 0;
108
108
  line-height: inherit;
109
109
  font-size: inherit;
110
110
 
@@ -115,7 +115,7 @@
115
115
  :where(&)[href^="https://"]::after,
116
116
  :where(&)[href^='#']::after {
117
117
  display: inline-block;
118
- margin-left: 0.375em;
118
+ margin-inline-start: 0.375em;
119
119
  width: 0.75em;
120
120
  height: 0.75em;
121
121
  }
@@ -135,11 +135,12 @@
135
135
 
136
136
  display: inline-flex;
137
137
  align-items: center;
138
+ height: fit-content;
138
139
  gap: $ds-spacing-6;
139
- padding-right: $ds-spacing-4;
140
- padding-left: $ds-spacing-4;
141
- padding-top: $ds-spacing-2;
142
- padding-bottom: $ds-spacing-2;
140
+ padding-inline-end: $ds-spacing-4;
141
+ padding-inline-start: $ds-spacing-4;
142
+ padding-block-start: $ds-spacing-2;
143
+ padding-block-end: $ds-spacing-2;
143
144
  // Set color to transparent instead of text-decoration: none to support forced colors link decoration
144
145
  text-decoration-color: transparent;
145
146
 
@@ -0,0 +1,10 @@
1
+ @mixin ds-shadow-m {
2
+ box-shadow:
3
+ 0px 2px 12px 0px rgba(0, 0, 0, 0.08),
4
+ 0px 1px 2px 0px rgba(0, 0, 0, 0.16);
5
+ }
6
+ @mixin ds-shadow-l {
7
+ box-shadow:
8
+ 0px 8px 48px 0px rgba(0, 0, 0, 0.1),
9
+ 0px 2px 4px 0px rgba(0, 0, 0, 0.04);
10
+ }
@@ -61,3 +61,7 @@
61
61
  @mixin ds-utility-small {
62
62
  @include base-text('STIHL Contraface Digital Text Regular', 0.875rem, 1.14);
63
63
  }
64
+
65
+ @mixin ds-utility-small-bold {
66
+ @include base-text('STIHL Contraface Digital Text Bold', 0.875rem, 1.14);
67
+ }
@@ -70,6 +70,7 @@ $ds-theme-light-background-color-tertiary: $ds-color-core-grey-light;
70
70
  $ds-theme-light-background-color-transparent-hover: $ds-color-core-black-opacity-10;
71
71
  $ds-theme-light-background-color-transparent-pressed: $ds-color-core-black-opacity-10;
72
72
  $ds-theme-light-border-color-feedback-error: $ds-color-core-red-base;
73
+ $ds-theme-light-border-color-feedback-info: $ds-color-core-grey-dark;
73
74
  $ds-theme-light-border-color-feedback-success: $ds-color-core-green-base;
74
75
  $ds-theme-light-border-color-feedback-warning: $ds-color-core-yellow-base;
75
76
  $ds-theme-light-border-color-focus: $ds-color-core-grey-ultra-deep;
@@ -107,10 +108,10 @@ $ds-theme-dark-background-color-brand-disabled: $ds-color-core-grey-mid;
107
108
  $ds-theme-dark-background-color-brand-hover: $ds-color-core-orange-dark;
108
109
  $ds-theme-dark-background-color-brand-pressed: $ds-color-core-orange-dark;
109
110
  $ds-theme-dark-background-color-brand: $ds-color-core-orange-base;
110
- $ds-theme-dark-background-color-feedback-error: $ds-color-core-grey-ultra-deep;
111
- $ds-theme-dark-background-color-feedback-info: $ds-color-core-grey-ultra-deep;
112
- $ds-theme-dark-background-color-feedback-success: $ds-color-core-grey-ultra-deep;
113
- $ds-theme-dark-background-color-feedback-warning: $ds-color-core-grey-ultra-deep;
111
+ $ds-theme-dark-background-color-feedback-error: $ds-color-core-grey-deep;
112
+ $ds-theme-dark-background-color-feedback-info: $ds-color-core-grey-deep;
113
+ $ds-theme-dark-background-color-feedback-success: $ds-color-core-grey-deep;
114
+ $ds-theme-dark-background-color-feedback-warning: $ds-color-core-grey-deep;
114
115
  $ds-theme-dark-background-color-primary-disabled: $ds-color-core-black-base;
115
116
  $ds-theme-dark-background-color-primary-hover: $ds-color-core-grey-deep;
116
117
  $ds-theme-dark-background-color-primary-inverse-disabled: $ds-color-core-grey-mid;
@@ -122,11 +123,12 @@ $ds-theme-dark-background-color-primary: $ds-color-core-black-base;
122
123
  $ds-theme-dark-background-color-secondary-disabled: $ds-color-core-grey-ultra-deep;
123
124
  $ds-theme-dark-background-color-secondary-inverse: $ds-color-core-grey-light;
124
125
  $ds-theme-dark-background-color-secondary: $ds-color-core-grey-ultra-deep;
125
- $ds-theme-dark-background-color-sustainability: $ds-color-core-grey-ultra-deep;
126
+ $ds-theme-dark-background-color-sustainability: $ds-color-core-grey-deep;
126
127
  $ds-theme-dark-background-color-tertiary: $ds-color-core-grey-ultra-deep;
127
128
  $ds-theme-dark-background-color-transparent-hover: $ds-color-core-white-opacity-15;
128
129
  $ds-theme-dark-background-color-transparent-pressed: $ds-color-core-white-opacity-15;
129
130
  $ds-theme-dark-border-color-feedback-error: $ds-color-core-red-base;
131
+ $ds-theme-dark-border-color-feedback-info: $ds-color-core-grey-dark;
130
132
  $ds-theme-dark-border-color-feedback-success: $ds-color-core-green-base;
131
133
  $ds-theme-dark-border-color-feedback-warning: $ds-color-core-yellow-base;
132
134
  $ds-theme-dark-border-color-focus: $ds-color-core-white-base;
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ import { j as t } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c as b } from "./chunks/index.CvOaL64Y.js";
4
+ import "react";
5
+ import { D as p } from "./chunks/Icon.9gDIp6p4.js";
6
+ import { DSSpinner as f } from "./spinner.BskX4ovu.js";
7
+ import './assets/switch.sqve8ApJ.css';const x = "_root_1gc2h_63", j = "_root--label-right_1gc2h_91", k = "_root--stretched_1gc2h_94", S = "_loader_1gc2h_104", w = "_thumb_1gc2h_157", C = "_root--checked_1gc2h_172", o = {
8
+ root: x,
9
+ "root--label-right": "_root--label-right_1gc2h_91",
10
+ rootLabelRight: j,
11
+ "root--stretched": "_root--stretched_1gc2h_94",
12
+ rootStretched: k,
13
+ switch: "_switch_1gc2h_99",
14
+ loader: S,
15
+ thumb: w,
16
+ "root--checked": "_root--checked_1gc2h_172",
17
+ rootChecked: C
18
+ }, E = ({
19
+ children: h,
20
+ aria: i,
21
+ alignLabel: l = "left",
22
+ checked: e = !1,
23
+ className: _,
24
+ dataTrackingid: n,
25
+ disabled: c = !1,
26
+ loading: r = !1,
27
+ stretched: d = !1,
28
+ onClick: s,
29
+ ...m
30
+ }) => {
31
+ const g = b(o.root, _, {
32
+ [o.rootChecked]: e === !0,
33
+ [o.rootStretched]: d === !0,
34
+ [o.rootLabelRight]: l === "right"
35
+ }), u = (a) => {
36
+ if (c || r) {
37
+ a.preventDefault();
38
+ return;
39
+ }
40
+ s && s(a);
41
+ };
42
+ return /* @__PURE__ */ t.jsxs(
43
+ "button",
44
+ {
45
+ className: g,
46
+ "data-trackingid": n,
47
+ onClick: u,
48
+ ...i,
49
+ ...m,
50
+ type: "button",
51
+ role: "switch",
52
+ "aria-checked": e,
53
+ "aria-disabled": c || r,
54
+ "aria-busy": r,
55
+ children: [
56
+ /* @__PURE__ */ t.jsx("span", { children: h }),
57
+ !r && /* @__PURE__ */ t.jsx("span", { className: o.switch, children: /* @__PURE__ */ t.jsx("span", { className: o.thumb, children: /* @__PURE__ */ t.jsx(p, { name: "check", "aria-hidden": "true" }) }) }),
58
+ r && /* @__PURE__ */ t.jsx("span", { className: o.loader, children: /* @__PURE__ */ t.jsx(f, { aria: { "aria-label": "Loading state" } }) })
59
+ ]
60
+ }
61
+ );
62
+ };
63
+ export {
64
+ E as DSSwitch
65
+ };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { j as o } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
3
  import { c } from "./chunks/index.CvOaL64Y.js";
4
- import { DSIcon as n } from "./icon.CmAhxgHK.js";
4
+ import { D as n } from "./chunks/Icon.9gDIp6p4.js";
5
5
  import './assets/systemfeedback.WE3wClZ3.css';const i = "_root_18s1i_63", l = {
6
6
  root: i
7
7
  }, m = {
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import "./chunks/index.CvOaL64Y.js";
4
+ import "react";
5
+ import "./chunks/useBreakpoint.5xBNDiCf.js";
6
+ import "./chunks/helpers.B1JT5ShS.js";
7
+ import "./asterisk.DU8THnoC.js";
8
+ import "./systemfeedback.4Hkfigi-.js";
9
+ import { D as x } from "./chunks/Textarea.C938p79X.js";
10
+ export {
11
+ x as DSTextarea
12
+ };
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { j as o } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { c as g } from "./chunks/index.CvOaL64Y.js";
4
+ import './assets/title.CE0Dm7PI.css';const n = "_root_1bpc5_63", h = "_root--x-large-uppercase_1bpc5_66", m = "_root--large-uppercase_1bpc5_80", d = "_root--theme-dark_1bpc5_94", u = "_dash_1bpc5_97", r = {
5
+ root: n,
6
+ "root--x-large-uppercase": "_root--x-large-uppercase_1bpc5_66",
7
+ rootXLargeUppercase: h,
8
+ "root--large-uppercase": "_root--large-uppercase_1bpc5_80",
9
+ rootLargeUppercase: m,
10
+ "root--theme-dark": "_root--theme-dark_1bpc5_94",
11
+ rootThemeDark: d,
12
+ dash: u
13
+ }, b = ({
14
+ children: a,
15
+ className: t,
16
+ size: e = "x-large",
17
+ tag: s = "h1",
18
+ // Design suggested to set default tag to h1
19
+ theme: p = "light",
20
+ ...c
21
+ }) => {
22
+ const _ = s, l = g(r.root, t, {
23
+ // sizes
24
+ [r.rootXLargeUppercase]: e === "x-large",
25
+ [r.rootLargeUppercase]: e === "large",
26
+ // dark theme
27
+ [r.rootThemeDark]: p === "dark"
28
+ });
29
+ return /* @__PURE__ */ o.jsxs(_, { className: l, ...c, children: [
30
+ a,
31
+ /* @__PURE__ */ o.jsx("span", { className: r.dash, "aria-hidden": "true", children: "ƒ" })
32
+ ] });
33
+ };
34
+ export {
35
+ b as DSTitle
36
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import "./chunks/index.CvOaL64Y.js";
4
+ import "react";
5
+ import "./button.DX_nxoJC.js";
6
+ import "./chunks/Icon.9gDIp6p4.js";
7
+ import { D as s } from "./chunks/Toast.CLYrwQVO.js";
8
+ export {
9
+ s as DSToast
10
+ };
package/toast.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './components/Toast/Toast'
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ import { j as w } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
+ import { useState as f, useRef as x, useEffect as g } from "react";
4
+ import { g as h, b as A } from "./chunks/AriaLiveRegions.utils.DzWI5KCU.js";
5
+ import { D, s as y } from "./chunks/Toast.CLYrwQVO.js";
6
+ import { g as E } from "./chunks/helpers.B1JT5ShS.js";
7
+ const O = () => {
8
+ if (!h() || !A())
9
+ throw new Error(
10
+ E(
11
+ "DSToast",
12
+ 'The DSAriaLiveRegions component has to be placed at the root of your application, as close to the "body" as possible, e.g. in your "App.tsx" or "layout.tsx".'
13
+ )
14
+ );
15
+ }, C = () => {
16
+ if (document.querySelectorAll("[data-ds-toast]").length > 1)
17
+ throw new Error(
18
+ E(
19
+ "DSToast",
20
+ 'The destructured "toast" element should only be used once in the DOM.'
21
+ )
22
+ );
23
+ }, i = "data-ds-toast-timeout-id", v = "closing", P = 1e4, k = () => {
24
+ const [r, u] = f([]), [s, a] = f(null), o = x(null);
25
+ g(() => {
26
+ !s && r.length > 0 && setTimeout(() => {
27
+ a(r[0]);
28
+ });
29
+ }, [r]), g(() => {
30
+ s && (R(s.message, s.variant), b());
31
+ }, [s]);
32
+ const c = () => {
33
+ var e;
34
+ return ((e = o.current) == null ? void 0 : e.getAttribute(i)) || null;
35
+ }, l = (e) => {
36
+ var t;
37
+ (t = o.current) == null || t.setAttribute(i, e);
38
+ }, L = () => {
39
+ var e;
40
+ return (e = o.current) == null ? void 0 : e.removeAttribute(i);
41
+ }, R = (e, t) => {
42
+ if (t === "warning") {
43
+ const n = h();
44
+ n && (n.innerText = e);
45
+ } else if (t === "success" || t === "info") {
46
+ const n = A();
47
+ n && (n.innerText = e);
48
+ }
49
+ }, S = (e, t) => {
50
+ O();
51
+ const n = {
52
+ message: e,
53
+ hideIcon: t == null ? void 0 : t.hideIcon,
54
+ variant: (t == null ? void 0 : t.variant) || "info",
55
+ onClick: () => {
56
+ d();
57
+ },
58
+ onMouseEnter: I,
59
+ onMouseLeave: M
60
+ };
61
+ u((p) => [...p, n]);
62
+ }, I = () => {
63
+ T();
64
+ }, T = () => {
65
+ var t;
66
+ const e = c();
67
+ e && (clearTimeout(e), (t = o.current) == null || t.removeAttribute(i));
68
+ }, m = () => {
69
+ const e = setTimeout(() => {
70
+ d();
71
+ }, P);
72
+ l(String(e));
73
+ }, M = () => {
74
+ c() !== v && o.current && m();
75
+ }, b = () => {
76
+ C(), o.current && s && (o.current.showPopover(), m());
77
+ }, d = () => {
78
+ T(), l(v), o.current && (o.current.addEventListener(
79
+ "animationend",
80
+ () => {
81
+ o.current && (o.current.hidePopover(), L(), o.current = null, u((e) => e.slice(1)), a(null));
82
+ },
83
+ {
84
+ once: !0
85
+ // removes event listener after being called once
86
+ }
87
+ ), o.current.classList.add(y.rootClosing));
88
+ };
89
+ return {
90
+ toast: s ? /* @__PURE__ */ w.jsx(D, { ...s, ref: o }) : void 0,
91
+ queueToastMessage: S
92
+ };
93
+ };
94
+ export {
95
+ k as useToast
96
+ };
@@ -0,0 +1 @@
1
+ export * from './components/Toast/ToastManager'
@@ -1,2 +1,2 @@
1
- export declare const ICON_NAMES: readonly ["360", "academic-cap", "alarm-clock", "arrow-clockwise", "arrow-counterclockwise", "arrow-down", "arrow-down-line", "arrow-edge", "arrow-left", "arrow-out", "arrow-outline-left", "arrow-right", "arrow-up", "arrow-up-arrow-down", "at", "barcode-scanner", "battery", "bell", "bin", "bin-open", "bluetooth", "bookmark", "burger", "calendar", "camera", "cart", "cart-check", "cart-plus", "catalog", "certificate", "chain-link", "chainsaw", "check", "chevron-down", "chevron-left", "chevron-line-left", "chevron-line-right", "chevron-right", "chevron-up", "circle", "circle-check-colored", "circle-check-inverted", "circle-info-colored", "circle-info-inverted", "circle-pause", "circle-stroke", "clock", "coffee-cup", "compare", "connected-box", "connected-box-mobile", "connected-box-stationary", "cross", "diamond", "diamond-exclamationmark-colored", "diamond-exclamationmark-inverted", "diskette", "distance", "dots-connected", "download-complete", "envelope", "envelope-open", "exclamationmark", "exit", "eye", "eye-closed", "facebook", "filter", "finger-double-arrow", "flash", "fullscreen", "gear", "globe", "grid", "guidance", "haircross", "hanger", "headphones", "heart", "hexagon-arrow-clockwise", "horizontal-ellipsis", "house", "imow", "info", "instagram", "leave-fullscreen", "lightbulb", "linkedin", "list-three-rows", "list-two-rows", "loading-spinner", "lock", "magnifying-glass", "magnifying-glass-minus", "magnifying-glass-plus", "map", "minus", "mobile", "nine-squares", "note", "note-check", "note-plus", "number-input", "paperclip", "parcel", "pause", "pdf", "pen", "percent", "petrol", "phone", "pin", "pin-s", "pinterest", "placeholder", "play", "plug", "plus", "printer", "prohibition-sign", "questionmark", "security", "share", "shirt", "shop", "sound-off", "sound-on", "speechbubble", "speechbubbles", "square", "star", "star-half", "tag", "thumbs-down", "thumbs-up", "triangle", "triangle-exclamationmark-colored", "triangle-exclamationmark-inverted", "truck", "two-people-screen", "two-sheets", "upload", "user", "vertical-ellipsis", "wc", "wifi", "wifi-1bar", "wifi-2bars", "wifi-off", "wind-rose", "wrench", "x", "xing", "youtube"];
1
+ export declare const ICON_NAMES: readonly ["360", "academic-cap", "alarm-clock", "arrow-clockwise", "arrow-counterclockwise", "arrow-down", "arrow-down-line", "arrow-edge", "arrow-left", "arrow-out", "arrow-outline-left", "arrow-right", "arrow-up", "arrow-up-arrow-down", "at", "barcode-scanner", "battery", "bell", "bin", "bin-open", "bluetooth", "bookmark", "burger", "calendar", "camera", "cart", "cart-check", "cart-plus", "catalog", "certificate", "chain-link", "chainsaw", "check", "chevron-down", "chevron-left", "chevron-line-left", "chevron-line-right", "chevron-right", "chevron-up", "circle", "circle-check-colored", "circle-check-inverted", "circle-info-colored", "circle-info-inverted", "circle-pause", "circle-stroke", "clock", "coffee-cup", "compare", "connected-box", "connected-box-mobile", "connected-box-stationary", "cross", "diamond", "diamond-exclamationmark-colored", "diamond-exclamationmark-inverted", "diskette", "distance", "dots-connected", "download-complete", "envelope", "envelope-open", "exclamationmark", "exit", "eye", "eye-closed", "facebook", "filter", "finger-double-arrow", "flash", "fullscreen", "gear", "globe", "grid", "guidance", "haircross", "hanger", "headphones", "heart", "hexagon-arrow-clockwise", "horizontal-ellipsis", "house", "imow", "info", "instagram", "leave-fullscreen", "lightbulb", "linkedin", "list-three-rows", "list-two-rows", "loading-spinner", "lock", "magnifying-glass", "magnifying-glass-minus", "magnifying-glass-plus", "map", "minus", "mobile", "nine-squares", "note", "note-check", "note-plus", "number-input", "paperclip", "parcel", "pause", "pdf", "pen", "percent", "petrol", "phone", "pin", "pin-s", "pinterest", "placeholder", "play", "plug", "plus", "printer", "prohibition-sign", "questionmark", "security", "share", "shirt", "shop", "sound-off", "sound-on", "speechbubble", "speechbubbles", "square", "star", "star-half", "tag", "thumbs-down", "thumbs-up", "triangle", "triangle-exclamationmark-colored", "triangle-exclamationmark-inverted", "truck", "two-people-screen", "two-sheets", "upload", "user", "vertical-ellipsis", "wc", "whatsapp", "wifi", "wifi-1bar", "wifi-2bars", "wifi-off", "wind-rose", "wrench", "x", "xing", "youtube"];
2
2
  export type IconName = typeof ICON_NAMES[number];
@@ -1 +1,3 @@
1
1
 
2
+ export declare function showPopoverPolyfill(): void;
3
+ export declare function hidePopoverPolyfill(): void;
@@ -1 +0,0 @@
1
- ._root_15h96_187{align-self:end}._root_15h96_187:has(._hint_15h96_195) ._label_15h96_195{margin-bottom:4px}._wrapper_15h96_199{display:grid;grid-template-columns:max-content 1fr max-content max-content;align-items:center}._action-button_15h96_205{grid-area:1/4/2/5}._label_15h96_195{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:1rem;line-height:1.25;display:block;max-width:fit-content;margin-bottom:8px}._label--hidden_15h96_222{border:0;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-indent:-999999px;white-space:nowrap}._hint_15h96_195{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:.875rem;line-height:1.14;display:block;max-width:25.5rem;margin-bottom:8px}._feedback_15h96_249{margin-bottom:8px;margin-top:8px}._select_15h96_254{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:1rem;line-height:1.25;transition:background-color .3s ease,color .3s ease;background:transparent;border:1px solid #252525;color:#252525;display:block;padding-left:15px;padding-right:15px;width:100%;min-height:3rem;height:3rem;inline-size:100%;grid-area:1/1/2/5;border-radius:0}._select_15h96_254:focus{outline:1px solid;outline-color:#252525;outline-offset:0}@media screen and (forced-colors: active){._select_15h96_254:focus{forced-color-adjust:auto;outline-color:Highlight}}@supports selector(:focus-visible){._select_15h96_254:focus{outline:revert;outline-offset:revert}._select_15h96_254:focus-visible{outline:1px solid;outline-color:#252525;outline-offset:0}@media screen and (forced-colors: active){._select_15h96_254:focus-visible{forced-color-adjust:auto;outline-color:Highlight}}}@media (prefers-reduced-motion: reduce){._select_15h96_254{transition-duration:0ms}}@media (hover: hover){._select_15h96_254:hover{background:#0000001a}}._select_15h96_254[readonly]{background-color:#ededed;border-color:transparent;color:#252525}._select_15h96_254[readonly]:focus{outline:2px solid;outline-color:#252525;outline-offset:0}@media screen and (forced-colors: active){._select_15h96_254[readonly]:focus{forced-color-adjust:auto;outline-color:Highlight}}@supports selector(:focus-visible){._select_15h96_254[readonly]:focus{outline:revert;outline-offset:revert}._select_15h96_254[readonly]:focus-visible{outline:2px solid;outline-color:#252525;outline-offset:0}@media screen and (forced-colors: active){._select_15h96_254[readonly]:focus-visible{forced-color-adjust:auto;outline-color:Highlight}}}._select_15h96_254:disabled{background-color:transparent;border-color:#00000080;color:#00000080;cursor:not-allowed}._select_15h96_254::-webkit-placeholder,._select_15h96_254::placeholder{color:#666;opacity:1}._select--invalid_15h96_365{border-color:#d43b3b;outline-color:#d43b3b}._select--invalid_15h96_365:active,._select--invalid_15h96_365:focus,._select--invalid_15h96_365:focus-visible{border-color:#252525}._select--small_15h96_372{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:.875rem;line-height:1.14;padding-left:7px;padding-right:7px}._select_15h96_254::-webkit-outer-spin-button,._select_15h96_254::-webkit-inner-spin-button,._select_15h96_254::-webkit-search-decoration,._select_15h96_254::-webkit-search-cancel-button,._select_15h96_254::-webkit-calendar-picker-indicator{display:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}._select_15h96_254::-webkit-date-and-time-value{text-align:left}._select_15h96_254:is([type=date],[type=time],[type=datetime-local],[type=month],[type=week]){display:flex;align-items:center;min-width:-webkit-fill-available;-moz-appearance:none;appearance:none;-webkit-appearance:none}._select_15h96_254[type=search]{-moz-appearance:none;appearance:none;-webkit-appearance:none}._select_15h96_254[type=range]{accent-color:#E9640C}._select_15h96_254[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}._select--small_15h96_372{min-height:2rem;height:2rem}._select--small_15h96_372._input--has-leading-icon_15h96_418{padding-left:calc(16px + 1rem)}._select--small_15h96_372._input--has-action-button_15h96_421{padding-right:calc(2rem + 8px)}._select--small_15h96_372._input--has-second-action-button_15h96_424{padding-right:calc(4rem + 8px)}._select--has-leading-icon_15h96_427{padding-left:calc(32px + 1rem)}._select--has-action-button_15h96_430{padding-right:calc(3rem + 16px)}._select--has-second-action-button_15h96_433{padding-right:calc(6rem + 16px)}._select--has-affix_15h96_436{color:#0000}._select--has-affix_15h96_436::placeholder{color:#0000;transition:color .3s ease}@media (prefers-reduced-motion: reduce){._select--has-affix_15h96_436::placeholder{transition-duration:0ms}}._select--is-ready_15h96_448{color:#252525}._select--is-ready_15h96_448::placeholder{color:#666}._select_15h96_254._select--disabled_15h96_454{background-color:transparent;border-color:#00000080;color:#00000080;cursor:not-allowed}@media screen and (forced-colors: active){._select_15h96_254._select--disabled_15h96_454{color:GrayText}}._select_15h96_254._select--focused_15h96_465{outline:2px solid;outline-color:#252525;outline-offset:-1px}@media screen and (forced-colors: active){._select_15h96_254._select--focused_15h96_465{forced-color-adjust:auto;outline-color:Highlight}}@media screen and (forced-colors: active){._select_15h96_254._select--focused_15h96_465{outline-color:Highlight}}@media (hover: hover){._select--hovered_15h96_482{background:#0000001a}}._placeholder_15h96_487{color:#666}@media screen and (forced-colors: active){._placeholder_15h96_487{color:GrayText}}._menu-list_15h96_496{padding:8px 0 7px;background-color:#fff;outline:2px solid;outline-color:#252525;outline-offset:-1px}@media screen and (forced-colors: active){._menu-list_15h96_496{forced-color-adjust:auto;outline-color:Highlight}}._group-heading_15h96_510{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:.875rem;line-height:1.14;padding:16px 16px 11px;margin:4px 0 8px;border-bottom:1px solid #B1B1B1;color:#666}._option_15h96_525{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:1rem;line-height:1.25;padding:12px 24px;align-items:center}._option--small_15h96_537{font-family:STIHL Contraface Digital Text Regular,Arial Narrow,Arial,Heiti SC,sans-serif;font-style:normal;font-variant:normal;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;font-weight:400;font-size:.875rem;line-height:1.14;padding:8px 16px}._option--single_15h96_548{justify-content:space-between}._option--disabled_15h96_551{color:#00000080}@media screen and (forced-colors: active){._option--disabled_15h96_551{color:GrayText}}._option--focus-hover_15h96_559:not(._option--disabled_15h96_551){background-color:#0000001a;padding-top:10px;padding-bottom:10px;border:2px solid #252525;border-left:none;border-right:none}@media screen and (forced-colors: active){._option--focus-hover_15h96_559:not(._option--disabled_15h96_551){background-color:Canvas;border-color:Highlight}}._option--focus-hover_15h96_559._option--small_15h96_537:not(._option--disabled_15h96_551){padding-top:6px;padding-bottom:6px}._option--text_15h96_577{margin-inline-end:8px;text-wrap:nowrap;text-overflow:ellipsis;overflow:hidden}._option--check-icon_15h96_583{fill:#e9640c;margin-inline-start:auto}._option--check-icon--disabled_15h96_587{fill:#00000080}._single-option_15h96_591{display:flex;flex-wrap:nowrap;width:100%;align-items:center}._multi-option_15h96_598{width:100%}._single-value_15h96_602{display:flex;align-items:center}._single-value--text_15h96_606{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}._leading-icon_15h96_613{margin-inline-end:8px;fill:#666}@media screen and (forced-colors: active){._leading-icon_15h96_613{background-color:Canvas;fill:CanvasText}}._leading-icon--disabled_15h96_623{fill:#00000080}@media screen and (forced-colors: active){._leading-icon--disabled_15h96_623{fill:GrayText}}._indicator_15h96_632,._clear_15h96_633{width:3rem;height:3rem;justify-content:center;cursor:pointer}._indicator--small_15h96_639,._clear--small_15h96_640{width:2rem;height:2rem}._indicator--icon_15h96_644,._clear--icon_15h96_645{margin:16px;align-self:center}._indicator--icon--small_15h96_649,._clear--icon--small_15h96_650{margin:8px}
@@ -1 +0,0 @@
1
- ._root_zsg4m_63{display:flex;flex-direction:column;row-gap:16px;column-gap:24px;flex-wrap:wrap;margin-top:-8px}._root--horizontal_zsg4m_71{flex-direction:row}._root--invalid_zsg4m_74{margin-top:-16px}