@tedi-design-system/react 17.1.0-rc.8 → 17.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.
Files changed (111) hide show
  1. package/_virtual/index.es13.js +2 -2
  2. package/_virtual/index.es14.js +2 -2
  3. package/bundle-stats.html +1 -1
  4. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  5. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  6. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  8. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  9. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  10. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  11. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  12. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  13. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  14. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  15. package/external/prop-types/external/react-is/index.es.js +1 -1
  16. package/external/react-is/index.cjs.js +1 -1
  17. package/external/react-is/index.es.js +1 -1
  18. package/external/toposort/index.cjs.js +1 -1
  19. package/external/toposort/index.es.js +1 -1
  20. package/index.css +1 -1
  21. package/package.json +2 -2
  22. package/src/tedi/components/buttons/button-content/button-content.d.ts +1 -1
  23. package/src/tedi/components/buttons/button-content/button-content.module.scss.cjs.js +1 -1
  24. package/src/tedi/components/buttons/button-content/button-content.module.scss.es.js +1 -1
  25. package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
  26. package/src/tedi/components/buttons/button-group/button-group.es.js +39 -37
  27. package/src/tedi/components/buttons/floating-button/floating-button.module.scss.cjs.js +1 -1
  28. package/src/tedi/components/buttons/floating-button/floating-button.module.scss.es.js +1 -1
  29. package/src/tedi/components/cards/card/card-stories-templates.d.ts +1 -1
  30. package/src/tedi/components/form/input-group/components/input/input.es.js +8 -8
  31. package/src/tedi/components/form/input-group/components/prefix/prefix.es.js +10 -10
  32. package/src/tedi/components/form/input-group/components/suffix/suffix.es.js +6 -6
  33. package/src/tedi/components/form/input-group/input-group.es.js +13 -13
  34. package/src/tedi/components/form/select/components/select-bulk-helpers.cjs.js +1 -0
  35. package/src/tedi/components/form/select/components/select-bulk-helpers.d.ts +55 -0
  36. package/src/tedi/components/form/select/components/select-bulk-helpers.es.js +34 -0
  37. package/src/tedi/components/form/select/components/select-group-bulk-context.cjs.js +1 -0
  38. package/src/tedi/components/form/select/components/select-group-bulk-context.d.ts +18 -0
  39. package/src/tedi/components/form/select/components/select-group-bulk-context.es.js +6 -0
  40. package/src/tedi/components/form/select/components/select-group-heading.cjs.js +1 -1
  41. package/src/tedi/components/form/select/components/select-group-heading.d.ts +4 -1
  42. package/src/tedi/components/form/select/components/select-group-heading.es.js +43 -8
  43. package/src/tedi/components/form/select/components/select-group.cjs.js +1 -1
  44. package/src/tedi/components/form/select/components/select-group.d.ts +4 -1
  45. package/src/tedi/components/form/select/components/select-group.es.js +18 -6
  46. package/src/tedi/components/form/select/components/select-menu-list.cjs.js +1 -1
  47. package/src/tedi/components/form/select/components/select-menu-list.d.ts +9 -1
  48. package/src/tedi/components/form/select/components/select-menu-list.es.js +22 -8
  49. package/src/tedi/components/form/select/components/select-multi-option.cjs.js +1 -1
  50. package/src/tedi/components/form/select/components/select-multi-option.es.js +40 -18
  51. package/src/tedi/components/form/select/components/select-multi-value.cjs.js +1 -1
  52. package/src/tedi/components/form/select/components/select-multi-value.d.ts +12 -1
  53. package/src/tedi/components/form/select/components/select-multi-value.es.js +42 -8
  54. package/src/tedi/components/form/select/components/select-single-option.cjs.js +1 -1
  55. package/src/tedi/components/form/select/components/select-single-option.es.js +5 -4
  56. package/src/tedi/components/form/select/components/select-single-value.cjs.js +1 -0
  57. package/src/tedi/components/form/select/components/select-single-value.d.ts +3 -0
  58. package/src/tedi/components/form/select/components/select-single-value.es.js +9 -0
  59. package/src/tedi/components/form/select/components/select-tags-context.cjs.js +1 -0
  60. package/src/tedi/components/form/select/components/select-tags-context.d.ts +11 -0
  61. package/src/tedi/components/form/select/components/select-tags-context.es.js +9 -0
  62. package/src/tedi/components/form/select/components/select-value-container.cjs.js +1 -1
  63. package/src/tedi/components/form/select/components/select-value-container.d.ts +12 -2
  64. package/src/tedi/components/form/select/components/select-value-container.es.js +76 -13
  65. package/src/tedi/components/form/select/select.cjs.js +1 -1
  66. package/src/tedi/components/form/select/select.d.ts +258 -0
  67. package/src/tedi/components/form/select/select.es.js +265 -175
  68. package/src/tedi/components/form/select/select.module.scss.cjs.js +1 -1
  69. package/src/tedi/components/form/select/select.module.scss.es.js +14 -5
  70. package/src/tedi/components/layout/header/components/header-language/header-language.d.ts +45 -0
  71. package/src/tedi/components/layout/header/components/header-login/header-login.d.ts +22 -0
  72. package/src/tedi/components/layout/header/components/header-logout/header-logout.d.ts +22 -0
  73. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.d.ts +21 -0
  74. package/src/tedi/components/layout/header/components/header-profile/header-profile.d.ts +43 -0
  75. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.d.ts +79 -0
  76. package/src/tedi/components/layout/header/components/header-role/header-role.d.ts +74 -0
  77. package/src/tedi/components/layout/header/components/header-search/header-search.d.ts +28 -0
  78. package/src/tedi/components/layout/header/header.d.ts +115 -0
  79. package/src/tedi/components/layout/header/index.d.ts +7 -0
  80. package/src/tedi/components/layout/hide-at/hide-at.d.ts +10 -0
  81. package/src/tedi/components/layout/show-at/show-at.d.ts +10 -0
  82. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.cjs.js +1 -1
  83. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.es.js +1 -0
  84. package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
  85. package/src/tedi/components/overlays/overlay/overlay.d.ts +7 -0
  86. package/src/tedi/components/overlays/overlay/overlay.es.js +41 -40
  87. package/src/tedi/components/overlays/popover/index.d.ts +1 -0
  88. package/src/tedi/components/overlays/popover/popover-content.cjs.js +1 -1
  89. package/src/tedi/components/overlays/popover/popover-content.d.ts +5 -2
  90. package/src/tedi/components/overlays/popover/popover-content.es.js +36 -27
  91. package/src/tedi/components/overlays/popover/popover-context.cjs.js +1 -0
  92. package/src/tedi/components/overlays/popover/popover-context.d.ts +9 -0
  93. package/src/tedi/components/overlays/popover/popover-context.es.js +7 -0
  94. package/src/tedi/components/overlays/popover/popover.cjs.js +1 -1
  95. package/src/tedi/components/overlays/popover/popover.d.ts +12 -2
  96. package/src/tedi/components/overlays/popover/popover.es.js +18 -16
  97. package/src/tedi/components/overlays/popover/popover.module.scss.cjs.js +1 -1
  98. package/src/tedi/components/overlays/popover/popover.module.scss.es.js +2 -0
  99. package/src/tedi/components/tags/tag/tag.cjs.js +1 -1
  100. package/src/tedi/components/tags/tag/tag.d.ts +8 -0
  101. package/src/tedi/components/tags/tag/tag.es.js +14 -13
  102. package/src/tedi/helpers/hooks/use-breakpoint.cjs.js +1 -1
  103. package/src/tedi/helpers/hooks/use-breakpoint.es.js +7 -7
  104. package/src/tedi/providers/label-provider/label-provider.cjs.js +1 -1
  105. package/src/tedi/providers/label-provider/label-provider.d.ts +2 -0
  106. package/src/tedi/providers/label-provider/label-provider.es.js +57 -44
  107. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  108. package/src/tedi/providers/label-provider/labels-map.d.ts +84 -0
  109. package/src/tedi/providers/label-provider/labels-map.es.js +118 -34
  110. package/tedi.cjs.js +1 -1
  111. package/tedi.es.js +60 -58
@@ -1,167 +1,257 @@
1
- import { jsx as l, jsxs as w } from "react/jsx-runtime";
2
- import Oe from "../../../../../external/classnames/index.es.js";
3
- import c, { forwardRef as ve } from "react";
4
- import Ce from "../../../../../external/react-select/dist/react-select.esm.es.js";
5
- import Le from "../../../../../external/react-select/async/dist/react-select-async.esm.es.js";
6
- import { FeedbackText as he } from "../feedback-text/feedback-text.es.js";
7
- import { FormLabel as ye } from "../form-label/form-label.es.js";
8
- import { useOptionalInputGroup as Ne } from "../input-group/input-group.es.js";
9
- import { SelectClearIndicator as Ve } from "./components/select-clear-indicator.es.js";
10
- import { SelectControl as Re } from "./components/select-control.es.js";
11
- import { SelectDropDownIndicator as we } from "./components/select-dropdown-indicator.es.js";
12
- import { SelectGroup as _e } from "./components/select-group.es.js";
13
- import { SelectGroupHeading as $e } from "./components/select-group-heading.es.js";
14
- import { SelectIndicatorsContainer as xe } from "./components/select-indicators-container.es.js";
15
- import { SelectInput as He } from "./components/select-input.es.js";
16
- import { SelectLoadingIndicator as Pe } from "./components/select-loading-indicator.es.js";
17
- import { SelectMenu as Te } from "./components/select-menu.es.js";
18
- import { SelectMenuList as De } from "./components/select-menu-list.es.js";
19
- import { SelectMenuPortal as Fe } from "./components/select-menu-portal.es.js";
20
- import { SelectMultiValue as je } from "./components/select-multi-value.es.js";
21
- import { SelectMultiValueRemove as ke } from "./components/select-multi-value-remove.es.js";
22
- import { SelectOption as Ee } from "./components/select-option.es.js";
23
- import { SelectValueContainer as Be } from "./components/select-value-container.es.js";
24
- import o from "./select.module.scss.es.js";
25
- import { useLabels as Ge } from "../../../providers/label-provider/use-labels.es.js";
26
- const qe = ve(
27
- (g, _) => {
28
- var R;
1
+ import { jsx as C, jsxs as q } from "react/jsx-runtime";
2
+ import W from "../../../../../external/classnames/index.es.js";
3
+ import r, { forwardRef as Je } from "react";
4
+ import Qe from "../../../../../external/react-select/dist/react-select.esm.es.js";
5
+ import Ye from "../../../../../external/react-select/async/dist/react-select-async.esm.es.js";
6
+ import { FeedbackText as Ze } from "../feedback-text/feedback-text.es.js";
7
+ import { FormLabel as et } from "../form-label/form-label.es.js";
8
+ import { useOptionalInputGroup as tt } from "../input-group/input-group.es.js";
9
+ import ot from "../input-group/input-group.module.scss.es.js";
10
+ import { SELECT_ALL_VALUE as v, GROUP_OPTION_PREFIX as lt, areAllSelected as X, getEnabledOptions as J, isGroupSentinel as Q } from "./components/select-bulk-helpers.es.js";
11
+ import { SelectClearIndicator as nt } from "./components/select-clear-indicator.es.js";
12
+ import { SelectControl as st } from "./components/select-control.es.js";
13
+ import { SelectDropDownIndicator as rt } from "./components/select-dropdown-indicator.es.js";
14
+ import { SelectGroup as at } from "./components/select-group.es.js";
15
+ import { SelectGroupHeading as it } from "./components/select-group-heading.es.js";
16
+ import { SelectIndicatorsContainer as ut } from "./components/select-indicators-container.es.js";
17
+ import { SelectInput as ct } from "./components/select-input.es.js";
18
+ import { SelectLoadingIndicator as dt } from "./components/select-loading-indicator.es.js";
19
+ import { SelectMenu as pt } from "./components/select-menu.es.js";
20
+ import { SelectMenuList as mt } from "./components/select-menu-list.es.js";
21
+ import { SelectMenuPortal as ft } from "./components/select-menu-portal.es.js";
22
+ import { SelectMultiValue as gt } from "./components/select-multi-value.es.js";
23
+ import { SelectMultiValueRemove as bt } from "./components/select-multi-value-remove.es.js";
24
+ import { SelectOption as St } from "./components/select-option.es.js";
25
+ import { SelectSingleValue as vt } from "./components/select-single-value.es.js";
26
+ import { SelectValueContainer as yt } from "./components/select-value-container.es.js";
27
+ import p from "./select.module.scss.es.js";
28
+ import { useLabels as Mt } from "../../../providers/label-provider/use-labels.es.js";
29
+ const ht = Je(
30
+ (k, Y) => {
31
+ var z;
29
32
  const {
30
- options: $,
31
- defaultOptions: x,
32
- id: S,
33
- name: H,
34
- iconName: P = "arrow_drop_down",
35
- label: T,
36
- required: b,
33
+ options: u,
34
+ defaultOptions: Z,
35
+ id: _,
36
+ name: ee,
37
+ iconName: te = "arrow_drop_down",
38
+ label: oe,
39
+ required: R,
37
40
  value: D,
38
- defaultValue: F,
39
- tagsDirection: M = "row",
40
- onChange: d,
41
- onInputChange: j,
42
- inputValue: k,
43
- loadOptions: E,
44
- isLoading: B,
45
- openMenuOnFocus: G = !1,
46
- openMenuOnClick: q = !0,
47
- tabSelectsValue: z = !1,
48
- disabled: I = !1,
49
- className: O,
50
- hideLabel: A = !1,
51
- helper: t,
52
- placeholder: W,
53
- invalid: J,
54
- valid: K,
55
- size: m,
56
- async: Q = !1,
57
- renderOption: U,
58
- renderMessageListFooter: v,
59
- noOptionsMessage: X,
60
- loadingMessage: Y,
61
- multiple: u = !1,
62
- closeMenuOnSelect: Z = !u,
63
- blurInputOnSelect: C = !1,
64
- autoFocus: ee = !1,
65
- isClearable: te = !0,
66
- isClearIndicatorVisible: oe = !1,
67
- isSearchable: L = !0,
68
- menuIsOpen: ae,
69
- onMenuClose: ne,
70
- onMenuOpen: re,
71
- onBlur: se,
72
- inputIsHidden: ie,
73
- isTagRemovable: h = !1,
74
- optionGroupHeadingText: le = { modifiers: "small", color: "tertiary" },
75
- cacheOptions: ce = !0,
76
- showRadioButtons: de = !1,
77
- renderWithoutLabel: me,
78
- tooltip: ue,
79
- classNames: y
80
- } = g, a = (R = Ne) == null ? void 0 : R(), pe = c.useId(), fe = a == null ? void 0 : a.hasExternalLabel, p = g.id ?? (a == null ? void 0 : a.inputId) ?? pe, N = t ? (t == null ? void 0 : t.id) ?? `${p}-helper` : void 0, r = c.useRef(null), { getLabel: V } = Ge();
81
- c.useImperativeHandle(
82
- _,
83
- () => r.current
41
+ defaultValue: N,
42
+ tagsDirection: L = "stack",
43
+ onChange: V,
44
+ onInputChange: le,
45
+ inputValue: ne,
46
+ loadOptions: se,
47
+ isLoading: re,
48
+ openMenuOnFocus: ae = !1,
49
+ openMenuOnClick: ie = !0,
50
+ tabSelectsValue: ue = !1,
51
+ disabled: F = !1,
52
+ className: ce,
53
+ hideLabel: de = !1,
54
+ helper: a,
55
+ placeholder: pe,
56
+ invalid: me,
57
+ valid: fe,
58
+ size: w,
59
+ async: ge = !1,
60
+ renderOption: be,
61
+ renderMessageListFooter: x,
62
+ noOptionsMessage: Se,
63
+ loadingMessage: ve,
64
+ multiple: y = !1,
65
+ showSelectAll: G = !1,
66
+ selectableGroups: P = !1,
67
+ dropdownType: ye = "menu",
68
+ renderValue: Me,
69
+ closeMenuOnSelect: he = !y,
70
+ blurInputOnSelect: T = !1,
71
+ autoFocus: Ie = !1,
72
+ isClearable: Oe = !0,
73
+ isClearIndicatorVisible: Ce = !1,
74
+ isSearchable: $ = !0,
75
+ menuIsOpen: Le,
76
+ onMenuClose: Ve,
77
+ onMenuOpen: we,
78
+ onBlur: Ae,
79
+ inputIsHidden: ke,
80
+ isTagRemovable: _e = !1,
81
+ backspaceRemovesValue: Re = !1,
82
+ optionGroupHeadingText: De = { modifiers: "small", color: "tertiary" },
83
+ cacheOptions: Ne = !0,
84
+ showRadioButtons: Fe = !1,
85
+ renderWithoutLabel: xe,
86
+ tooltip: Ge,
87
+ classNames: E
88
+ } = k, m = (z = tt) == null ? void 0 : z(), Pe = r.useId(), Te = m == null ? void 0 : m.hasExternalLabel, A = k.id ?? (m == null ? void 0 : m.inputId) ?? Pe, H = a ? (a == null ? void 0 : a.id) ?? `${A}-helper` : void 0, h = r.useRef(null), { getLabel: I } = Mt();
89
+ r.useImperativeHandle(
90
+ Y,
91
+ () => h.current
84
92
  );
85
- const ge = (n) => {
86
- d == null || d(n), !C && r.current && setTimeout(() => {
87
- var s, i;
88
- return (i = (s = r.current) == null ? void 0 : s.inputRef) == null ? void 0 : i.focus();
93
+ const g = !!G && y, [$e, Ee] = r.useState(N ?? null), j = D !== void 0, f = j ? D : $e, c = r.useMemo(() => Array.isArray(f) ? f : f ? [f] : [], [f]), O = r.useMemo(
94
+ () => ({ value: v, label: I("select.select-all") }),
95
+ [I]
96
+ ), b = !!P && !!y, { groupFlattenedOptions: K, groupSentinelMap: M } = r.useMemo(() => {
97
+ const t = /* @__PURE__ */ new Map();
98
+ if (!b || !u || u.length === 0)
99
+ return { groupFlattenedOptions: null, groupSentinelMap: t };
100
+ if (!u.some((e) => e && Array.isArray(e.options))) return { groupFlattenedOptions: null, groupSentinelMap: t };
101
+ const l = [], i = /* @__PURE__ */ new Map();
102
+ for (const e of u)
103
+ if (e && Array.isArray(e.options)) {
104
+ const o = e, n = `${lt}${o.label ?? ""}`, d = o.options.filter((S) => !S.isDisabled);
105
+ i.set(n, { enabled: d }), l.push({ value: n, label: o.label ?? "" });
106
+ for (const S of o.options)
107
+ l.push({
108
+ ...S,
109
+ customData: { ...S.customData ?? {}, __tediInGroup: !0 }
110
+ });
111
+ } else
112
+ l.push(e);
113
+ return { groupFlattenedOptions: l, groupSentinelMap: i };
114
+ }, [u, b]), He = r.useMemo(() => {
115
+ let t = K ?? u;
116
+ return g && t && t.length > 0 && (t = [O, ...t]), t;
117
+ }, [u, K, g, O]), je = r.useMemo(() => {
118
+ const t = [];
119
+ if (b && M.size > 0)
120
+ for (const [s, l] of M)
121
+ l.enabled.length > 0 && X(c, l.enabled) && t.push({ value: s, label: "" });
122
+ if (g) {
123
+ const s = J(u ?? []);
124
+ s.length > 0 && X(c, s) && t.push(O);
125
+ }
126
+ return t.length === 0 ? f : [...c, ...t];
127
+ }, [
128
+ f,
129
+ c,
130
+ u,
131
+ b,
132
+ M,
133
+ g,
134
+ O
135
+ ]), Ke = (t, s) => {
136
+ let l = t;
137
+ const i = s.option;
138
+ if (b && i && M.has(i.value)) {
139
+ const e = M.get(i.value).enabled;
140
+ if (s.action === "select-option") {
141
+ const o = [...c];
142
+ for (const n of e)
143
+ o.some((d) => d.value === n.value) || o.push(n);
144
+ l = o;
145
+ } else s.action === "deselect-option" && (l = c.filter((o) => !e.some((n) => n.value === o.value)));
146
+ } else if (g) {
147
+ const e = J(u ?? []), o = (i == null ? void 0 : i.value) === v;
148
+ o && s.action === "select-option" ? l = [...c.filter(
149
+ (d) => d.value !== v && !e.some((S) => S.value === d.value)
150
+ ), ...e] : o && s.action === "deselect-option" && (l = c.filter(
151
+ (n) => n.value !== v && !e.some((d) => d.value === n.value)
152
+ ));
153
+ }
154
+ Array.isArray(l) && (l = l.filter((e) => e.value !== v && !Q(e))), j || Ee(l), V == null || V(l), !T && h.current && setTimeout(() => {
155
+ var e, o;
156
+ return (o = (e = h.current) == null ? void 0 : e.inputRef) == null ? void 0 : o.focus();
89
157
  }, 0);
90
- }, Se = c.useCallback(
91
- (n) => /* @__PURE__ */ l(De, { ...n, renderMessageListFooter: v }),
92
- [v]
93
- ), be = () => {
94
- const n = {
95
- ClearIndicator: (e) => Ve({ isClearIndicatorVisible: oe, ...e }),
96
- DropdownIndicator: () => we({ iconName: P }),
158
+ }, Ue = r.useCallback(
159
+ (t, s) => t.data.value === v || Q(t.data) || !s ? !0 : String(t.label).toLowerCase().includes(s.toLowerCase()),
160
+ []
161
+ ), [U, B] = r.useState(!1), Be = (t) => {
162
+ (t.key === "ArrowUp" || t.key === "ArrowDown" || t.key === "Home" || t.key === "End" || t.key === "PageUp" || t.key === "PageDown" || t.key === "Tab") && (U || B(!0));
163
+ }, ze = r.useCallback(() => {
164
+ B((t) => t && !1);
165
+ }, []), qe = r.useCallback(
166
+ (t) => /* @__PURE__ */ C(mt, { ...t, renderMessageListFooter: x }),
167
+ [x]
168
+ ), We = () => {
169
+ const t = {
170
+ ClearIndicator: (e) => nt({ isClearIndicatorVisible: Ce, ...e }),
171
+ DropdownIndicator: () => rt({ iconName: te }),
97
172
  IndicatorSeparator: () => null,
98
- MenuPortal: Fe,
99
- Menu: Te,
100
- MenuList: Se,
101
- Option: (e) => Ee({ renderOption: U, multiple: u, showRadioButtons: de, ...e }),
102
- Control: (e) => Re({ ...e, className: O }),
103
- Input: He,
104
- MultiValue: (e) => je({ isTagRemovable: h, ...e }),
105
- MultiValueRemove: ke,
106
- Group: _e,
107
- GroupHeading: (e) => $e({ optionGroupHeadingText: le, ...e }),
108
- IndicatorsContainer: xe,
109
- ValueContainer: Be,
110
- LoadingIndicator: Pe
111
- }, s = Q ? Le : Ce, i = () => V("select.no-options"), Ie = () => V("select.loading");
112
- return /* @__PURE__ */ l(
173
+ MenuPortal: ft,
174
+ Menu: pt,
175
+ MenuList: qe,
176
+ Option: (e) => St({ renderOption: be, multiple: y, showRadioButtons: Fe, ...e }),
177
+ Control: st,
178
+ Input: ct,
179
+ MultiValue: (e) => gt({ isTagRemovable: _e, ...e }),
180
+ MultiValueRemove: bt,
181
+ SingleValue: vt,
182
+ Group: at,
183
+ GroupHeading: (e) => it({ optionGroupHeadingText: De, ...e }),
184
+ IndicatorsContainer: ut,
185
+ ValueContainer: yt,
186
+ LoadingIndicator: dt
187
+ }, s = ge ? Ye : Qe, l = () => I("select.no-options"), i = () => I("select.loading");
188
+ return /* @__PURE__ */ C(
113
189
  s,
114
190
  {
115
- id: p,
116
- "aria-describedby": N,
117
- autoFocus: ee,
118
- ref: r,
119
- instanceId: S,
191
+ tagsDirection: L,
192
+ showSelectAll: G,
193
+ selectableGroups: P,
194
+ dropdownType: ye,
195
+ renderValue: Me,
196
+ keyboardMode: U,
197
+ exitKeyboardMode: ze,
198
+ onKeyDown: Be,
199
+ id: A,
200
+ "aria-describedby": H,
201
+ autoFocus: Ie,
202
+ ref: h,
203
+ instanceId: _,
120
204
  className: "tedi-select__wrapper",
121
- name: H,
122
- options: $,
123
- defaultOptions: x,
124
- value: D,
125
- defaultValue: F,
126
- cacheOptions: ce,
127
- onChange: ge,
128
- onInputChange: j,
129
- onBlur: se,
130
- inputValue: k,
131
- inputId: `${S}-input`,
132
- loadOptions: E,
133
- isLoading: B,
134
- noOptionsMessage: X || i,
135
- loadingMessage: Y || Ie,
205
+ name: ee,
206
+ options: He,
207
+ defaultOptions: Z,
208
+ value: je,
209
+ defaultValue: N,
210
+ cacheOptions: Ne,
211
+ onChange: Ke,
212
+ filterOption: g || b ? Ue : void 0,
213
+ onInputChange: le,
214
+ onBlur: Ae,
215
+ inputValue: ne,
216
+ inputId: `${_}-input`,
217
+ loadOptions: se,
218
+ isLoading: re,
219
+ noOptionsMessage: Se || l,
220
+ loadingMessage: ve || i,
136
221
  classNamePrefix: "select",
137
- components: n,
138
- isDisabled: I,
139
- isSearchable: L,
140
- menuIsOpen: ae,
141
- openMenuOnFocus: G,
142
- openMenuOnClick: q,
143
- tabSelectsValue: z,
144
- onMenuClose: ne,
145
- onMenuOpen: re,
146
- placeholder: W || "",
147
- isClearable: te,
148
- backspaceRemovesValue: h,
222
+ components: t,
223
+ isDisabled: F,
224
+ isSearchable: $,
225
+ menuIsOpen: Le,
226
+ openMenuOnFocus: ae,
227
+ openMenuOnClick: ie,
228
+ tabSelectsValue: ue,
229
+ onMenuClose: Ve,
230
+ onMenuOpen: we,
231
+ placeholder: pe || "",
232
+ isClearable: Oe,
233
+ backspaceRemovesValue: Re,
149
234
  menuShouldScrollIntoView: !0,
150
- isMulti: u,
235
+ isMulti: y,
151
236
  hideSelectedOptions: !1,
152
- closeMenuOnSelect: Z,
153
- blurInputOnSelect: C,
237
+ closeMenuOnSelect: he,
238
+ blurInputOnSelect: T,
154
239
  menuPlacement: "auto",
155
- inputIsHidden: ie,
156
- required: b,
240
+ inputIsHidden: ke,
241
+ required: R,
157
242
  menuPortalTarget: document.body,
158
243
  menuPosition: "absolute",
159
- classNames: y ? Object.fromEntries(
160
- Object.entries(y).map(([e, f]) => [
161
- e,
162
- typeof f == "string" ? () => f : f
163
- ])
164
- ) : void 0,
244
+ classNames: (() => {
245
+ const e = {};
246
+ if (E)
247
+ for (const [o, n] of Object.entries(E))
248
+ e[o] = typeof n == "string" ? () => n : n;
249
+ if (m) {
250
+ const o = e.control;
251
+ e.control = (n) => W(o == null ? void 0 : o(n), ot["tedi-input-group__input"]);
252
+ }
253
+ return Object.keys(e).length > 0 ? e : void 0;
254
+ })(),
165
255
  theme: (e) => ({
166
256
  ...e,
167
257
  colors: {
@@ -179,38 +269,38 @@ const qe = ve(
179
269
  }
180
270
  }
181
271
  );
182
- }, Me = Oe(
183
- o["tedi-select"],
184
- O,
185
- { [o["tedi-select--invalid"]]: J || (t == null ? void 0 : t.type) === "error" },
186
- { [o["tedi-select--valid"]]: K || (t == null ? void 0 : t.type) === "valid" },
187
- { [o[`tedi-select--${m}`]]: m },
188
- { [o[`tedi-select--tags-${M}`]]: M },
189
- { [o["tedi-select--searchable"]]: L },
190
- { [o["tedi-select--disabled"]]: I }
272
+ }, Xe = W(
273
+ p["tedi-select"],
274
+ ce,
275
+ { [p["tedi-select--invalid"]]: me || (a == null ? void 0 : a.type) === "error" },
276
+ { [p["tedi-select--valid"]]: fe || (a == null ? void 0 : a.type) === "valid" },
277
+ { [p[`tedi-select--${w}`]]: w },
278
+ { [p[`tedi-select--tags-${L}`]]: L },
279
+ { [p["tedi-select--searchable"]]: $ },
280
+ { [p["tedi-select--disabled"]]: F }
191
281
  );
192
- return /* @__PURE__ */ w("div", { "data-name": "select", className: Me, children: [
193
- /* @__PURE__ */ w("div", { className: o["tedi-select__inner"], children: [
194
- !fe && /* @__PURE__ */ l(
195
- ye,
282
+ return /* @__PURE__ */ q("div", { "data-name": "select", className: Xe, children: [
283
+ /* @__PURE__ */ q("div", { className: p["tedi-select__inner"], children: [
284
+ !Te && /* @__PURE__ */ C(
285
+ et,
196
286
  {
197
- id: `${p}-input`,
198
- label: T,
199
- required: b,
200
- hideLabel: A,
201
- size: m,
202
- renderWithoutLabel: me,
203
- tooltip: ue
287
+ id: `${A}-input`,
288
+ label: oe,
289
+ required: R,
290
+ hideLabel: de,
291
+ size: w,
292
+ renderWithoutLabel: xe,
293
+ tooltip: Ge
204
294
  }
205
295
  ),
206
- be()
296
+ We()
207
297
  ] }),
208
- t && /* @__PURE__ */ l(he, { ...t, id: N })
298
+ a && /* @__PURE__ */ C(Ze, { ...a, id: H })
209
299
  ] });
210
300
  }
211
301
  );
212
- qe.displayName = "Select";
302
+ ht.displayName = "Select";
213
303
  export {
214
- qe as Select,
215
- qe as default
304
+ ht as Select,
305
+ ht as default
216
306
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-select__control":"tedi-select__control-dbce8bb7","tedi-select__value-container":"tedi-select__value-container-253d079a","tedi-select__indicators-container":"tedi-select__indicators-container-0fc8fa2a","tedi-select__input":"tedi-select__input-5525b622","tedi-select--invalid":"tedi-select--invalid-3901c89c","tedi-select__control--focused":"tedi-select__control--focused-0e632efe","tedi-select--valid":"tedi-select--valid-969c0297","tedi-select__arrow":"tedi-select__arrow-94b5ef4a","tedi-select__loading-indicator":"tedi-select__loading-indicator-a35a63ca","tedi-select--disabled":"tedi-select--disabled-2d4b8ddd","tedi-select__menu-portal":"tedi-select__menu-portal-d5349f37","tedi-select__menu":"tedi-select__menu-bf54b75b","tedi-select__menu-list":"tedi-select__menu-list-0aa06e24","tedi-select__menu-list-inner":"tedi-select__menu-list-inner-471e5cf8","tedi-select__menu-list-footer":"tedi-select__menu-list-footer-eb1d3bbc","tedi-select__option":"tedi-select__option-6f811381","tedi-select__option--disabled":"tedi-select__option--disabled-d3aff112","tedi-select__option--focused":"tedi-select__option--focused-1d972ff1","tedi-select__option--selected":"tedi-select__option--selected-a93e5fb0","tedi-select--small":"tedi-select--small-2659608b","tedi-select__multi-value-item":"tedi-select__multi-value-item-b8ec59ae","tedi-select__checkbox":"tedi-select__checkbox-e4f94b67","tedi-select":"tedi-select-8b014852","tedi-select__group":"tedi-select__group-b275e954","tedi-select__group-heading":"tedi-select__group-heading-02b3d9bc","tedi-select__multi-value-clear":"tedi-select__multi-value-clear-d231f7de","tedi-select--tags-row":"tedi-select--tags-row-c9f33e4b","tedi-select--searchable":"tedi-select--searchable-d56eb325","tedi-select--tags-stack":"tedi-select--tags-stack-ddb929a9","tedi-select__separator":"tedi-select__separator-b1045f3f"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-select__control":"tedi-select__control-dbce8bb7","tedi-select__value-container":"tedi-select__value-container-253d079a","tedi-select__indicators-container":"tedi-select__indicators-container-0fc8fa2a","tedi-select__input":"tedi-select__input-5525b622","tedi-select":"tedi-select-8b014852","tedi-select--disabled":"tedi-select--disabled-2d4b8ddd","tedi-select--invalid":"tedi-select--invalid-3901c89c","tedi-select--valid":"tedi-select--valid-969c0297","tedi-select__control--focused":"tedi-select__control--focused-0e632efe","tedi-select__arrow":"tedi-select__arrow-94b5ef4a","tedi-select__loading-indicator":"tedi-select__loading-indicator-a35a63ca","tedi-select__dropdown-indicator":"tedi-select__dropdown-indicator-5a948baa","tedi-select__clear-indicator":"tedi-select__clear-indicator-68b60b12","tedi-select__menu-portal":"tedi-select__menu-portal-d5349f37","tedi-select__menu":"tedi-select__menu-bf54b75b","tedi-select__menu-list--grid":"tedi-select__menu-list--grid-393f3232","tedi-select__menu-list":"tedi-select__menu-list-0aa06e24","tedi-select__menu-list-inner":"tedi-select__menu-list-inner-471e5cf8","tedi-select__menu-list-footer":"tedi-select__menu-list-footer-eb1d3bbc","tedi-select__option":"tedi-select__option-6f811381","tedi-select__option--disabled":"tedi-select__option--disabled-d3aff112","tedi-select__option--focused":"tedi-select__option--focused-1d972ff1","tedi-select__option--selected":"tedi-select__option--selected-a93e5fb0","tedi-select--small":"tedi-select--small-2659608b","tedi-select__multi-value-item":"tedi-select__multi-value-item-b8ec59ae","tedi-select__checkbox":"tedi-select__checkbox-e4f94b67","tedi-select__group":"tedi-select__group-b275e954","tedi-select__group-heading":"tedi-select__group-heading-02b3d9bc","tedi-select__group-heading--selectable":"tedi-select__group-heading--selectable-c84cd617","tedi-select__option--indented":"tedi-select__option--indented-bf4a1661","tedi-select__multi-value-clear":"tedi-select__multi-value-clear-d231f7de","tedi-select--tags-row":"tedi-select--tags-row-c9f33e4b","tedi-select__overflow-tag":"tedi-select__overflow-tag-c0391df2","tedi-select__menu-list--keyboard":"tedi-select__menu-list--keyboard-3d066942","tedi-select__select-all":"tedi-select__select-all-12c3e7f1","tedi-select__group-heading-toggle":"tedi-select__group-heading-toggle-34296a63","tedi-select--tags-stack":"tedi-select--tags-stack-ddb929a9","tedi-select__separator":"tedi-select__separator-b1045f3f","tedi-select--searchable":"tedi-select--searchable-d56eb325"};exports.default=e;
@@ -3,14 +3,18 @@ const e = {
3
3
  "tedi-select__value-container": "tedi-select__value-container-253d079a",
4
4
  "tedi-select__indicators-container": "tedi-select__indicators-container-0fc8fa2a",
5
5
  "tedi-select__input": "tedi-select__input-5525b622",
6
+ "tedi-select": "tedi-select-8b014852",
7
+ "tedi-select--disabled": "tedi-select--disabled-2d4b8ddd",
6
8
  "tedi-select--invalid": "tedi-select--invalid-3901c89c",
7
- "tedi-select__control--focused": "tedi-select__control--focused-0e632efe",
8
9
  "tedi-select--valid": "tedi-select--valid-969c0297",
10
+ "tedi-select__control--focused": "tedi-select__control--focused-0e632efe",
9
11
  "tedi-select__arrow": "tedi-select__arrow-94b5ef4a",
10
12
  "tedi-select__loading-indicator": "tedi-select__loading-indicator-a35a63ca",
11
- "tedi-select--disabled": "tedi-select--disabled-2d4b8ddd",
13
+ "tedi-select__dropdown-indicator": "tedi-select__dropdown-indicator-5a948baa",
14
+ "tedi-select__clear-indicator": "tedi-select__clear-indicator-68b60b12",
12
15
  "tedi-select__menu-portal": "tedi-select__menu-portal-d5349f37",
13
16
  "tedi-select__menu": "tedi-select__menu-bf54b75b",
17
+ "tedi-select__menu-list--grid": "tedi-select__menu-list--grid-393f3232",
14
18
  "tedi-select__menu-list": "tedi-select__menu-list-0aa06e24",
15
19
  "tedi-select__menu-list-inner": "tedi-select__menu-list-inner-471e5cf8",
16
20
  "tedi-select__menu-list-footer": "tedi-select__menu-list-footer-eb1d3bbc",
@@ -21,14 +25,19 @@ const e = {
21
25
  "tedi-select--small": "tedi-select--small-2659608b",
22
26
  "tedi-select__multi-value-item": "tedi-select__multi-value-item-b8ec59ae",
23
27
  "tedi-select__checkbox": "tedi-select__checkbox-e4f94b67",
24
- "tedi-select": "tedi-select-8b014852",
25
28
  "tedi-select__group": "tedi-select__group-b275e954",
26
29
  "tedi-select__group-heading": "tedi-select__group-heading-02b3d9bc",
30
+ "tedi-select__group-heading--selectable": "tedi-select__group-heading--selectable-c84cd617",
31
+ "tedi-select__option--indented": "tedi-select__option--indented-bf4a1661",
27
32
  "tedi-select__multi-value-clear": "tedi-select__multi-value-clear-d231f7de",
28
33
  "tedi-select--tags-row": "tedi-select--tags-row-c9f33e4b",
29
- "tedi-select--searchable": "tedi-select--searchable-d56eb325",
34
+ "tedi-select__overflow-tag": "tedi-select__overflow-tag-c0391df2",
35
+ "tedi-select__menu-list--keyboard": "tedi-select__menu-list--keyboard-3d066942",
36
+ "tedi-select__select-all": "tedi-select__select-all-12c3e7f1",
37
+ "tedi-select__group-heading-toggle": "tedi-select__group-heading-toggle-34296a63",
30
38
  "tedi-select--tags-stack": "tedi-select--tags-stack-ddb929a9",
31
- "tedi-select__separator": "tedi-select__separator-b1045f3f"
39
+ "tedi-select__separator": "tedi-select__separator-b1045f3f",
40
+ "tedi-select--searchable": "tedi-select--searchable-d56eb325"
32
41
  };
33
42
  export {
34
43
  e as default
@@ -0,0 +1,45 @@
1
+ import { TediLanguage } from '../../../../../providers/label-provider';
2
+ export interface Language {
3
+ /** Display text shown in the language selector (e.g. 'EST', 'ENG'). */
4
+ label: string;
5
+ /**
6
+ * Locale code for this language. When present, `setLocale` from the LabelProvider
7
+ * is called with this value on selection. Ignored when `onClick` is provided.
8
+ */
9
+ locale?: TediLanguage;
10
+ /**
11
+ * Custom click handler. When provided, it takes full control of what happens on select —
12
+ * the component only updates its displayed label and provides `onToggle` so the handler
13
+ * can decide when to close the popover.
14
+ */
15
+ onClick?: (props: {
16
+ onToggle: (open: boolean) => void;
17
+ }) => void;
18
+ /** Whether this language is currently active. Used to set `aria-current` on the option. */
19
+ isSelected?: boolean;
20
+ /** Accessible label for screen readers (e.g. 'Estonian', 'English'). */
21
+ 'aria-label'?: string;
22
+ }
23
+ export interface HeaderLanguageProps {
24
+ /**
25
+ * List of available languages to display in the selector dropdown.
26
+ * Each language object accepts:
27
+ * - `label` — display text (e.g. 'EST', 'ENG')
28
+ * - `locale` — locale code passed to `setLocale` on selection (ignored when `onClick` is provided)
29
+ * - `onClick` — custom click handler that takes full control of selection behavior
30
+ * - `isSelected` — marks the language as currently active (`aria-current`)
31
+ * - `aria-label` — accessible label for screen readers (e.g. 'Estonian', 'English')
32
+ */
33
+ languages: Language[];
34
+ /** Initially displayed language label. Falls back to the label matching the current locale, or the first item. */
35
+ currentLanguage?: string;
36
+ /** Label for the language selector.
37
+ * Falls back to the default i18n label when not provided.
38
+ **/
39
+ selectLabel?: string;
40
+ }
41
+ export declare const HeaderLanguage: {
42
+ (props: HeaderLanguageProps): import("react/jsx-runtime").JSX.Element;
43
+ displayName: string;
44
+ };
45
+ export default HeaderLanguage;
@@ -0,0 +1,22 @@
1
+ import { BreakpointSupport } from '../../../../../helpers';
2
+ interface HeaderLoginBreakpointProps {
3
+ /**
4
+ * Controls the visual size of the login button.
5
+ * `'small'` renders a compact icon button (used on mobile), `'default'` renders a full-width link.
6
+ * Automatically falls back to `'small'` on mobile viewports when not specified.
7
+ */
8
+ size?: 'default' | 'small';
9
+ /** Custom label text for the login button. Falls back to the `header.login` or `header.login.mobile` translation key. */
10
+ label?: string;
11
+ }
12
+ export interface HeaderLoginProps extends BreakpointSupport<HeaderLoginBreakpointProps> {
13
+ /** Click handler fired when the login button is activated. */
14
+ onClick?: () => void;
15
+ /** URL to navigate to when the login button is clicked. */
16
+ href?: string;
17
+ }
18
+ export declare const HeaderLogin: {
19
+ (props: HeaderLoginProps): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export default HeaderLogin;
@@ -0,0 +1,22 @@
1
+ import { BreakpointSupport } from '../../../../../helpers';
2
+ interface HeaderLogoutBreakpointProps {
3
+ /**
4
+ * Controls the visual size of the logout button.
5
+ * `'small'` renders a compact icon button (used on mobile), `'default'` renders a full-width link with icon.
6
+ * Automatically falls back to `'small'` on mobile viewports when not specified.
7
+ */
8
+ size?: 'default' | 'small';
9
+ /** Custom label text for the logout button. Falls back to the `header.logout` or `header.logout.mobile` translation key. */
10
+ label?: string;
11
+ }
12
+ export interface HeaderLogoutProps extends BreakpointSupport<HeaderLogoutBreakpointProps> {
13
+ /** Click handler fired when the logout button is activated. */
14
+ onClick?: () => void;
15
+ /** URL to navigate to when the logout button is clicked. */
16
+ href?: string;
17
+ }
18
+ export declare const HeaderLogout: {
19
+ (props: HeaderLogoutProps): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export default HeaderLogout;