@tedi-design-system/react 18.1.0-rc.9 → 18.1.0
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/bundle-stats.html +1 -1
- package/index.css +1 -1
- package/package.json +12 -6
- package/src/community/components/anchor/anchor.d.ts +1 -0
- package/src/community/components/button/button.d.ts +1 -0
- package/src/community/components/card/card-content/card-content.d.ts +3 -0
- package/src/community/components/card/card-header/card-header.d.ts +3 -0
- package/src/community/components/card/card-notification/card-notification.d.ts +3 -0
- package/src/community/components/card/card.d.ts +3 -0
- package/src/community/components/dropdown/dropdown.cjs.js +1 -1
- package/src/community/components/dropdown/dropdown.d.ts +3 -0
- package/src/community/components/dropdown/dropdown.es.js +5 -6
- package/src/community/components/form/choice-group/choice-group.d.ts +3 -0
- package/src/community/components/form/file-upload/file-upload.d.ts +6 -0
- package/src/community/components/form/radio/radio.d.ts +3 -0
- package/src/community/components/form/select/select.d.ts +3 -0
- package/src/community/components/form/toggle/toggle.cjs.js +1 -1
- package/src/community/components/form/toggle/toggle.d.ts +3 -0
- package/src/community/components/form/toggle/toggle.es.js +5 -6
- package/src/community/components/layout/header/components/header-language/header-language.d.ts +3 -0
- package/src/community/components/layout/header/components/header-role/header-role.d.ts +3 -0
- package/src/community/components/layout/header/components/sidenav-toggle/sidenav-toggle.d.ts +3 -0
- package/src/community/components/layout/header/header/header.d.ts +3 -0
- package/src/community/components/layout/sidenav/sidenav.d.ts +3 -0
- package/src/community/components/map-components/button-group/button-group.module.scss.cjs.js +1 -1
- package/src/community/components/map-components/button-group/button-group.module.scss.es.js +1 -0
- package/src/community/components/map-components/left-panel/left-panel-content.cjs.js +1 -1
- package/src/community/components/map-components/left-panel/left-panel-content.d.ts +10 -5
- package/src/community/components/map-components/left-panel/left-panel-content.es.js +7 -21
- package/src/community/components/map-components/left-panel/left-panel-footer.cjs.js +1 -1
- package/src/community/components/map-components/left-panel/left-panel-footer.d.ts +11 -1
- package/src/community/components/map-components/left-panel/left-panel-footer.es.js +7 -24
- package/src/community/components/map-components/left-panel/left-panel-header.cjs.js +1 -1
- package/src/community/components/map-components/left-panel/left-panel-header.d.ts +11 -1
- package/src/community/components/map-components/left-panel/left-panel-header.es.js +7 -62
- package/src/community/components/map-components/left-panel/left-panel.cjs.js +1 -1
- package/src/community/components/map-components/left-panel/left-panel.d.ts +67 -5
- package/src/community/components/map-components/left-panel/left-panel.es.js +85 -14
- package/src/community/components/map-components/left-panel/left-panel.module.scss.cjs.js +1 -1
- package/src/community/components/map-components/left-panel/left-panel.module.scss.es.js +4 -4
- package/src/community/components/map-components/map-button/map-button.cjs.js +1 -1
- package/src/community/components/map-components/map-button/map-button.d.ts +8 -3
- package/src/community/components/map-components/map-button/map-button.es.js +42 -33
- package/src/community/components/map-components/map-button/map-button.module.scss.cjs.js +1 -1
- package/src/community/components/map-components/map-button/map-button.module.scss.es.js +3 -0
- package/src/community/components/map-components/resizer/resizer.cjs.js +1 -1
- package/src/community/components/map-components/resizer/resizer.es.js +9 -10
- package/src/community/components/status/status.d.ts +3 -0
- package/src/community/components/table/table.d.ts +3 -0
- package/src/community/components/tag/tag.d.ts +3 -0
- package/src/community/components/toggle-open/toggle-open.d.ts +3 -0
- package/src/community/components/tooltip/tooltip-trigger.cjs.js +1 -1
- package/src/community/components/tooltip/tooltip-trigger.d.ts +3 -0
- package/src/community/components/tooltip/tooltip-trigger.es.js +15 -14
- package/src/community/components/tooltip/tooltip.d.ts +3 -0
- package/src/tedi/components/buttons/button-content/button-content.cjs.js +1 -1
- package/src/tedi/components/buttons/button-content/button-content.es.js +31 -30
- package/src/tedi/components/buttons/collapse-button/collapse-button.cjs.js +1 -1
- package/src/tedi/components/buttons/collapse-button/collapse-button.es.js +2 -1
- package/src/tedi/components/content/label/label.cjs.js +1 -1
- package/src/tedi/components/content/label/label.d.ts +4 -3
- package/src/tedi/components/content/label/label.es.js +24 -27
- package/src/tedi/components/content/label/label.module.scss.cjs.js +1 -1
- package/src/tedi/components/content/label/label.module.scss.es.js +2 -1
- package/src/tedi/components/content/table/table.cjs.js +1 -1
- package/src/tedi/components/content/table/table.d.ts +8 -5
- package/src/tedi/components/content/table/table.es.js +308 -295
- package/src/tedi/components/form/checkbox/checkbox.cjs.js +1 -1
- package/src/tedi/components/form/checkbox/checkbox.es.js +64 -58
- package/src/tedi/components/form/choice-group/choice-group.cjs.js +1 -1
- package/src/tedi/components/form/choice-group/choice-group.es.js +98 -85
- package/src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.cjs.js +1 -1
- package/src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.es.js +13 -14
- package/src/tedi/components/form/choice-input.types.d.ts +3 -2
- package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
- package/src/tedi/components/form/date-field/date-field.d.ts +15 -0
- package/src/tedi/components/form/date-field/date-field.es.js +304 -269
- package/src/tedi/components/form/file-dropzone/file-dropzone.cjs.js +1 -1
- package/src/tedi/components/form/file-dropzone/file-dropzone.es.js +90 -79
- package/src/tedi/components/form/file-upload/file-upload.cjs.js +1 -1
- package/src/tedi/components/form/file-upload/file-upload.d.ts +4 -1
- package/src/tedi/components/form/file-upload/file-upload.es.js +138 -119
- package/src/tedi/components/form/file-upload/file-upload.module.scss.cjs.js +1 -1
- package/src/tedi/components/form/file-upload/file-upload.module.scss.es.js +1 -1
- package/src/tedi/components/form/form-label/form-label.d.ts +1 -1
- package/src/tedi/components/form/multi-value-field/multi-value-field.cjs.js +1 -1
- package/src/tedi/components/form/multi-value-field/multi-value-field.d.ts +8 -0
- package/src/tedi/components/form/multi-value-field/multi-value-field.es.js +147 -66
- package/src/tedi/components/form/multi-value-field/multi-value-field.module.scss.cjs.js +1 -1
- package/src/tedi/components/form/multi-value-field/multi-value-field.module.scss.es.js +3 -0
- package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
- package/src/tedi/components/form/number-field/number-field.es.js +117 -112
- package/src/tedi/components/form/radio/radio.cjs.js +1 -1
- package/src/tedi/components/form/radio/radio.es.js +24 -23
- package/src/tedi/components/form/search/search.cjs.js +1 -1
- package/src/tedi/components/form/search/search.es.js +60 -40
- package/src/tedi/components/form/search/search.module.scss.cjs.js +1 -1
- package/src/tedi/components/form/search/search.module.scss.es.js +7 -3
- package/src/tedi/components/form/select/components/select-input.cjs.js +1 -1
- package/src/tedi/components/form/select/components/select-input.es.js +24 -15
- package/src/tedi/components/form/select/components/select-multi-value-remove.cjs.js +1 -1
- package/src/tedi/components/form/select/components/select-multi-value-remove.es.js +11 -11
- package/src/tedi/components/form/select/components/select-multi-value.cjs.js +1 -1
- package/src/tedi/components/form/select/components/select-multi-value.es.js +34 -30
- package/src/tedi/components/form/select/select.cjs.js +1 -1
- package/src/tedi/components/form/select/select.d.ts +14 -0
- package/src/tedi/components/form/select/select.es.js +274 -267
- package/src/tedi/components/layout/header/components/header-language/header-language.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-language/header-language.es.js +105 -0
- package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.es.js +12 -0
- package/src/tedi/components/layout/header/components/header-login/header-login.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-login/header-login.es.js +36 -0
- package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.es.js +8 -0
- package/src/tedi/components/layout/header/components/header-logout/header-logout.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-logout/header-logout.es.js +33 -0
- package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.es.js +7 -0
- package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.es.js +25 -0
- package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.es.js +10 -0
- package/src/tedi/components/layout/header/components/header-profile/header-profile.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-profile/header-profile.es.js +136 -0
- package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.es.js +14 -0
- package/src/tedi/components/layout/header/components/header-role/header-role-representatives.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-role/header-role-representatives.es.js +89 -0
- package/src/tedi/components/layout/header/components/header-role/header-role.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-role/header-role.es.js +162 -0
- package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.es.js +25 -0
- package/src/tedi/components/layout/header/components/header-search/header-search.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-search/header-search.es.js +60 -0
- package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.es.js +9 -0
- package/src/tedi/components/layout/header/header.cjs.js +1 -0
- package/src/tedi/components/layout/header/header.es.js +63 -0
- package/src/tedi/components/layout/header/header.module.scss.cjs.js +1 -0
- package/src/tedi/components/layout/header/header.module.scss.es.js +13 -0
- package/src/tedi/components/layout/hide-at/hide-at.cjs.js +1 -0
- package/src/tedi/components/layout/hide-at/hide-at.es.js +10 -0
- package/src/tedi/components/layout/show-at/show-at.cjs.js +1 -0
- package/src/tedi/components/layout/show-at/show-at.es.js +10 -0
- package/src/tedi/components/loaders/spinner/spinner.cjs.js +1 -1
- package/src/tedi/components/loaders/spinner/spinner.d.ts +7 -0
- package/src/tedi/components/loaders/spinner/spinner.es.js +29 -18
- package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.cjs.js +1 -1
- package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.es.js +8 -7
- package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -1
- package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +10 -9
- package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
- package/src/tedi/components/overlays/overlay/overlay-content.es.js +14 -12
- package/src/tedi/components/overlays/overlay/overlay-trigger.cjs.js +1 -1
- package/src/tedi/components/overlays/overlay/overlay-trigger.es.js +20 -19
- package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
- package/src/tedi/components/overlays/overlay/overlay.d.ts +10 -0
- package/src/tedi/components/overlays/overlay/overlay.es.js +74 -71
- package/src/tedi/components/overlays/tooltip/index.d.ts +1 -0
- package/src/tedi/components/overlays/tooltip/info-tooltip.cjs.js +1 -0
- package/src/tedi/components/overlays/tooltip/info-tooltip.d.ts +52 -0
- package/src/tedi/components/overlays/tooltip/info-tooltip.es.js +24 -0
- package/src/tedi/components/tags/tag/tag.cjs.js +1 -1
- package/src/tedi/components/tags/tag/tag.d.ts +9 -0
- package/src/tedi/components/tags/tag/tag.es.js +18 -17
- package/src/tedi/helpers/get-element-ref.cjs.js +1 -0
- package/src/tedi/helpers/get-element-ref.d.ts +11 -0
- package/src/tedi/helpers/get-element-ref.es.js +8 -0
- package/src/tedi/helpers/hooks/use-file-upload.cjs.js +1 -1
- package/src/tedi/helpers/hooks/use-file-upload.es.js +71 -66
- package/src/tedi/index.d.ts +3 -0
- package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
- package/src/tedi/providers/label-provider/labels-map.d.ts +69 -6
- package/src/tedi/providers/label-provider/labels-map.es.js +137 -74
- package/tedi.cjs.js +1 -1
- package/tedi.es.js +305 -281
|
@@ -5,29 +5,29 @@ import { FeedbackText as M } from "../feedback-text/feedback-text.es.js";
|
|
|
5
5
|
import { FormLabel as q } from "../form-label/form-label.es.js";
|
|
6
6
|
import e from "./radio.module.scss.es.js";
|
|
7
7
|
import { Row as v } from "../../layout/grid/row.es.js";
|
|
8
|
-
import { Col as
|
|
9
|
-
const K = (
|
|
8
|
+
import { Col as N } from "../../layout/grid/col.es.js";
|
|
9
|
+
const K = (C) => {
|
|
10
10
|
const {
|
|
11
11
|
id: o,
|
|
12
12
|
label: m,
|
|
13
13
|
value: h,
|
|
14
|
-
className:
|
|
14
|
+
className: g,
|
|
15
15
|
disabled: c,
|
|
16
16
|
onChange: a,
|
|
17
|
-
hideLabel:
|
|
17
|
+
hideLabel: y,
|
|
18
18
|
helper: r,
|
|
19
19
|
checked: t,
|
|
20
|
-
defaultChecked:
|
|
21
|
-
hover:
|
|
22
|
-
name:
|
|
20
|
+
defaultChecked: R,
|
|
21
|
+
hover: x,
|
|
22
|
+
name: j,
|
|
23
23
|
tooltip: p,
|
|
24
24
|
size: f = "default",
|
|
25
|
-
invalid:
|
|
26
|
-
required:
|
|
25
|
+
invalid: w,
|
|
26
|
+
required: u,
|
|
27
27
|
...I
|
|
28
|
-
} =
|
|
28
|
+
} = C, [_, L] = n.useState(R || !1), b = n.useRef(null), $ = n.useMemo(() => a && typeof t < "u" ? t : _, [a, _, t]), z = (i) => {
|
|
29
29
|
typeof t > "u" && L(i == null ? void 0 : i.target.checked), a == null || a(h, i == null ? void 0 : i.target.checked);
|
|
30
|
-
},
|
|
30
|
+
}, k = r ? r.id ?? `${o}-helper` : void 0, B = p ? `${o}-tooltip` : void 0, F = l(e["tedi-radio__label"], { [e["tedi-radio--disabled"]]: c });
|
|
31
31
|
return /* @__PURE__ */ s(
|
|
32
32
|
"div",
|
|
33
33
|
{
|
|
@@ -36,19 +36,20 @@ const K = (N) => {
|
|
|
36
36
|
...I,
|
|
37
37
|
children: [
|
|
38
38
|
/* @__PURE__ */ s(v, { gutter: 0, children: [
|
|
39
|
-
/* @__PURE__ */ d(
|
|
39
|
+
/* @__PURE__ */ d(N, { width: "auto", children: /* @__PURE__ */ s("div", { className: e["tedi-radio__outer-indicator-wrapper"], children: [
|
|
40
40
|
/* @__PURE__ */ d(
|
|
41
41
|
"input",
|
|
42
42
|
{
|
|
43
43
|
id: o,
|
|
44
44
|
value: h,
|
|
45
|
-
name:
|
|
45
|
+
name: j,
|
|
46
46
|
type: "radio",
|
|
47
47
|
disabled: c,
|
|
48
48
|
checked: $,
|
|
49
49
|
onChange: z,
|
|
50
50
|
className: e["tedi-radio__input"],
|
|
51
|
-
"aria-describedby": [
|
|
51
|
+
"aria-describedby": [k, B].filter(Boolean).join(" "),
|
|
52
|
+
required: u
|
|
52
53
|
}
|
|
53
54
|
),
|
|
54
55
|
/* @__PURE__ */ d(
|
|
@@ -57,34 +58,34 @@ const K = (N) => {
|
|
|
57
58
|
"aria-hidden": "true",
|
|
58
59
|
onClick: () => {
|
|
59
60
|
var i;
|
|
60
|
-
return (i =
|
|
61
|
+
return (i = b.current) == null ? void 0 : i.click();
|
|
61
62
|
},
|
|
62
63
|
className: l(
|
|
63
64
|
e["tedi-radio__indicator"],
|
|
64
|
-
{ [e["tedi-radio__indicator--hover"]]:
|
|
65
|
+
{ [e["tedi-radio__indicator--hover"]]: x },
|
|
65
66
|
{ [e[`tedi-radio__indicator--size-${f}`]]: f },
|
|
66
|
-
{ [e["tedi-radio__indicator--invalid"]]:
|
|
67
|
-
|
|
67
|
+
{ [e["tedi-radio__indicator--invalid"]]: w },
|
|
68
|
+
g
|
|
68
69
|
),
|
|
69
70
|
"data-testid": "radio-indicator"
|
|
70
71
|
}
|
|
71
72
|
)
|
|
72
73
|
] }) }),
|
|
73
|
-
m && /* @__PURE__ */ d(
|
|
74
|
+
m && /* @__PURE__ */ d(N, { children: /* @__PURE__ */ d(
|
|
74
75
|
q,
|
|
75
76
|
{
|
|
76
|
-
ref:
|
|
77
|
+
ref: b,
|
|
77
78
|
className: F,
|
|
78
79
|
id: o,
|
|
79
80
|
"data-testid": "radio-label",
|
|
80
|
-
hideLabel:
|
|
81
|
+
hideLabel: y,
|
|
81
82
|
label: m,
|
|
82
83
|
tooltip: p,
|
|
83
|
-
required:
|
|
84
|
+
required: u
|
|
84
85
|
}
|
|
85
86
|
) })
|
|
86
87
|
] }),
|
|
87
|
-
r && /* @__PURE__ */ d(M, { id:
|
|
88
|
+
r && /* @__PURE__ */ d(M, { id: k, ...r, className: l(e["tedi-radio__helper"], r.className) })
|
|
88
89
|
]
|
|
89
90
|
}
|
|
90
91
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),t=require("../../../../../external/classnames/index.cjs.js"),v=require("react"),w=require("../../buttons/button/button.cjs.js"),j=require("../textfield/textfield.cjs.js"),a=require("./search.module.scss.cjs.js"),L=require("../../../providers/label-provider/use-labels.cjs.js"),n=v.forwardRef(({placeholder:u,isClearable:o=!0,searchIcon:r="search",onSearch:s,onChange:f,button:e,ariaLabel:h,className:_,input:p,...l},m)=>{const{getLabel:i}=L.useLabels(),b=g=>{g.key==="Enter"&&(s==null||s(l.value))},x=()=>{s==null||s(l.value)},d=typeof r=="string"?{name:r}:r,y={color:"secondary",...d,className:t.default(d.className,l.disabled&&a.default["tedi-search__icon--disabled"])},q={...l,ref:m,inputClassName:t.default(a.default["tedi-search__input"],e&&a.default["tedi-search__input--has-button"],_),placeholder:u,isClearable:o,onKeyDown:b,onChange:f,input:{...p,role:"searchbox"},...e?{}:{icon:y}},N=h||i("search");return c.jsxs("div",{className:t.default(a.default["tedi-search__wrapper"],l.size==="small"&&a.default["tedi-search__wrapper--small"],l.size==="large"&&a.default["tedi-search__wrapper--large"]),role:"search","aria-label":N,children:[c.jsx(j.TextField,{...q}),e&&c.jsx(w.Button,{...e,onClick:x,className:t.default(a.default["tedi-search__button"],!e.children&&a.default["tedi-search__button--icon-only"],e.className),"aria-label":e.children?void 0:i("search"),children:e.children??i("search")})]})});n.displayName="Search";exports.Search=n;
|
|
@@ -1,54 +1,74 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { forwardRef as
|
|
4
|
-
import { Button as
|
|
5
|
-
import { TextField as
|
|
1
|
+
import { jsxs as b, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import i from "../../../../../external/classnames/index.es.js";
|
|
3
|
+
import { forwardRef as g } from "react";
|
|
4
|
+
import { Button as k } from "../../buttons/button/button.es.js";
|
|
5
|
+
import { TextField as B } from "../textfield/textfield.es.js";
|
|
6
6
|
import a from "./search.module.scss.es.js";
|
|
7
7
|
import { useLabels as C } from "../../../providers/label-provider/use-labels.es.js";
|
|
8
|
-
const
|
|
8
|
+
const L = g(
|
|
9
9
|
({
|
|
10
|
-
placeholder:
|
|
11
|
-
isClearable:
|
|
12
|
-
searchIcon:
|
|
10
|
+
placeholder: d,
|
|
11
|
+
isClearable: m = !0,
|
|
12
|
+
searchIcon: l = "search",
|
|
13
13
|
onSearch: s,
|
|
14
|
-
onChange:
|
|
14
|
+
onChange: n,
|
|
15
15
|
button: e,
|
|
16
16
|
ariaLabel: p,
|
|
17
|
-
className:
|
|
18
|
-
input:
|
|
17
|
+
className: _,
|
|
18
|
+
input: h,
|
|
19
19
|
...r
|
|
20
|
-
},
|
|
21
|
-
const { getLabel:
|
|
20
|
+
}, f) => {
|
|
21
|
+
const { getLabel: c } = C(), y = (v) => {
|
|
22
22
|
v.key === "Enter" && (s == null || s(r.value));
|
|
23
|
-
},
|
|
23
|
+
}, N = () => {
|
|
24
24
|
s == null || s(r.value);
|
|
25
|
-
},
|
|
25
|
+
}, o = typeof l == "string" ? { name: l } : l, u = {
|
|
26
|
+
color: "secondary",
|
|
27
|
+
...o,
|
|
28
|
+
className: i(o.className, r.disabled && a["tedi-search__icon--disabled"])
|
|
29
|
+
}, w = {
|
|
26
30
|
...r,
|
|
27
|
-
ref:
|
|
28
|
-
inputClassName:
|
|
29
|
-
placeholder:
|
|
30
|
-
isClearable:
|
|
31
|
-
onKeyDown:
|
|
32
|
-
onChange:
|
|
33
|
-
input: { ...
|
|
34
|
-
...e ? {} : { icon:
|
|
35
|
-
},
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
ref: f,
|
|
32
|
+
inputClassName: i(a["tedi-search__input"], e && a["tedi-search__input--has-button"], _),
|
|
33
|
+
placeholder: d,
|
|
34
|
+
isClearable: m,
|
|
35
|
+
onKeyDown: y,
|
|
36
|
+
onChange: n,
|
|
37
|
+
input: { ...h, role: "searchbox" },
|
|
38
|
+
...e ? {} : { icon: u }
|
|
39
|
+
}, x = p || c("search");
|
|
40
|
+
return /* @__PURE__ */ b(
|
|
41
|
+
"div",
|
|
42
|
+
{
|
|
43
|
+
className: i(
|
|
44
|
+
a["tedi-search__wrapper"],
|
|
45
|
+
r.size === "small" && a["tedi-search__wrapper--small"],
|
|
46
|
+
r.size === "large" && a["tedi-search__wrapper--large"]
|
|
47
|
+
),
|
|
48
|
+
role: "search",
|
|
49
|
+
"aria-label": x,
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ t(B, { ...w }),
|
|
52
|
+
e && /* @__PURE__ */ t(
|
|
53
|
+
k,
|
|
54
|
+
{
|
|
55
|
+
...e,
|
|
56
|
+
onClick: N,
|
|
57
|
+
className: i(
|
|
58
|
+
a["tedi-search__button"],
|
|
59
|
+
!e.children && a["tedi-search__button--icon-only"],
|
|
60
|
+
e.className
|
|
61
|
+
),
|
|
62
|
+
"aria-label": e.children ? void 0 : c("search"),
|
|
63
|
+
children: e.children ?? c("search")
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
);
|
|
49
69
|
}
|
|
50
70
|
);
|
|
51
|
-
|
|
71
|
+
L.displayName = "Search";
|
|
52
72
|
export {
|
|
53
|
-
|
|
73
|
+
L as Search
|
|
54
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-search__wrapper":"tedi-search__wrapper-92d6f11f","tedi-search__input":"tedi-search__input-94d53b76","tedi-search__input--has-button":"tedi-search__input--has-button-d8e073e7","tedi-search__button":"tedi-search__button-cbb4df17"};exports.default=e;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-search__wrapper":"tedi-search__wrapper-92d6f11f","tedi-search__input":"tedi-search__input-94d53b76","tedi-search__input--has-button":"tedi-search__input--has-button-d8e073e7","tedi-search__icon--disabled":"tedi-search__icon--disabled-2b492592","tedi-search__button":"tedi-search__button-cbb4df17","tedi-search__wrapper--small":"tedi-search__wrapper--small-7c104c6a","tedi-search__wrapper--large":"tedi-search__wrapper--large-b59e60d7","tedi-search__button--icon-only":"tedi-search__button--icon-only-cf897af5"};exports.default=e;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e = {
|
|
2
2
|
"tedi-search__wrapper": "tedi-search__wrapper-92d6f11f",
|
|
3
3
|
"tedi-search__input": "tedi-search__input-94d53b76",
|
|
4
4
|
"tedi-search__input--has-button": "tedi-search__input--has-button-d8e073e7",
|
|
5
|
-
"tedi-
|
|
5
|
+
"tedi-search__icon--disabled": "tedi-search__icon--disabled-2b492592",
|
|
6
|
+
"tedi-search__button": "tedi-search__button-cbb4df17",
|
|
7
|
+
"tedi-search__wrapper--small": "tedi-search__wrapper--small-7c104c6a",
|
|
8
|
+
"tedi-search__wrapper--large": "tedi-search__wrapper--large-b59e60d7",
|
|
9
|
+
"tedi-search__button--icon-only": "tedi-search__button--icon-only-cf897af5"
|
|
6
10
|
};
|
|
7
11
|
export {
|
|
8
|
-
|
|
12
|
+
e as default
|
|
9
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("../../../../../../external/classnames/index.cjs.js"),n=require("../select.module.scss.cjs.js"),l=require("../../../../../../external/react-select/dist/index-641ee5b8.esm.cjs.js"),u=e=>{var i;const d=e.selectProps["aria-describedby"],s=[...(((i=e["aria-describedby"])==null?void 0:i.split(" "))??[]).filter(t=>t&&!t.endsWith("-placeholder")),d].filter(Boolean).join(" ")||void 0;return r.jsx(l.c.Input,{...e,className:c.default(e.className,n.default["tedi-select__input"]),isHidden:e.selectProps.inputIsHidden!==void 0?e.selectProps.inputIsHidden:e.isHidden,"aria-required":e.selectProps.required,required:e.selectProps.required,"aria-describedby":s,inputMode:e.selectProps.softKeyboardSuppressed?"none":void 0})};exports.SelectInput=u;
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { c as
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
...e,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import c from "../../../../../../external/classnames/index.es.js";
|
|
3
|
+
import o from "../select.module.scss.es.js";
|
|
4
|
+
import { c as n } from "../../../../../../external/react-select/dist/index-641ee5b8.esm.es.js";
|
|
5
|
+
const b = (e) => {
|
|
6
|
+
var i;
|
|
7
|
+
const r = e.selectProps["aria-describedby"], d = [
|
|
8
|
+
...(((i = e["aria-describedby"]) == null ? void 0 : i.split(" ")) ?? []).filter((s) => s && !s.endsWith("-placeholder")),
|
|
9
|
+
r
|
|
10
|
+
].filter(Boolean).join(" ") || void 0;
|
|
11
|
+
return /* @__PURE__ */ t(
|
|
12
|
+
n.Input,
|
|
13
|
+
{
|
|
14
|
+
...e,
|
|
15
|
+
className: c(e.className, o["tedi-select__input"]),
|
|
16
|
+
isHidden: e.selectProps.inputIsHidden !== void 0 ? e.selectProps.inputIsHidden : e.isHidden,
|
|
17
|
+
"aria-required": e.selectProps.required,
|
|
18
|
+
required: e.selectProps.required,
|
|
19
|
+
"aria-describedby": d,
|
|
20
|
+
inputMode: e.selectProps.softKeyboardSuppressed ? "none" : void 0
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
};
|
|
15
24
|
export {
|
|
16
|
-
|
|
25
|
+
b as SelectInput
|
|
17
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("../../../buttons/closing-button/closing-button.cjs.js"),c=require("../../../misc/separator/separator.cjs.js"),r=require("../select.module.scss.cjs.js"),u=require("../../../../providers/label-provider/use-labels.cjs.js"),m=({innerProps:o,data:l})=>{const{getLabel:i}=u.useLabels(),s=e=>{o.onClick&&o.onClick(e)},n=e=>{(e.key==="Enter"||e.key===" ")&&s(e)};return t.jsxs(t.Fragment,{children:[t.jsx(a.ClosingButton,{onMouseDown:e=>e.stopPropagation(),onClick:s,onKeyDown:n,className:r.default["tedi-select__multi-value-clear"],iconSize:18,title:`${i("remove")} ${typeof l.label=="string"?l.label:l.value}`}),t.jsx(c.Separator,{color:"primary",axis:"vertical",className:r.default["tedi-select__separator"]})]})};exports.SelectMultiValueRemove=m;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as a, Fragment as n, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { ClosingButton as c } from "../../../buttons/closing-button/closing-button.es.js";
|
|
3
3
|
import { Separator as m } from "../../../misc/separator/separator.es.js";
|
|
4
|
-
import
|
|
4
|
+
import i from "../select.module.scss.es.js";
|
|
5
5
|
import { useLabels as p } from "../../../../providers/label-provider/use-labels.es.js";
|
|
6
|
-
const
|
|
7
|
-
const { getLabel:
|
|
8
|
-
|
|
6
|
+
const b = ({ innerProps: l, data: o }) => {
|
|
7
|
+
const { getLabel: s } = p(), t = (e) => {
|
|
8
|
+
l.onClick && l.onClick(e);
|
|
9
9
|
};
|
|
10
|
-
return /* @__PURE__ */
|
|
11
|
-
/* @__PURE__ */
|
|
10
|
+
return /* @__PURE__ */ a(n, { children: [
|
|
11
|
+
/* @__PURE__ */ r(
|
|
12
12
|
c,
|
|
13
13
|
{
|
|
14
14
|
onMouseDown: (e) => e.stopPropagation(),
|
|
@@ -16,14 +16,14 @@ const g = ({ innerProps: o, data: a }) => {
|
|
|
16
16
|
onKeyDown: (e) => {
|
|
17
17
|
(e.key === "Enter" || e.key === " ") && t(e);
|
|
18
18
|
},
|
|
19
|
-
className:
|
|
19
|
+
className: i["tedi-select__multi-value-clear"],
|
|
20
20
|
iconSize: 18,
|
|
21
|
-
title: `${
|
|
21
|
+
title: `${s("remove")} ${typeof o.label == "string" ? o.label : o.value}`
|
|
22
22
|
}
|
|
23
23
|
),
|
|
24
|
-
/* @__PURE__ */
|
|
24
|
+
/* @__PURE__ */ r(m, { color: "primary", axis: "vertical", className: i["tedi-select__separator"] })
|
|
25
25
|
] });
|
|
26
26
|
};
|
|
27
27
|
export {
|
|
28
|
-
|
|
28
|
+
b as SelectMultiValueRemove
|
|
29
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),b=require("../../../../../../external/classnames/index.cjs.js"),S=require("../../../tags/tag/tag.cjs.js"),p=require("../select.module.scss.cjs.js"),r=require("./select-bulk-helpers.cjs.js"),q=require("./select-tags-context.cjs.js"),L=require("../../../../providers/label-provider/use-labels.cjs.js"),d=t=>l=>{if(l.type==="click"&&t.onClick){t.onClick(l);return}if(l.type==="keydown"){const n=l;(n.key==="Enter"||n.key===" ")&&t.onClick&&(n.preventDefault(),n.stopPropagation(),t.onClick(n))}},M=({isTagRemovable:t,tagsEllipsis:l=!1,children:n,removeProps:y,...a})=>{const{getLabel:f}=L.useLabels(),{isSingleRow:C,visibleCount:i}=q.useSelectTagsContext();if(a.data.value===r.SELECT_ALL_VALUE||r.isGroupSentinel(a.data))return null;const s=a.selectProps.value??[],o=Array.isArray(s)?s.findIndex(e=>e.value===a.data.value):-1,g=C&&i!==null&&o!==-1&&o>=i,u=d(y),k=e=>{e.stopPropagation(),u(e)},x=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),e.stopPropagation(),u(e))};return g?null:c.jsx("div",{onMouseDown:e=>e.stopPropagation(),"data-tedi-tag-index":o,className:b.default({[p.default["tedi-select__multi-value--ellipsis"]]:l!==!1}),children:c.jsx(S.Tag,{color:"primary",ellipsis:l,onClose:t?k:void 0,closeButtonProps:t?{tabIndex:0,title:`${f("remove")} ${typeof a.data.label=="string"?a.data.label:a.data.value}`,onMouseDown:e=>e.stopPropagation(),onKeyDown:x}:void 0,children:n})})};exports.SelectMultiValue=M;exports.createMultiValueCloseHandler=d;
|
|
@@ -1,49 +1,53 @@
|
|
|
1
1
|
import { jsx as c } from "react/jsx-runtime";
|
|
2
2
|
import C from "../../../../../../external/classnames/index.es.js";
|
|
3
3
|
import { Tag as k } from "../../../tags/tag/tag.es.js";
|
|
4
|
-
import
|
|
5
|
-
import { SELECT_ALL_VALUE as
|
|
4
|
+
import g from "../select.module.scss.es.js";
|
|
5
|
+
import { SELECT_ALL_VALUE as x, isGroupSentinel as b } from "./select-bulk-helpers.es.js";
|
|
6
6
|
import { useSelectTagsContext as w } from "./select-tags-context.es.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import { useLabels as D } from "../../../../providers/label-provider/use-labels.es.js";
|
|
8
|
+
const L = (e) => (o) => {
|
|
9
|
+
if (o.type === "click" && e.onClick) {
|
|
10
|
+
e.onClick(o);
|
|
10
11
|
return;
|
|
11
12
|
}
|
|
12
|
-
if (
|
|
13
|
-
const l =
|
|
14
|
-
(l.key === "Enter" || l.key === " ") &&
|
|
13
|
+
if (o.type === "keydown") {
|
|
14
|
+
const l = o;
|
|
15
|
+
(l.key === "Enter" || l.key === " ") && e.onClick && (l.preventDefault(), l.stopPropagation(), e.onClick(l));
|
|
15
16
|
}
|
|
16
|
-
},
|
|
17
|
-
isTagRemovable:
|
|
18
|
-
tagsEllipsis:
|
|
17
|
+
}, V = ({
|
|
18
|
+
isTagRemovable: e,
|
|
19
|
+
tagsEllipsis: o = !1,
|
|
19
20
|
children: l,
|
|
20
|
-
removeProps:
|
|
21
|
-
...
|
|
21
|
+
removeProps: d,
|
|
22
|
+
...a
|
|
22
23
|
}) => {
|
|
23
|
-
const { isSingleRow:
|
|
24
|
-
if (
|
|
24
|
+
const { getLabel: u } = D(), { isSingleRow: f, visibleCount: i } = w();
|
|
25
|
+
if (a.data.value === x || b(a.data))
|
|
25
26
|
return null;
|
|
26
|
-
const s =
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
(
|
|
27
|
+
const s = a.selectProps.value ?? [], n = Array.isArray(s) ? s.findIndex((t) => t.value === a.data.value) : -1, m = f && i !== null && n !== -1 && n >= i, r = L(d), y = (t) => {
|
|
28
|
+
t.stopPropagation(), r(t);
|
|
29
|
+
}, p = (t) => {
|
|
30
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), r(t));
|
|
30
31
|
};
|
|
31
|
-
return
|
|
32
|
+
return m ? null : /* @__PURE__ */ c(
|
|
32
33
|
"div",
|
|
33
34
|
{
|
|
34
|
-
onMouseDown: (
|
|
35
|
-
"data-tedi-tag-index":
|
|
36
|
-
className: C({ [
|
|
35
|
+
onMouseDown: (t) => t.stopPropagation(),
|
|
36
|
+
"data-tedi-tag-index": n,
|
|
37
|
+
className: C({ [g["tedi-select__multi-value--ellipsis"]]: o !== !1 }),
|
|
37
38
|
children: /* @__PURE__ */ c(
|
|
38
39
|
k,
|
|
39
40
|
{
|
|
40
41
|
color: "primary",
|
|
41
|
-
ellipsis:
|
|
42
|
-
onClose:
|
|
43
|
-
closeButtonProps:
|
|
42
|
+
ellipsis: o,
|
|
43
|
+
onClose: e ? y : void 0,
|
|
44
|
+
closeButtonProps: e ? {
|
|
44
45
|
tabIndex: 0,
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
// Name the button "Remove <option>" so screen readers say which
|
|
47
|
+
// tag is removed, instead of a bare "Close".
|
|
48
|
+
title: `${u("remove")} ${typeof a.data.label == "string" ? a.data.label : a.data.value}`,
|
|
49
|
+
onMouseDown: (t) => t.stopPropagation(),
|
|
50
|
+
onKeyDown: p
|
|
47
51
|
} : void 0,
|
|
48
52
|
children: l
|
|
49
53
|
}
|
|
@@ -52,6 +56,6 @@ const D = (t) => (e) => {
|
|
|
52
56
|
);
|
|
53
57
|
};
|
|
54
58
|
export {
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
V as SelectMultiValue,
|
|
60
|
+
L as createMultiValueCloseHandler
|
|
57
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("react/jsx-runtime"),Q=require("../../../../../external/classnames/index.cjs.js"),a=require("react"),tt=require("../../../../../external/react-select/dist/react-select.esm.cjs.js"),nt=require("../../../../../external/react-select/async/dist/react-select-async.esm.cjs.js"),lt=require("../feedback-text/feedback-text.cjs.js"),ot=require("../form-label/form-label.cjs.js"),T=require("../input-group/input-group.cjs.js"),st=require("../input-group/input-group.module.scss.cjs.js"),i=require("./components/select-bulk-helpers.cjs.js"),at=require("./components/select-clear-indicator.cjs.js"),rt=require("./components/select-control.cjs.js"),it=require("./components/select-dropdown-indicator.cjs.js"),ut=require("./components/select-group.cjs.js"),ct=require("./components/select-group-heading.cjs.js"),dt=require("./components/select-indicators-container.cjs.js"),pt=require("./components/select-input.cjs.js"),ft=require("./components/select-loading-indicator.cjs.js"),St=require("./components/select-menu.cjs.js"),gt=require("./components/select-menu-list.cjs.js"),bt=require("./components/select-menu-portal.cjs.js"),mt=require("./components/select-multi-value.cjs.js"),yt=require("./components/select-multi-value-remove.cjs.js"),Lt=require("./components/select-option.cjs.js"),Mt=require("./components/select-single-value.cjs.js"),vt=require("./components/select-value-container.cjs.js"),p=require("./select.module.scss.cjs.js"),It=require("../../../providers/label-provider/use-labels.cjs.js"),Y=a.forwardRef((k,Z)=>{var J;const{options:c,defaultOptions:ee,name:te,iconName:ne="arrow_drop_down",label:le,required:R,value:x,defaultValue:D,tagsDirection:V="stack",onChange:_,onInputChange:oe,inputValue:se,loadOptions:ae,isLoading:re,openMenuOnFocus:ie=!1,openMenuOnClick:ue=!0,tabSelectsValue:ce=!1,disabled:P=!1,className:de,hideLabel:pe=!1,helper:u,placeholder:fe,invalid:Se,valid:ge,size:q,async:be=!1,renderOption:me,renderMessageListFooter:F,noOptionsMessage:ye,loadingMessage:Le,multiple:v=!1,showSelectAll:G=!1,selectableGroups:N=!1,dropdownType:Me="menu",renderValue:ve,closeMenuOnSelect:Ie=!v,blurInputOnSelect:j=!1,autoFocus:he=!1,isClearable:Ce=!0,isClearIndicatorVisible:Ae=!1,isSearchable:C=!0,openKeyboardOnTouch:H=!0,menuIsOpen:Oe,onMenuClose:Ve,onMenuOpen:_e,onBlur:E,inputIsHidden:qe,isTagRemovable:Ee=!1,tagsEllipsis:we=!1,backspaceRemovesValue:Te=!1,optionGroupHeadingText:ke={modifiers:"small",color:"tertiary"},cacheOptions:Re=!0,showRadioButtons:xe=!1,renderWithoutLabel:De,tooltip:Pe,classNames:U}=k,d=(J=T.useOptionalInputGroup)==null?void 0:J.call(T),Fe=a.useId(),w=d==null?void 0:d.hasExternalLabel,g=k.id??(d==null?void 0:d.inputId)??Fe,Ge=w?(d==null?void 0:d.inputId)??g:`${g}-input`,Ne=w?`${g}-container`:g,K=u?(u==null?void 0:u.id)??`${g}-helper`:void 0,I=a.useRef(null),{getLabel:A}=It.useLabels();a.useImperativeHandle(Z,()=>I.current);const[je,B]=a.useState(!1),He=t=>{var e,n;if(H||!C||t.pointerType!=="touch"&&t.pointerType!=="pen")return;const o=t.target;if(!((e=o.closest)!=null&&e.call(o,`.${p.default["tedi-select__control"]}`)))return;const l=(n=I.current)==null?void 0:n.inputRef,r=!!l&&(t.target===l||l.contains(o));B(!r)},Ue=()=>{B(!1),E==null||E()},m=!!G&&v,[Ke,Be]=a.useState(D??null),$=x!==void 0,b=$?x:Ke,f=a.useMemo(()=>Array.isArray(b)?b:b?[b]:[],[b]),O=a.useMemo(()=>({value:i.SELECT_ALL_VALUE,label:A("select.select-all")}),[A]),y=!!N&&!!v,{groupFlattenedOptions:z,groupSentinelMap:h}=a.useMemo(()=>{const t=new Map;if(!y||!c||c.length===0)return{groupFlattenedOptions:null,groupSentinelMap:t};if(!c.some(e=>e&&Array.isArray(e.options)))return{groupFlattenedOptions:null,groupSentinelMap:t};const l=[],r=new Map;for(const e of c)if(e&&Array.isArray(e.options)){const n=e,s=`${i.GROUP_OPTION_PREFIX}${n.label??""}`,S=n.options.filter(L=>!L.isDisabled);r.set(s,{enabled:S}),l.push({value:s,label:n.label??""});for(const L of n.options)l.push({...L,customData:{...L.customData??{},__tediInGroup:!0}})}else l.push(e);return{groupFlattenedOptions:l,groupSentinelMap:r}},[c,y]),$e=a.useMemo(()=>{let t=z??c;return m&&t&&t.length>0&&(t=[O,...t]),t},[c,z,m,O]),ze=a.useMemo(()=>{const t=[];if(y&&h.size>0)for(const[o,l]of h)l.enabled.length>0&&i.areAllSelected(f,l.enabled)&&t.push({value:o,label:""});if(m){const o=i.getEnabledOptions(c??[]);o.length>0&&i.areAllSelected(f,o)&&t.push(O)}return t.length===0?b:[...f,...t]},[b,f,c,y,h,m,O]),We=(t,o)=>{let l=t;const r=o.option;if(y&&r&&h.has(r.value)){const e=h.get(r.value).enabled;if(o.action==="select-option"){const n=[...f];for(const s of e)n.some(S=>S.value===s.value)||n.push(s);l=n}else o.action==="deselect-option"&&(l=f.filter(n=>!e.some(s=>s.value===n.value)))}else if(m){const e=i.getEnabledOptions(c??[]),n=(r==null?void 0:r.value)===i.SELECT_ALL_VALUE;n&&o.action==="select-option"?l=[...f.filter(S=>S.value!==i.SELECT_ALL_VALUE&&!e.some(L=>L.value===S.value)),...e]:n&&o.action==="deselect-option"&&(l=f.filter(s=>s.value!==i.SELECT_ALL_VALUE&&!e.some(S=>S.value===s.value)))}Array.isArray(l)&&(l=l.filter(e=>e.value!==i.SELECT_ALL_VALUE&&!i.isGroupSentinel(e))),$||Be(l),_==null||_(l),!j&&I.current&&setTimeout(()=>{var e,n;return(n=(e=I.current)==null?void 0:e.inputRef)==null?void 0:n.focus()},0)},Xe=a.useCallback((t,o)=>t.data.value===i.SELECT_ALL_VALUE||i.isGroupSentinel(t.data)||!o?!0:String(t.label).toLowerCase().includes(o.toLowerCase()),[]),[W,X]=a.useState(!1),Je=t=>{(t.key==="ArrowUp"||t.key==="ArrowDown"||t.key==="Home"||t.key==="End"||t.key==="PageUp"||t.key==="PageDown"||t.key==="Tab")&&(W||X(!0))},Qe=a.useCallback(()=>{X(t=>t&&!1)},[]),Ye=a.useCallback(t=>M.jsx(gt.SelectMenuList,{...t,renderMessageListFooter:F}),[F]),Ze=()=>{const t={ClearIndicator:e=>at.SelectClearIndicator({isClearIndicatorVisible:Ae,...e}),DropdownIndicator:()=>it.SelectDropDownIndicator({iconName:ne}),IndicatorSeparator:()=>null,MenuPortal:bt.SelectMenuPortal,Menu:St.SelectMenu,MenuList:Ye,Option:e=>Lt.SelectOption({renderOption:me,multiple:v,showRadioButtons:xe,...e}),Control:rt.SelectControl,Input:pt.SelectInput,MultiValue:e=>mt.SelectMultiValue({isTagRemovable:Ee,tagsEllipsis:we,...e}),MultiValueRemove:yt.SelectMultiValueRemove,SingleValue:Mt.SelectSingleValue,Group:ut.SelectGroup,GroupHeading:e=>ct.SelectGroupHeading({optionGroupHeadingText:ke,...e}),IndicatorsContainer:dt.SelectIndicatorsContainer,ValueContainer:vt.SelectValueContainer,LoadingIndicator:ft.SelectLoadingIndicator},o=be?nt.default:tt.default,l=()=>A("select.no-options"),r=()=>A("select.loading");return M.jsx(o,{tagsDirection:V,showSelectAll:G,selectableGroups:N,dropdownType:Me,renderValue:ve,keyboardMode:W,exitKeyboardMode:Qe,onKeyDown:Je,id:Ne,"aria-describedby":K,autoFocus:he,ref:I,instanceId:g,className:"tedi-select__wrapper",name:te,options:$e,defaultOptions:ee,value:ze,defaultValue:D,cacheOptions:Re,onChange:We,filterOption:m||y?Xe:void 0,onInputChange:oe,onBlur:Ue,softKeyboardSuppressed:!H&&C&&je,inputValue:se,inputId:Ge,loadOptions:ae,isLoading:re,noOptionsMessage:ye||l,loadingMessage:Le||r,classNamePrefix:"select",components:t,isDisabled:P,isSearchable:C,menuIsOpen:Oe,openMenuOnFocus:ie,openMenuOnClick:ue,tabSelectsValue:ce,onMenuClose:Ve,onMenuOpen:_e,placeholder:fe||"",isClearable:Ce,backspaceRemovesValue:Te,menuShouldScrollIntoView:!0,isMulti:v,hideSelectedOptions:!1,closeMenuOnSelect:Ie,blurInputOnSelect:j,menuPlacement:"auto",inputIsHidden:qe,required:R,menuPortalTarget:document.body,menuPosition:"absolute",classNames:(()=>{const e={};if(U)for(const[n,s]of Object.entries(U))e[n]=typeof s=="string"?()=>s:s;if(d){const n=e.control;e.control=s=>Q.default(n==null?void 0:n(s),st.default["tedi-input-group__input"])}return Object.keys(e).length>0?e:void 0})(),theme:e=>({...e,colors:{...e.colors,primary:"var(--tedi-blue-600)",danger:"var(--tedi-red-600)",dangerLight:"var(--tedi-red-200)"}}),styles:{input:e=>({...e,gridTemplateColumns:"0fr"})}})},et=Q.default(p.default["tedi-select"],de,{[p.default["tedi-select--invalid"]]:Se||(u==null?void 0:u.type)==="error"},{[p.default["tedi-select--valid"]]:ge||(u==null?void 0:u.type)==="valid"},{[p.default[`tedi-select--${q}`]]:q},{[p.default[`tedi-select--tags-${V}`]]:V},{[p.default["tedi-select--searchable"]]:C},{[p.default["tedi-select--disabled"]]:P});return M.jsxs("div",{"data-name":"select",className:et,onPointerDownCapture:He,children:[M.jsxs("div",{className:p.default["tedi-select__inner"],children:[!w&&M.jsx(ot.FormLabel,{id:`${g}-input`,label:le,required:R,hideLabel:pe,size:q,renderWithoutLabel:De,tooltip:Pe}),Ze()]}),u&&M.jsx(lt.FeedbackText,{...u,id:K})]})});Y.displayName="Select";exports.Select=Y;
|
|
@@ -7,6 +7,8 @@ import { TagEllipsis } from '../../tags/tag/tag';
|
|
|
7
7
|
declare module '../../../../../node_modules/react-select/dist/declarations/src/Select' {
|
|
8
8
|
interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
|
|
9
9
|
inputIsHidden?: boolean;
|
|
10
|
+
/** When true, the search input is rendered with `inputMode="none"` so the mobile soft keyboard stays down. */
|
|
11
|
+
softKeyboardSuppressed?: boolean;
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
14
|
export interface SelectProps extends Omit<FormLabelProps, 'id' | 'label'> {
|
|
@@ -250,6 +252,18 @@ export interface SelectProps extends Omit<FormLabelProps, 'id' | 'label'> {
|
|
|
250
252
|
* @default true
|
|
251
253
|
*/
|
|
252
254
|
isSearchable?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* Touch-only UX for searchable selects. When `false`, tapping the field on a
|
|
257
|
+
* touch or pen device opens the menu for browsing **without** raising the
|
|
258
|
+
* on-screen keyboard (the input is marked `inputMode="none"`). The keyboard
|
|
259
|
+
* appears only once the user explicitly taps the search input — so a
|
|
260
|
+
* quick-pick dropdown doesn't immediately cover the screen with a keyboard.
|
|
261
|
+
*
|
|
262
|
+
* Has no effect for mouse/keyboard users and never blocks hardware-keyboard
|
|
263
|
+
* typing, so the combobox stays fully operable (WCAG 2.1.1 Keyboard).
|
|
264
|
+
* @default true
|
|
265
|
+
*/
|
|
266
|
+
openKeyboardOnTouch?: boolean;
|
|
253
267
|
/**
|
|
254
268
|
* In multi-select mode, render an "×" remove button on each selected tag
|
|
255
269
|
* so the user can deselect single options without re-opening the menu.
|