UNPKG

@stihl-design-system/components

Version:

Welcome to the STIHL Design System react component library.

264 lines (263 loc) 14.2 kB
"use client"; import { jsx as I, jsxs as ft } from "react/jsx-runtime"; import { d as Lt } from "./index.CgTHIF3K.js"; import { c as R } from "./index.CEyLAtio.js"; import { forwardRef as Et, useState as xe, useRef as mt, useEffect as bt } from "react"; import { h as Rt } from "./has-window.ut_-aShB.js"; import { u as kt } from "./useBreakpoint.CMOR9ZOB.js"; import { u as xt } from "./useIsomorphicLayoutEffect.CnJ9AMFS.js"; import { Asterisk as Ct } from "../asterisk.CR60hx8S.js"; import { DSButton as yt } from "../button.Bt0-bRGX.js"; import { M as _t, a as ht } from "./Input.utils.CCYTBWD_.js"; import { DSSystemFeedback as Ft } from "../systemfeedback.BpKZEv4U.js"; import { g as Ge } from "./helpers.CcqWV-wZ.js"; import '../assets/InputStepper.DzzrAdma.css';const Pt = "ds-input-stepper_input_1m4pp_1", $t = "ds-input-stepper_input--invalid_1m4pp_113", Ht = "ds-input-stepper_input--small_1m4pp_120", Vt = "ds-input-stepper_input--has-affix_1m4pp_191", Tt = "ds-input-stepper_input--is-ready_1m4pp_205", qt = "ds-input-stepper_root_1m4pp_215", Wt = "ds-input-stepper_hint_1m4pp_224", Mt = "ds-input-stepper_label_1m4pp_224", Xt = "ds-input-stepper_wrapper_1m4pp_228", jt = "ds-input-stepper_affix_1m4pp_234", zt = "ds-input-stepper_affix--small_1m4pp_255", Gt = "ds-input-stepper_affix--disabled_1m4pp_268", Ot = "ds-input-stepper_prefix_1m4pp_276", Ut = "ds-input-stepper_affix--readonly_1m4pp_279", Jt = "ds-input-stepper_suffix_1m4pp_289", Kt = "ds-input-stepper_action-button_1m4pp_296", Qt = "ds-input-stepper_label--hidden_1m4pp_314", Yt = "ds-input-stepper_label--disabled_1m4pp_327", Zt = "ds-input-stepper_feedback_1m4pp_347", en = "ds-input-stepper_second-action-button_1m4pp_361", tn = "ds-input-stepper_value-announcer_1m4pp_365", t = { input: Pt, inputInvalid: $t, inputSmall: Ht, inputHasAffix: Vt, inputIsReady: Tt, root: qt, hint: Wt, label: Mt, wrapper: Xt, affix: jt, affixSmall: zt, affixDisabled: Gt, prefix: Ot, affixReadonly: Ut, suffix: Jt, actionButton: Kt, labelHidden: Qt, labelDisabled: Yt, feedback: Zt, secondActionButton: en, valueAnnouncer: tn }, nn = ({ id: k, label: A, prefix: e, suffix: d }) => { if (!k) throw new Error(Ge("DSInputStepper", 'A unique "id" prop is required. Please add a unique "id" prop to the DSInputStepper component.')); if (!A) throw new Error(Ge("DSInputStepper", `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}.`)); e && e.length > _t && console.warn(Ge("DSInputStepper", `Prefix length must not exceed ${_t} characters.`)), d && d.length > ht && console.warn(Ge("DSInputStepper", `Suffix length must not exceed ${ht} characters.`)); }, sn = Et((k, A) => { const e = Lt.c(187); let d, C, m, s, F, b, _, l, g, i, u, te, ne, se, le, ie, ae, oe, pe, re, ce, h; e[0] !== k ? ({ id: s, label: b, announcementText: te, className: d, disabled: se, decreaseAmountButtonProps: C, hint: m, hideLabel: le, invalid: ie, increaseAmountButtonProps: F, prefix: l, max: ae, min: oe, readonly: pe, required: re, size: ce, step: ne, suffix: i, systemFeedback: u, value: h, onChange: _, ...g } = k, e[0] = k, e[1] = d, e[2] = C, e[3] = m, e[4] = s, e[5] = F, e[6] = b, e[7] = _, e[8] = l, e[9] = g, e[10] = i, e[11] = u, e[12] = te, e[13] = ne, e[14] = se, e[15] = le, e[16] = ie, e[17] = ae, e[18] = oe, e[19] = pe, e[20] = re, e[21] = ce, e[22] = h) : (d = e[1], C = e[2], m = e[3], s = e[4], F = e[5], b = e[6], _ = e[7], l = e[8], g = e[9], i = e[10], u = e[11], te = e[12], ne = e[13], se = e[14], le = e[15], ie = e[16], ae = e[17], oe = e[18], pe = e[19], re = e[20], ce = e[21], h = e[22]); const ue = te === void 0 ? "Value changed to" : te, r = se === void 0 ? !1 : se, St = le === void 0 ? !1 : le, o = ie === void 0 ? !1 : ie, P = ae === void 0 ? 100 : ae, $ = oe === void 0 ? 0 : oe, v = pe === void 0 ? !1 : pe, D = re === void 0 ? !1 : re, n = ce === void 0 ? "medium" : ce, de = ne === void 0 ? 1 : ne; process.env.NODE_ENV !== "production" && nn({ id: s, label: b, prefix: l, suffix: i }); let H; e[23] !== C ? (H = C || {}, e[23] = C, e[24] = H) : H = e[24]; let V, fe; e[25] !== H ? ({ label: fe, ...V } = H, e[25] = H, e[26] = V, e[27] = fe) : (V = e[26], fe = e[27]); const Oe = fe === void 0 ? "Decrease" : fe; let T; e[28] !== F ? (T = F || {}, e[28] = F, e[29] = T) : T = e[29]; let q, me; e[30] !== T ? ({ label: me, ...q } = T, e[30] = T, e[31] = q, e[32] = me) : (q = e[31], me = e[32]); const Ue = me === void 0 ? "Increase" : me, [be, It] = xe(!1), [x, Je] = xe(h), [y, vt] = xe(""), [Ke, At] = xe(!1); let ye; e[33] === Symbol.for("react.memo_cache_sentinel") ? (ye = {}, e[33] = ye) : ye = e[33]; const [_e, gt] = xe(ye), S = mt(null); let Se; e[34] !== A ? (Se = (a) => { S.current = a, typeof A == "function" ? A(a) : A && (A.current = a); }, e[34] = A, e[35] = Se) : Se = e[35]; const he = Se; let Ie; e[36] !== l ? (Ie = l == null ? void 0 : l.substring(0, _t), e[36] = l, e[37] = Ie) : Ie = e[37]; const Qe = Ie, Ye = mt(null); let Ae; e[38] !== i ? (Ae = i == null ? void 0 : i.substring(0, ht), e[38] = i, e[39] = Ae) : Ae = e[39]; const Ze = Ae, et = mt(null), ve = kt(St); let ge, De; e[40] !== h ? (ge = () => { h && Je(h); }, De = [h], e[40] = h, e[41] = ge, e[42] = De) : (ge = e[41], De = e[42]), bt(ge, De); let Ne, Be; e[43] !== y ? (Ne = () => { if (y) { const a = setTimeout(() => { vt(""); }, 3e3); return () => clearTimeout(a); } }, Be = [y], e[43] = y, e[44] = Ne, e[45] = Be) : (Ne = e[44], Be = e[45]), bt(Ne, Be); let we, Le; e[46] === Symbol.for("react.memo_cache_sentinel") ? (we = () => { var f; const a = ln; return (f = S.current) == null || f.addEventListener("wheel", a, { passive: !1 }), () => { var c; (c = S.current) == null || c.removeEventListener("wheel", a); }; }, Le = [], e[46] = we, e[47] = Le) : (we = e[46], Le = e[47]), bt(we, Le); let Ee; e[48] !== n ? (Ee = () => { const a = n === "medium" ? 16 : 8, f = {}; if (Ye.current) { const c = Ye.current.offsetWidth; f.paddingInlineStart = a + c + "px"; } if (et.current) { const c = et.current.offsetWidth; f.paddingInlineEnd = a + c + "px"; } gt(f), It(!0); }, e[48] = n, e[49] = Ee) : Ee = e[49]; let Re; e[50] !== Ke || e[51] !== l || e[52] !== n || e[53] !== i ? (Re = [l, i, n, Ke], e[50] = Ke, e[51] = l, e[52] = n, e[53] = i, e[54] = Re) : Re = e[54], xt(Ee, Re); let ke, Ce; e[55] === Symbol.for("react.memo_cache_sentinel") ? (ke = () => { Rt && (async () => { "fonts" in document && (await document.fonts.load('1em "STIHL Contraface Digital Text Regular"'), At(!0)); })(); }, Ce = [], e[55] = ke, e[56] = Ce) : (ke = e[55], Ce = e[56]), xt(ke, Ce); const tt = n === "small"; let W, M, X, j, z, G, N, O, U, B, w, L, E; if (e[57] !== ue || e[58] !== d || e[59] !== r || e[60] !== Qe || e[61] !== Ze || e[62] !== he || e[63] !== ve || e[64] !== m || e[65] !== s || e[66] !== _e || e[67] !== x || e[68] !== o || e[69] !== be || e[70] !== b || e[71] !== P || e[72] !== $ || e[73] !== _ || e[74] !== l || e[75] !== v || e[76] !== D || e[77] !== g || e[78] !== n || e[79] !== de || e[80] !== i || e[81] !== u || e[82] !== tt || e[83] !== y) { const a = R(t.affix, { [t.affixSmall]: tt, [t.affixDisabled]: r, [t.affixReadonly]: v }), f = `${s}-label`, c = `${s}-feedback`, Pe = `${s}-hint`, Y = `${s}-value-announcer`, Dt = m ? ` ${Pe}` : ""; let $e; e[97] !== d ? ($e = R(t.root, d), e[97] = d, e[98] = $e) : $e = e[98]; const Nt = $e, lt = n === "small", it = l || i; let He; e[99] !== o || e[100] !== be || e[101] !== lt || e[102] !== it ? (He = R(t.input, { [t.inputSmall]: lt, [t.inputInvalid]: o, [t.inputHasAffix]: it, [t.inputIsReady]: be }), e[99] = o, e[100] = be, e[101] = lt, e[102] = it, e[103] = He) : He = e[103]; const at = He; let Ve; e[104] !== r || e[105] !== ve ? (Ve = R(t.label, { [t.labelHidden]: ve, [t.labelDisabled]: r }), e[104] = r, e[105] = ve, e[106] = Ve) : Ve = e[106]; const ot = Ve, pt = n === "small"; let Te; e[107] !== pt ? (Te = R(t.secondActionButton, { [t.secondActionButtonSmall]: pt }), e[107] = pt, e[108] = Te) : Te = e[108], W = Te; const rt = n === "small"; let qe; e[109] !== rt ? (qe = R(t.actionButton, { [t.actionButtonSmall]: rt }), e[109] = rt, e[110] = qe) : qe = e[110], j = qe; let We; e[111] !== o || e[112] !== u || e[113] !== c || e[114] !== Y ? (We = () => { const p = [Y]; return o && u && p.push(c), p.join(" "); }, e[111] = o, e[112] = u, e[113] = c, e[114] = Y, e[115] = We) : We = e[115]; const Bt = We; let Me; e[116] !== ue ? (Me = () => { var p; if (S.current) { Je(S.current.value); const wt = new Event("change", { bubbles: !0 }); (p = S.current) == null || p.dispatchEvent(wt), vt(`${ue} ${S.current.value}`); } }, e[116] = ue, e[117] = Me) : Me = e[117]; const Z = Me; let Xe; e[118] !== Z ? (Xe = () => { var p; (p = S.current) == null || p.stepDown(), Z(); }, e[118] = Z, e[119] = Xe) : Xe = e[119], M = Xe; let je; e[120] !== Z ? (je = () => { var p; (p = S.current) == null || p.stepUp(), Z(); }, e[120] = Z, e[121] = je) : je = e[121], X = je; let ze; e[122] !== _ ? (ze = (p) => { Je(p.target.value), _ && _(p); }, e[122] = _, e[123] = ze) : ze = e[123]; const ct = ze; U = Nt; let ee; e[124] !== D ? (ee = D && /* @__PURE__ */ I(Ct, {}), e[124] = D, e[125] = ee) : ee = e[125], e[126] !== s || e[127] !== f || e[128] !== b || e[129] !== ot || e[130] !== ee ? (B = /* @__PURE__ */ ft("label", { className: ot, id: f, htmlFor: s, children: [ b, ee ] }), e[126] = s, e[127] = f, e[128] = b, e[129] = ot, e[130] = ee, e[131] = B) : B = e[131], e[132] !== m || e[133] !== Pe ? (w = m && /* @__PURE__ */ I("div", { className: t.hint, id: Pe, children: m }), e[132] = m, e[133] = Pe, e[134] = w) : w = e[134], e[135] !== y || e[136] !== Y ? (L = /* @__PURE__ */ I("div", { "aria-live": "polite", "aria-atomic": "true", className: t.valueAnnouncer, id: Y, children: y }), e[135] = y, e[136] = Y, e[137] = L) : L = e[137], e[138] !== o || e[139] !== u || e[140] !== c ? (E = o && u && /* @__PURE__ */ I(Ft, { className: t.feedback, message: u, type: "invalid", id: c }), e[138] = o, e[139] = u, e[140] = c, e[141] = E) : E = e[141], z = t.wrapper, G = l && /* @__PURE__ */ I("span", { className: R(a, t.prefix), ref: Ye, "aria-disabled": r, children: Qe }); const ut = `${f}${Dt}`, dt = Bt(); e[142] !== r || e[143] !== he || e[144] !== ct || e[145] !== s || e[146] !== at || e[147] !== _e || e[148] !== x || e[149] !== o || e[150] !== P || e[151] !== $ || e[152] !== v || e[153] !== D || e[154] !== g || e[155] !== de || e[156] !== ut || e[157] !== dt ? (N = /* @__PURE__ */ I("input", { className: at, id: s, ...g, style: _e, ref: he, "aria-labelledby": ut, "aria-describedby": dt, "aria-invalid": o, "aria-disabled": v, disabled: r, min: $, max: P, readOnly: v, required: D, step: de, type: "number", value: x, onChange: ct }), e[142] = r, e[143] = he, e[144] = ct, e[145] = s, e[146] = at, e[147] = _e, e[148] = x, e[149] = o, e[150] = P, e[151] = $, e[152] = v, e[153] = D, e[154] = g, e[155] = de, e[156] = ut, e[157] = dt, e[158] = N) : N = e[158], O = i && /* @__PURE__ */ I("span", { className: R(a, t.suffix), ref: et, "aria-disabled": r, children: Ze }), e[57] = ue, e[58] = d, e[59] = r, e[60] = Qe, e[61] = Ze, e[62] = he, e[63] = ve, e[64] = m, e[65] = s, e[66] = _e, e[67] = x, e[68] = o, e[69] = be, e[70] = b, e[71] = P, e[72] = $, e[73] = _, e[74] = l, e[75] = v, e[76] = D, e[77] = g, e[78] = n, e[79] = de, e[80] = i, e[81] = u, e[82] = tt, e[83] = y, e[84] = W, e[85] = M, e[86] = X, e[87] = j, e[88] = z, e[89] = G, e[90] = N, e[91] = O, e[92] = U, e[93] = B, e[94] = w, e[95] = L, e[96] = E; } else W = e[84], M = e[85], X = e[86], j = e[87], z = e[88], G = e[89], N = e[90], O = e[91], U = e[92], B = e[93], w = e[94], L = e[95], E = e[96]; const nt = r || v || !!x && Number(x) <= Number($); let J; e[159] !== W || e[160] !== Oe || e[161] !== M || e[162] !== V || e[163] !== n || e[164] !== nt ? (J = /* @__PURE__ */ I(yt, { ...V, hideLabel: !0, theme: "light", iconName: "minus", variant: "filled", className: W, size: n, onClick: M, disabled: nt, type: "button", children: Oe }), e[159] = W, e[160] = Oe, e[161] = M, e[162] = V, e[163] = n, e[164] = nt, e[165] = J) : J = e[165]; const st = r || v || !!x && Number(x) >= Number(P); let K; e[166] !== X || e[167] !== Ue || e[168] !== j || e[169] !== q || e[170] !== n || e[171] !== st ? (K = /* @__PURE__ */ I(yt, { ...q, hideLabel: !0, theme: "light", iconName: "plus", variant: "filled", className: j, size: n, onClick: X, disabled: st, type: "button", children: Ue }), e[166] = X, e[167] = Ue, e[168] = j, e[169] = q, e[170] = n, e[171] = st, e[172] = K) : K = e[172]; let Q; e[173] !== z || e[174] !== G || e[175] !== N || e[176] !== O || e[177] !== J || e[178] !== K ? (Q = /* @__PURE__ */ ft("div", { className: z, children: [ G, N, O, J, K ] }), e[173] = z, e[174] = G, e[175] = N, e[176] = O, e[177] = J, e[178] = K, e[179] = Q) : Q = e[179]; let Fe; return e[180] !== U || e[181] !== B || e[182] !== w || e[183] !== L || e[184] !== E || e[185] !== Q ? (Fe = /* @__PURE__ */ ft("div", { className: U, children: [ B, w, L, E, Q ] }), e[180] = U, e[181] = B, e[182] = w, e[183] = L, e[184] = E, e[185] = Q, e[186] = Fe) : Fe = e[186], Fe; }); sn.displayName = "DSInputStepper"; function ln(k) { k.preventDefault(); } export { sn as D, nn as v };