@stihl-design-system/components 1.0.0-RC.0 → 1.0.0-RC.1
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.
- package/README.md +10 -1
- package/assets/Asterisk.288a3f48.css +1 -0
- package/assets/Button.c09c516e.css +1 -0
- package/assets/ButtonRound.fd628e54.css +1 -0
- package/assets/Checkbox.cde01607.css +1 -0
- package/assets/CustomReactSelect.cdb5f164.css +1 -0
- package/assets/Fieldset.729910fe.css +1 -0
- package/assets/Heading.50f5e903.css +1 -0
- package/assets/Input.92913cfe.css +1 -0
- package/assets/InputPassword.d7b9c937.css +1 -0
- package/assets/InputSearch.888f630a.css +1 -0
- package/assets/InputStepper.969db0d2.css +1 -0
- package/assets/Link.75834750.css +1 -0
- package/assets/LinkStandalone.19bdab0d.css +1 -0
- package/assets/OptionCheckbox.c56568a3.css +1 -0
- package/assets/Radio.79d98dde.css +1 -0
- package/assets/Select.b9c135c2.css +1 -0
- package/assets/Switch.781e3de6.css +1 -0
- package/assets/SystemFeedback.c30264c0.css +1 -0
- package/assets/Text.ac70cc84.css +1 -0
- package/assets/Textarea.12046393.css +1 -0
- package/assets/Title.e9e5a7e6.css +1 -0
- package/asterisk.cb74ea72.js +8 -0
- package/button.87ad387c.js +135 -0
- package/buttonround.ecb24c29.js +118 -0
- package/checkbox.42617f46.js +112 -0
- package/{checkboxgroup.e9e25471.js → checkboxgroup.fa110fdf.js} +2 -2
- package/chunks/{CustomReactSelect.9d0a378a.js → CustomReactSelect.2e4e7ba0.js} +342 -338
- package/chunks/Link.module.15dedc23.js +37 -0
- package/{combobox.f98a4472.js → combobox.d93091e0.js} +1 -1
- package/{customreactselect.a53f9932.js → customreactselect.7c77375a.js} +4 -4
- package/fieldset.fdd84bda.js +98 -0
- package/heading.c02dcb70.js +44 -0
- package/index.es.js +19 -19
- package/input.064e0bbf.js +230 -0
- package/inputpassword.f76c2f62.js +139 -0
- package/inputsearch.6e913fc6.js +188 -0
- package/inputstepper.2047ec77.js +286 -0
- package/{link.cd3720d1.js → link.5eb13d6e.js} +1 -1
- package/linkstandalone.edfd6288.js +80 -0
- package/optioncheckbox.2369560b.js +43 -0
- package/package.json +10 -1
- package/radio.fd841ab0.js +79 -0
- package/{radiogroup.6a22fe96.js → radiogroup.e1c8ea3d.js} +2 -2
- package/select.88d40c51.js +188 -0
- package/styles/fonts/STIHLContrafaceDigitalDisplayTitling.woff +0 -0
- package/styles/fonts/STIHLContrafaceDigitalDisplayTitling.woff2 +0 -0
- package/styles/fonts/STIHLContrafaceDigitalText-Bold.woff +0 -0
- package/styles/fonts/STIHLContrafaceDigitalText-Bold.woff2 +0 -0
- package/styles/fonts/STIHLContrafaceDigitalText.woff +0 -0
- package/styles/fonts/STIHLContrafaceDigitalText.woff2 +0 -0
- package/styles/fonts/font-face.min.css +1 -1
- package/styles/scss/lib/_heading.scss +14 -6
- package/styles/scss/lib/_text.scss +12 -12
- package/switch.96fd1689.js +65 -0
- package/{systemfeedback.6bbd1505.js → systemfeedback.8515a4e0.js} +10 -10
- package/text.de8facb9.js +57 -0
- package/textarea.b8c40c8b.js +189 -0
- package/title.7be43d50.js +36 -0
- package/assets/Asterisk.582f2067.css +0 -1
- package/assets/Button.684e8bda.css +0 -1
- package/assets/ButtonRound.ca8748cf.css +0 -1
- package/assets/Checkbox.84cf6398.css +0 -1
- package/assets/CustomReactSelect.d89ccccb.css +0 -1
- package/assets/Fieldset.5297efb8.css +0 -1
- package/assets/Heading.32278621.css +0 -1
- package/assets/Input.2c508b2f.css +0 -1
- package/assets/InputPassword.a534f047.css +0 -1
- package/assets/InputSearch.8f986307.css +0 -1
- package/assets/InputStepper.52fb45ca.css +0 -1
- package/assets/Link.03deeca0.css +0 -1
- package/assets/LinkStandalone.7e23a8ac.css +0 -1
- package/assets/OptionCheckbox.9c20f6f1.css +0 -1
- package/assets/Radio.be8f06f5.css +0 -1
- package/assets/Select.b2423b5f.css +0 -1
- package/assets/Switch.f3ab20de.css +0 -1
- package/assets/SystemFeedback.f4421d60.css +0 -1
- package/assets/Text.4756effe.css +0 -1
- package/assets/Textarea.eecf04b3.css +0 -1
- package/assets/Title.60d50d3e.css +0 -1
- package/asterisk.91abccec.js +0 -8
- package/button.89b2675b.js +0 -135
- package/buttonround.c60c8034.js +0 -118
- package/checkbox.7d414047.js +0 -112
- package/chunks/Link.module.b8230547.js +0 -37
- package/fieldset.fb7b7e49.js +0 -98
- package/heading.cb7698f4.js +0 -44
- package/input.abb902e3.js +0 -228
- package/inputpassword.11c12c66.js +0 -139
- package/inputsearch.0c88e71a.js +0 -188
- package/inputstepper.b74dac4d.js +0 -284
- package/linkstandalone.26b52de0.js +0 -80
- package/optioncheckbox.7195f001.js +0 -43
- package/radio.1b205d64.js +0 -79
- package/select.2ff31eab.js +0 -188
- package/styles/fonts/STIHLContrafaceDisplayTitling.woff +0 -0
- package/styles/fonts/STIHLContrafaceDisplayTitling.woff2 +0 -0
- package/styles/fonts/STIHLContrafaceText-Bold.woff +0 -0
- package/styles/fonts/STIHLContrafaceText-Bold.woff2 +0 -0
- package/styles/fonts/STIHLContrafaceText.woff +0 -0
- package/styles/fonts/STIHLContrafaceText.woff2 +0 -0
- package/switch.2f011fcc.js +0 -65
- package/text.8d80704f.js +0 -57
- package/textarea.e156b0ce.js +0 -189
- package/title.d855a8e4.js +0 -36
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import "./assets/InputSearch.888f630a.css";
|
|
2
|
+
import { j as e } from "./chunks/jsx-runtime.5c071667.js";
|
|
3
|
+
import { c } from "./chunks/index.8021d3e0.js";
|
|
4
|
+
import { useState as J, useRef as w, useEffect as A } from "react";
|
|
5
|
+
import { g as y, a as K } from "./chunks/helpers.ea3ca41a.js";
|
|
6
|
+
import { u as Q } from "./chunks/useBreakpoint.6c1b06c2.js";
|
|
7
|
+
import { Asterisk as U } from "./asterisk.cb74ea72.js";
|
|
8
|
+
import { DSButton as D } from "./button.87ad387c.js";
|
|
9
|
+
import { DSSystemFeedback as X } from "./systemfeedback.8515a4e0.js";
|
|
10
|
+
const Y = "_input_1ym7n_73", Z = "_input--invalid_1ym7n_183", z = "_input--small_1ym7n_190", tt = "_input--has-leading-icon_1ym7n_236", nt = "_input--has-action-button_1ym7n_239", et = "_input--has-second-action-button_1ym7n_242", at = "_input--has-affix_1ym7n_254", ot = "_input--is-ready_1ym7n_266", st = "_root_1ym7n_273", it = "_hint_1ym7n_281", ct = "_label_1ym7n_281", ut = "_wrapper_1ym7n_285", lt = "_action-button_1ym7n_291", rt = "_second-action-button_1ym7n_295", pt = "_label--hidden_1ym7n_312", mt = "_feedback_1ym7n_339", t = {
|
|
11
|
+
input: Y,
|
|
12
|
+
"input--invalid": "_input--invalid_1ym7n_183",
|
|
13
|
+
inputInvalid: Z,
|
|
14
|
+
"input--small": "_input--small_1ym7n_190",
|
|
15
|
+
inputSmall: z,
|
|
16
|
+
"input--has-leading-icon": "_input--has-leading-icon_1ym7n_236",
|
|
17
|
+
inputHasLeadingIcon: tt,
|
|
18
|
+
"input--has-action-button": "_input--has-action-button_1ym7n_239",
|
|
19
|
+
inputHasActionButton: nt,
|
|
20
|
+
"input--has-second-action-button": "_input--has-second-action-button_1ym7n_242",
|
|
21
|
+
inputHasSecondActionButton: et,
|
|
22
|
+
"input--has-affix": "_input--has-affix_1ym7n_254",
|
|
23
|
+
inputHasAffix: at,
|
|
24
|
+
"input--is-ready": "_input--is-ready_1ym7n_266",
|
|
25
|
+
inputIsReady: ot,
|
|
26
|
+
root: st,
|
|
27
|
+
hint: it,
|
|
28
|
+
label: ct,
|
|
29
|
+
wrapper: ut,
|
|
30
|
+
"action-button": "_action-button_1ym7n_291",
|
|
31
|
+
actionButton: lt,
|
|
32
|
+
"second-action-button": "_second-action-button_1ym7n_295",
|
|
33
|
+
secondActionButton: rt,
|
|
34
|
+
"label--hidden": "_label--hidden_1ym7n_312",
|
|
35
|
+
labelHidden: pt,
|
|
36
|
+
feedback: mt
|
|
37
|
+
}, _t = ({ id: n, label: u }) => {
|
|
38
|
+
if (!n)
|
|
39
|
+
throw new Error(
|
|
40
|
+
y(
|
|
41
|
+
"DSInputSearch",
|
|
42
|
+
'A unique "id" prop is required. Please add an unique "id" prop to the DSInputSearch component.'
|
|
43
|
+
)
|
|
44
|
+
);
|
|
45
|
+
if (!u)
|
|
46
|
+
throw new Error(
|
|
47
|
+
y(
|
|
48
|
+
"DSInputSearch",
|
|
49
|
+
`A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputSearch component. If you don't want to display a label, set hideLabel={true}.`
|
|
50
|
+
)
|
|
51
|
+
);
|
|
52
|
+
}, dt = (n) => !!K(n, "form"), xt = ({
|
|
53
|
+
id: n,
|
|
54
|
+
label: u,
|
|
55
|
+
className: H,
|
|
56
|
+
clearButtonLabel: E = "Clear search field",
|
|
57
|
+
disabled: l = !1,
|
|
58
|
+
hint: d,
|
|
59
|
+
hideLabel: j = !1,
|
|
60
|
+
invalid: r = !1,
|
|
61
|
+
readonly: o = !1,
|
|
62
|
+
required: S = !1,
|
|
63
|
+
size: s = "medium",
|
|
64
|
+
submitButtonLabel: C = "Search",
|
|
65
|
+
systemFeedback: h,
|
|
66
|
+
value: b,
|
|
67
|
+
submitButtonOnClick: k,
|
|
68
|
+
onChange: I,
|
|
69
|
+
...L
|
|
70
|
+
}) => {
|
|
71
|
+
process.env.NODE_ENV !== "production" && _t({
|
|
72
|
+
id: n,
|
|
73
|
+
label: u
|
|
74
|
+
});
|
|
75
|
+
const [p, g] = J(b), f = w(null), m = w(null), V = Q(j);
|
|
76
|
+
A(() => {
|
|
77
|
+
g(b);
|
|
78
|
+
}, [b]), A(() => {
|
|
79
|
+
f.current && !dt(f.current) && process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test" && console.warn(
|
|
80
|
+
y(
|
|
81
|
+
"DSInputSearch",
|
|
82
|
+
`The DSInputSearch component with the id "${n}" is not within a form element. This may cause issues with form submission. Please ensure the DSInputSearch component is within a form element.`
|
|
83
|
+
)
|
|
84
|
+
);
|
|
85
|
+
}, []);
|
|
86
|
+
const v = `${n}-label`, B = `${n}-feedback`, x = `${n}-hint`, O = d ? ` ${x}` : "", N = p !== "" && p !== void 0 && p !== null, P = c(t.root, H), $ = c(t.input, {
|
|
87
|
+
// small input
|
|
88
|
+
[t.inputSmall]: s === "small",
|
|
89
|
+
// invalid state
|
|
90
|
+
[t.inputInvalid]: r,
|
|
91
|
+
// action button - input password always has an action button
|
|
92
|
+
[t.inputHasActionButton]: !0,
|
|
93
|
+
// action second action button
|
|
94
|
+
[t.inputHasSecondActionButton]: N && !o && !l
|
|
95
|
+
}), R = c(t.label, {
|
|
96
|
+
// hide label only visually to keep them available for assistive technologies
|
|
97
|
+
[t.labelHidden]: V
|
|
98
|
+
}), q = c(t.actionButton, {
|
|
99
|
+
[t.actionButtonSmall]: s === "small"
|
|
100
|
+
}), T = c(t.secondActionButton, {
|
|
101
|
+
[t.secondActionButtonSmall]: s === "small"
|
|
102
|
+
}), F = (a, i) => {
|
|
103
|
+
const G = Object.getPrototypeOf(a), _ = Object.getOwnPropertyDescriptor(
|
|
104
|
+
G,
|
|
105
|
+
"value"
|
|
106
|
+
);
|
|
107
|
+
_ != null && _.set ? _.set.call(a, i) : a.value = i;
|
|
108
|
+
}, M = () => {
|
|
109
|
+
var i;
|
|
110
|
+
if (!m.current)
|
|
111
|
+
return;
|
|
112
|
+
F(m.current, "");
|
|
113
|
+
const a = new Event("change", { bubbles: !0 });
|
|
114
|
+
(i = m.current) == null || i.dispatchEvent(a);
|
|
115
|
+
}, W = (a) => {
|
|
116
|
+
g(a.target.value), I && I(a);
|
|
117
|
+
};
|
|
118
|
+
return /* @__PURE__ */ e.jsxs("div", { className: P, ref: f, children: [
|
|
119
|
+
/* @__PURE__ */ e.jsxs("label", { className: R, id: v, htmlFor: n, children: [
|
|
120
|
+
u,
|
|
121
|
+
S && /* @__PURE__ */ e.jsx(U, {})
|
|
122
|
+
] }),
|
|
123
|
+
d && /* @__PURE__ */ e.jsx("div", { className: t.hint, id: x, children: d }),
|
|
124
|
+
r && h && /* @__PURE__ */ e.jsx(
|
|
125
|
+
X,
|
|
126
|
+
{
|
|
127
|
+
className: t.feedback,
|
|
128
|
+
message: h,
|
|
129
|
+
type: "invalid",
|
|
130
|
+
id: B
|
|
131
|
+
}
|
|
132
|
+
),
|
|
133
|
+
/* @__PURE__ */ e.jsxs("div", { className: t.wrapper, children: [
|
|
134
|
+
/* @__PURE__ */ e.jsx(
|
|
135
|
+
"input",
|
|
136
|
+
{
|
|
137
|
+
className: $,
|
|
138
|
+
id: n,
|
|
139
|
+
ref: m,
|
|
140
|
+
...L,
|
|
141
|
+
"aria-labelledby": `${v}${O}`,
|
|
142
|
+
"aria-describedby": r && h ? B : void 0,
|
|
143
|
+
"aria-invalid": r,
|
|
144
|
+
"aria-disabled": o,
|
|
145
|
+
readOnly: o,
|
|
146
|
+
required: S,
|
|
147
|
+
disabled: l,
|
|
148
|
+
type: "search",
|
|
149
|
+
value: p,
|
|
150
|
+
onChange: W
|
|
151
|
+
}
|
|
152
|
+
),
|
|
153
|
+
N && !o && !l && /* @__PURE__ */ e.jsx(
|
|
154
|
+
D,
|
|
155
|
+
{
|
|
156
|
+
hideLabel: !0,
|
|
157
|
+
theme: "light",
|
|
158
|
+
iconName: "cross",
|
|
159
|
+
className: T,
|
|
160
|
+
variant: "ghost",
|
|
161
|
+
size: s,
|
|
162
|
+
onClick: M,
|
|
163
|
+
type: "button",
|
|
164
|
+
tabIndex: -1,
|
|
165
|
+
children: E
|
|
166
|
+
}
|
|
167
|
+
),
|
|
168
|
+
/* @__PURE__ */ e.jsx(
|
|
169
|
+
D,
|
|
170
|
+
{
|
|
171
|
+
hideLabel: !0,
|
|
172
|
+
theme: "light",
|
|
173
|
+
iconName: "magnifying-glass",
|
|
174
|
+
className: q,
|
|
175
|
+
variant: "ghost",
|
|
176
|
+
size: s,
|
|
177
|
+
onClick: k,
|
|
178
|
+
type: "submit",
|
|
179
|
+
disabled: l || o,
|
|
180
|
+
children: C
|
|
181
|
+
}
|
|
182
|
+
)
|
|
183
|
+
] })
|
|
184
|
+
] });
|
|
185
|
+
};
|
|
186
|
+
export {
|
|
187
|
+
xt as DSInputSearch
|
|
188
|
+
};
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import "./assets/InputStepper.969db0d2.css";
|
|
2
|
+
import { j as e } from "./chunks/jsx-runtime.5c071667.js";
|
|
3
|
+
import { c } from "./chunks/index.8021d3e0.js";
|
|
4
|
+
import { useState as _, useRef as N, useEffect as D, useLayoutEffect as M } from "react";
|
|
5
|
+
import { u as hn } from "./chunks/useBreakpoint.6c1b06c2.js";
|
|
6
|
+
import { Asterisk as mn } from "./asterisk.cb74ea72.js";
|
|
7
|
+
import { DSButton as X } from "./button.87ad387c.js";
|
|
8
|
+
import { M as w, b as L } from "./chunks/Input.utils.f8f3286f.js";
|
|
9
|
+
import { DSSystemFeedback as bn } from "./systemfeedback.8515a4e0.js";
|
|
10
|
+
import { g as S } from "./chunks/helpers.ea3ca41a.js";
|
|
11
|
+
const kn = "_input_hnpik_73", xn = "_input--invalid_hnpik_184", Sn = "_input--small_hnpik_191", vn = "_input--has-leading-icon_hnpik_237", In = "_input--has-action-button_hnpik_240", yn = "_input--has-second-action-button_hnpik_243", gn = "_input--has-affix_hnpik_255", An = "_input--is-ready_hnpik_267", Bn = "_root_hnpik_274", Nn = "_hint_hnpik_282", Dn = "_label_hnpik_282", wn = "_wrapper_hnpik_286", Ln = "_affix_hnpik_292", Hn = "_affix--small_hnpik_310", jn = "_affix--disabled_hnpik_322", En = "_prefix_hnpik_326", Rn = "_suffix_hnpik_332", Cn = "_action-button_hnpik_337", $n = "_label--hidden_hnpik_354", Fn = "_feedback_hnpik_381", Vn = "_second-action-button_hnpik_395", Pn = "_value-announcer_hnpik_399", t = {
|
|
12
|
+
input: kn,
|
|
13
|
+
"input--invalid": "_input--invalid_hnpik_184",
|
|
14
|
+
inputInvalid: xn,
|
|
15
|
+
"input--small": "_input--small_hnpik_191",
|
|
16
|
+
inputSmall: Sn,
|
|
17
|
+
"input--has-leading-icon": "_input--has-leading-icon_hnpik_237",
|
|
18
|
+
inputHasLeadingIcon: vn,
|
|
19
|
+
"input--has-action-button": "_input--has-action-button_hnpik_240",
|
|
20
|
+
inputHasActionButton: In,
|
|
21
|
+
"input--has-second-action-button": "_input--has-second-action-button_hnpik_243",
|
|
22
|
+
inputHasSecondActionButton: yn,
|
|
23
|
+
"input--has-affix": "_input--has-affix_hnpik_255",
|
|
24
|
+
inputHasAffix: gn,
|
|
25
|
+
"input--is-ready": "_input--is-ready_hnpik_267",
|
|
26
|
+
inputIsReady: An,
|
|
27
|
+
root: Bn,
|
|
28
|
+
hint: Nn,
|
|
29
|
+
label: Dn,
|
|
30
|
+
wrapper: wn,
|
|
31
|
+
affix: Ln,
|
|
32
|
+
"affix--small": "_affix--small_hnpik_310",
|
|
33
|
+
affixSmall: Hn,
|
|
34
|
+
"affix--disabled": "_affix--disabled_hnpik_322",
|
|
35
|
+
affixDisabled: jn,
|
|
36
|
+
prefix: En,
|
|
37
|
+
suffix: Rn,
|
|
38
|
+
"action-button": "_action-button_hnpik_337",
|
|
39
|
+
actionButton: Cn,
|
|
40
|
+
"label--hidden": "_label--hidden_hnpik_354",
|
|
41
|
+
labelHidden: $n,
|
|
42
|
+
feedback: Fn,
|
|
43
|
+
"second-action-button": "_second-action-button_hnpik_395",
|
|
44
|
+
secondActionButton: Vn,
|
|
45
|
+
"value-announcer": "_value-announcer_hnpik_399",
|
|
46
|
+
valueAnnouncer: Pn
|
|
47
|
+
}, Tn = ({
|
|
48
|
+
id: a,
|
|
49
|
+
label: f,
|
|
50
|
+
prefix: h,
|
|
51
|
+
suffix: m
|
|
52
|
+
}) => {
|
|
53
|
+
if (!a)
|
|
54
|
+
throw new Error(
|
|
55
|
+
S(
|
|
56
|
+
"DSInputStepper",
|
|
57
|
+
'A unique "id" prop is required. Please add an unique "id" prop to the DSInputStepper component.'
|
|
58
|
+
)
|
|
59
|
+
);
|
|
60
|
+
if (!f)
|
|
61
|
+
throw new Error(
|
|
62
|
+
S(
|
|
63
|
+
"DSInputStepper",
|
|
64
|
+
`A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputStepper component. If you don't want to display a label, set hideLabel={true}.`
|
|
65
|
+
)
|
|
66
|
+
);
|
|
67
|
+
h && h.length > w && console.warn(
|
|
68
|
+
S(
|
|
69
|
+
"DSInputStepper",
|
|
70
|
+
`Prefix length must not exceed ${w} characters.`
|
|
71
|
+
)
|
|
72
|
+
), m && m.length > L && console.warn(
|
|
73
|
+
S(
|
|
74
|
+
"DSInputStepper",
|
|
75
|
+
`Suffix length must not exceed ${L} characters.`
|
|
76
|
+
)
|
|
77
|
+
);
|
|
78
|
+
}, Yn = ({
|
|
79
|
+
id: a,
|
|
80
|
+
label: f,
|
|
81
|
+
announcementText: h = "Value changed to",
|
|
82
|
+
className: m,
|
|
83
|
+
disabled: p = !1,
|
|
84
|
+
decreaseAmountButtonLabel: q = "Decrease",
|
|
85
|
+
hint: v,
|
|
86
|
+
hideLabel: G = !1,
|
|
87
|
+
invalid: b = !1,
|
|
88
|
+
increaseAmountButtonLabel: O = "Increase",
|
|
89
|
+
prefix: u,
|
|
90
|
+
max: H = 100,
|
|
91
|
+
min: j = 0,
|
|
92
|
+
readonly: k = !1,
|
|
93
|
+
required: E = !1,
|
|
94
|
+
size: s = "medium",
|
|
95
|
+
step: U = 1,
|
|
96
|
+
suffix: r,
|
|
97
|
+
systemFeedback: I,
|
|
98
|
+
value: x,
|
|
99
|
+
onChange: R,
|
|
100
|
+
...J
|
|
101
|
+
}) => {
|
|
102
|
+
process.env.NODE_ENV !== "production" && Tn({
|
|
103
|
+
id: a,
|
|
104
|
+
label: f,
|
|
105
|
+
prefix: u,
|
|
106
|
+
suffix: r
|
|
107
|
+
});
|
|
108
|
+
const [K, Q] = _(!1), [d, y] = _(x), [g, C] = _(""), [Y, Z] = _(!1), [z, nn] = _({}), i = N(null), tn = u == null ? void 0 : u.substring(0, w), A = N(null), en = r == null ? void 0 : r.substring(0, L), B = N(null), an = hn(G);
|
|
109
|
+
D(() => {
|
|
110
|
+
x && y(x);
|
|
111
|
+
}, [x]), D(() => {
|
|
112
|
+
if (g) {
|
|
113
|
+
const n = setTimeout(() => {
|
|
114
|
+
C("");
|
|
115
|
+
}, 3e3);
|
|
116
|
+
return () => clearTimeout(n);
|
|
117
|
+
}
|
|
118
|
+
}, [g]), D(() => {
|
|
119
|
+
var o;
|
|
120
|
+
const n = (l) => {
|
|
121
|
+
l.preventDefault();
|
|
122
|
+
};
|
|
123
|
+
return (o = i.current) == null || o.addEventListener("wheel", n, {
|
|
124
|
+
// The { passive: false } option is used to indicate that the event listener wants to cancel the event, allowing preventDefault to work as expected.
|
|
125
|
+
passive: !1
|
|
126
|
+
}), () => {
|
|
127
|
+
var l;
|
|
128
|
+
(l = i.current) == null || l.removeEventListener("wheel", n);
|
|
129
|
+
};
|
|
130
|
+
}, []), M(() => {
|
|
131
|
+
const n = s === "medium" ? 16 : 8, o = {};
|
|
132
|
+
if (A.current) {
|
|
133
|
+
const l = A.current.offsetWidth;
|
|
134
|
+
o.paddingLeft = n + l + "px";
|
|
135
|
+
}
|
|
136
|
+
if (B.current) {
|
|
137
|
+
const l = B.current.offsetWidth;
|
|
138
|
+
o.paddingRight = n + l + "px";
|
|
139
|
+
}
|
|
140
|
+
nn(o), Q(!0);
|
|
141
|
+
}, [u, r, s, Y]), M(() => {
|
|
142
|
+
(async () => {
|
|
143
|
+
"fonts" in document && (await document.fonts.load(
|
|
144
|
+
'1em "STIHL Contraface Digital Text Regular"'
|
|
145
|
+
), Z(!0));
|
|
146
|
+
})();
|
|
147
|
+
}, []);
|
|
148
|
+
const $ = c(t.affix, {
|
|
149
|
+
[t.affixSmall]: s === "small"
|
|
150
|
+
}), F = `${a}-label`, V = `${a}-feedback`, P = `${a}-hint`, T = `${a}-value-announcer`, sn = v ? ` ${P}` : "", on = c(t.root, m), ln = c(t.input, {
|
|
151
|
+
// small input
|
|
152
|
+
[t.inputSmall]: s === "small",
|
|
153
|
+
// invalid state
|
|
154
|
+
[t.inputInvalid]: b,
|
|
155
|
+
// prefix/suffix
|
|
156
|
+
[t.inputHasAffix]: u || r,
|
|
157
|
+
[t.inputIsReady]: K
|
|
158
|
+
}), cn = c(t.label, {
|
|
159
|
+
// hide label only visually to keep them available for assistive technologies
|
|
160
|
+
[t.labelHidden]: an
|
|
161
|
+
}), un = c(t.secondActionButton, {
|
|
162
|
+
[t.secondActionButtonSmall]: s === "small"
|
|
163
|
+
}), rn = c(t.actionButton, {
|
|
164
|
+
[t.actionButtonSmall]: s === "small"
|
|
165
|
+
}), pn = () => {
|
|
166
|
+
const n = [T];
|
|
167
|
+
return b && I && n.push(V), n.join(" ");
|
|
168
|
+
}, W = () => {
|
|
169
|
+
var n;
|
|
170
|
+
if (i.current) {
|
|
171
|
+
y(i.current.value);
|
|
172
|
+
const o = new Event("change", { bubbles: !0 });
|
|
173
|
+
(n = i.current) == null || n.dispatchEvent(o), C(`${h} ${i.current.value}`);
|
|
174
|
+
}
|
|
175
|
+
}, dn = () => {
|
|
176
|
+
var n;
|
|
177
|
+
(n = i.current) == null || n.stepDown(), W();
|
|
178
|
+
}, _n = () => {
|
|
179
|
+
var n;
|
|
180
|
+
(n = i.current) == null || n.stepUp(), W();
|
|
181
|
+
}, fn = (n) => {
|
|
182
|
+
y(n.target.value), R && R(n);
|
|
183
|
+
};
|
|
184
|
+
return /* @__PURE__ */ e.jsxs("div", { className: on, children: [
|
|
185
|
+
/* @__PURE__ */ e.jsxs("label", { className: cn, id: F, htmlFor: a, children: [
|
|
186
|
+
f,
|
|
187
|
+
E && /* @__PURE__ */ e.jsx(mn, {})
|
|
188
|
+
] }),
|
|
189
|
+
v && /* @__PURE__ */ e.jsx("div", { className: t.hint, id: P, children: v }),
|
|
190
|
+
/* @__PURE__ */ e.jsx(
|
|
191
|
+
"div",
|
|
192
|
+
{
|
|
193
|
+
"aria-live": "polite",
|
|
194
|
+
"aria-atomic": "true",
|
|
195
|
+
className: t.valueAnnouncer,
|
|
196
|
+
id: T,
|
|
197
|
+
children: g
|
|
198
|
+
}
|
|
199
|
+
),
|
|
200
|
+
b && I && /* @__PURE__ */ e.jsx(
|
|
201
|
+
bn,
|
|
202
|
+
{
|
|
203
|
+
className: t.feedback,
|
|
204
|
+
message: I,
|
|
205
|
+
type: "invalid",
|
|
206
|
+
id: V
|
|
207
|
+
}
|
|
208
|
+
),
|
|
209
|
+
/* @__PURE__ */ e.jsxs("div", { className: t.wrapper, children: [
|
|
210
|
+
u && /* @__PURE__ */ e.jsx(
|
|
211
|
+
"span",
|
|
212
|
+
{
|
|
213
|
+
className: c($, t.prefix),
|
|
214
|
+
ref: A,
|
|
215
|
+
"aria-disabled": p,
|
|
216
|
+
children: tn
|
|
217
|
+
}
|
|
218
|
+
),
|
|
219
|
+
/* @__PURE__ */ e.jsx(
|
|
220
|
+
"input",
|
|
221
|
+
{
|
|
222
|
+
className: ln,
|
|
223
|
+
id: a,
|
|
224
|
+
ref: i,
|
|
225
|
+
...J,
|
|
226
|
+
style: z,
|
|
227
|
+
"aria-labelledby": `${F}${sn}`,
|
|
228
|
+
"aria-describedby": pn(),
|
|
229
|
+
"aria-invalid": b,
|
|
230
|
+
"aria-disabled": k,
|
|
231
|
+
disabled: p,
|
|
232
|
+
min: j,
|
|
233
|
+
max: H,
|
|
234
|
+
readOnly: k,
|
|
235
|
+
required: E,
|
|
236
|
+
step: U,
|
|
237
|
+
type: "number",
|
|
238
|
+
value: d,
|
|
239
|
+
onChange: fn
|
|
240
|
+
}
|
|
241
|
+
),
|
|
242
|
+
r && /* @__PURE__ */ e.jsx(
|
|
243
|
+
"span",
|
|
244
|
+
{
|
|
245
|
+
className: c($, t.suffix),
|
|
246
|
+
ref: B,
|
|
247
|
+
"aria-disabled": p,
|
|
248
|
+
children: en
|
|
249
|
+
}
|
|
250
|
+
),
|
|
251
|
+
/* @__PURE__ */ e.jsx(
|
|
252
|
+
X,
|
|
253
|
+
{
|
|
254
|
+
hideLabel: !0,
|
|
255
|
+
theme: "light",
|
|
256
|
+
iconName: "minus",
|
|
257
|
+
variant: "filled",
|
|
258
|
+
className: un,
|
|
259
|
+
size: s,
|
|
260
|
+
onClick: dn,
|
|
261
|
+
disabled: p || k || !!d && Number(d) <= j,
|
|
262
|
+
type: "button",
|
|
263
|
+
children: q
|
|
264
|
+
}
|
|
265
|
+
),
|
|
266
|
+
/* @__PURE__ */ e.jsx(
|
|
267
|
+
X,
|
|
268
|
+
{
|
|
269
|
+
hideLabel: !0,
|
|
270
|
+
theme: "light",
|
|
271
|
+
iconName: "plus",
|
|
272
|
+
variant: "filled",
|
|
273
|
+
className: rn,
|
|
274
|
+
size: s,
|
|
275
|
+
onClick: _n,
|
|
276
|
+
disabled: p || k || !!d && Number(d) >= H,
|
|
277
|
+
type: "button",
|
|
278
|
+
children: O
|
|
279
|
+
}
|
|
280
|
+
)
|
|
281
|
+
] })
|
|
282
|
+
] });
|
|
283
|
+
};
|
|
284
|
+
export {
|
|
285
|
+
Yn as DSInputStepper
|
|
286
|
+
};
|
|
@@ -3,7 +3,7 @@ import { j as d } from "./chunks/jsx-runtime.5c071667.js";
|
|
|
3
3
|
import { c as u } from "./chunks/index.8021d3e0.js";
|
|
4
4
|
import { u as i } from "./chunks/useBreakpoint.6c1b06c2.js";
|
|
5
5
|
import { DSIcon as S } from "./icon.b4211784.js";
|
|
6
|
-
import { s as o } from "./chunks/Link.module.
|
|
6
|
+
import { s as o } from "./chunks/Link.module.15dedc23.js";
|
|
7
7
|
const F = ({
|
|
8
8
|
children: n,
|
|
9
9
|
aria: c,
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import "./assets/LinkStandalone.19bdab0d.css";
|
|
2
|
+
import { j as r } from "./chunks/jsx-runtime.5c071667.js";
|
|
3
|
+
import { c as x } from "./chunks/index.8021d3e0.js";
|
|
4
|
+
import { DSIcon as H } from "./icon.b4211784.js";
|
|
5
|
+
import "react";
|
|
6
|
+
import "./chunks/Link.module.15dedc23.js";
|
|
7
|
+
const j = "_root_1iiai_25", v = "_root--highlight_1iiai_96", L = "_root--neutral-dark_1iiai_167", N = "_root--highlight-dark_1iiai_238", I = "_root--active_1iiai_309", A = "_root--icon-left_1iiai_315", o = {
|
|
8
|
+
root: j,
|
|
9
|
+
"root--highlight": "_root--highlight_1iiai_96",
|
|
10
|
+
rootHighlight: v,
|
|
11
|
+
"root--neutral-dark": "_root--neutral-dark_1iiai_167",
|
|
12
|
+
rootNeutralDark: L,
|
|
13
|
+
"root--highlight-dark": "_root--highlight-dark_1iiai_238",
|
|
14
|
+
rootHighlightDark: N,
|
|
15
|
+
"root--active": "_root--active_1iiai_309",
|
|
16
|
+
rootActive: I,
|
|
17
|
+
"root--icon-left": "_root--icon-left_1iiai_315",
|
|
18
|
+
rootIconLeft: A
|
|
19
|
+
}, R = ({
|
|
20
|
+
children: e,
|
|
21
|
+
aria: _,
|
|
22
|
+
active: g,
|
|
23
|
+
className: n,
|
|
24
|
+
dataTrackingid: c,
|
|
25
|
+
download: k,
|
|
26
|
+
href: a,
|
|
27
|
+
iconName: l,
|
|
28
|
+
iconPosition: d = "left",
|
|
29
|
+
iconSource: h,
|
|
30
|
+
referrerPolicy: m,
|
|
31
|
+
rel: u,
|
|
32
|
+
target: f = "_self",
|
|
33
|
+
theme: t = "light",
|
|
34
|
+
variant: i = "neutral",
|
|
35
|
+
...p
|
|
36
|
+
}) => {
|
|
37
|
+
const D = x(o.root, n, {
|
|
38
|
+
// variant
|
|
39
|
+
[o.rootHighlight]: i === "highlight",
|
|
40
|
+
// theme
|
|
41
|
+
[o.rootNeutralDark]: t === "dark" && i === "neutral",
|
|
42
|
+
[o.rootHighlightDark]: t === "dark" && i === "highlight",
|
|
43
|
+
// active
|
|
44
|
+
[o.rootActive]: g,
|
|
45
|
+
// icon position
|
|
46
|
+
[o.rootIconLeft]: d === "left"
|
|
47
|
+
}), s = a === void 0 ? "span" : "a";
|
|
48
|
+
return /* @__PURE__ */ r.jsxs(
|
|
49
|
+
s,
|
|
50
|
+
{
|
|
51
|
+
className: D,
|
|
52
|
+
"data-trackingid": c,
|
|
53
|
+
...s === "a" && {
|
|
54
|
+
href: a,
|
|
55
|
+
target: f,
|
|
56
|
+
rel: u,
|
|
57
|
+
referrerPolicy: m,
|
|
58
|
+
download: k
|
|
59
|
+
},
|
|
60
|
+
..._,
|
|
61
|
+
...p,
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ r.jsx("span", { className: o.label, children: e }),
|
|
64
|
+
(l || h) && /* @__PURE__ */ r.jsx(
|
|
65
|
+
H,
|
|
66
|
+
{
|
|
67
|
+
name: l,
|
|
68
|
+
theme: t,
|
|
69
|
+
source: h,
|
|
70
|
+
size: "medium",
|
|
71
|
+
"aria-hidden": "true"
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
export {
|
|
79
|
+
R as DSLinkStandalone
|
|
80
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import "./assets/OptionCheckbox.c56568a3.css";
|
|
2
|
+
import { j as e } from "./chunks/jsx-runtime.5c071667.js";
|
|
3
|
+
import { c as s } from "./chunks/index.8021d3e0.js";
|
|
4
|
+
import { DSIcon as _ } from "./icon.b4211784.js";
|
|
5
|
+
const i = "_root_zs58d_49", l = "_root--disabled_zs58d_68", k = "_checkbox_zs58d_72", n = "_icon-check_zs58d_86", r = "_checkbox--checked_zs58d_105", x = "_checkbox--disabled_zs58d_108", m = "_label_zs58d_125", c = {
|
|
6
|
+
root: i,
|
|
7
|
+
"root--disabled": "_root--disabled_zs58d_68",
|
|
8
|
+
rootDisabled: l,
|
|
9
|
+
checkbox: k,
|
|
10
|
+
"icon-check": "_icon-check_zs58d_86",
|
|
11
|
+
iconCheck: n,
|
|
12
|
+
"checkbox--checked": "_checkbox--checked_zs58d_105",
|
|
13
|
+
checkboxChecked: r,
|
|
14
|
+
"checkbox--disabled": "_checkbox--disabled_zs58d_108",
|
|
15
|
+
checkboxDisabled: x,
|
|
16
|
+
label: m
|
|
17
|
+
}, D = ({
|
|
18
|
+
label: d,
|
|
19
|
+
checked: h,
|
|
20
|
+
className: a,
|
|
21
|
+
disabled: o
|
|
22
|
+
}) => {
|
|
23
|
+
const t = s(c.root, {
|
|
24
|
+
[c.rootDisabled]: o
|
|
25
|
+
}), b = s(c.checkbox, {
|
|
26
|
+
[c.checkboxDisabled]: o,
|
|
27
|
+
[c.checkboxChecked]: h
|
|
28
|
+
});
|
|
29
|
+
return /* @__PURE__ */ e.jsx("div", { className: a, children: /* @__PURE__ */ e.jsxs("div", { className: t, children: [
|
|
30
|
+
/* @__PURE__ */ e.jsx("span", { className: b, children: /* @__PURE__ */ e.jsx(
|
|
31
|
+
_,
|
|
32
|
+
{
|
|
33
|
+
name: "check",
|
|
34
|
+
className: c.iconCheck,
|
|
35
|
+
"aria-hidden": "true"
|
|
36
|
+
}
|
|
37
|
+
) }),
|
|
38
|
+
/* @__PURE__ */ e.jsx("span", { className: c.label, children: d })
|
|
39
|
+
] }) });
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
D as OptionCheckbox
|
|
43
|
+
};
|
package/package.json
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stihl-design-system/components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.0-RC.
|
|
4
|
+
"version": "1.0.0-RC.1",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://designsystem.stihl.de",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"stihl",
|
|
9
|
+
"design",
|
|
10
|
+
"system",
|
|
11
|
+
"web",
|
|
12
|
+
"component",
|
|
13
|
+
"library",
|
|
14
|
+
"react"
|
|
15
|
+
],
|
|
7
16
|
"publishConfig": {
|
|
8
17
|
"access": "public",
|
|
9
18
|
"@stihl-design-system:registry": "https://registry.npmjs.org"
|