@stihl-design-system/components 1.0.0-RC.14 → 1.0.0-RC.16
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/accordion.Dm5MWHQ6.js +12 -0
- package/arialiveregions.BwwB-OfU.js +19 -0
- package/assets/Accordion.B5bGf8mR.css +1 -0
- package/assets/Breadcrumb.BaYrwrYl.css +1 -0
- package/assets/NavigationTabList.B6x56sAV.css +1 -0
- package/assets/linkstandalone.LMdnj-G0.css +1 -0
- package/asterisk.DUzshaw5.js +8 -0
- package/breadcrumb.BDpXhffn.js +11 -0
- package/breadcrumb.d.ts +2 -0
- package/button.Ywd82k7O.js +121 -0
- package/buttonround.CI5RGkR9.js +105 -0
- package/checkbox.C1JJOQeV.js +103 -0
- package/checkboxgroup.o5t3fWsf.js +9 -0
- package/chip.DcJLVxEm.js +11 -0
- package/chipgroup.CCq2AMSa.js +187 -0
- package/chunks/Accordion.BmI7nlus.js +166 -0
- package/chunks/AriaLiveRegions.utils.zSFFD3SF.js +27 -0
- package/chunks/Breadcrumb.BycdSn-b.js +106 -0
- package/chunks/CheckboxGroup.C-Adg1hA.js +74 -0
- package/chunks/Chip.BY8kLPnz.js +120 -0
- package/chunks/CustomReactSelect.C2yN7CYh.js +3622 -0
- package/chunks/Dialog.CjzCKRr2.js +140 -0
- package/chunks/Drawer.m2JeVNBp.js +148 -0
- package/chunks/Fieldset.DfWsQgjD.js +105 -0
- package/chunks/Icon.DhKyUWtM.js +231 -0
- package/chunks/Input.utils.Um8Pqp4U.js +52 -0
- package/chunks/InputPassword.CmvZcn6n.js +141 -0
- package/chunks/InputSearch.CwXaGLJp.js +179 -0
- package/chunks/InputStepper.NCl90c4h.js +275 -0
- package/chunks/NavigationTabList.BOrhiSiM.js +63 -0
- package/chunks/NavigationTabs.DW_6fZxc.js +63 -0
- package/chunks/Notification.Bp28ubaX.js +99 -0
- package/chunks/RadioGroup.Dh-7jSOg.js +105 -0
- package/chunks/Select.CMwsbHvQ.js +190 -0
- package/chunks/TabPane.utils.DG16Y2uD.js +10 -0
- package/chunks/Tabs.D3yDE5nU.js +77 -0
- package/chunks/Textarea.CMRn2Aof.js +184 -0
- package/chunks/Toast.Boi6TEHu.js +76 -0
- package/chunks/index.CEyLAtio.js +48 -0
- package/chunks/index.CgTHIF3K.js +293 -0
- package/chunks/{translate.isa3FHb8.js → translate.nuU7uChI.js} +1 -4
- package/chunks/useBreakpoint.CMOR9ZOB.js +44 -0
- package/combobox.BhzaJrs7.js +55 -0
- package/components/Accordion/Accordion.d.ts +5 -1
- package/components/Accordion/Accordion.utils.d.ts +2 -2
- package/components/AriaLiveRegions/AriaLiveRegions.d.ts +1 -0
- package/components/Asterisk/Asterisk.d.ts +1 -0
- package/components/Breadcrumb/Breadcrumb.d.ts +45 -0
- package/components/Breadcrumb/Breadcrumb.utils.d.ts +4 -0
- package/components/Button/Button.d.ts +6 -4
- package/components/ButtonRound/ButtonRound.d.ts +4 -1
- package/components/Checkbox/Checkbox.d.ts +2 -0
- package/components/CheckboxGroup/CheckboxGroup.d.ts +3 -1
- package/components/ChipGroup/ChipGroup.d.ts +2 -0
- package/components/Combobox/Combobox.d.ts +3 -0
- package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +3 -2
- package/components/Combobox/CustomReactSelect/OptionCheckbox.d.ts +1 -1
- package/components/Dialog/Dialog.d.ts +15 -4
- package/components/Drawer/Drawer.d.ts +15 -5
- package/components/Fieldset/Fieldset.d.ts +3 -1
- package/components/Flag/Flag.d.ts +3 -0
- package/components/FloatingActionButton/FloatingActionButton.d.ts +4 -1
- package/components/Heading/Heading.d.ts +3 -1
- package/components/Icon/Icon.d.ts +3 -1
- package/components/Input/Input.d.ts +23 -10
- package/components/Input/Input.utils.d.ts +2 -2
- package/components/InputPassword/InputPassword.d.ts +18 -9
- package/components/InputSearch/InputSearch.d.ts +17 -7
- package/components/InputStepper/InputStepper.d.ts +24 -8
- package/components/Link/Link.d.ts +6 -3
- package/components/LinkStandalone/LinkStandalone.d.ts +4 -1
- package/components/Logo/Logo.d.ts +3 -1
- package/components/NavigationTabs/NavigationTabs.d.ts +43 -0
- package/components/NavigationTabs/NavigationTabs.test.d.ts +1 -0
- package/components/NavigationTabs/NavigationTabs.utils.d.ts +6 -0
- package/components/Notification/Notification.d.ts +14 -5
- package/components/NumberIndicator/NumberIndicator.d.ts +1 -0
- package/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/components/Select/Select.d.ts +2 -1
- package/components/SkipToContent/SkipToContent.d.ts +3 -0
- package/components/Spinner/Spinner.d.ts +7 -1
- package/components/Switch/Switch.d.ts +6 -4
- package/components/SystemFeedback/SystemFeedback.d.ts +1 -1
- package/components/Tabs/TabList/NavigationTabList/NavigationTabList.d.ts +22 -0
- package/components/Tabs/TabList/TabList.d.ts +38 -0
- package/components/Tabs/TabList/TabList.utils.d.ts +6 -0
- package/components/Tabs/TabList/TabList.utils.test.d.ts +1 -0
- package/components/Tabs/TabPane/TabPane.d.ts +1 -1
- package/components/Tabs/Tabs.d.ts +9 -2
- package/components/Tabs/Tabs.utils.d.ts +1 -6
- package/components/Text/Text.d.ts +6 -4
- package/components/Textarea/Textarea.d.ts +3 -1
- package/components/Title/Title.d.ts +3 -1
- package/components/Toast/Toast.d.ts +2 -0
- package/customreactselect.CW5-QQSM.js +14 -0
- package/dialog.DuAgAwfs.js +10 -0
- package/drawer.D3E46fH1.js +10 -0
- package/fieldset.4UygHVV3.js +12 -0
- package/flag.BJk5fHMs.js +50 -0
- package/floatingactionbutton.DFZ2YwaJ.js +74 -0
- package/heading.6LOBHJG6.js +55 -0
- package/icon.dww0DXWN.js +9 -0
- package/index.d.ts +4 -0
- package/index.es.js +139 -179
- package/input.DXzeHdRE.js +211 -0
- package/inputpassword.DXEvvgZt.js +13 -0
- package/inputsearch.DzwXj82k.js +14 -0
- package/inputstepper.CYwcFoQ1.js +16 -0
- package/link.CgNqBaNn.js +106 -0
- package/linkstandalone.Dn-uDj5T.js +69 -0
- package/logo.BgnYvK7t.js +51 -0
- package/navigationtablist.XNy54fXK.js +9 -0
- package/navigationtablist.d.ts +2 -0
- package/navigationtabs.DheMj9hs.js +9 -0
- package/navigationtabs.d.ts +2 -0
- package/notification.BnyOWmCm.js +10 -0
- package/numberindicator.Do92cr0z.js +35 -0
- package/optioncheckbox.DcckSTrV.js +52 -0
- package/package.json +53 -50
- package/partials/index.js +248 -2131
- package/partials/lib/partials.d.ts +77 -4
- package/radio.TDaeblOB.js +130 -0
- package/radiogroup.DyL_cJzK.js +11 -0
- package/select.BoeUz4Fb.js +13 -0
- package/skiptocontent.D7xhN0KM.js +35 -0
- package/spinner.gilnr6vN.js +52 -0
- package/switch.Ca9tRATr.js +68 -0
- package/systemfeedback.7I6fnqjX.js +34 -0
- package/tablist.TWjlHs5Y.js +251 -0
- package/tablist.d.ts +2 -0
- package/tabpane.CB-eudyw.js +37 -0
- package/tabs.Cr2CMXbY.js +11 -0
- package/text.C6gOJ2nV.js +59 -0
- package/textarea.CqDSxfcU.js +12 -0
- package/title.CSCXJnBN.js +43 -0
- package/toast.BN0v57nF.js +11 -0
- package/toastmanager.B9CR9plV.js +115 -0
- package/utils/render-documentation.d.ts +1 -0
- package/accordion.C6_sqiW2.js +0 -10
- package/arialiveregions.2dxodwBP.js +0 -27
- package/assets/Accordion.i4k5SMQM.css +0 -1
- package/assets/Tabs.DUqlqP6R.css +0 -1
- package/assets/linkstandalone.DIazcjIv.css +0 -1
- package/asterisk.DpzETKdT.js +0 -8
- package/button.BfcWQZhx.js +0 -135
- package/buttonround.E56F_805.js +0 -118
- package/checkbox.Dt0OWryN.js +0 -111
- package/checkboxgroup.je32bRPr.js +0 -8
- package/chip.CpnDX4Ro.js +0 -10
- package/chipgroup.Cy76KMWu.js +0 -175
- package/chunks/Accordion.Bza3TO4Y.js +0 -125
- package/chunks/AriaLiveRegions.utils.Bq6Mp2bE.js +0 -40
- package/chunks/CheckboxGroup.C_2ZwEQJ.js +0 -95
- package/chunks/Chip.BvlKC503.js +0 -148
- package/chunks/CustomReactSelect.CB41lklE.js +0 -3598
- package/chunks/Dialog.ClBjJWOh.js +0 -148
- package/chunks/Drawer.ReDW3ohH.js +0 -154
- package/chunks/Fieldset.Ct_JFRs9.js +0 -99
- package/chunks/Icon.BCmt_XBG.js +0 -223
- package/chunks/Input.utils.DYbmWlx6.js +0 -111
- package/chunks/InputPassword.Cvk5J8w1.js +0 -143
- package/chunks/InputSearch.BIIW-ERk.js +0 -192
- package/chunks/InputStepper.DGzR3KY6.js +0 -296
- package/chunks/Notification.uAEjPywP.js +0 -92
- package/chunks/RadioGroup.D10-pe9H.js +0 -146
- package/chunks/Select.DsLnW29U.js +0 -194
- package/chunks/TabPane.CYuUi0oL.js +0 -51
- package/chunks/Tabs.D_JAsvoh.js +0 -270
- package/chunks/Textarea.Dh9R9YdZ.js +0 -199
- package/chunks/Toast.j7LPnQ36.js +0 -89
- package/chunks/index.CvOaL64Y.js +0 -45
- package/chunks/jsx-runtime.C115EyI4.js +0 -635
- package/chunks/useBreakpoint.B8XxjSVJ.js +0 -48
- package/combobox.D6zXg976.js +0 -47
- package/customreactselect.BcjDvZG6.js +0 -13
- package/dialog.BkVOgeWY.js +0 -9
- package/drawer.DM_NKGTQ.js +0 -9
- package/fieldset.CSNoVbL1.js +0 -11
- package/flag.BKpsdB_-.js +0 -43
- package/floatingactionbutton.D5L0B7zI.js +0 -87
- package/heading.IPIYc5vW.js +0 -50
- package/icon.Ck0BpI34.js +0 -8
- package/input.BbnmbMCI.js +0 -241
- package/inputpassword.KnZRwWCQ.js +0 -12
- package/inputsearch.DgYJPZ2v.js +0 -13
- package/inputstepper.T_of1Gz0.js +0 -15
- package/link.L8O_InKe.js +0 -116
- package/linkstandalone.BBoEniZ_.js +0 -79
- package/logo.Hul8qCFo.js +0 -65
- package/notification.Bt9TbAAt.js +0 -9
- package/numberindicator.UU7FSouT.js +0 -26
- package/optioncheckbox.BRUTnQnJ.js +0 -43
- package/radio.B-2uuWHq.js +0 -114
- package/radiogroup.DM_lF4hI.js +0 -10
- package/select.COLuwr89.js +0 -12
- package/skiptocontent.DxogCFvU.js +0 -45
- package/spinner.Bq97Og-6.js +0 -58
- package/switch.DI8YYa5G.js +0 -65
- package/systemfeedback.C3Pfxxpp.js +0 -25
- package/tabpane.BnQBzVXw.js +0 -8
- package/tabs.BaELlVri.js +0 -15
- package/text.DThvTwm8.js +0 -57
- package/textarea.Wcl_pVBb.js +0 -13
- package/title.DqzdB2Gq.js +0 -36
- package/toast.DQlMWU6I.js +0 -10
- package/toastmanager.DxHFtr5C.js +0 -119
- /package/assets/{CheckboxGroup.BH1Br1dg.css → CheckboxGroup.Dd-Huo7x.css} +0 -0
- /package/assets/{Chip.DSdLuzoi.css → Chip.dxIYIjj7.css} +0 -0
- /package/assets/{CustomReactSelect.vHt8qNKC.css → CustomReactSelect.DYDaP5r5.css} +0 -0
- /package/assets/{Dialog.BgzebVk4.css → Dialog.DXmPdExC.css} +0 -0
- /package/assets/{Drawer.Bauwxrk7.css → Drawer.BcM0epJS.css} +0 -0
- /package/assets/{Fieldset.DOdTbb7C.css → Fieldset.Og4EsnPI.css} +0 -0
- /package/assets/{Icon.DxRSBRSL.css → Icon.ZNrKuqgu.css} +0 -0
- /package/assets/{InputPassword.CG7Ugu73.css → InputPassword.DtKteerr.css} +0 -0
- /package/assets/{InputSearch.CseChMc-.css → InputSearch.Mql3oFlQ.css} +0 -0
- /package/assets/{InputStepper.C0eAYr7P.css → InputStepper.BXz1MMBg.css} +0 -0
- /package/assets/{Notification.DbRapUJo.css → Notification.DZIF-Wo6.css} +0 -0
- /package/assets/{RadioGroup.BfMo157q.css → RadioGroup.CM2mYOzc.css} +0 -0
- /package/assets/{Select.D4EXgIbz.css → Select.KvAgxJZk.css} +0 -0
- /package/assets/{Textarea.KJGPTYMz.css → Textarea.BIRQlv6m.css} +0 -0
- /package/assets/{Toast.CuafTAf7.css → Toast.CuM-yS7S.css} +0 -0
- /package/assets/{arialiveregions.DhsijBaL.css → arialiveregions.e0Q16ZWi.css} +0 -0
- /package/assets/{asterisk.BfVAUBO7.css → asterisk.B41DaZDe.css} +0 -0
- /package/assets/{button.DF4RBeC2.css → button.CpPeQPsM.css} +0 -0
- /package/assets/{buttonround.19uK_-oO.css → buttonround.BFauSRAb.css} +0 -0
- /package/assets/{checkbox.ByOoFouu.css → checkbox.BKHQN_tu.css} +0 -0
- /package/assets/{chipgroup.BzfZLbkv.css → chipgroup.CUIkyYBW.css} +0 -0
- /package/assets/{flag.B-RLcMcf.css → flag.C7i3MAAP.css} +0 -0
- /package/assets/{floatingactionbutton.E9HekT6S.css → floatingactionbutton.l0nvFiJU.css} +0 -0
- /package/assets/{heading.u4f8Mz94.css → heading.B-rdLVZD.css} +0 -0
- /package/assets/{input.BAkFKPW3.css → input.B5spSeMe.css} +0 -0
- /package/assets/{link.DDJj0D1U.css → link.Be5OF_8E.css} +0 -0
- /package/assets/{logo.CnW8alZU.css → logo.bVXt9m9R.css} +0 -0
- /package/assets/{numberindicator.BJ9vFpnd.css → numberindicator.BJnvB-K3.css} +0 -0
- /package/assets/{optioncheckbox.BZaWtRD7.css → optioncheckbox.DAffEKvY.css} +0 -0
- /package/assets/{radio.X-RTl_jo.css → radio.CGf7v0D_.css} +0 -0
- /package/assets/{skiptocontent.PTL3256m.css → skiptocontent.CTSDC_kG.css} +0 -0
- /package/assets/{spinner.2iWJWKyA.css → spinner.BJ5xwnYH.css} +0 -0
- /package/assets/{switch.gw6aa3kx.css → switch.Bc9KIyw9.css} +0 -0
- /package/assets/{systemfeedback.BPz5YlPC.css → systemfeedback.DoqgHZPH.css} +0 -0
- /package/assets/{TabPane.zywjfwo8.css → tabpane.D1LTb432.css} +0 -0
- /package/assets/{text.DjTG_qNb.css → text.BlRcxO8n.css} +0 -0
- /package/assets/{title.rosWPEG3.css → title.B0tsgJ-n.css} +0 -0
- /package/components/{Tabs/Tabs.utils.test.d.ts → Breadcrumb/Breadcrumb.test.d.ts} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as q } from "react/jsx-runtime";
|
|
3
|
+
import { d as w } from "./chunks/index.CgTHIF3K.js";
|
|
4
|
+
import { v as D, c as L } from "./chunks/CustomReactSelect.C2yN7CYh.js";
|
|
5
|
+
const P = (b) => {
|
|
6
|
+
const e = w.c(27);
|
|
7
|
+
let l, t, o, s, i, n, a, d, c, r, v;
|
|
8
|
+
e[0] !== b ? ({
|
|
9
|
+
id: t,
|
|
10
|
+
label: o,
|
|
11
|
+
className: l,
|
|
12
|
+
disabled: i,
|
|
13
|
+
dropdownOnFocus: n,
|
|
14
|
+
hideLabel: a,
|
|
15
|
+
invalid: d,
|
|
16
|
+
lang: c,
|
|
17
|
+
required: r,
|
|
18
|
+
variant: v,
|
|
19
|
+
...s
|
|
20
|
+
} = b, e[0] = b, e[1] = l, e[2] = t, e[3] = o, e[4] = s, e[5] = i, e[6] = n, e[7] = a, e[8] = d, e[9] = c, e[10] = r, e[11] = v) : (l = e[1], t = e[2], o = e[3], s = e[4], i = e[5], n = e[6], a = e[7], d = e[8], c = e[9], r = e[10], v = e[11]);
|
|
21
|
+
const x = i === void 0 ? !1 : i, p = n === void 0 ? !1 : n, C = a === void 0 ? !1 : a, O = d === void 0 ? !1 : d, g = c === void 0 ? "en" : c, E = r === void 0 ? !1 : r, N = v === void 0 ? "single" : v;
|
|
22
|
+
if (process.env.NODE_ENV !== "production") {
|
|
23
|
+
const {
|
|
24
|
+
options: h
|
|
25
|
+
} = s;
|
|
26
|
+
D({
|
|
27
|
+
id: t,
|
|
28
|
+
label: o,
|
|
29
|
+
options: h
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const u = N === "multi", F = !p || u;
|
|
33
|
+
let f;
|
|
34
|
+
e[12] !== l || e[13] !== x || e[14] !== p || e[15] !== C || e[16] !== t || e[17] !== O || e[18] !== u || e[19] !== o || e[20] !== g || e[21] !== E || e[22] !== s || e[23] !== F ? (f = {
|
|
35
|
+
id: t,
|
|
36
|
+
label: o,
|
|
37
|
+
className: l,
|
|
38
|
+
disabled: x,
|
|
39
|
+
hideLabel: C,
|
|
40
|
+
isMulti: u,
|
|
41
|
+
invalid: O,
|
|
42
|
+
lang: g,
|
|
43
|
+
openMenuOnClick: p,
|
|
44
|
+
openMenuOnFocus: p,
|
|
45
|
+
isClearable: F,
|
|
46
|
+
required: E,
|
|
47
|
+
...s
|
|
48
|
+
}, e[12] = l, e[13] = x, e[14] = p, e[15] = C, e[16] = t, e[17] = O, e[18] = u, e[19] = o, e[20] = g, e[21] = E, e[22] = s, e[23] = F, e[24] = f) : f = e[24];
|
|
49
|
+
const M = f;
|
|
50
|
+
let m;
|
|
51
|
+
return e[25] !== M ? (m = /* @__PURE__ */ q(L, { ...M }), e[25] = M, e[26] = m) : m = e[26], m;
|
|
52
|
+
};
|
|
53
|
+
export {
|
|
54
|
+
P as DSCombobox
|
|
55
|
+
};
|
|
@@ -18,7 +18,7 @@ export interface AccordionProps extends DetailsHTMLAttributes<HTMLDetailsElement
|
|
|
18
18
|
* @default 'right'
|
|
19
19
|
*/
|
|
20
20
|
chevronPosition?: ChevronPosition;
|
|
21
|
-
/** Custom area below the summary. */
|
|
21
|
+
/** Custom area below the summary. **Cannot be used together with numberIndicatorValue**. */
|
|
22
22
|
hint?: React.ReactNode;
|
|
23
23
|
/** Aligns the accordion with text.
|
|
24
24
|
* @default false
|
|
@@ -28,6 +28,8 @@ export interface AccordionProps extends DetailsHTMLAttributes<HTMLDetailsElement
|
|
|
28
28
|
* @default false
|
|
29
29
|
*/
|
|
30
30
|
isOpen?: boolean;
|
|
31
|
+
/** Number Indicator value displayed next to the label. **Cannot be used together with hint**. */
|
|
32
|
+
numberIndicatorValue?: string;
|
|
31
33
|
/** Size of the accordion.
|
|
32
34
|
* @default 'medium'
|
|
33
35
|
*/
|
|
@@ -35,5 +37,7 @@ export interface AccordionProps extends DetailsHTMLAttributes<HTMLDetailsElement
|
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* A component that renders an accordion using the `details` HTML element.
|
|
40
|
+
*
|
|
41
|
+
* Design in Figma: [Accordion](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=17260-166)
|
|
38
42
|
*/
|
|
39
43
|
export declare const DSAccordion: import('react').ForwardRefExoticComponent<AccordionProps & import('react').RefAttributes<HTMLDetailsElement>>;
|
|
@@ -9,6 +9,6 @@ export type Summary = string | {
|
|
|
9
9
|
headingSize?: HeadingSize;
|
|
10
10
|
headingTag?: HeadingTag;
|
|
11
11
|
};
|
|
12
|
-
type ValidationProps = Pick<AccordionProps, 'children' | 'summary'>;
|
|
13
|
-
export declare const validateAccordionProps: ({ children, summary, }: ValidationProps) => void;
|
|
12
|
+
type ValidationProps = Pick<AccordionProps, 'children' | 'hint' | 'numberIndicatorValue' | 'summary'>;
|
|
13
|
+
export declare const validateAccordionProps: ({ children, summary, hint, numberIndicatorValue, }: ValidationProps) => void;
|
|
14
14
|
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SelectedAriaAttributes } from '../../types';
|
|
2
|
+
import { BreadcrumbAriaAttributes } from './Breadcrumb.utils';
|
|
3
|
+
import { JSX } from 'react';
|
|
4
|
+
export interface BreadcrumbLink {
|
|
5
|
+
/** The link label text. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** The href for the link if no framework-specific link component wrapper is provided. */
|
|
8
|
+
href?: string;
|
|
9
|
+
/** Name of the icon to display.*/
|
|
10
|
+
iconName?: string;
|
|
11
|
+
/** The framework-specific link component wrapper, e.g., `Link` for `next` or `react-router-dom`. */
|
|
12
|
+
wrapper?: React.ReactElement<React.AnchorHTMLAttributes<HTMLAnchorElement> & React.RefAttributes<HTMLAnchorElement>>;
|
|
13
|
+
}
|
|
14
|
+
export interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
|
|
15
|
+
/** ARIA attributes to ensure accessibility
|
|
16
|
+
*
|
|
17
|
+
* `{'aria-label'? string;`
|
|
18
|
+
* `'aria-labelledby'?: string;}`
|
|
19
|
+
* */
|
|
20
|
+
aria: SelectedAriaAttributes<BreadcrumbAriaAttributes>;
|
|
21
|
+
/** Breadcrumb link array structure with optional and required parameters
|
|
22
|
+
* `{ label: string;`
|
|
23
|
+
* `href?: string;`
|
|
24
|
+
* `iconName?: IconName;`
|
|
25
|
+
* `wrapper?: React.ReactElement<React.AnchorHTMLAttributes<HTMLAnchorElement> & React.RefAttributes<HTMLAnchorElement>>;}[]`
|
|
26
|
+
*/
|
|
27
|
+
links: BreadcrumbLink[];
|
|
28
|
+
/** Show all (...) button props:
|
|
29
|
+
*
|
|
30
|
+
* `data-*`: Custom data attributes.
|
|
31
|
+
*
|
|
32
|
+
* `label`: Accessibility label for the show all button.
|
|
33
|
+
* (default) 'Show all links'
|
|
34
|
+
*/
|
|
35
|
+
showAllButtonProps?: {
|
|
36
|
+
[key: `data-${string}`]: string | undefined;
|
|
37
|
+
label?: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A breadcrumb provides orientation to users within the structure of a website or application.
|
|
42
|
+
*
|
|
43
|
+
* Design in Figma: [Breadcrumb](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=23527-3393)
|
|
44
|
+
* */
|
|
45
|
+
export declare const DSBreadcrumb: ({ aria, className, links, showAllButtonProps, ...rest }: BreadcrumbProps) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonHTMLAttributes } from 'react';
|
|
1
|
+
import { ButtonHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { BreakpointCustomizable, IconName, SelectedAriaAttributes, Theme } from '../../types';
|
|
3
3
|
import { IconProps } from '../Icon/Icon';
|
|
4
4
|
import { ButtonAriaAttribute, ButtonSize, ButtonVariant } from './Button.utils';
|
|
@@ -12,8 +12,8 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
12
12
|
* `'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';}`
|
|
13
13
|
* */
|
|
14
14
|
aria?: SelectedAriaAttributes<ButtonAriaAttribute>;
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/** Custom data attributes. */
|
|
16
|
+
[key: `data-${string}`]: string | undefined;
|
|
17
17
|
/** Disables the button, preventing user interaction.
|
|
18
18
|
* @default false
|
|
19
19
|
*/
|
|
@@ -56,5 +56,7 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
58
|
* Use the Button component to initialize an important action or to highlight the user journey.
|
|
59
|
+
*
|
|
60
|
+
* Design in Figma: [Button](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=168-3943&t=UBsmFURFENnuYSW1-11)
|
|
59
61
|
* */
|
|
60
|
-
export declare const DSButton: ({ children, aria, className,
|
|
62
|
+
export declare const DSButton: ({ children, aria, className, disabled, hideLabel, iconName, iconPosition, iconSource, isFlush, loading, size, theme, variant, onClick, ...rest }: ButtonProps) => JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IconName } from '../../types';
|
|
2
2
|
import { ButtonProps } from '../Button/Button';
|
|
3
3
|
import { ButtonRoundVariant } from './ButtonRound.utils';
|
|
4
|
+
import { JSX } from 'react';
|
|
4
5
|
export interface ButtonRoundProps extends Omit<ButtonProps, 'hideLabel' | 'size' | 'iconPosition' | 'isFlush'> {
|
|
5
6
|
children: React.ReactNode;
|
|
6
7
|
/** Visual style variant of the button.
|
|
@@ -14,5 +15,7 @@ export interface ButtonRoundProps extends Omit<ButtonProps, 'hideLabel' | 'size'
|
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Icon only Buttons should only used for functions where visible labels are not needed to define the function e.g. modal close or pagination buttons.
|
|
18
|
+
*
|
|
19
|
+
* Design in Figma: [Button Round](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=168-4016&t=UBsmFURFENnuYSW1-4)
|
|
17
20
|
* */
|
|
18
|
-
export declare const DSButtonRound: ({ children, aria, className,
|
|
21
|
+
export declare const DSButtonRound: ({ children, aria, className, disabled, iconName, iconSource, loading, theme, variant, onClick, ...rest }: ButtonRoundProps) => JSX.Element;
|
|
@@ -31,5 +31,7 @@ export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* A control element that allows users to make a binary choice. It can either be checked or unchecked.
|
|
34
|
+
*
|
|
35
|
+
* Design in Figma: [Checkbox](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=1017-2328&t=UBsmFURFENnuYSW1-11)
|
|
34
36
|
* */
|
|
35
37
|
export declare const DSCheckbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldsetHTMLAttributes } from 'react';
|
|
1
|
+
import { FieldsetHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { FieldsetProps } from '../Fieldset/Fieldset';
|
|
3
3
|
export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
|
|
4
4
|
/** DSCheckbox elements within the checkbox group. */
|
|
@@ -43,5 +43,7 @@ export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetE
|
|
|
43
43
|
* The `DSCheckboxGroup` component offers a cohesive and accessible solution for grouping `DSCheckbox` elements,
|
|
44
44
|
* complete with customizable legends, direction options, and integrated validation feedback,
|
|
45
45
|
* enhancing the user experience in form designs.
|
|
46
|
+
*
|
|
47
|
+
* Design in Figma: [Checkbox Group](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=5626-11362&t=UBsmFURFENnuYSW1-4)
|
|
46
48
|
* */
|
|
47
49
|
export declare const DSCheckboxGroup: ({ children, legend, className, description, direction, disabled, id, invalid, required, systemFeedback, ...rest }: CheckboxGroupProps) => JSX.Element;
|
|
@@ -38,5 +38,7 @@ export interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
38
38
|
/**
|
|
39
39
|
* A component for selecting single or multiple chips, with options for selection (like radio buttons) or removal.
|
|
40
40
|
* Supports different sizes. Use icons sparingly to reduce cognitive load.
|
|
41
|
+
*
|
|
42
|
+
* Design in Figma: [Chip Group](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=18691-978)
|
|
41
43
|
*/
|
|
42
44
|
export declare const DSChipGroup: React.FC<ChipGroupProps>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CustomReactSelectProps } from './CustomReactSelect/CustomReactSelect';
|
|
2
|
+
import { JSX } from 'react';
|
|
2
3
|
type CommonComboboxProps = {
|
|
3
4
|
/** Opens the dropdown on click or focus.
|
|
4
5
|
* @default false
|
|
@@ -18,6 +19,8 @@ export type ComboboxProps = Omit<(CustomReactSelectProps<false> & {
|
|
|
18
19
|
}), 'isMulti' | 'openMenuOnClick' | 'openMenuOnFocus'> & CommonComboboxProps;
|
|
19
20
|
/**
|
|
20
21
|
* The DSCombobox component offers an autocomplete-style interface, allowing for efficient and intuitive selection from a dynamic list of options, suitable for both single and multi-select purposes.
|
|
22
|
+
*
|
|
23
|
+
* Design in Figma: [Combobox](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2659-3954)
|
|
21
24
|
* */
|
|
22
25
|
export declare const DSCombobox: ({ id, label, className, disabled, dropdownOnFocus, hideLabel, invalid, lang, required, variant, ...rest }: ComboboxProps) => JSX.Element;
|
|
23
26
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
1
2
|
import { GroupBase } from 'react-select';
|
|
2
3
|
import { BreakpointCustomizable, Optional } from '../../../types';
|
|
3
4
|
import { ComboboxAriaTranslations, ComboboxLanguage, ComboboxOption, ComboboxOptionsGroup, ComboboxOptionsOrOptGroups, ComboboxSize } from '../Combobox.utils';
|
|
4
5
|
import { PublicBaseSelectProps } from 'react-select/dist/declarations/src/Select';
|
|
5
6
|
import { StateManagerProps } from 'react-select/dist/declarations/src/useStateManager';
|
|
6
7
|
type IncludedReactSelectKeys = 'className' | 'form' | 'inputValue' | 'menuIsOpen' | 'name' | 'onBlur' | 'onFocus' | 'openMenuOnClick' | 'openMenuOnFocus' | 'tabIndex';
|
|
7
|
-
type PickedReactSelectProps<OptionType, IsMulti extends boolean, GroupType extends GroupBase<OptionType>> = Pick<
|
|
8
|
-
type PickedReactSelectStateManagerProps<OptionType, IsMulti extends boolean, GroupType extends GroupBase<OptionType>> = Pick<StateManagerProps<OptionType, IsMulti, GroupType>, 'defaultInputValue'>;
|
|
8
|
+
type PickedReactSelectProps<OptionType, IsMulti extends boolean, GroupType extends GroupBase<OptionType>> = Optional<Pick<PublicBaseSelectProps<OptionType, IsMulti, GroupType>, IncludedReactSelectKeys>, IncludedReactSelectKeys>;
|
|
9
|
+
type PickedReactSelectStateManagerProps<OptionType, IsMulti extends boolean, GroupType extends GroupBase<OptionType>> = Optional<Pick<StateManagerProps<OptionType, IsMulti, GroupType>, 'defaultInputValue'>, 'defaultInputValue'>;
|
|
9
10
|
export interface CustomReactSelectProps<IsMulti extends boolean> extends PickedReactSelectProps<ComboboxOption, IsMulti, ComboboxOptionsGroup>, PickedReactSelectStateManagerProps<ComboboxOption, IsMulti, ComboboxOptionsGroup> {
|
|
10
11
|
/** Unique id for the DSCombobox. */
|
|
11
12
|
id: string;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
import { DialogHTMLAttributes } from 'react';
|
|
1
|
+
import { DialogHTMLAttributes, JSX } from 'react';
|
|
2
2
|
export interface DialogProps extends DialogHTMLAttributes<HTMLDialogElement> {
|
|
3
3
|
/** Content within the Dialog. */
|
|
4
4
|
children: React.ReactNode;
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/** Close button props:
|
|
6
|
+
*
|
|
7
|
+
* `data-*`: Custom data attributes.
|
|
8
|
+
*
|
|
9
|
+
* `label`: Accessibility label for the close button.
|
|
10
|
+
* (default) 'Close dialog'
|
|
11
|
+
*/
|
|
12
|
+
closeButtonProps?: {
|
|
13
|
+
[key: `data-${string}`]: string | undefined;
|
|
14
|
+
label?: string;
|
|
15
|
+
};
|
|
7
16
|
/** Disables closing the Dialog by clicking on the backdrop.
|
|
8
17
|
* @default false
|
|
9
18
|
*/
|
|
@@ -29,6 +38,8 @@ export interface DialogProps extends DialogHTMLAttributes<HTMLDialogElement> {
|
|
|
29
38
|
* A component that renders a modal dialog, which can be used for displaying
|
|
30
39
|
* important messages, forms, or confirmations.
|
|
31
40
|
*
|
|
41
|
+
* Design in Figma: [Dialog](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=14115-4051)
|
|
42
|
+
*
|
|
32
43
|
* <div className="ds-info">For more information on the different types of notifications and to determine which is best suited for your needs, please refer to our [Notification Guidelines](/docs/templates-notification-guidelines--documentation) and explore the decision trees provided.</div>
|
|
33
44
|
*/
|
|
34
|
-
export declare const DSDialog: ({ children, className,
|
|
45
|
+
export declare const DSDialog: ({ children, className, closeButtonProps, disableBackdropClose, footer, header, hideCloseButton, isOpen, onClose, ...rest }: DialogProps) => JSX.Element;
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import { DialogHTMLAttributes } from 'react';
|
|
1
|
+
import { DialogHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { DrawerPosition } from './Drawer.utils';
|
|
3
3
|
export interface DrawerProps extends DialogHTMLAttributes<HTMLDialogElement> {
|
|
4
4
|
/** Content within the Drawer. */
|
|
5
5
|
children: React.ReactNode;
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
6
|
+
/** Close button props:
|
|
7
|
+
*
|
|
8
|
+
* `data-*`: Custom data attributes.
|
|
9
|
+
*
|
|
10
|
+
* `label`: Accessibility label for the close button.
|
|
11
|
+
* (default) 'Close dialog'
|
|
12
|
+
*
|
|
8
13
|
*/
|
|
9
|
-
|
|
14
|
+
closeButtonProps?: {
|
|
15
|
+
[key: `data-${string}`]: string | undefined;
|
|
16
|
+
label?: string;
|
|
17
|
+
};
|
|
10
18
|
/** Disables closing the Drawer by clicking on the backdrop.
|
|
11
19
|
* @default false
|
|
12
20
|
*/
|
|
@@ -35,5 +43,7 @@ export interface DrawerProps extends DialogHTMLAttributes<HTMLDialogElement> {
|
|
|
35
43
|
/**
|
|
36
44
|
* A component that renders a modal drawer, which can be used for navigation,
|
|
37
45
|
* displaying additional information, or providing extra controls.
|
|
46
|
+
*
|
|
47
|
+
* Design in Figma: [Drawer](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=16282-9317)
|
|
38
48
|
*/
|
|
39
|
-
export declare const DSDrawer: ({ children, className,
|
|
49
|
+
export declare const DSDrawer: ({ children, className, closeButtonProps, disableBackdropClose, footer, header, hideCloseButton, position, isOpen, onClose, ...rest }: DrawerProps) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldsetHTMLAttributes } from 'react';
|
|
1
|
+
import { FieldsetHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { Legend } from './Fieldset.utils';
|
|
3
3
|
export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
|
|
4
4
|
/** Child elements within the fieldset. */
|
|
@@ -36,5 +36,7 @@ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElemen
|
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* The `DSFieldset` component is a versatile and accessible way to group related elements and labels in your forms.
|
|
39
|
+
*
|
|
40
|
+
* Design in Figma: [Fieldset](https://www.figma.com/design/Ie2r0R9QwjEc7O3nrFbXhV/Web-Pattern-Library?node-id=8-154)
|
|
39
41
|
* */
|
|
40
42
|
export declare const DSFieldset: ({ children, legend, className, description, disabled, id, invalid, required, systemFeedback, ...rest }: FieldsetProps) => JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IconName } from '../../types';
|
|
2
2
|
import { IconProps } from '../Icon/Icon';
|
|
3
3
|
import { FlagColor } from './Flag.utils';
|
|
4
|
+
import { JSX } from 'react';
|
|
4
5
|
export interface FlagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
6
|
/** Content within the Flag. */
|
|
6
7
|
children: React.ReactNode;
|
|
@@ -19,5 +20,7 @@ export interface FlagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
22
|
* A read-only component, often representing a status or category.
|
|
23
|
+
*
|
|
24
|
+
* Design in Figma: [Flag](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=19511-2443)
|
|
22
25
|
* */
|
|
23
26
|
export declare const DSFlag: ({ children, className, color, iconName, iconSource, ...rest }: FlagProps) => JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IconName } from '../../types';
|
|
2
2
|
import { ButtonProps } from '../Button/Button';
|
|
3
|
+
import { JSX } from 'react';
|
|
3
4
|
export interface FloatingActionButtonProps extends Omit<ButtonProps, 'hideLabel' | 'iconPosition' | 'variant' | 'isFlush'> {
|
|
4
5
|
children: React.ReactNode;
|
|
5
6
|
/** Name of the icon to display.
|
|
@@ -13,5 +14,7 @@ export interface FloatingActionButtonProps extends Omit<ButtonProps, 'hideLabel'
|
|
|
13
14
|
* Sizes:
|
|
14
15
|
* - medium (e.g. back-to-top)
|
|
15
16
|
* - small (e.g. menu drawer of the sidebar navigation)
|
|
17
|
+
*
|
|
18
|
+
* Design in Figma: [Floating Action Button](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=168-5095&t=UBsmFURFENnuYSW1-11)
|
|
16
19
|
* */
|
|
17
|
-
export declare const DSFloatingActionButton: ({ aria, children, className,
|
|
20
|
+
export declare const DSFloatingActionButton: ({ aria, children, className, disabled, iconName, iconSource, loading, size, theme, onClick, ...rest }: FloatingActionButtonProps) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
1
|
+
import { HTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { Theme } from '../../types';
|
|
3
3
|
import { HeadingSize, HeadingTag } from './Heading.utils';
|
|
4
4
|
export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
@@ -20,5 +20,7 @@ export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
|
20
20
|
/**
|
|
21
21
|
* The `DSHeading` component is used to specify heading styling and hierarchy in documents.
|
|
22
22
|
* It allows for consistent heading styles across different parts of your application.
|
|
23
|
+
*
|
|
24
|
+
* Design in Figma: [Heading](https://www.figma.com/design/d9wrOp4aCplDsV9AVC87Xn/Typography-%F0%9F%85%B0%EF%B8%8F?node-id=3-2186&t=TeSgud7dB5pnld5s-11)
|
|
23
25
|
* */
|
|
24
26
|
export declare const DSHeading: ({ children, className, size, tag, theme, ...rest }: HeadingProps) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HTMLProps, SVGProps } from 'react';
|
|
1
|
+
import { HTMLProps, SVGProps, JSX } from 'react';
|
|
2
2
|
import { IconName, SelectedAriaAttributes, Theme } from '../../types';
|
|
3
3
|
import { IconAriaAttribute, IconSize } from './Icon.utils';
|
|
4
4
|
export interface IconProps {
|
|
@@ -25,5 +25,7 @@ export interface IconProps {
|
|
|
25
25
|
* The STIHL Iconography ranges from content and feature icons to product or system icons.
|
|
26
26
|
* The STIHL Design System is using an SVG icon system to visually present an icon object.
|
|
27
27
|
* Icons are provided as assets and can be bundled into the application.
|
|
28
|
+
*
|
|
29
|
+
* Design in Figma: [Icon](https://www.figma.com/design/U218NNP4OsipaHOtv5flns/Iconography-%E2%9E%A1%EF%B8%8F?node-id=0-1)
|
|
28
30
|
*/
|
|
29
31
|
export declare const DSIcon: ({ aria, className, name, size, source, theme, ...rest }: IconProps & (HTMLProps<HTMLImageElement> | SVGProps<SVGSVGElement>)) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InputHTMLAttributes } from 'react';
|
|
1
|
+
import { InputHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { BreakpointCustomizable, IconName } from '../../types';
|
|
3
3
|
import { IconProps } from '../Icon/Icon';
|
|
4
4
|
import { InputSize, SupportedInputTypes } from './Input.utils';
|
|
@@ -7,14 +7,25 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
|
|
|
7
7
|
id: string;
|
|
8
8
|
/** Label text displayed above the input. */
|
|
9
9
|
label: string;
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
/** Action button props:
|
|
11
|
+
*
|
|
12
|
+
* `data-*`: Custom data attributes.
|
|
13
|
+
*
|
|
14
|
+
* `iconName`: Name of the icon used in the action button.
|
|
15
|
+
*
|
|
16
|
+
* `iconSource`: Custom source URL for the action button icon.
|
|
17
|
+
*
|
|
18
|
+
* `label`: Accessibility label for the action button or icon.
|
|
19
|
+
*
|
|
20
|
+
* `onClick`: Callback function called when the action button is clicked.
|
|
21
|
+
*/
|
|
22
|
+
actionButtonProps?: {
|
|
23
|
+
[key: `data-${string}`]: string | undefined;
|
|
24
|
+
iconName?: IconName;
|
|
25
|
+
iconSource?: string;
|
|
26
|
+
label?: string;
|
|
27
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
28
|
+
};
|
|
18
29
|
/**
|
|
19
30
|
* Provides hints to the browser for what type of data the input expects.
|
|
20
31
|
* Use standardized values from the W3C specification for input purposes:
|
|
@@ -69,5 +80,7 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
|
|
|
69
80
|
* a leading icon, prefix and suffix.
|
|
70
81
|
*
|
|
71
82
|
* Depending on the `type` prop it expects different input types.
|
|
83
|
+
*
|
|
84
|
+
* Design in Figma: [Input](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=1744-7211&t=UBsmFURFENnuYSW1-4)
|
|
72
85
|
*/
|
|
73
|
-
export declare const DSInput: ({ id, label,
|
|
86
|
+
export declare const DSInput: ({ id, label, actionButtonProps, className, disabled, hint, hideLabel, invalid, leadingIconName, leadingIconSource, prefix, readonly, required, size, suffix, systemFeedback, type, ...rest }: InputProps) => JSX.Element;
|
|
@@ -7,7 +7,7 @@ export declare const SUPPORTED_INPUT_TYPES: readonly ["color", "date", "datetime
|
|
|
7
7
|
export type SupportedInputTypes = (typeof SUPPORTED_INPUT_TYPES)[number];
|
|
8
8
|
export declare const UNSUPPORTED_INPUT_TYPES: readonly ["week", "hidden", "button", "checkbox", "password", "radio", "search", "reset", "submit", "image", "datetime"];
|
|
9
9
|
export type UnSupportedInputTypes = (typeof UNSUPPORTED_INPUT_TYPES)[number];
|
|
10
|
-
type ValidationProps = Pick<InputProps, 'id' | 'label' | 'prefix' | 'suffix' | 'leadingIconName' | 'leadingIconSource' | '
|
|
10
|
+
type ValidationProps = Pick<InputProps, 'id' | 'label' | 'prefix' | 'suffix' | 'leadingIconName' | 'leadingIconSource' | 'actionButtonProps'>;
|
|
11
11
|
/**
|
|
12
12
|
* Validates the given properties of the DSInput component for common configuration errors.
|
|
13
13
|
* This function is intended to be used in development mode to provide developers with
|
|
@@ -16,7 +16,7 @@ type ValidationProps = Pick<InputProps, 'id' | 'label' | 'prefix' | 'suffix' | '
|
|
|
16
16
|
* @param validationProps - The subset of DSInput properties to validate. This includes
|
|
17
17
|
* properties related to the prefix, suffix, icons and action button of the input.
|
|
18
18
|
*/
|
|
19
|
-
export declare const validateInputProps: ({ id, label, prefix, suffix, leadingIconName, leadingIconSource,
|
|
19
|
+
export declare const validateInputProps: ({ id, label, prefix, suffix, leadingIconName, leadingIconSource, actionButtonProps, }: ValidationProps) => void;
|
|
20
20
|
/**
|
|
21
21
|
* Validates the input type for the DSInput component and provides warnings for certain unsupported types.
|
|
22
22
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InputHTMLAttributes } from 'react';
|
|
1
|
+
import { InputHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { BreakpointCustomizable } from '../../types';
|
|
3
3
|
import { InputSize } from '../Input/Input.utils';
|
|
4
4
|
export interface InputPasswordProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'size'> {
|
|
@@ -39,14 +39,21 @@ export interface InputPasswordProps extends Omit<InputHTMLAttributes<HTMLInputEl
|
|
|
39
39
|
* @default 'medium'
|
|
40
40
|
*/
|
|
41
41
|
size?: InputSize;
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
42
|
+
/** Toggle password visibility button props:
|
|
43
|
+
*
|
|
44
|
+
* `data-*`: Custom data attributes.
|
|
45
|
+
*
|
|
46
|
+
* `hidePasswordText`: The hide password button text label (for assistive technologies).
|
|
47
|
+
* (default) 'Hide password'
|
|
48
|
+
*
|
|
49
|
+
* `showPasswordText`: The show password button text label (for assistive technologies).
|
|
50
|
+
* (default) 'Show password'
|
|
44
51
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
togglePasswordVisibilityButtonProps?: {
|
|
53
|
+
[key: `data-${string}`]: string | undefined;
|
|
54
|
+
hidePasswordText?: string;
|
|
55
|
+
showPasswordText?: string;
|
|
56
|
+
};
|
|
50
57
|
}
|
|
51
58
|
/**
|
|
52
59
|
* The `<DSInputPassword />` component is an input field that allows users to enter and edit passwords.
|
|
@@ -54,5 +61,7 @@ export interface InputPasswordProps extends Omit<InputHTMLAttributes<HTMLInputEl
|
|
|
54
61
|
* a hint and a system feedback message.
|
|
55
62
|
*
|
|
56
63
|
* The user can toggle the visibility of the password by clicking on the action button.
|
|
64
|
+
*
|
|
65
|
+
* Design in Figma: [Input Password](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2141-6655&t=UBsmFURFENnuYSW1-11)
|
|
57
66
|
*/
|
|
58
|
-
export declare const DSInputPassword: ({ id, label, autoComplete, className, disabled,
|
|
67
|
+
export declare const DSInputPassword: ({ id, label, autoComplete, className, disabled, hint, hideLabel, invalid, readonly, required, togglePasswordVisibilityButtonProps, size, systemFeedback, ...rest }: InputPasswordProps) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InputHTMLAttributes } from 'react';
|
|
1
|
+
import { InputHTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { BreakpointCustomizable } from '../../types';
|
|
3
3
|
import { InputSize } from '../Input/Input.utils';
|
|
4
4
|
export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'size'> {
|
|
@@ -33,10 +33,20 @@ export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
33
33
|
* @default false
|
|
34
34
|
*/
|
|
35
35
|
required?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
*
|
|
36
|
+
/** Submit button props:
|
|
37
|
+
*
|
|
38
|
+
* `data-*`: Custom data attributes.
|
|
39
|
+
*
|
|
40
|
+
* `label`: Accessibility label for the submit button.
|
|
41
|
+
* (default) 'Search'
|
|
42
|
+
*
|
|
43
|
+
* `onClick`: Callback function called when the submit button is clicked.
|
|
38
44
|
*/
|
|
39
|
-
|
|
45
|
+
submitButtonProps?: {
|
|
46
|
+
[key: `data-${string}`]: string | undefined;
|
|
47
|
+
label?: string;
|
|
48
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
49
|
+
};
|
|
40
50
|
/** Defines a system feedback message, shown when `invalid={true}`. */
|
|
41
51
|
systemFeedback?: string;
|
|
42
52
|
/** Size of the input.
|
|
@@ -45,8 +55,6 @@ export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
45
55
|
size?: InputSize;
|
|
46
56
|
/** Value of the input. */
|
|
47
57
|
value?: string;
|
|
48
|
-
/** Callback function called when the submit button is clicked. */
|
|
49
|
-
submitButtonOnClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
50
58
|
}
|
|
51
59
|
/**
|
|
52
60
|
* The `<DSInputSearch />` component can be used as a dedicated search field input.
|
|
@@ -55,5 +63,7 @@ export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
55
63
|
*
|
|
56
64
|
* A search button is always available on the right to submit the search request.
|
|
57
65
|
* Additionally when the input is filled, a button to clear the input value becomes visible.
|
|
66
|
+
*
|
|
67
|
+
* Design in Figma: [Input Search](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=2141-6712&t=UBsmFURFENnuYSW1-11)
|
|
58
68
|
*/
|
|
59
|
-
export declare const DSInputSearch: ({ id, label, className, clearButtonLabel, disabled, hint, hideLabel, invalid, readonly, required, size,
|
|
69
|
+
export declare const DSInputSearch: ({ id, label, className, clearButtonLabel, disabled, hint, hideLabel, invalid, readonly, required, size, systemFeedback, value, submitButtonProps, onChange, ...rest }: InputSearchProps) => JSX.Element;
|