@stihl-design-system/components 1.0.0-RC.34 → 1.0.0-RC.36
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/Placeholder.svg +1 -1
- package/{actionbutton.DLQJU6AV.js → actionbutton.Du5CT-Mt.js} +2 -2
- package/{actionlink.DEBrWfN3.js → actionlink.BK9CaQUY.js} +2 -2
- package/assets/Button.CmeGVEAY.css +1 -0
- package/assets/CustomReactSelect.BihX36Uo.css +1 -0
- package/assets/Fieldset.Oqu7pOBv.css +1 -0
- package/assets/InputFile.D7Ihod7B.css +1 -0
- package/assets/InputNumber.z_UqRYdv.css +1 -0
- package/assets/InputPassword.DZENjxJ9.css +1 -0
- package/assets/InputSearch.GBH9Eh6F.css +1 -0
- package/assets/LinkButton.88j5ckLu.css +1 -0
- package/assets/RadioGroup.q1lQ-HIZ.css +1 -0
- package/assets/Select.CL0fqx7X.css +1 -0
- package/assets/Slider.DWLuIsNj.css +1 -0
- package/assets/Textarea.B1HOakic.css +1 -0
- package/assets/buttonround.DBpMesfr.css +1 -0
- package/assets/input.RPDR8qdT.css +1 -0
- package/assets/radio.CsfCywxz.css +1 -0
- package/{banner.CI5HnDqD.js → banner.AhUeW3HM.js} +1 -1
- package/{breadcrumb.CtwAux3P.js → breadcrumb.DpIAQk3r.js} +3 -3
- package/button.CqNYOfSj.js +12 -0
- package/buttonround.9IS0tUqw.js +96 -0
- package/{checkbox.DwccD0Mp.js → checkbox.XYQI-ubx.js} +2 -2
- package/{checkboxgroup.ZiUFfCJ1.js → checkboxgroup.C66ZwglF.js} +2 -2
- package/{chip.B0s_fS8L.js → chip.B-pxhsdb.js} +2 -2
- package/{chipgroup.Dpu66bo5.js → chipgroup.CY3pWyLO.js} +4 -3
- package/chunks/{ActionButton.DOYsEHPr.js → ActionButton.BOYQYo5M.js} +1 -1
- package/chunks/{ActionLink.DbyciN3Y.js → ActionLink.BlwvrnPN.js} +1 -1
- package/chunks/{Breadcrumb.BgnpTo01.js → Breadcrumb.C_Yaz_vw.js} +2 -2
- package/chunks/Button.CQlIao-Z.js +139 -0
- package/chunks/{Checkbox.BcGXAuuP.js → Checkbox.D5X5T6Yg.js} +1 -1
- package/chunks/CheckboxGroup.BIspWqeW.js +74 -0
- package/chunks/{Chip.D6pubCZV.js → Chip.DIp5hdRH.js} +1 -1
- package/chunks/{CustomReactSelect.Dg3wC_VH.js → CustomReactSelect.D4kopDzX.js} +816 -800
- package/chunks/{Dialog.DpqSVrYR.js → Dialog.DMxHRrxo.js} +1 -1
- package/chunks/{Drawer.DISWybOa.js → Drawer.CatmvDHJ.js} +1 -1
- package/chunks/Fieldset.Bk8W5h13.js +81 -0
- package/chunks/{Header.7TQL_J9t.js → Header.18sOO0Gf.js} +1 -1
- package/chunks/{Input.utils.Dkw7gRrr.js → Input.utils.CL1u4Ctq.js} +27 -25
- package/chunks/InputFile.CjK3gEst.js +236 -0
- package/chunks/InputNumber.wfDjnz58.js +242 -0
- package/chunks/InputPassword.Ctb0xbwg.js +121 -0
- package/chunks/InputSearch.C-r5ktR8.js +149 -0
- package/chunks/LinkButton.CWibqvhs.js +140 -0
- package/chunks/{MegaMenu.CQbOeaib.js → MegaMenu.qttkjGbD.js} +7 -8
- package/chunks/{NavigationTabs.BwM-6CRm.js → NavigationTabs.SBNLx87A.js} +1 -1
- package/chunks/{Notification.CrojkJ0E.js → Notification.DYl1rcGu.js} +1 -1
- package/chunks/{Popover.Bb0Pjmvg.js → Popover.C9tT8xkE.js} +9 -10
- package/chunks/RadioGroup.BDsVAhCK.js +125 -0
- package/chunks/Select.BjBPN-6W.js +147 -0
- package/chunks/Slider.Bh2jhGKn.js +306 -0
- package/chunks/{Stepper.PTQdQBYf.js → Stepper.D1Yzw-gL.js} +2 -2
- package/chunks/{Tabs.DyP4whX0.js → Tabs.BvG-OPWa.js} +1 -1
- package/chunks/Textarea.DibBqiam.js +181 -0
- package/chunks/{Toast.ug_RjGgF.js → Toast.ldZRNpGM.js} +1 -1
- package/chunks/floating-ui.react.COTL3jH5.js +2984 -0
- package/chunks/{useBreakpoint.BzR_yaIv.js → useBreakpoint.1txsny17.js} +8 -5
- package/combobox.C2XUM4fM.js +67 -0
- package/components/Button/Button.d.ts +5 -0
- package/components/Button/Button.utils.d.ts +4 -5
- package/components/CheckboxGroup/CheckboxGroup.d.ts +14 -1
- package/components/Combobox/Combobox.utils.d.ts +3 -2
- package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +13 -0
- package/components/Fieldset/Fieldset.d.ts +14 -1
- package/components/Input/Input.d.ts +13 -0
- package/components/Input/Input.utils.d.ts +2 -2
- package/components/InputFile/InputFile.d.ts +13 -0
- package/components/InputFile/InputFile.utils.d.ts +4 -2
- package/components/InputNumber/InputNumber.d.ts +17 -4
- package/components/InputNumber/InputNumber.utils.d.ts +2 -2
- package/components/InputPassword/InputPassword.d.ts +13 -0
- package/components/InputPassword/InputPassword.utils.d.ts +2 -2
- package/components/InputSearch/InputSearch.d.ts +13 -0
- package/components/InputSearch/InputSearch.utils.d.ts +2 -2
- package/components/LinkButton/LinkButton.d.ts +5 -0
- package/components/LinkButton/LinkButton.utils.d.ts +4 -5
- package/components/RadioGroup/RadioGroup.d.ts +13 -0
- package/components/RadioGroup/RadioGroup.utils.d.ts +3 -2
- package/components/Scroller/Scroller.test.d.ts +1 -0
- package/components/Select/Select.d.ts +13 -0
- package/components/Select/Select.utils.d.ts +2 -2
- package/components/Slider/Slider.d.ts +13 -0
- package/components/Textarea/Textarea.d.ts +13 -0
- package/components/Textarea/Textarea.utils.d.ts +2 -2
- package/{customreactselect.BFN8cYJi.js → customreactselect.BNwzk8Qi.js} +4 -3
- package/{dialog.CzM_Cxp0.js → dialog.D5geKDtZ.js} +2 -2
- package/{drawer._A9MQ8Cj.js → drawer.ucjhpIF4.js} +2 -2
- package/{fieldset.CId-NtI5.js → fieldset.Crx4Cb9a.js} +3 -2
- package/{filelist.DgVuWpR3.js → filelist.Bcu6TZRj.js} +1 -1
- package/{floatingactionbutton.Bsnncudt.js → floatingactionbutton.B5hJ2At2.js} +1 -1
- package/{header.CelAkqtp.js → header.A77yIAH3.js} +1 -1
- package/index.es.js +103 -102
- package/input.DL_M_Pg3.js +190 -0
- package/{inputfile.BjgJGefV.js → inputfile.iwsNHjrc.js} +6 -5
- package/{inputnumber.BcrxBVv0.js → inputnumber.raC_7KIP.js} +7 -6
- package/{inputpassword.CddmBW-T.js → inputpassword.Brte78Sr.js} +4 -4
- package/{inputsearch.CFOASqrd.js → inputsearch.BP0EzFcF.js} +6 -5
- package/{link.f8MMZo-w.js → link.BtZeNdii.js} +2 -2
- package/{linkbutton.BYAvi-_V.js → linkbutton.In_ROT0Z.js} +4 -4
- package/{logo100years.B4d_DIiB.js → logo100years.DDzCrczW.js} +10 -10
- package/{megamenu.Cy9Cc-mC.js → megamenu.BurL9MfF.js} +3 -3
- package/{navigationtabs.Dp7D2fnc.js → navigationtabs.EbmfKv1R.js} +2 -2
- package/{notification.B-norGiB.js → notification.tadg6lCc.js} +2 -2
- package/package.json +4 -3
- package/partials/index.js +32 -32
- package/{popover.DFVDZY-m.js → popover.CXq7VoZt.js} +3 -3
- package/radio.pyM5ma9s.js +134 -0
- package/{radiogroup.DaThoMfq.js → radiogroup.sdob0iPE.js} +3 -3
- package/{scroller.Cu7H_VCT.js → scroller.B1LijjCF.js} +1 -1
- package/{select.CMdKf7tC.js → select.CZ0C3yJD.js} +5 -4
- package/{skiptocontent.CHVh0hbr.js → skiptocontent.CAQy194o.js} +1 -1
- package/slider.B3u5du_Q.js +12 -0
- package/{step.DKf4CHGr.js → step.DaJFsafj.js} +1 -1
- package/{stepper.CCP_igpJ.js → stepper.DcaZESJi.js} +3 -3
- package/styles/scss/ds/lib/ds-internal/_input.scss +12 -3
- package/styles/scss/ds/lib/ds-internal/_link-button.scss +10 -2
- package/styles/scss/ds/lib/link-button.scss +11 -3
- package/{tablist.DZgo49nZ.js → tablist.mX5nQWwH.js} +1 -1
- package/{tabs.BkoT7feH.js → tabs.DjWfks34.js} +2 -2
- package/{textarea.DMn20z4p.js → textarea.69r-5faY.js} +4 -3
- package/{toast.Dvs8woTH.js → toast.FzO5KoiK.js} +2 -2
- package/{toastmanager.pi_Fhd5t.js → toastmanager.BGIYNKkT.js} +1 -1
- package/{tooltip.QJe_bfO-.js → tooltip.Cj3AvYgB.js} +22 -23
- package/{topbar.Bxwvp9Lf.js → topbar.CAujTZAE.js} +2 -2
- package/utils/useIsomorphicLayoutEffect.d.ts +2 -2
- package/assets/Button.C8sNwIeW.css +0 -1
- package/assets/CustomReactSelect.E_jJFVew.css +0 -1
- package/assets/Fieldset.CW9dBvAo.css +0 -1
- package/assets/InputFile.BnIvK65P.css +0 -1
- package/assets/InputNumber.BoiCIR1f.css +0 -1
- package/assets/InputPassword.Dk3_vNLV.css +0 -1
- package/assets/InputSearch.C1_4cVCi.css +0 -1
- package/assets/LinkButton.B86yacK5.css +0 -1
- package/assets/RadioGroup.CM2mYOzc.css +0 -1
- package/assets/Select.COxLltX7.css +0 -1
- package/assets/Slider.DPEmJ3HD.css +0 -1
- package/assets/Textarea.y3MW7VW0.css +0 -1
- package/assets/buttonround.BN3vUDc_.css +0 -1
- package/assets/input.DTu4g_iA.css +0 -1
- package/assets/radio.CgpGvYc-.css +0 -1
- package/button.DHuKanZP.js +0 -13
- package/buttonround.CMlmEDaN.js +0 -96
- package/chunks/Button.DCZgBNmA.js +0 -142
- package/chunks/CheckboxGroup.BuFd1luB.js +0 -72
- package/chunks/Fieldset.DiMtr6Vw.js +0 -74
- package/chunks/InputFile.C8nt9Fu8.js +0 -218
- package/chunks/InputNumber.CbH1XJfl.js +0 -267
- package/chunks/InputPassword.DbdjuSiJ.js +0 -136
- package/chunks/InputSearch.joxmugiv.js +0 -173
- package/chunks/LinkButton.BZgIGgc8.js +0 -132
- package/chunks/RadioGroup.CexC4v2Z.js +0 -104
- package/chunks/Select.BEIdNMML.js +0 -164
- package/chunks/Slider.CR0zYHeZ.js +0 -291
- package/chunks/Textarea.Du2RII5u.js +0 -168
- package/chunks/floating-ui.dom.BT8pKtCQ.js +0 -1005
- package/chunks/floating-ui.react.3FjeMiuN.js +0 -1999
- package/combobox.jG5GRA7C.js +0 -65
- package/input.DuEbg7d6.js +0 -206
- package/radio.DHUfSPai.js +0 -126
- package/slider.C5dK6KcG.js +0 -11
- /package/components/InputNumber/{InputNumberutils.test.d.ts → InputNumber.utils.test.d.ts} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useState as u
|
|
2
|
+
import { useState as u } from "react";
|
|
3
|
+
import { u as c } from "./useIsomorphicLayoutEffect.CnJ9AMFS.js";
|
|
3
4
|
const o = {
|
|
4
5
|
base: 0,
|
|
5
6
|
s: 320,
|
|
@@ -14,8 +15,8 @@ const o = {
|
|
|
14
15
|
else
|
|
15
16
|
break;
|
|
16
17
|
return n;
|
|
17
|
-
},
|
|
18
|
-
const [e, n] = u(
|
|
18
|
+
}, f = (e) => e && typeof e == "object" && "base" in e, b = () => {
|
|
19
|
+
const [e, n] = u(void 0);
|
|
19
20
|
c(() => (t(), window.addEventListener("resize", t), () => window.removeEventListener("resize", t)), []);
|
|
20
21
|
const t = () => {
|
|
21
22
|
const r = window.innerWidth;
|
|
@@ -23,8 +24,10 @@ const o = {
|
|
|
23
24
|
};
|
|
24
25
|
return e;
|
|
25
26
|
}, B = (e) => {
|
|
26
|
-
const n =
|
|
27
|
-
if (
|
|
27
|
+
const n = b();
|
|
28
|
+
if (!n)
|
|
29
|
+
return !1;
|
|
30
|
+
if (e && typeof e != "object" || !f(e))
|
|
28
31
|
return e;
|
|
29
32
|
const t = [...a].reverse();
|
|
30
33
|
let r = e.base;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _ } from "react/jsx-runtime";
|
|
3
|
+
import { d as $ } from "./chunks/index.D-sRdssb.js";
|
|
4
|
+
import { v as z, c as G } from "./chunks/CustomReactSelect.D4kopDzX.js";
|
|
5
|
+
import { forwardRef as H } from "react";
|
|
6
|
+
const J = H((x, N) => {
|
|
7
|
+
const t = $.c(36);
|
|
8
|
+
let a, r, e, d, l, i, p, s, c, n, v, f, o, u, m;
|
|
9
|
+
if (t[0] !== x) {
|
|
10
|
+
const h = x ?? {}, {
|
|
11
|
+
id: q,
|
|
12
|
+
label: A,
|
|
13
|
+
className: B,
|
|
14
|
+
disabled: g,
|
|
15
|
+
dropdownOnFocus: w,
|
|
16
|
+
filterOption: I,
|
|
17
|
+
hideLabel: y,
|
|
18
|
+
invalid: D,
|
|
19
|
+
lang: E,
|
|
20
|
+
popoverContent: L,
|
|
21
|
+
popoverInfoButtonProps: R,
|
|
22
|
+
required: F,
|
|
23
|
+
tabSelectsValue: M,
|
|
24
|
+
variant: V,
|
|
25
|
+
...j
|
|
26
|
+
} = h;
|
|
27
|
+
i = q, s = A, a = B, d = I, n = L, v = R, o = j, r = g === void 0 ? !1 : g, e = w === void 0 ? !1 : w, l = y === void 0 ? !1 : y, p = D === void 0 ? !1 : D, c = E === void 0 ? "en" : E, f = F === void 0 ? !1 : F, u = M === void 0 ? !0 : M, m = V === void 0 ? "single" : V;
|
|
28
|
+
const k = Array.isArray(o.options) ? o.options : [];
|
|
29
|
+
process.env.NODE_ENV !== "production" && z({
|
|
30
|
+
id: i,
|
|
31
|
+
label: s,
|
|
32
|
+
options: k,
|
|
33
|
+
hideLabel: l,
|
|
34
|
+
popoverContent: n
|
|
35
|
+
}), t[0] = x, t[1] = a, t[2] = r, t[3] = e, t[4] = d, t[5] = l, t[6] = i, t[7] = p, t[8] = s, t[9] = c, t[10] = n, t[11] = v, t[12] = f, t[13] = o, t[14] = u, t[15] = m;
|
|
36
|
+
} else
|
|
37
|
+
a = t[1], r = t[2], e = t[3], d = t[4], l = t[5], i = t[6], p = t[7], s = t[8], c = t[9], n = t[10], v = t[11], f = t[12], o = t[13], u = t[14], m = t[15];
|
|
38
|
+
const b = m === "multi", S = !e || b;
|
|
39
|
+
let C;
|
|
40
|
+
t[16] !== a || t[17] !== r || t[18] !== e || t[19] !== d || t[20] !== l || t[21] !== i || t[22] !== p || t[23] !== b || t[24] !== s || t[25] !== c || t[26] !== n || t[27] !== v || t[28] !== N || t[29] !== f || t[30] !== o || t[31] !== S || t[32] !== u ? (C = {
|
|
41
|
+
id: i,
|
|
42
|
+
label: s,
|
|
43
|
+
className: a,
|
|
44
|
+
disabled: r,
|
|
45
|
+
filterOption: d,
|
|
46
|
+
hideLabel: l,
|
|
47
|
+
isMulti: b,
|
|
48
|
+
invalid: p,
|
|
49
|
+
lang: c,
|
|
50
|
+
openMenuOnClick: e,
|
|
51
|
+
openMenuOnFocus: e,
|
|
52
|
+
isClearable: S,
|
|
53
|
+
required: f,
|
|
54
|
+
ref: N,
|
|
55
|
+
tabSelectsValue: u,
|
|
56
|
+
popoverContent: n,
|
|
57
|
+
popoverInfoButtonProps: v,
|
|
58
|
+
...o
|
|
59
|
+
}, t[16] = a, t[17] = r, t[18] = e, t[19] = d, t[20] = l, t[21] = i, t[22] = p, t[23] = b, t[24] = s, t[25] = c, t[26] = n, t[27] = v, t[28] = N, t[29] = f, t[30] = o, t[31] = S, t[32] = u, t[33] = C) : C = t[33];
|
|
60
|
+
const P = C;
|
|
61
|
+
let O;
|
|
62
|
+
return t[34] !== P ? (O = /* @__PURE__ */ _(G, { ...P }), t[34] = P, t[35] = O) : O = t[35], O;
|
|
63
|
+
});
|
|
64
|
+
J.displayName = "DSCombobox";
|
|
65
|
+
export {
|
|
66
|
+
J as DSCombobox
|
|
67
|
+
};
|
|
@@ -43,6 +43,11 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
43
43
|
* @default 'medium'
|
|
44
44
|
*/
|
|
45
45
|
size?: ButtonSize;
|
|
46
|
+
/** Stretches the button over the parent's width.
|
|
47
|
+
* `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
stretched?: BreakpointCustomizable<boolean>;
|
|
46
51
|
/** Defines the theme.
|
|
47
52
|
* @default 'light'
|
|
48
53
|
*/
|
|
@@ -5,19 +5,18 @@ export declare const BUTTON_VARIANT: readonly ["highlight", "filled", "outline",
|
|
|
5
5
|
export type ButtonVariant = (typeof BUTTON_VARIANT)[number];
|
|
6
6
|
export type ButtonIconPosition = 'left' | 'right';
|
|
7
7
|
export type ButtonAriaAttribute = 'aria-label' | 'aria-expanded' | 'aria-pressed' | 'aria-haspopup';
|
|
8
|
-
type ValidationProps = Pick<ButtonProps, '
|
|
8
|
+
type ValidationProps = Pick<ButtonProps, 'hideLabel' | 'iconName' | 'iconSource' | 'isFlush' | 'size' | 'stretched' | 'theme' | 'variant'>;
|
|
9
9
|
/**
|
|
10
10
|
* Performs runtime validation on a subset of `DSButton` props to detect
|
|
11
11
|
* misconfigurations during development.
|
|
12
12
|
*
|
|
13
|
-
* This function provides warnings or throws errors when invalid combinations
|
|
14
|
-
* of `variant`, `size`, or `theme` are detected—particularly for the `navigation` variant.
|
|
13
|
+
* This function provides warnings or throws errors when invalid combinations of props occur.
|
|
15
14
|
*
|
|
16
15
|
* Intended for development use only; should not be used in production environments.
|
|
17
16
|
*
|
|
18
|
-
* @param validationProps - An object containing the
|
|
17
|
+
* @param validationProps - An object containing the props to validate
|
|
19
18
|
* from the `DSButton` component. These are validated to ensure
|
|
20
19
|
* they are used in supported combinations.
|
|
21
20
|
*/
|
|
22
|
-
export declare const validateButtonProps: ({
|
|
21
|
+
export declare const validateButtonProps: ({ hideLabel, iconName, iconSource, isFlush, size, stretched, theme, variant, }: ValidationProps) => void;
|
|
23
22
|
export {};
|
|
@@ -31,6 +31,19 @@ export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetE
|
|
|
31
31
|
* @default false
|
|
32
32
|
*/
|
|
33
33
|
invalid?: boolean;
|
|
34
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
35
|
+
popoverContent?: React.ReactNode;
|
|
36
|
+
/** Popover info button props:
|
|
37
|
+
*
|
|
38
|
+
* `data-*`: Custom data attributes.
|
|
39
|
+
*
|
|
40
|
+
* `label`: Accessibility label for the default anchor button.
|
|
41
|
+
* (default) 'Toggle popover'
|
|
42
|
+
*/
|
|
43
|
+
popoverInfoButtonProps?: {
|
|
44
|
+
[key: `data-${string}`]: string | undefined;
|
|
45
|
+
label?: string;
|
|
46
|
+
};
|
|
34
47
|
/** Marks the checkbox group as required.
|
|
35
48
|
* When this property is set, an asterisk (*) is automatically appended to the checkbox group's legend.
|
|
36
49
|
* @default false
|
|
@@ -46,4 +59,4 @@ export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetE
|
|
|
46
59
|
*
|
|
47
60
|
* Design in Figma: [Checkbox Group](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=5626-11362&t=UBsmFURFENnuYSW1-4)
|
|
48
61
|
* */
|
|
49
|
-
export declare const DSCheckboxGroup: ({ children, legend, className, description, direction, disabled, id, invalid, required, systemFeedback, ...rest }: CheckboxGroupProps) => JSX.Element;
|
|
62
|
+
export declare const DSCheckboxGroup: ({ children, legend, className, description, direction, disabled, id, invalid, popoverContent, popoverInfoButtonProps, required, systemFeedback, ...rest }: CheckboxGroupProps) => JSX.Element;
|
|
@@ -2,7 +2,7 @@ import { IconName } from '../../types';
|
|
|
2
2
|
import { ComboboxProps } from './Combobox';
|
|
3
3
|
import { FilterOptionOption, GroupBase, OptionsOrGroups } from 'react-select';
|
|
4
4
|
export type ComboboxVariant = 'single' | 'multi';
|
|
5
|
-
type ValidationProps = Pick<ComboboxProps, 'id' | 'label' | 'options'>;
|
|
5
|
+
type ValidationProps = Pick<ComboboxProps, 'id' | 'label' | 'options' | 'hideLabel' | 'popoverContent'>;
|
|
6
6
|
export type ComboboxFilterOption<Option> = FilterOptionOption<Option>;
|
|
7
7
|
/**
|
|
8
8
|
* Validates the given properties of the DSCombobox component for common configuration errors.
|
|
@@ -12,7 +12,7 @@ export type ComboboxFilterOption<Option> = FilterOptionOption<Option>;
|
|
|
12
12
|
* @param validationProps - The subset of DSCombobox properties to validate. This includes
|
|
13
13
|
* id and label.
|
|
14
14
|
*/
|
|
15
|
-
export declare const validateComboboxProps: ({ id, label, options, }: ValidationProps) => void;
|
|
15
|
+
export declare const validateComboboxProps: ({ id, label, options, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
16
16
|
export declare const COMBOBOX_SIZE: readonly ["medium", "small"];
|
|
17
17
|
export type ComboboxSize = (typeof COMBOBOX_SIZE)[number];
|
|
18
18
|
export interface ComboboxOption {
|
|
@@ -56,6 +56,7 @@ export declare const DS_COMBOBOX_TRANSLATIONS_EN: {
|
|
|
56
56
|
result_one: string;
|
|
57
57
|
result_other: string;
|
|
58
58
|
resultsAvailable: string;
|
|
59
|
+
togglePopover: string;
|
|
59
60
|
};
|
|
60
61
|
export declare const DS_COMBOBOX_TRANSLATIONS_DE: ComboboxAriaTranslations;
|
|
61
62
|
export declare const DS_COMBOBOX_TRANSLATIONS: Record<ComboboxLanguage, ComboboxAriaTranslations>;
|
|
@@ -47,6 +47,19 @@ export interface CustomReactSelectProps<IsMulti extends boolean> extends PickedR
|
|
|
47
47
|
* @default 'en'
|
|
48
48
|
*/
|
|
49
49
|
lang?: ComboboxLanguage;
|
|
50
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
51
|
+
popoverContent?: React.ReactNode;
|
|
52
|
+
/** Popover info button props:
|
|
53
|
+
*
|
|
54
|
+
* `data-*`: Custom data attributes.
|
|
55
|
+
*
|
|
56
|
+
* `label`: Accessibility label for the default anchor button.
|
|
57
|
+
* (default) 'Toggle popover'
|
|
58
|
+
*/
|
|
59
|
+
popoverInfoButtonProps?: {
|
|
60
|
+
[key: `data-${string}`]: string | undefined;
|
|
61
|
+
label?: string;
|
|
62
|
+
};
|
|
50
63
|
/** Indicates that the DSCombobox is required.
|
|
51
64
|
* @default false
|
|
52
65
|
*/
|
|
@@ -26,6 +26,19 @@ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElemen
|
|
|
26
26
|
* @default false
|
|
27
27
|
*/
|
|
28
28
|
invalid?: boolean;
|
|
29
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
30
|
+
popoverContent?: React.ReactNode;
|
|
31
|
+
/** Popover info button props:
|
|
32
|
+
*
|
|
33
|
+
* `data-*`: Custom data attributes.
|
|
34
|
+
*
|
|
35
|
+
* `label`: Accessibility label for the default anchor button.
|
|
36
|
+
* (default) 'Toggle popover'
|
|
37
|
+
*/
|
|
38
|
+
popoverInfoButtonProps?: {
|
|
39
|
+
[key: `data-${string}`]: string | undefined;
|
|
40
|
+
label?: string;
|
|
41
|
+
};
|
|
29
42
|
/**
|
|
30
43
|
* Undocumented property for visually setting the Asterisk.
|
|
31
44
|
* @default false
|
|
@@ -39,4 +52,4 @@ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElemen
|
|
|
39
52
|
*
|
|
40
53
|
* Design in Figma: [Fieldset](https://www.figma.com/design/Ie2r0R9QwjEc7O3nrFbXhV/Web-Pattern-Library?node-id=8-154)
|
|
41
54
|
* */
|
|
42
|
-
export declare const DSFieldset: ({ children, legend, className, description, disabled, id, invalid, required, systemFeedback, ...rest }: FieldsetProps) => JSX.Element;
|
|
55
|
+
export declare const DSFieldset: ({ children, legend, className, description, disabled, id, invalid, popoverContent, popoverInfoButtonProps, required, systemFeedback, ...rest }: FieldsetProps) => JSX.Element;
|
|
@@ -51,6 +51,19 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
|
|
|
51
51
|
* @default false
|
|
52
52
|
*/
|
|
53
53
|
invalid?: boolean;
|
|
54
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
55
|
+
popoverContent?: React.ReactNode;
|
|
56
|
+
/** Popover info button props:
|
|
57
|
+
*
|
|
58
|
+
* `data-*`: Custom data attributes.
|
|
59
|
+
*
|
|
60
|
+
* `label`: Accessibility label for the default anchor button.
|
|
61
|
+
* (default) 'Toggle popover'
|
|
62
|
+
*/
|
|
63
|
+
popoverInfoButtonProps?: {
|
|
64
|
+
[key: `data-${string}`]: string | undefined;
|
|
65
|
+
label?: string;
|
|
66
|
+
};
|
|
54
67
|
/** Text displayed as a prefix inside the input, maximum 8 characters. */
|
|
55
68
|
prefix?: string;
|
|
56
69
|
/** Enables the readonly state of the input.
|
|
@@ -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", "file", "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' | 'actionButtonProps'>;
|
|
10
|
+
type ValidationProps = Pick<InputProps, 'hideLabel' | 'id' | 'label' | 'prefix' | 'popoverContent' | '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, actionButtonProps, }: ValidationProps) => void;
|
|
19
|
+
export declare const validateInputProps: ({ hideLabel, id, label, prefix, popoverContent, 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
|
*
|
|
@@ -55,6 +55,19 @@ export interface InputFileProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
55
55
|
* @default 'en'
|
|
56
56
|
*/
|
|
57
57
|
lang?: InputFileLanguage;
|
|
58
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
59
|
+
popoverContent?: React.ReactNode;
|
|
60
|
+
/** Popover info button props:
|
|
61
|
+
*
|
|
62
|
+
* `data-*`: Custom data attributes.
|
|
63
|
+
*
|
|
64
|
+
* `label`: Accessibility label for the default anchor button.
|
|
65
|
+
* (default) 'Toggle popover'
|
|
66
|
+
*/
|
|
67
|
+
popoverInfoButtonProps?: {
|
|
68
|
+
[key: `data-${string}`]: string | undefined;
|
|
69
|
+
label?: string;
|
|
70
|
+
};
|
|
58
71
|
/** Maximum size allowed in MegaBytes.
|
|
59
72
|
* @default 7
|
|
60
73
|
*/
|
|
@@ -9,6 +9,7 @@ export declare const DS_INPUT_FILE_TRANSLATIONS_EN: {
|
|
|
9
9
|
fileListPreviewAltText: string;
|
|
10
10
|
filesSelectedHint: string;
|
|
11
11
|
required: string;
|
|
12
|
+
togglePopover: string;
|
|
12
13
|
};
|
|
13
14
|
export declare const DS_INPUT_FILE_TRANSLATIONS_DE: {
|
|
14
15
|
dragAndDropInstructions: string;
|
|
@@ -18,6 +19,7 @@ export declare const DS_INPUT_FILE_TRANSLATIONS_DE: {
|
|
|
18
19
|
fileListPreviewAltText: string;
|
|
19
20
|
filesSelectedHint: string;
|
|
20
21
|
required: string;
|
|
22
|
+
togglePopover: string;
|
|
21
23
|
};
|
|
22
24
|
export declare const DS_INPUT_FILE_TRANSLATIONS: {
|
|
23
25
|
[key in InputFileLanguage]: InputFileTranslations;
|
|
@@ -28,7 +30,7 @@ export declare const DS_INPUT_FILE_TRANSLATIONS: {
|
|
|
28
30
|
* @returns true if the file would have been allowed by the browser’s picker UI
|
|
29
31
|
*/
|
|
30
32
|
export declare const fileMatchesAccept: (file: File, acceptAttr: string) => boolean;
|
|
31
|
-
type ValidationProps = Pick<InputFileProps, 'id' | 'label' | 'inputFileButtonProps'>;
|
|
33
|
+
type ValidationProps = Pick<InputFileProps, 'id' | 'label' | 'inputFileButtonProps' | 'hideLabel' | 'popoverContent'>;
|
|
32
34
|
/**
|
|
33
35
|
* Validates the required props for the `DSInputFile` component.
|
|
34
36
|
*
|
|
@@ -42,5 +44,5 @@ type ValidationProps = Pick<InputFileProps, 'id' | 'label' | 'inputFileButtonPro
|
|
|
42
44
|
* @param {ValidationProps} params -The subset of DSInputFile properties to validate. This includes
|
|
43
45
|
* properties related to the prefix, suffix, icons and action button of the input.
|
|
44
46
|
*/
|
|
45
|
-
export declare const validateInputFileProps: ({ id, label, inputFileButtonProps, }: ValidationProps) => void;
|
|
47
|
+
export declare const validateInputFileProps: ({ id, label, inputFileButtonProps, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
46
48
|
export {};
|
|
@@ -61,8 +61,25 @@ export interface InputNumberProps extends Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
61
61
|
* @default 0
|
|
62
62
|
*/
|
|
63
63
|
min?: number | string;
|
|
64
|
+
/** The interval between legal numbers of the input.
|
|
65
|
+
* @default 1
|
|
66
|
+
*/
|
|
67
|
+
step?: number | string;
|
|
64
68
|
/** Text displayed as a prefix inside the input, maximum 8 characters. */
|
|
65
69
|
prefix?: string;
|
|
70
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
71
|
+
popoverContent?: React.ReactNode;
|
|
72
|
+
/** Popover info button props:
|
|
73
|
+
*
|
|
74
|
+
* `data-*`: Custom data attributes.
|
|
75
|
+
*
|
|
76
|
+
* `label`: Accessibility label for the default anchor button.
|
|
77
|
+
* (default) 'Toggle popover'
|
|
78
|
+
*/
|
|
79
|
+
popoverInfoButtonProps?: {
|
|
80
|
+
[key: `data-${string}`]: string | undefined;
|
|
81
|
+
label?: string;
|
|
82
|
+
};
|
|
66
83
|
/** Enables the readonly state of the input.
|
|
67
84
|
* @default false
|
|
68
85
|
*/
|
|
@@ -71,10 +88,6 @@ export interface InputNumberProps extends Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
71
88
|
* @default false
|
|
72
89
|
*/
|
|
73
90
|
required?: boolean;
|
|
74
|
-
/** The interval between legal numbers of the input.
|
|
75
|
-
* @default 1
|
|
76
|
-
*/
|
|
77
|
-
step?: number | string;
|
|
78
91
|
/** Text displayed as a suffix inside the input, maximum 5 characters. */
|
|
79
92
|
suffix?: string;
|
|
80
93
|
/** Defines a system feedback message, shown when `invalid={true}`. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InputNumberProps } from './InputNumber';
|
|
2
|
-
type ValidationProps = Pick<InputNumberProps, 'id' | 'label' | 'prefix' | 'suffix'>;
|
|
2
|
+
type ValidationProps = Pick<InputNumberProps, 'id' | 'label' | 'prefix' | 'suffix' | 'hideLabel' | 'popoverContent'>;
|
|
3
3
|
export declare const isValidValue: (value: string | number | readonly string[] | undefined | null) => boolean;
|
|
4
4
|
/**
|
|
5
5
|
* Validates the given properties of the DSInputNumber component for common configuration errors.
|
|
@@ -9,5 +9,5 @@ export declare const isValidValue: (value: string | number | readonly string[] |
|
|
|
9
9
|
* @param validationProps - The subset of DSInputNumber properties to validate. This includes
|
|
10
10
|
* properties related to the prefix, suffix, icons and action button of the input.
|
|
11
11
|
*/
|
|
12
|
-
export declare const validateInputNumberProps: ({ id, label, prefix, suffix, }: ValidationProps) => void;
|
|
12
|
+
export declare const validateInputNumberProps: ({ id, label, prefix, suffix, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
13
13
|
export {};
|
|
@@ -25,6 +25,19 @@ export interface InputPasswordProps extends Omit<InputHTMLAttributes<HTMLInputEl
|
|
|
25
25
|
* @default false
|
|
26
26
|
*/
|
|
27
27
|
invalid?: boolean;
|
|
28
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
29
|
+
popoverContent?: React.ReactNode;
|
|
30
|
+
/** Popover info button props:
|
|
31
|
+
*
|
|
32
|
+
* `data-*`: Custom data attributes.
|
|
33
|
+
*
|
|
34
|
+
* `label`: Accessibility label for the default anchor button.
|
|
35
|
+
* (default) 'Toggle popover'
|
|
36
|
+
*/
|
|
37
|
+
popoverInfoButtonProps?: {
|
|
38
|
+
[key: `data-${string}`]: string | undefined;
|
|
39
|
+
label?: string;
|
|
40
|
+
};
|
|
28
41
|
/** Enables the readonly state of the input.
|
|
29
42
|
* @default false
|
|
30
43
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InputPasswordProps } from './InputPassword';
|
|
2
|
-
type ValidationProps = Pick<InputPasswordProps, 'id' | 'label'>;
|
|
2
|
+
type ValidationProps = Pick<InputPasswordProps, 'id' | 'label' | 'hideLabel' | 'popoverContent'>;
|
|
3
3
|
/**
|
|
4
4
|
* Validates the given properties of the DSInputPassword component for common configuration errors.
|
|
5
5
|
* This function is intended to be used in development mode to provide developers with
|
|
@@ -8,5 +8,5 @@ type ValidationProps = Pick<InputPasswordProps, 'id' | 'label'>;
|
|
|
8
8
|
* @param validationProps - The subset of DSInputPassword properties to validate. This includes
|
|
9
9
|
* id and label.
|
|
10
10
|
*/
|
|
11
|
-
export declare const validateInputPasswordProps: ({ id, label }: ValidationProps) => void;
|
|
11
|
+
export declare const validateInputPasswordProps: ({ id, label, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
12
12
|
export {};
|
|
@@ -25,6 +25,19 @@ export interface InputSearchProps extends Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
25
25
|
* @default false
|
|
26
26
|
*/
|
|
27
27
|
invalid?: boolean;
|
|
28
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
29
|
+
popoverContent?: React.ReactNode;
|
|
30
|
+
/** Popover info button props:
|
|
31
|
+
*
|
|
32
|
+
* `data-*`: Custom data attributes.
|
|
33
|
+
*
|
|
34
|
+
* `label`: Accessibility label for the default anchor button.
|
|
35
|
+
* (default) 'Toggle popover'
|
|
36
|
+
*/
|
|
37
|
+
popoverInfoButtonProps?: {
|
|
38
|
+
[key: `data-${string}`]: string | undefined;
|
|
39
|
+
label?: string;
|
|
40
|
+
};
|
|
28
41
|
/** Enables the readonly state of the input.
|
|
29
42
|
* @default false
|
|
30
43
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InputSearchProps } from './InputSearch';
|
|
2
|
-
type ValidationProps = Pick<InputSearchProps, 'id' | 'label'>;
|
|
2
|
+
type ValidationProps = Pick<InputSearchProps, 'id' | 'label' | 'hideLabel' | 'popoverContent'>;
|
|
3
3
|
/**
|
|
4
4
|
* Validates the given properties of the DSInputSearch component for common configuration errors.
|
|
5
5
|
* This function is intended to be used in development mode to provide developers with
|
|
@@ -8,7 +8,7 @@ type ValidationProps = Pick<InputSearchProps, 'id' | 'label'>;
|
|
|
8
8
|
* @param validationProps - The subset of DSInputSearch properties to validate. This includes
|
|
9
9
|
* id and label.
|
|
10
10
|
*/
|
|
11
|
-
export declare const validateInputSearchProps: ({ id, label }: ValidationProps) => void;
|
|
11
|
+
export declare const validateInputSearchProps: ({ id, label, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
12
12
|
/**
|
|
13
13
|
* Determines whether the specified HTMLElement is within a form element.
|
|
14
14
|
*
|
|
@@ -53,6 +53,11 @@ export interface LinkButtonProps extends CommonLinkProps {
|
|
|
53
53
|
* @default 'medium'
|
|
54
54
|
*/
|
|
55
55
|
size?: LinkButtonSize;
|
|
56
|
+
/** Stretches the link over the parent's width.
|
|
57
|
+
* `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
stretched?: BreakpointCustomizable<boolean>;
|
|
56
61
|
/** Visual style variant of the link.
|
|
57
62
|
* @default 'filled'
|
|
58
63
|
*/
|
|
@@ -7,19 +7,18 @@ export type LinkButtonIconPosition = 'left' | 'right';
|
|
|
7
7
|
export type LinkButtonRel = 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'next' | 'nofollow' | 'noreferrer' | 'noopener' | 'prev' | 'search' | 'tag';
|
|
8
8
|
export type LinkButtonReferrerPolicy = 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
|
|
9
9
|
export type LinkButtonAriaAttribute = 'aria-label' | 'aria-current' | 'aria-labelledby';
|
|
10
|
-
type ValidationProps = Pick<LinkButtonProps, '
|
|
10
|
+
type ValidationProps = Pick<LinkButtonProps, 'hideLabel' | 'iconName' | 'iconSource' | 'isFlush' | 'size' | 'stretched' | 'theme' | 'variant'>;
|
|
11
11
|
/**
|
|
12
12
|
* Performs runtime validation on a subset of `DSLinkButton` props to detect
|
|
13
13
|
* misconfigurations during development.
|
|
14
14
|
*
|
|
15
|
-
* This function provides warnings or throws errors when invalid combinations
|
|
16
|
-
* of `variant`, `size`, or `theme` are detected—particularly for the `navigation` variant.
|
|
15
|
+
* This function provides warnings or throws errors when invalid combinations of props occur.
|
|
17
16
|
*
|
|
18
17
|
* Intended for development use only; should not be used in production environments.
|
|
19
18
|
*
|
|
20
|
-
* @param validationProps - An object containing the
|
|
19
|
+
* @param validationProps - An object containing the props to validate
|
|
21
20
|
* from the `DSLinkButton` component. These are validated to ensure
|
|
22
21
|
* they are used in supported combinations.
|
|
23
22
|
*/
|
|
24
|
-
export declare const validateLinkButtonProps: ({
|
|
23
|
+
export declare const validateLinkButtonProps: ({ hideLabel, iconName, iconSource, isFlush, size, stretched, theme, variant, }: ValidationProps) => void;
|
|
25
24
|
export {};
|
|
@@ -45,6 +45,19 @@ export interface RadioGroupProps extends Omit<FieldsetHTMLAttributes<HTMLFieldSe
|
|
|
45
45
|
* @default false
|
|
46
46
|
*/
|
|
47
47
|
invalid?: boolean;
|
|
48
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
49
|
+
popoverContent?: React.ReactNode;
|
|
50
|
+
/** Popover info button props:
|
|
51
|
+
*
|
|
52
|
+
* `data-*`: Custom data attributes.
|
|
53
|
+
*
|
|
54
|
+
* `label`: Accessibility label for the default anchor button.
|
|
55
|
+
* (default) 'Toggle popover'
|
|
56
|
+
*/
|
|
57
|
+
popoverInfoButtonProps?: {
|
|
58
|
+
[key: `data-${string}`]: string | undefined;
|
|
59
|
+
label?: string;
|
|
60
|
+
};
|
|
48
61
|
/** Marks the radio group as required.
|
|
49
62
|
* When this property is set, an asterisk (*) is automatically appended to the radio group's legend.
|
|
50
63
|
* @default false
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { RadioProps } from '../Radio/Radio';
|
|
2
2
|
import { RadioGroupProps } from './RadioGroup';
|
|
3
3
|
export type RadioGroupOption = Pick<RadioProps, 'label' | 'value' | 'className' | 'customArea' | 'hint' | 'isCustomAreaAbove'>;
|
|
4
|
-
type ValidationProps = Pick<RadioGroupProps, 'legend' | 'name' | 'options' | 'description' | 'direction' | 'id' | 'systemFeedback'>;
|
|
4
|
+
type ValidationProps = Pick<RadioGroupProps, 'legend' | 'name' | 'options' | 'description' | 'direction' | 'hideUncheckedHints' | 'id' | 'systemFeedback'>;
|
|
5
5
|
export declare const optionsHaveHint: (options: RadioGroupOption[]) => boolean;
|
|
6
6
|
export declare const optionsHaveCustomAreaInline: (options: RadioGroupOption[]) => boolean;
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const optionsHaveCustomAreaAbove: (options: RadioGroupOption[]) => boolean;
|
|
8
|
+
export declare const validateRadioGroupProps: ({ legend, name, options, description, direction, hideUncheckedHints, id, systemFeedback, }: ValidationProps) => void;
|
|
8
9
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -28,6 +28,19 @@ export interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement
|
|
|
28
28
|
* @default false
|
|
29
29
|
*/
|
|
30
30
|
invalid?: boolean;
|
|
31
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
32
|
+
popoverContent?: React.ReactNode;
|
|
33
|
+
/** Popover info button props:
|
|
34
|
+
*
|
|
35
|
+
* `data-*`: Custom data attributes.
|
|
36
|
+
*
|
|
37
|
+
* `label`: Accessibility label for the default anchor button.
|
|
38
|
+
* (default) 'Toggle popover'
|
|
39
|
+
*/
|
|
40
|
+
popoverInfoButtonProps?: {
|
|
41
|
+
[key: `data-${string}`]: string | undefined;
|
|
42
|
+
label?: string;
|
|
43
|
+
};
|
|
31
44
|
/** Modifies the empty option label to ensure a conscious choice.
|
|
32
45
|
* @default 'Select'
|
|
33
46
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
2
|
import { GroupBase, OptionsOrGroups } from 'react-select';
|
|
3
3
|
import { SelectProps } from './Select';
|
|
4
|
-
type ValidationProps = Pick<SelectProps, 'id' | 'label' | 'options'>;
|
|
4
|
+
type ValidationProps = Pick<SelectProps, 'id' | 'label' | 'options' | 'hideLabel' | 'popoverContent'>;
|
|
5
5
|
export interface SelectOption extends HTMLAttributes<HTMLOptionElement> {
|
|
6
6
|
label: string;
|
|
7
7
|
value: string | number;
|
|
@@ -19,7 +19,7 @@ export type SelectSize = (typeof SELECT_SIZE)[number];
|
|
|
19
19
|
* @param validationProps - The subset of DSSelect properties to validate. This includes
|
|
20
20
|
* id and label.
|
|
21
21
|
*/
|
|
22
|
-
export declare const validateSelectProps: ({ id, label, options, }: ValidationProps) => void;
|
|
22
|
+
export declare const validateSelectProps: ({ id, label, options, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
23
23
|
/**
|
|
24
24
|
* Determines the initial visibility of the placeholder based on the `placeholder` string and
|
|
25
25
|
* the values of `defaultValue` and `value` from the props.
|
|
@@ -51,6 +51,19 @@ export interface SliderProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
51
51
|
suffix?: string;
|
|
52
52
|
size?: InputSize;
|
|
53
53
|
};
|
|
54
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
55
|
+
popoverContent?: React.ReactNode;
|
|
56
|
+
/** Popover info button props:
|
|
57
|
+
*
|
|
58
|
+
* `data-*`: Custom data attributes.
|
|
59
|
+
*
|
|
60
|
+
* `label`: Accessibility label for the default anchor button.
|
|
61
|
+
* (default) 'Toggle popover'
|
|
62
|
+
*/
|
|
63
|
+
popoverInfoButtonProps?: {
|
|
64
|
+
[key: `data-${string}`]: string | undefined;
|
|
65
|
+
label?: string;
|
|
66
|
+
};
|
|
54
67
|
}
|
|
55
68
|
/**
|
|
56
69
|
* The `<DSSlider />` component is a flexible range input that allows users to select a value within a defined range.
|
|
@@ -31,6 +31,19 @@ export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaE
|
|
|
31
31
|
invalid?: boolean;
|
|
32
32
|
/** Maximum length of the textarea value - if set, a character counter is visible beneath the textarea. */
|
|
33
33
|
maxLength?: number;
|
|
34
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
35
|
+
popoverContent?: React.ReactNode;
|
|
36
|
+
/** Popover info button props:
|
|
37
|
+
*
|
|
38
|
+
* `data-*`: Custom data attributes.
|
|
39
|
+
*
|
|
40
|
+
* `label`: Accessibility label for the default anchor button.
|
|
41
|
+
* (default) 'Toggle popover'
|
|
42
|
+
*/
|
|
43
|
+
popoverInfoButtonProps?: {
|
|
44
|
+
[key: `data-${string}`]: string | undefined;
|
|
45
|
+
label?: string;
|
|
46
|
+
};
|
|
34
47
|
/** Enables the readonly state of the textarea.
|
|
35
48
|
* @default false
|
|
36
49
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TextareaProps } from './Textarea';
|
|
2
2
|
export declare const TEXTAREA_SIZE: readonly ["medium", "small"];
|
|
3
3
|
export type TextareaSize = (typeof TEXTAREA_SIZE)[number];
|
|
4
|
-
type ValidationProps = Pick<TextareaProps, 'id' | 'label'>;
|
|
4
|
+
type ValidationProps = Pick<TextareaProps, 'id' | 'label' | 'hideLabel' | 'popoverContent'>;
|
|
5
5
|
/**
|
|
6
6
|
* Validates the given properties of the DSTextarea component for common configuration errors.
|
|
7
7
|
* This function is intended to be used in development mode to provide developers with
|
|
@@ -9,5 +9,5 @@ type ValidationProps = Pick<TextareaProps, 'id' | 'label'>;
|
|
|
9
9
|
*
|
|
10
10
|
* @param validationProps - The subset of DSTextarea properties to validate.
|
|
11
11
|
*/
|
|
12
|
-
export declare const validateTextareaProps: ({ id, label }: ValidationProps) => void;
|
|
12
|
+
export declare const validateTextareaProps: ({ id, label, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
13
13
|
export {};
|