@stihl-design-system/components 1.0.0-RC.3 → 1.0.0-RC.5

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 (176) hide show
  1. package/Klarna.svg +1 -0
  2. package/Mastercard.svg +2 -0
  3. package/PayPal.svg +2 -0
  4. package/Placeholder.svg +1 -0
  5. package/Visa.svg +2 -0
  6. package/arialiveregions.BvZhV6hb.js +27 -0
  7. package/arialiveregions.d.ts +1 -0
  8. package/assets/CustomReactSelect.Bsphydqt.css +1 -0
  9. package/assets/Fieldset.D0jHAGRL.css +1 -0
  10. package/assets/Icon.Duy_0R8w.css +1 -0
  11. package/assets/InputPassword.VCNO8ANM.css +1 -0
  12. package/assets/InputSearch.BMRAb95l.css +1 -0
  13. package/assets/InputStepper.BKjqNi-i.css +1 -0
  14. package/assets/Notification.Bg63cvs4.css +1 -0
  15. package/assets/RadioGroup.Bz3_xkZU.css +1 -0
  16. package/assets/Select.Bz1TImkI.css +1 -0
  17. package/assets/Textarea.D2h5cW_t.css +1 -0
  18. package/assets/Toast.BzVaebc0.css +1 -0
  19. package/assets/arialiveregions.GsGx2USO.css +1 -0
  20. package/assets/{asterisk.C-o6rbGQ.css → asterisk.JlyPArZu.css} +1 -1
  21. package/assets/button.BdxtFZKx.css +1 -0
  22. package/assets/buttonround.pR4StXA7.css +1 -0
  23. package/assets/checkbox.BjIn2stV.css +1 -0
  24. package/assets/dialog.CKwM2EBH.css +1 -0
  25. package/assets/floatingactionbutton.CUvMbEMf.css +1 -0
  26. package/assets/heading.CCbuI4X-.css +1 -0
  27. package/assets/input.71tOIrpp.css +1 -0
  28. package/assets/link.D61tKkSK.css +1 -0
  29. package/assets/linkstandalone.Bx8Uvo0G.css +1 -0
  30. package/assets/logo.C05WqGId.css +1 -0
  31. package/assets/optioncheckbox.BdRJHcSw.css +1 -0
  32. package/assets/radio.ewRpPo4W.css +1 -0
  33. package/assets/spinner.LuV09jaU.css +1 -0
  34. package/assets/switch.Ds-I_ybT.css +1 -0
  35. package/assets/{systemfeedback.WE3wClZ3.css → systemfeedback.BzJATHDd.css} +1 -1
  36. package/assets/text.B-CTuGgI.css +1 -0
  37. package/assets/{title.CE0Dm7PI.css → title.DlhX9K3W.css} +1 -1
  38. package/asterisk.Cjbk-xZi.js +8 -0
  39. package/button.DlFWwHuA.js +135 -0
  40. package/buttonround.eYOQM994.js +118 -0
  41. package/checkbox.DNHdo6_n.js +113 -0
  42. package/checkboxgroup.DqWlzAeR.js +9 -0
  43. package/chunks/AriaLiveRegions.utils.DzWI5KCU.js +31 -0
  44. package/{checkboxgroup.Cfxz9bk6.js → chunks/CheckboxGroup.DsQ6lI5a.js} +38 -31
  45. package/chunks/{CustomReactSelect.uzWNynay.js → CustomReactSelect.5dHi6PEO.js} +873 -917
  46. package/chunks/Fieldset.B1vsrHNv.js +99 -0
  47. package/chunks/Icon.n4XZrQ4N.js +223 -0
  48. package/chunks/{Input.utils.Bly6ZzLI.js → Input.utils.AKWCNkpA.js} +12 -8
  49. package/chunks/InputPassword.DTqI58Z4.js +140 -0
  50. package/chunks/InputSearch.IwQATLKh.js +189 -0
  51. package/chunks/InputStepper.Jew1ETB6.js +291 -0
  52. package/chunks/Notification.DbflCBIL.js +93 -0
  53. package/chunks/RadioGroup.BO4pbAJw.js +132 -0
  54. package/chunks/RadioGroup.module.BBZwHDjW.js +11 -0
  55. package/chunks/Select.COdS787F.js +191 -0
  56. package/chunks/Textarea.oqCrSopu.js +195 -0
  57. package/chunks/Toast.BLGKvAvZ.js +89 -0
  58. package/chunks/{circle-info-colored.DLY6BTL4.js → circle-info-colored.D2pp54gf.js} +3 -3
  59. package/chunks/{jsx-runtime.C-kxDJ4g.js → jsx-runtime.C115EyI4.js} +3 -7
  60. package/{combobox.BXHAo4Wx.js → combobox.CRlhqmuO.js} +8 -8
  61. package/components/AriaLiveRegions/AriaLiveRegions.d.ts +4 -0
  62. package/components/AriaLiveRegions/AriaLiveRegions.utils.d.ts +5 -0
  63. package/components/AriaLiveRegions/AriaLiveRegions.utils.test.d.ts +1 -0
  64. package/components/Checkbox/Checkbox.d.ts +1 -1
  65. package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +1 -1
  66. package/components/Dialog/Dialog.d.ts +11 -0
  67. package/components/Dialog/Dialog.utils.d.ts +0 -0
  68. package/components/Fieldset/Fieldset.utils.d.ts +1 -1
  69. package/components/Notification/Notification.d.ts +26 -0
  70. package/components/Notification/Notification.test.d.ts +1 -0
  71. package/components/Notification/Notification.utils.d.ts +5 -0
  72. package/components/Radio/Radio.d.ts +11 -3
  73. package/components/RadioGroup/RadioGroup.d.ts +6 -3
  74. package/components/RadioGroup/RadioGroup.utils.d.ts +5 -3
  75. package/components/RadioGroup/RadioGroup.utils.test.d.ts +1 -0
  76. package/components/Toast/Toast.d.ts +21 -0
  77. package/components/Toast/Toast.utils.d.ts +9 -0
  78. package/components/Toast/ToastManager.d.ts +6 -0
  79. package/components/Toast/ToastManager.test.d.ts +1 -0
  80. package/components/Toast/ToastManager.utils.d.ts +2 -0
  81. package/components/Toast/ToastManager.utils.test.d.ts +1 -0
  82. package/customreactselect.CD58gwtp.js +13 -0
  83. package/dialog.d.ts +1 -0
  84. package/dialog.qd2pOyVc.js +45 -0
  85. package/fieldset.aY3V2jK2.js +11 -0
  86. package/floatingactionbutton.CGV3YFQq.js +87 -0
  87. package/heading.BTNroD1E.js +50 -0
  88. package/icon.D3RXjzh4.js +8 -0
  89. package/index.d.ts +24 -0
  90. package/index.es.js +140 -45
  91. package/input.BAxvG272.js +236 -0
  92. package/inputpassword.mn9qFlfs.js +12 -0
  93. package/inputsearch.qQJj9yFd.js +13 -0
  94. package/inputstepper.DhbHujiM.js +13 -0
  95. package/link.SAcKvzJ3.js +115 -0
  96. package/linkstandalone.DNe0Nydm.js +79 -0
  97. package/{logo.C_oJ8isW.js → logo.BR_CUXFl.js} +16 -16
  98. package/notification.CnJOdQza.js +9 -0
  99. package/notification.d.ts +1 -0
  100. package/{optioncheckbox.-DRnW_ch.js → optioncheckbox.C4l2UIak.js} +9 -9
  101. package/package.json +30 -26
  102. package/partials/index.js +51 -79
  103. package/radio.epf54-sG.js +115 -0
  104. package/radiogroup.CiENWRos.js +11 -0
  105. package/select.DLYav8gw.js +12 -0
  106. package/spinner.DEtbkdfi.js +58 -0
  107. package/styles/scss/_index.scss +1 -0
  108. package/styles/scss/lib/_animation.scss +20 -5
  109. package/styles/scss/lib/_container-query.scss +3 -3
  110. package/styles/scss/lib/_grid-sidebar-sidebar.scss +2 -0
  111. package/styles/scss/lib/_grid-sidebar.scss +14 -7
  112. package/styles/scss/lib/_link.scss +48 -41
  113. package/styles/scss/lib/_media-query.scss +3 -3
  114. package/styles/scss/lib/_shadow.scss +10 -0
  115. package/styles/scss/lib/_theme.scss +7 -5
  116. package/styles/scss/lib/_transition.scss +26 -7
  117. package/switch.BezS5z0Y.js +65 -0
  118. package/{systemfeedback.C7iXO5A1.js → systemfeedback.CUWch42u.js} +3 -3
  119. package/text.CrYUewrP.js +57 -0
  120. package/textarea.hLgeYdsI.js +12 -0
  121. package/title.Dvp8LKJt.js +36 -0
  122. package/toast.BR7QuHOG.js +10 -0
  123. package/toast.d.ts +1 -0
  124. package/toastmanager.DBp8B1e3.js +96 -0
  125. package/toastmanager.d.ts +1 -0
  126. package/utils/index.d.ts +1 -0
  127. package/utils/remove-spaces.d.ts +6 -0
  128. package/utils/remove-spaces.test.d.ts +1 -0
  129. package/utils/vitest.setup.d.ts +2 -0
  130. package/assets/CustomReactSelect.BdwXfLLO.css +0 -1
  131. package/assets/RadioGroup.Ur8Ro-XL.css +0 -1
  132. package/assets/button.DJvR-58w.css +0 -1
  133. package/assets/buttonround.BlfQkmMV.css +0 -1
  134. package/assets/checkbox.BsFEWfQe.css +0 -1
  135. package/assets/fieldset.xazpUXJX.css +0 -1
  136. package/assets/floatingactionbutton.D7ywURL3.css +0 -1
  137. package/assets/heading.CGFucb-C.css +0 -1
  138. package/assets/icon.CB-KQmw4.css +0 -1
  139. package/assets/input.BcP5kkZ2.css +0 -1
  140. package/assets/inputpassword.C3Uyj7oA.css +0 -1
  141. package/assets/inputsearch.tL3e9-Ob.css +0 -1
  142. package/assets/inputstepper.paPJix5A.css +0 -1
  143. package/assets/link.V7pJOW1p.css +0 -1
  144. package/assets/linkstandalone.D3RbBp23.css +0 -1
  145. package/assets/logo.BbHYgnWo.css +0 -1
  146. package/assets/optioncheckbox.C-K1FLhc.css +0 -1
  147. package/assets/radio.CSHQGdpr.css +0 -1
  148. package/assets/select.D2qBxaHP.css +0 -1
  149. package/assets/spinner.C5rBmKiF.css +0 -1
  150. package/assets/switch.sqve8ApJ.css +0 -1
  151. package/assets/text.DDAveG7E.css +0 -1
  152. package/assets/textarea.BKbocznb.css +0 -1
  153. package/asterisk.DU8THnoC.js +0 -8
  154. package/button.BUUGRxIp.js +0 -135
  155. package/buttonround.CKc-a-hd.js +0 -118
  156. package/checkbox.C2Ga9yTK.js +0 -112
  157. package/chunks/RadioGroup.module.bi3leRes.js +0 -11
  158. package/customreactselect.CipgVXTR.js +0 -13
  159. package/fieldset.DGcIKzDI.js +0 -98
  160. package/floatingactionbutton.DzHD39NY.js +0 -87
  161. package/heading.DqGbFfj2.js +0 -50
  162. package/icon.PX9_1kNB.js +0 -215
  163. package/input.o8OT6rxJ.js +0 -236
  164. package/inputpassword.-MXq8baU.js +0 -139
  165. package/inputsearch.CoYTSjox.js +0 -188
  166. package/inputstepper.BBMQr6kM.js +0 -290
  167. package/link.BN6AZfhG.js +0 -115
  168. package/linkstandalone.4-fyRd08.js +0 -79
  169. package/radio.Bhu9OUY-.js +0 -79
  170. package/radiogroup.oILRMrX-.js +0 -102
  171. package/select.OGcreXnT.js +0 -190
  172. package/spinner.Diy_EeFY.js +0 -58
  173. package/switch.BjoFKMQC.js +0 -65
  174. package/text.CPU8IUqY.js +0 -57
  175. package/textarea.kc_Sfbgr.js +0 -193
  176. package/title.icX0VDiO.js +0 -36
package/input.o8OT6rxJ.js DELETED
@@ -1,236 +0,0 @@
1
- "use client";
2
- import { j as i } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
- import { c as l } from "./chunks/index.CvOaL64Y.js";
4
- import { useState as m, useRef as k, useLayoutEffect as B, useEffect as as } from "react";
5
- import { u as ts } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
- import { Asterisk as es } from "./asterisk.DU8THnoC.js";
7
- import { DSButton as E } from "./button.BUUGRxIp.js";
8
- import { DSIcon as ls } from "./icon.PX9_1kNB.js";
9
- import { DSSystemFeedback as os } from "./systemfeedback.C7iXO5A1.js";
10
- import { v as cs, a as ds, M as _s, b as us, s as fs, i as v, c as rs } from "./chunks/Input.utils.Bly6ZzLI.js";
11
- import './assets/input.BcP5kkZ2.css';const ps = "_input_1swsi_187", ms = "_input--invalid_1swsi_297", hs = "_input--small_1swsi_304", bs = "_input--has-leading-icon_1swsi_350", ws = "_input--has-action-button_1swsi_353", xs = "_input--has-second-action-button_1swsi_356", gs = "_input--has-affix_1swsi_368", Is = "_input--is-ready_1swsi_380", Ss = "_root_1swsi_387", ys = "_hint_1swsi_395", Hs = "_label_1swsi_395", ks = "_wrapper_1swsi_399", vs = "_affix_1swsi_405", Cs = "_affix--small_1swsi_425", Rs = "_affix--disabled_1swsi_437", js = "_prefix_1swsi_440", Ls = "_affix--readonly_1swsi_443", As = "_suffix_1swsi_453", Ds = "_leading-icon_1swsi_460", Ns = "_leading-icon--small_1swsi_472", Bs = "_leading-icon--disabled_1swsi_475", Es = "_action-button_1swsi_484", Ts = "_label--hidden_1swsi_501", Fs = "_feedback_1swsi_528", s = {
12
- input: ps,
13
- "input--invalid": "_input--invalid_1swsi_297",
14
- inputInvalid: ms,
15
- "input--small": "_input--small_1swsi_304",
16
- inputSmall: hs,
17
- "input--has-leading-icon": "_input--has-leading-icon_1swsi_350",
18
- inputHasLeadingIcon: bs,
19
- "input--has-action-button": "_input--has-action-button_1swsi_353",
20
- inputHasActionButton: ws,
21
- "input--has-second-action-button": "_input--has-second-action-button_1swsi_356",
22
- inputHasSecondActionButton: xs,
23
- "input--has-affix": "_input--has-affix_1swsi_368",
24
- inputHasAffix: gs,
25
- "input--is-ready": "_input--is-ready_1swsi_380",
26
- inputIsReady: Is,
27
- root: Ss,
28
- hint: ys,
29
- label: Hs,
30
- wrapper: ks,
31
- affix: vs,
32
- "affix--small": "_affix--small_1swsi_425",
33
- affixSmall: Cs,
34
- "affix--disabled": "_affix--disabled_1swsi_437",
35
- affixDisabled: Rs,
36
- prefix: js,
37
- "affix--readonly": "_affix--readonly_1swsi_443",
38
- affixReadonly: Ls,
39
- suffix: As,
40
- "leading-icon": "_leading-icon_1swsi_460",
41
- leadingIcon: Ds,
42
- "leading-icon--small": "_leading-icon--small_1swsi_472",
43
- leadingIconSmall: Ns,
44
- "leading-icon--disabled": "_leading-icon--disabled_1swsi_475",
45
- leadingIconDisabled: Bs,
46
- "action-button": "_action-button_1swsi_484",
47
- actionButton: Es,
48
- "label--hidden": "_label--hidden_1swsi_501",
49
- labelHidden: Ts,
50
- feedback: Fs
51
- }, Js = ({
52
- id: d,
53
- label: C,
54
- actionButtonLabel: T,
55
- actionButtonIconName: u,
56
- actionButtonIconSource: h,
57
- actionButtonOnClick: F,
58
- className: P,
59
- disabled: a = !1,
60
- hint: b,
61
- hideLabel: O = !1,
62
- invalid: f = !1,
63
- leadingIconName: r,
64
- leadingIconSource: p,
65
- prefix: t,
66
- readonly: _ = !1,
67
- required: R = !1,
68
- size: e = "medium",
69
- suffix: n,
70
- systemFeedback: w,
71
- type: o = "text",
72
- ...$
73
- }) => {
74
- process.env.NODE_ENV !== "production" && (cs({
75
- id: d,
76
- label: C,
77
- prefix: t,
78
- suffix: n,
79
- leadingIconName: r,
80
- leadingIconSource: p,
81
- actionButtonIconName: u,
82
- actionButtonIconSource: h
83
- }), ds(o));
84
- const [W, X] = m(!1), [M, V] = m(!1), [x, G] = m(!1), [U, J] = m({}), g = k(null), K = t == null ? void 0 : t.substring(0, _s), I = k(null), Q = n == null ? void 0 : n.substring(0, us), S = k(null), Y = ts(O);
85
- B(() => {
86
- const c = e === "medium" ? 16 : 8, y = {};
87
- if (I.current) {
88
- const H = I.current.offsetWidth;
89
- y.paddingInlineStart = c + H + "px";
90
- }
91
- if (S.current) {
92
- const H = S.current.offsetWidth;
93
- y.paddingInlineEnd = c + H + "px";
94
- }
95
- J(y), X(!0);
96
- }, [t, n, e, M]), B(() => {
97
- (async () => {
98
- "fonts" in document && (await document.fonts.load(
99
- '1em "STIHL Contraface Digital Text Regular"'
100
- ), V(!0));
101
- })();
102
- }, []), as(() => {
103
- const c = fs(
104
- v(o),
105
- rs(o)
106
- );
107
- G(c);
108
- }, [o]);
109
- const j = l(s.affix, {
110
- [s.affixSmall]: e === "small",
111
- [s.affixDisabled]: a,
112
- [s.affixReadonly]: _
113
- }), L = `${d}-label`, A = `${d}-feedback`, D = `${d}-hint`, Z = b ? ` ${D}` : "", q = l(s.root, P), z = l(s.input, {
114
- // small input
115
- [s.inputSmall]: e === "small",
116
- // invalid state
117
- [s.inputInvalid]: f,
118
- // leading icon
119
- [s.inputHasLeadingIcon]: r || p,
120
- // prefix/suffix
121
- [s.inputHasAffix]: t || n,
122
- // action button
123
- [s.inputHasActionButton]: u || h || x,
124
- [s.inputIsReady]: W
125
- }), ss = l(s.label, {
126
- // hide label only visually to keep them available for assistive technologies
127
- [s.labelHidden]: Y
128
- }), is = l(s.leadingIcon, {
129
- [s.leadingIconSmall]: e === "small",
130
- [s.leadingIconDisabled]: a
131
- }), N = l(s.actionButton, {
132
- [s.actionButtonSmall]: e === "small"
133
- }), ns = (c) => {
134
- g.current && !a && !_ && g.current.showPicker(), c.preventDefault();
135
- };
136
- return /* @__PURE__ */ i.jsxs("div", { className: q, children: [
137
- /* @__PURE__ */ i.jsxs("label", { className: ss, id: L, htmlFor: d, children: [
138
- C,
139
- R && /* @__PURE__ */ i.jsx(es, {})
140
- ] }),
141
- b && /* @__PURE__ */ i.jsx("div", { className: s.hint, id: D, children: b }),
142
- f && w && /* @__PURE__ */ i.jsx(
143
- os,
144
- {
145
- className: s.feedback,
146
- message: w,
147
- type: "invalid",
148
- id: A
149
- }
150
- ),
151
- /* @__PURE__ */ i.jsxs("div", { className: s.wrapper, children: [
152
- t && /* @__PURE__ */ i.jsx(
153
- "span",
154
- {
155
- className: l(j, s.prefix),
156
- ref: I,
157
- "aria-disabled": a,
158
- children: K
159
- }
160
- ),
161
- !t && (r || p) && /* @__PURE__ */ i.jsx(
162
- ls,
163
- {
164
- name: r,
165
- theme: "light",
166
- source: p,
167
- className: is,
168
- "aria-hidden": "true"
169
- }
170
- ),
171
- /* @__PURE__ */ i.jsx(
172
- "input",
173
- {
174
- type: o,
175
- className: z,
176
- id: d,
177
- ref: g,
178
- ...$,
179
- style: U,
180
- "aria-labelledby": `${L}${Z}`,
181
- "aria-describedby": f && w ? A : void 0,
182
- "aria-invalid": f,
183
- "aria-disabled": _,
184
- readOnly: _,
185
- required: R,
186
- disabled: a
187
- }
188
- ),
189
- n && /* @__PURE__ */ i.jsx(
190
- "span",
191
- {
192
- className: l(j, s.suffix),
193
- ref: S,
194
- "aria-disabled": a,
195
- children: Q
196
- }
197
- ),
198
- !n && !x && (u || h) && /* @__PURE__ */ i.jsx(
199
- E,
200
- {
201
- hideLabel: !0,
202
- theme: "light",
203
- iconName: u,
204
- variant: "ghost",
205
- className: N,
206
- size: e,
207
- onClick: F,
208
- type: "button",
209
- disabled: a || _,
210
- children: T
211
- }
212
- ),
213
- !n && x && !_ && !a && /* @__PURE__ */ i.jsxs(
214
- E,
215
- {
216
- hideLabel: !0,
217
- theme: "light",
218
- iconName: v(o) ? "calendar" : "clock",
219
- variant: "ghost",
220
- className: N,
221
- size: e,
222
- onClick: ns,
223
- type: "button",
224
- children: [
225
- "Open ",
226
- v(o) ? "date" : "time",
227
- " picker"
228
- ]
229
- }
230
- )
231
- ] })
232
- ] });
233
- };
234
- export {
235
- Js as DSInput
236
- };
@@ -1,139 +0,0 @@
1
- "use client";
2
- import { j as a } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
- import { c as i } from "./chunks/index.CvOaL64Y.js";
4
- import { useState as A } from "react";
5
- import { u as D } from "./chunks/useBreakpoint.5xBNDiCf.js";
6
- import { Asterisk as C } from "./asterisk.DU8THnoC.js";
7
- import { DSButton as L } from "./button.BUUGRxIp.js";
8
- import { DSSystemFeedback as $ } from "./systemfeedback.C7iXO5A1.js";
9
- import { g as b } from "./chunks/helpers.B1JT5ShS.js";
10
- import './assets/inputpassword.C3Uyj7oA.css';const E = "_input_8z84y_187", q = "_input--invalid_8z84y_297", R = "_input--small_8z84y_304", V = "_input--has-leading-icon_8z84y_350", O = "_input--has-action-button_8z84y_353", F = "_input--has-second-action-button_8z84y_356", M = "_input--has-affix_8z84y_368", T = "_input--is-ready_8z84y_380", G = "_root_8z84y_387", J = "_hint_8z84y_395", K = "_label_8z84y_395", Q = "_wrapper_8z84y_399", U = "_action-button_8z84y_405", W = "_label--hidden_8z84y_422", X = "_feedback_8z84y_449", t = {
11
- input: E,
12
- "input--invalid": "_input--invalid_8z84y_297",
13
- inputInvalid: q,
14
- "input--small": "_input--small_8z84y_304",
15
- inputSmall: R,
16
- "input--has-leading-icon": "_input--has-leading-icon_8z84y_350",
17
- inputHasLeadingIcon: V,
18
- "input--has-action-button": "_input--has-action-button_8z84y_353",
19
- inputHasActionButton: O,
20
- "input--has-second-action-button": "_input--has-second-action-button_8z84y_356",
21
- inputHasSecondActionButton: F,
22
- "input--has-affix": "_input--has-affix_8z84y_368",
23
- inputHasAffix: M,
24
- "input--is-ready": "_input--is-ready_8z84y_380",
25
- inputIsReady: T,
26
- root: G,
27
- hint: J,
28
- label: K,
29
- wrapper: Q,
30
- "action-button": "_action-button_8z84y_405",
31
- actionButton: U,
32
- "label--hidden": "_label--hidden_8z84y_422",
33
- labelHidden: W,
34
- feedback: X
35
- }, Y = ({ id: n, label: s }) => {
36
- if (!n)
37
- throw new Error(
38
- b(
39
- "DSInputPassword",
40
- 'A unique "id" prop is required. Please add an unique "id" prop to the DSInputPassword component.'
41
- )
42
- );
43
- if (!s)
44
- throw new Error(
45
- b(
46
- "DSInputPassword",
47
- `A label is always required for a11y reasons. Please add a descriptive "label" prop to the DSInputPassword component. If you don't want to display a label, set hideLabel={true}.`
48
- )
49
- );
50
- }, lt = ({
51
- id: n,
52
- label: s,
53
- autocomplete: h = "new-password",
54
- className: f,
55
- disabled: c = !1,
56
- hidePasswordText: w = "Hide password",
57
- hint: e,
58
- hideLabel: z = !1,
59
- invalid: o = !1,
60
- readonly: r = !1,
61
- required: d = !1,
62
- showPasswordText: S = "Show password",
63
- size: l = "medium",
64
- systemFeedback: u,
65
- ...x
66
- }) => {
67
- process.env.NODE_ENV !== "production" && Y({
68
- id: n,
69
- label: s
70
- });
71
- const [p, I] = A(!1), _ = `${n}-label`, m = `${n}-feedback`, y = `${n}-hint`, B = e ? ` ${y}` : "", H = D(z), g = i(t.root, f), v = i(t.input, {
72
- // small input
73
- [t.inputSmall]: l === "small",
74
- // invalid state
75
- [t.inputInvalid]: o,
76
- // action button - input password always has an action button
77
- [t.inputHasActionButton]: !0
78
- }), P = i(t.label, {
79
- // hide label only visually to keep them available for assistive technologies
80
- [t.labelHidden]: H
81
- }), N = i(t.actionButton, {
82
- [t.actionButtonSmall]: l === "small"
83
- }), j = () => {
84
- I((k) => !k);
85
- };
86
- return /* @__PURE__ */ a.jsxs("div", { className: g, children: [
87
- /* @__PURE__ */ a.jsxs("label", { className: P, id: _, htmlFor: n, children: [
88
- s,
89
- d && /* @__PURE__ */ a.jsx(C, {})
90
- ] }),
91
- e && /* @__PURE__ */ a.jsx("div", { className: t.hint, id: y, children: e }),
92
- o && u && /* @__PURE__ */ a.jsx(
93
- $,
94
- {
95
- className: t.feedback,
96
- message: u,
97
- type: "invalid",
98
- id: m
99
- }
100
- ),
101
- /* @__PURE__ */ a.jsxs("div", { className: t.wrapper, children: [
102
- /* @__PURE__ */ a.jsx(
103
- "input",
104
- {
105
- className: v,
106
- id: n,
107
- ...x,
108
- "aria-labelledby": `${_}${B}`,
109
- "aria-describedby": o && u ? m : void 0,
110
- "aria-invalid": o,
111
- "aria-disabled": r,
112
- readOnly: r,
113
- required: d,
114
- disabled: c,
115
- autoComplete: h,
116
- type: p ? "text" : "password"
117
- }
118
- ),
119
- /* @__PURE__ */ a.jsx(
120
- L,
121
- {
122
- hideLabel: !0,
123
- theme: "light",
124
- iconName: p ? "eye-closed" : "eye",
125
- variant: "ghost",
126
- className: N,
127
- size: l,
128
- onClick: j,
129
- type: "button",
130
- disabled: c,
131
- children: p ? w : S
132
- }
133
- )
134
- ] })
135
- ] });
136
- };
137
- export {
138
- lt as DSInputPassword
139
- };
@@ -1,188 +0,0 @@
1
- "use client";
2
- import { j as e } from "./chunks/jsx-runtime.C-kxDJ4g.js";
3
- import { c } from "./chunks/index.CvOaL64Y.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.B1JT5ShS.js";
6
- import { u as Q } from "./chunks/useBreakpoint.5xBNDiCf.js";
7
- import { Asterisk as U } from "./asterisk.DU8THnoC.js";
8
- import { DSButton as D } from "./button.BUUGRxIp.js";
9
- import { DSSystemFeedback as X } from "./systemfeedback.C7iXO5A1.js";
10
- import './assets/inputsearch.tL3e9-Ob.css';const Y = "_input_17rym_187", Z = "_input--invalid_17rym_297", z = "_input--small_17rym_304", tt = "_input--has-leading-icon_17rym_350", nt = "_input--has-action-button_17rym_353", et = "_input--has-second-action-button_17rym_356", at = "_input--has-affix_17rym_368", st = "_input--is-ready_17rym_380", ot = "_root_17rym_387", it = "_hint_17rym_395", ct = "_label_17rym_395", rt = "_wrapper_17rym_399", ut = "_action-button_17rym_405", lt = "_second-action-button_17rym_409", pt = "_label--hidden_17rym_426", mt = "_feedback_17rym_453", t = {
11
- input: Y,
12
- "input--invalid": "_input--invalid_17rym_297",
13
- inputInvalid: Z,
14
- "input--small": "_input--small_17rym_304",
15
- inputSmall: z,
16
- "input--has-leading-icon": "_input--has-leading-icon_17rym_350",
17
- inputHasLeadingIcon: tt,
18
- "input--has-action-button": "_input--has-action-button_17rym_353",
19
- inputHasActionButton: nt,
20
- "input--has-second-action-button": "_input--has-second-action-button_17rym_356",
21
- inputHasSecondActionButton: et,
22
- "input--has-affix": "_input--has-affix_17rym_368",
23
- inputHasAffix: at,
24
- "input--is-ready": "_input--is-ready_17rym_380",
25
- inputIsReady: st,
26
- root: ot,
27
- hint: it,
28
- label: ct,
29
- wrapper: rt,
30
- "action-button": "_action-button_17rym_405",
31
- actionButton: ut,
32
- "second-action-button": "_second-action-button_17rym_409",
33
- secondActionButton: lt,
34
- "label--hidden": "_label--hidden_17rym_426",
35
- labelHidden: pt,
36
- feedback: mt
37
- }, _t = ({ id: n, label: r }) => {
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 (!r)
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"), Bt = ({
53
- id: n,
54
- label: r,
55
- className: H,
56
- clearButtonLabel: E = "Clear search field",
57
- disabled: u = !1,
58
- hint: d,
59
- hideLabel: j = !1,
60
- invalid: l = !1,
61
- readonly: s = !1,
62
- required: S = !1,
63
- size: o = "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: r
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]: o === "small",
89
- // invalid state
90
- [t.inputInvalid]: l,
91
- // action button - input password always has an action button
92
- [t.inputHasActionButton]: !0,
93
- // action second action button
94
- [t.inputHasSecondActionButton]: N && !s && !u
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]: o === "small"
100
- }), T = c(t.secondActionButton, {
101
- [t.secondActionButtonSmall]: o === "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
- r,
121
- S && /* @__PURE__ */ e.jsx(U, {})
122
- ] }),
123
- d && /* @__PURE__ */ e.jsx("div", { className: t.hint, id: x, children: d }),
124
- l && 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": l && h ? B : void 0,
143
- "aria-invalid": l,
144
- "aria-disabled": s,
145
- readOnly: s,
146
- required: S,
147
- disabled: u,
148
- type: "search",
149
- value: p,
150
- onChange: W
151
- }
152
- ),
153
- N && !s && !u && /* @__PURE__ */ e.jsx(
154
- D,
155
- {
156
- hideLabel: !0,
157
- theme: "light",
158
- iconName: "cross",
159
- className: T,
160
- variant: "ghost",
161
- size: o,
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: o,
177
- onClick: k,
178
- type: "submit",
179
- disabled: u || s,
180
- children: C
181
- }
182
- )
183
- ] })
184
- ] });
185
- };
186
- export {
187
- Bt as DSInputSearch
188
- };