@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.
Files changed (177) hide show
  1. package/bundle-stats.html +1 -1
  2. package/index.css +1 -1
  3. package/package.json +12 -6
  4. package/src/community/components/anchor/anchor.d.ts +1 -0
  5. package/src/community/components/button/button.d.ts +1 -0
  6. package/src/community/components/card/card-content/card-content.d.ts +3 -0
  7. package/src/community/components/card/card-header/card-header.d.ts +3 -0
  8. package/src/community/components/card/card-notification/card-notification.d.ts +3 -0
  9. package/src/community/components/card/card.d.ts +3 -0
  10. package/src/community/components/dropdown/dropdown.cjs.js +1 -1
  11. package/src/community/components/dropdown/dropdown.d.ts +3 -0
  12. package/src/community/components/dropdown/dropdown.es.js +5 -6
  13. package/src/community/components/form/choice-group/choice-group.d.ts +3 -0
  14. package/src/community/components/form/file-upload/file-upload.d.ts +6 -0
  15. package/src/community/components/form/radio/radio.d.ts +3 -0
  16. package/src/community/components/form/select/select.d.ts +3 -0
  17. package/src/community/components/form/toggle/toggle.cjs.js +1 -1
  18. package/src/community/components/form/toggle/toggle.d.ts +3 -0
  19. package/src/community/components/form/toggle/toggle.es.js +5 -6
  20. package/src/community/components/layout/header/components/header-language/header-language.d.ts +3 -0
  21. package/src/community/components/layout/header/components/header-role/header-role.d.ts +3 -0
  22. package/src/community/components/layout/header/components/sidenav-toggle/sidenav-toggle.d.ts +3 -0
  23. package/src/community/components/layout/header/header/header.d.ts +3 -0
  24. package/src/community/components/layout/sidenav/sidenav.d.ts +3 -0
  25. package/src/community/components/map-components/button-group/button-group.module.scss.cjs.js +1 -1
  26. package/src/community/components/map-components/button-group/button-group.module.scss.es.js +1 -0
  27. package/src/community/components/map-components/left-panel/left-panel-content.cjs.js +1 -1
  28. package/src/community/components/map-components/left-panel/left-panel-content.d.ts +10 -5
  29. package/src/community/components/map-components/left-panel/left-panel-content.es.js +7 -21
  30. package/src/community/components/map-components/left-panel/left-panel-footer.cjs.js +1 -1
  31. package/src/community/components/map-components/left-panel/left-panel-footer.d.ts +11 -1
  32. package/src/community/components/map-components/left-panel/left-panel-footer.es.js +7 -24
  33. package/src/community/components/map-components/left-panel/left-panel-header.cjs.js +1 -1
  34. package/src/community/components/map-components/left-panel/left-panel-header.d.ts +11 -1
  35. package/src/community/components/map-components/left-panel/left-panel-header.es.js +7 -62
  36. package/src/community/components/map-components/left-panel/left-panel.cjs.js +1 -1
  37. package/src/community/components/map-components/left-panel/left-panel.d.ts +67 -5
  38. package/src/community/components/map-components/left-panel/left-panel.es.js +85 -14
  39. package/src/community/components/map-components/left-panel/left-panel.module.scss.cjs.js +1 -1
  40. package/src/community/components/map-components/left-panel/left-panel.module.scss.es.js +4 -4
  41. package/src/community/components/map-components/map-button/map-button.cjs.js +1 -1
  42. package/src/community/components/map-components/map-button/map-button.d.ts +8 -3
  43. package/src/community/components/map-components/map-button/map-button.es.js +42 -33
  44. package/src/community/components/map-components/map-button/map-button.module.scss.cjs.js +1 -1
  45. package/src/community/components/map-components/map-button/map-button.module.scss.es.js +3 -0
  46. package/src/community/components/map-components/resizer/resizer.cjs.js +1 -1
  47. package/src/community/components/map-components/resizer/resizer.es.js +9 -10
  48. package/src/community/components/status/status.d.ts +3 -0
  49. package/src/community/components/table/table.d.ts +3 -0
  50. package/src/community/components/tag/tag.d.ts +3 -0
  51. package/src/community/components/toggle-open/toggle-open.d.ts +3 -0
  52. package/src/community/components/tooltip/tooltip-trigger.cjs.js +1 -1
  53. package/src/community/components/tooltip/tooltip-trigger.d.ts +3 -0
  54. package/src/community/components/tooltip/tooltip-trigger.es.js +15 -14
  55. package/src/community/components/tooltip/tooltip.d.ts +3 -0
  56. package/src/tedi/components/buttons/button-content/button-content.cjs.js +1 -1
  57. package/src/tedi/components/buttons/button-content/button-content.es.js +31 -30
  58. package/src/tedi/components/buttons/collapse-button/collapse-button.cjs.js +1 -1
  59. package/src/tedi/components/buttons/collapse-button/collapse-button.es.js +2 -1
  60. package/src/tedi/components/content/label/label.cjs.js +1 -1
  61. package/src/tedi/components/content/label/label.d.ts +4 -3
  62. package/src/tedi/components/content/label/label.es.js +24 -27
  63. package/src/tedi/components/content/label/label.module.scss.cjs.js +1 -1
  64. package/src/tedi/components/content/label/label.module.scss.es.js +2 -1
  65. package/src/tedi/components/content/table/table.cjs.js +1 -1
  66. package/src/tedi/components/content/table/table.d.ts +8 -5
  67. package/src/tedi/components/content/table/table.es.js +308 -295
  68. package/src/tedi/components/form/checkbox/checkbox.cjs.js +1 -1
  69. package/src/tedi/components/form/checkbox/checkbox.es.js +64 -58
  70. package/src/tedi/components/form/choice-group/choice-group.cjs.js +1 -1
  71. package/src/tedi/components/form/choice-group/choice-group.es.js +98 -85
  72. package/src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.cjs.js +1 -1
  73. package/src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.es.js +13 -14
  74. package/src/tedi/components/form/choice-input.types.d.ts +3 -2
  75. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  76. package/src/tedi/components/form/date-field/date-field.d.ts +15 -0
  77. package/src/tedi/components/form/date-field/date-field.es.js +304 -269
  78. package/src/tedi/components/form/file-dropzone/file-dropzone.cjs.js +1 -1
  79. package/src/tedi/components/form/file-dropzone/file-dropzone.es.js +90 -79
  80. package/src/tedi/components/form/file-upload/file-upload.cjs.js +1 -1
  81. package/src/tedi/components/form/file-upload/file-upload.d.ts +4 -1
  82. package/src/tedi/components/form/file-upload/file-upload.es.js +138 -119
  83. package/src/tedi/components/form/file-upload/file-upload.module.scss.cjs.js +1 -1
  84. package/src/tedi/components/form/file-upload/file-upload.module.scss.es.js +1 -1
  85. package/src/tedi/components/form/form-label/form-label.d.ts +1 -1
  86. package/src/tedi/components/form/multi-value-field/multi-value-field.cjs.js +1 -1
  87. package/src/tedi/components/form/multi-value-field/multi-value-field.d.ts +8 -0
  88. package/src/tedi/components/form/multi-value-field/multi-value-field.es.js +147 -66
  89. package/src/tedi/components/form/multi-value-field/multi-value-field.module.scss.cjs.js +1 -1
  90. package/src/tedi/components/form/multi-value-field/multi-value-field.module.scss.es.js +3 -0
  91. package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
  92. package/src/tedi/components/form/number-field/number-field.es.js +117 -112
  93. package/src/tedi/components/form/radio/radio.cjs.js +1 -1
  94. package/src/tedi/components/form/radio/radio.es.js +24 -23
  95. package/src/tedi/components/form/search/search.cjs.js +1 -1
  96. package/src/tedi/components/form/search/search.es.js +60 -40
  97. package/src/tedi/components/form/search/search.module.scss.cjs.js +1 -1
  98. package/src/tedi/components/form/search/search.module.scss.es.js +7 -3
  99. package/src/tedi/components/form/select/components/select-input.cjs.js +1 -1
  100. package/src/tedi/components/form/select/components/select-input.es.js +24 -15
  101. package/src/tedi/components/form/select/components/select-multi-value-remove.cjs.js +1 -1
  102. package/src/tedi/components/form/select/components/select-multi-value-remove.es.js +11 -11
  103. package/src/tedi/components/form/select/components/select-multi-value.cjs.js +1 -1
  104. package/src/tedi/components/form/select/components/select-multi-value.es.js +34 -30
  105. package/src/tedi/components/form/select/select.cjs.js +1 -1
  106. package/src/tedi/components/form/select/select.d.ts +14 -0
  107. package/src/tedi/components/form/select/select.es.js +274 -267
  108. package/src/tedi/components/layout/header/components/header-language/header-language.cjs.js +1 -0
  109. package/src/tedi/components/layout/header/components/header-language/header-language.es.js +105 -0
  110. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.cjs.js +1 -0
  111. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.es.js +12 -0
  112. package/src/tedi/components/layout/header/components/header-login/header-login.cjs.js +1 -0
  113. package/src/tedi/components/layout/header/components/header-login/header-login.es.js +36 -0
  114. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.cjs.js +1 -0
  115. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.es.js +8 -0
  116. package/src/tedi/components/layout/header/components/header-logout/header-logout.cjs.js +1 -0
  117. package/src/tedi/components/layout/header/components/header-logout/header-logout.es.js +33 -0
  118. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.cjs.js +1 -0
  119. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.es.js +7 -0
  120. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.cjs.js +1 -0
  121. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.es.js +25 -0
  122. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.cjs.js +1 -0
  123. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.es.js +10 -0
  124. package/src/tedi/components/layout/header/components/header-profile/header-profile.cjs.js +1 -0
  125. package/src/tedi/components/layout/header/components/header-profile/header-profile.es.js +136 -0
  126. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.cjs.js +1 -0
  127. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.es.js +14 -0
  128. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.cjs.js +1 -0
  129. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.es.js +89 -0
  130. package/src/tedi/components/layout/header/components/header-role/header-role.cjs.js +1 -0
  131. package/src/tedi/components/layout/header/components/header-role/header-role.es.js +162 -0
  132. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.cjs.js +1 -0
  133. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.es.js +25 -0
  134. package/src/tedi/components/layout/header/components/header-search/header-search.cjs.js +1 -0
  135. package/src/tedi/components/layout/header/components/header-search/header-search.es.js +60 -0
  136. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.cjs.js +1 -0
  137. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.es.js +9 -0
  138. package/src/tedi/components/layout/header/header.cjs.js +1 -0
  139. package/src/tedi/components/layout/header/header.es.js +63 -0
  140. package/src/tedi/components/layout/header/header.module.scss.cjs.js +1 -0
  141. package/src/tedi/components/layout/header/header.module.scss.es.js +13 -0
  142. package/src/tedi/components/layout/hide-at/hide-at.cjs.js +1 -0
  143. package/src/tedi/components/layout/hide-at/hide-at.es.js +10 -0
  144. package/src/tedi/components/layout/show-at/show-at.cjs.js +1 -0
  145. package/src/tedi/components/layout/show-at/show-at.es.js +10 -0
  146. package/src/tedi/components/loaders/spinner/spinner.cjs.js +1 -1
  147. package/src/tedi/components/loaders/spinner/spinner.d.ts +7 -0
  148. package/src/tedi/components/loaders/spinner/spinner.es.js +29 -18
  149. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.cjs.js +1 -1
  150. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.es.js +8 -7
  151. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -1
  152. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +10 -9
  153. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  154. package/src/tedi/components/overlays/overlay/overlay-content.es.js +14 -12
  155. package/src/tedi/components/overlays/overlay/overlay-trigger.cjs.js +1 -1
  156. package/src/tedi/components/overlays/overlay/overlay-trigger.es.js +20 -19
  157. package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
  158. package/src/tedi/components/overlays/overlay/overlay.d.ts +10 -0
  159. package/src/tedi/components/overlays/overlay/overlay.es.js +74 -71
  160. package/src/tedi/components/overlays/tooltip/index.d.ts +1 -0
  161. package/src/tedi/components/overlays/tooltip/info-tooltip.cjs.js +1 -0
  162. package/src/tedi/components/overlays/tooltip/info-tooltip.d.ts +52 -0
  163. package/src/tedi/components/overlays/tooltip/info-tooltip.es.js +24 -0
  164. package/src/tedi/components/tags/tag/tag.cjs.js +1 -1
  165. package/src/tedi/components/tags/tag/tag.d.ts +9 -0
  166. package/src/tedi/components/tags/tag/tag.es.js +18 -17
  167. package/src/tedi/helpers/get-element-ref.cjs.js +1 -0
  168. package/src/tedi/helpers/get-element-ref.d.ts +11 -0
  169. package/src/tedi/helpers/get-element-ref.es.js +8 -0
  170. package/src/tedi/helpers/hooks/use-file-upload.cjs.js +1 -1
  171. package/src/tedi/helpers/hooks/use-file-upload.es.js +71 -66
  172. package/src/tedi/index.d.ts +3 -0
  173. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  174. package/src/tedi/providers/label-provider/labels-map.d.ts +69 -6
  175. package/src/tedi/providers/label-provider/labels-map.es.js +137 -74
  176. package/tedi.cjs.js +1 -1
  177. 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 k } from "../../layout/grid/col.es.js";
9
- const K = (N) => {
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: C,
14
+ className: g,
15
15
  disabled: c,
16
16
  onChange: a,
17
- hideLabel: g,
17
+ hideLabel: y,
18
18
  helper: r,
19
19
  checked: t,
20
- defaultChecked: y,
21
- hover: R,
22
- name: x,
20
+ defaultChecked: R,
21
+ hover: x,
22
+ name: j,
23
23
  tooltip: p,
24
24
  size: f = "default",
25
- invalid: j,
26
- required: w,
25
+ invalid: w,
26
+ required: u,
27
27
  ...I
28
- } = N, [u, L] = n.useState(y || !1), _ = n.useRef(null), $ = n.useMemo(() => a && typeof t < "u" ? t : u, [a, u, t]), z = (i) => {
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
- }, b = r ? r.id ?? `${o}-helper` : void 0, B = p ? `${o}-tooltip` : void 0, F = l(e["tedi-radio__label"], { [e["tedi-radio--disabled"]]: c });
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(k, { width: "auto", children: /* @__PURE__ */ s("div", { className: e["tedi-radio__outer-indicator-wrapper"], children: [
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: x,
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": [b, B].filter(Boolean).join(" ")
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 = _.current) == null ? void 0 : i.click();
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"]]: R },
65
+ { [e["tedi-radio__indicator--hover"]]: x },
65
66
  { [e[`tedi-radio__indicator--size-${f}`]]: f },
66
- { [e["tedi-radio__indicator--invalid"]]: j },
67
- C
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(k, { children: /* @__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: g,
81
+ hideLabel: y,
81
82
  label: m,
82
83
  tooltip: p,
83
- required: w
84
+ required: u
84
85
  }
85
86
  ) })
86
87
  ] }),
87
- r && /* @__PURE__ */ d(M, { id: b, ...r, className: l(e["tedi-radio__helper"], r.className) })
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 l=require("react/jsx-runtime"),i=require("../../../../../external/classnames/index.cjs.js"),v=require("react"),L=require("../../buttons/button/button.cjs.js"),N=require("../textfield/textfield.cjs.js"),s=require("./search.module.scss.cjs.js"),w=require("../../../providers/label-provider/use-labels.cjs.js"),u=v.forwardRef(({placeholder:c,isClearable:d=!0,searchIcon:n="search",onSearch:a,onChange:o,button:e,ariaLabel:f,className:h,input:x,...t},_)=>{const{getLabel:r}=w.useLabels(),b=j=>{j.key==="Enter"&&(a==null||a(t.value))},m=()=>{a==null||a(t.value)},p={...t,ref:_,inputClassName:i.default(s.default["tedi-search__input"],e&&s.default["tedi-search__input--has-button"],h),placeholder:c,isClearable:d,onKeyDown:b,onChange:o,input:{...x,role:"searchbox"},...e?{}:{icon:n}},q=c||r("search"),y=f??q;return l.jsxs("div",{className:i.default(s.default["tedi-search__wrapper"]),role:"search","aria-label":y,children:[l.jsx(N.TextField,{...p}),e&&l.jsx(L.Button,{...e,onClick:m,className:i.default(s.default["tedi-search__button"],e.className),"aria-label":e.children?void 0:r("search"),children:e.children??r("search")})]})});u.displayName="Search";exports.Search=u;
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 w, jsx as c } from "react/jsx-runtime";
2
- import l from "../../../../../external/classnames/index.es.js";
3
- import { forwardRef as L } from "react";
4
- import { Button as b } from "../../buttons/button/button.es.js";
5
- import { TextField as k } from "../textfield/textfield.es.js";
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 j = L(
8
+ const L = g(
9
9
  ({
10
- placeholder: t,
11
- isClearable: o = !0,
12
- searchIcon: m = "search",
10
+ placeholder: d,
11
+ isClearable: m = !0,
12
+ searchIcon: l = "search",
13
13
  onSearch: s,
14
- onChange: d,
14
+ onChange: n,
15
15
  button: e,
16
16
  ariaLabel: p,
17
- className: n,
18
- input: f,
17
+ className: _,
18
+ input: h,
19
19
  ...r
20
- }, h) => {
21
- const { getLabel: i } = C(), u = (v) => {
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
- }, x = {
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: h,
28
- inputClassName: l(a["tedi-search__input"], e && a["tedi-search__input--has-button"], n),
29
- placeholder: t,
30
- isClearable: o,
31
- onKeyDown: u,
32
- onChange: d,
33
- input: { ...f, role: "searchbox" },
34
- ...e ? {} : { icon: m }
35
- }, N = t || i("search"), y = p ?? N;
36
- return /* @__PURE__ */ w("div", { className: l(a["tedi-search__wrapper"]), role: "search", "aria-label": y, children: [
37
- /* @__PURE__ */ c(k, { ...x }),
38
- e && /* @__PURE__ */ c(
39
- b,
40
- {
41
- ...e,
42
- onClick: _,
43
- className: l(a["tedi-search__button"], e.className),
44
- "aria-label": e.children ? void 0 : i("search"),
45
- children: e.children ?? i("search")
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
- j.displayName = "Search";
71
+ L.displayName = "Search";
52
72
  export {
53
- j as Search
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 t = {
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-search__button": "tedi-search__button-cbb4df17"
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
- t as default
12
+ e as default
9
13
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("../../../../../../external/classnames/index.cjs.js"),s=require("../select.module.scss.cjs.js"),d=require("../../../../../../external/react-select/dist/index-641ee5b8.esm.cjs.js"),u=e=>t.jsx(d.c.Input,{...e,className:i.default(e.className,s.default["tedi-select__input"]),isHidden:e.selectProps.inputIsHidden!==void 0?e.selectProps.inputIsHidden:e.isHidden,"aria-required":e.selectProps.required,required:e.selectProps.required});exports.SelectInput=u;
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 i } from "react/jsx-runtime";
2
- import s from "../../../../../../external/classnames/index.es.js";
3
- import t from "../select.module.scss.es.js";
4
- import { c as r } from "../../../../../../external/react-select/dist/index-641ee5b8.esm.es.js";
5
- const o = (e) => /* @__PURE__ */ i(
6
- r.Input,
7
- {
8
- ...e,
9
- className: s(e.className, t["tedi-select__input"]),
10
- isHidden: e.selectProps.inputIsHidden !== void 0 ? e.selectProps.inputIsHidden : e.isHidden,
11
- "aria-required": e.selectProps.required,
12
- required: e.selectProps.required
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
- o as SelectInput
25
+ b as SelectInput
17
26
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("../../../buttons/closing-button/closing-button.cjs.js"),n=require("../../../misc/separator/separator.cjs.js"),s=require("../select.module.scss.cjs.js"),u=require("../../../../providers/label-provider/use-labels.cjs.js"),d=({innerProps:l,data:a})=>{const{getLabel:r}=u.useLabels(),o=e=>{l.onClick&&l.onClick(e)},c=e=>{(e.key==="Enter"||e.key===" ")&&o(e)};return t.jsxs(t.Fragment,{children:[t.jsx(i.ClosingButton,{onMouseDown:e=>e.stopPropagation(),onClick:o,onKeyDown:c,className:s.default["tedi-select__multi-value-clear"],iconSize:18,title:`${r("clear")} ${a.label}`}),t.jsx(n.Separator,{color:"primary",axis:"vertical",className:s.default["tedi-select__separator"]})]})};exports.SelectMultiValueRemove=d;
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 s, Fragment as n, jsx as l } from "react/jsx-runtime";
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 r from "../select.module.scss.es.js";
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 g = ({ innerProps: o, data: a }) => {
7
- const { getLabel: i } = p(), t = (e) => {
8
- o.onClick && o.onClick(e);
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__ */ s(n, { children: [
11
- /* @__PURE__ */ l(
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: r["tedi-select__multi-value-clear"],
19
+ className: i["tedi-select__multi-value-clear"],
20
20
  iconSize: 18,
21
- title: `${i("clear")} ${a.label}`
21
+ title: `${s("remove")} ${typeof o.label == "string" ? o.label : o.value}`
22
22
  }
23
23
  ),
24
- /* @__PURE__ */ l(m, { color: "primary", axis: "vertical", className: r["tedi-select__separator"] })
24
+ /* @__PURE__ */ r(m, { color: "primary", axis: "vertical", className: i["tedi-select__separator"] })
25
25
  ] });
26
26
  };
27
27
  export {
28
- g as SelectMultiValueRemove
28
+ b as SelectMultiValueRemove
29
29
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),g=require("../../../../../../external/classnames/index.cjs.js"),x=require("../../../tags/tag/tag.cjs.js"),S=require("../select.module.scss.cjs.js"),c=require("./select-bulk-helpers.cjs.js"),M=require("./select-tags-context.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))}},q=({isTagRemovable:t,tagsEllipsis:l=!1,children:n,removeProps:y,...o})=>{const{isSingleRow:C,visibleCount:a}=M.useSelectTagsContext();if(o.data.value===c.SELECT_ALL_VALUE||c.isGroupSentinel(o.data))return null;const s=o.selectProps.value??[],i=Array.isArray(s)?s.findIndex(e=>e.value===o.data.value):-1,f=C&&a!==null&&i!==-1&&i>=a,u=d(y),k=e=>{e.stopPropagation(),u(e)},p=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),e.stopPropagation(),u(e))};return f?null:r.jsx("div",{onMouseDown:e=>e.stopPropagation(),"data-tedi-tag-index":i,className:g.default({[S.default["tedi-select__multi-value--ellipsis"]]:l!==!1}),children:r.jsx(x.Tag,{color:"primary",ellipsis:l,onClose:t?k:void 0,closeButtonProps:t?{tabIndex:0,onMouseDown:e=>e.stopPropagation(),onKeyDown:p}:void 0,children:n})})};exports.SelectMultiValue=q;exports.createMultiValueCloseHandler=d;
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 m from "../select.module.scss.es.js";
5
- import { SELECT_ALL_VALUE as g, isGroupSentinel as x } from "./select-bulk-helpers.es.js";
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
- const D = (t) => (e) => {
8
- if (e.type === "click" && t.onClick) {
9
- t.onClick(e);
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 (e.type === "keydown") {
13
- const l = e;
14
- (l.key === "Enter" || l.key === " ") && t.onClick && (l.preventDefault(), l.stopPropagation(), t.onClick(l));
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
- }, P = ({
17
- isTagRemovable: t,
18
- tagsEllipsis: e = !1,
17
+ }, V = ({
18
+ isTagRemovable: e,
19
+ tagsEllipsis: o = !1,
19
20
  children: l,
20
- removeProps: u,
21
- ...n
21
+ removeProps: d,
22
+ ...a
22
23
  }) => {
23
- const { isSingleRow: d, visibleCount: a } = w();
24
- if (n.data.value === g || x(n.data))
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 = n.selectProps.value ?? [], i = Array.isArray(s) ? s.findIndex((o) => o.value === n.data.value) : -1, f = d && a !== null && i !== -1 && i >= a, r = D(u), p = (o) => {
27
- o.stopPropagation(), r(o);
28
- }, y = (o) => {
29
- (o.key === "Enter" || o.key === " ") && (o.preventDefault(), o.stopPropagation(), r(o));
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 f ? null : /* @__PURE__ */ c(
32
+ return m ? null : /* @__PURE__ */ c(
32
33
  "div",
33
34
  {
34
- onMouseDown: (o) => o.stopPropagation(),
35
- "data-tedi-tag-index": i,
36
- className: C({ [m["tedi-select__multi-value--ellipsis"]]: e !== !1 }),
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: e,
42
- onClose: t ? p : void 0,
43
- closeButtonProps: t ? {
42
+ ellipsis: o,
43
+ onClose: e ? y : void 0,
44
+ closeButtonProps: e ? {
44
45
  tabIndex: 0,
45
- onMouseDown: (o) => o.stopPropagation(),
46
- onKeyDown: y
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
- P as SelectMultiValue,
56
- D as createMultiValueCloseHandler
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"),W=require("../../../../../external/classnames/index.cjs.js"),a=require("react"),Xe=require("../../../../../external/react-select/dist/react-select.esm.cjs.js"),Je=require("../../../../../external/react-select/async/dist/react-select-async.esm.cjs.js"),Qe=require("../feedback-text/feedback-text.cjs.js"),Ye=require("../form-label/form-label.cjs.js"),_=require("../input-group/input-group.cjs.js"),Ze=require("../input-group/input-group.module.scss.cjs.js"),r=require("./components/select-bulk-helpers.cjs.js"),et=require("./components/select-clear-indicator.cjs.js"),tt=require("./components/select-control.cjs.js"),lt=require("./components/select-dropdown-indicator.cjs.js"),nt=require("./components/select-group.cjs.js"),st=require("./components/select-group-heading.cjs.js"),ot=require("./components/select-indicators-container.cjs.js"),at=require("./components/select-input.cjs.js"),rt=require("./components/select-loading-indicator.cjs.js"),it=require("./components/select-menu.cjs.js"),ut=require("./components/select-menu-list.cjs.js"),ct=require("./components/select-menu-portal.cjs.js"),dt=require("./components/select-multi-value.cjs.js"),pt=require("./components/select-multi-value-remove.cjs.js"),ft=require("./components/select-option.cjs.js"),gt=require("./components/select-single-value.cjs.js"),mt=require("./components/select-value-container.cjs.js"),f=require("./select.module.scss.cjs.js"),St=require("../../../providers/label-provider/use-labels.cjs.js"),X=a.forwardRef((E,J)=>{var z;const{options:c,defaultOptions:Q,id:w,name:Y,iconName:Z="arrow_drop_down",label:ee,required:k,value:x,defaultValue:R,tagsDirection:C="stack",onChange:O,onInputChange:te,inputValue:le,loadOptions:ne,isLoading:se,openMenuOnFocus:oe=!1,openMenuOnClick:ae=!0,tabSelectsValue:re=!1,disabled:T=!1,className:ie,hideLabel:ue=!1,helper:i,placeholder:ce,invalid:de,valid:pe,size:V,async:fe=!1,renderOption:ge,renderMessageListFooter:D,noOptionsMessage:me,loadingMessage:Se,multiple:v=!1,showSelectAll:G=!1,selectableGroups:P=!1,dropdownType:be="menu",renderValue:Le,closeMenuOnSelect:Me=!v,blurInputOnSelect:F=!1,autoFocus:ve=!1,isClearable:ye=!0,isClearIndicatorVisible:Ie=!1,isSearchable:N=!0,menuIsOpen:he,onMenuClose:Ae,onMenuOpen:Ce,onBlur:Oe,inputIsHidden:Ve,isTagRemovable:qe=!1,tagsEllipsis:_e=!1,backspaceRemovesValue:Ee=!1,optionGroupHeadingText:we={modifiers:"small",color:"tertiary"},cacheOptions:ke=!0,showRadioButtons:xe=!1,renderWithoutLabel:Re,tooltip:Te,classNames:j}=E,g=(z=_.useOptionalInputGroup)==null?void 0:z.call(_),De=a.useId(),Ge=g==null?void 0:g.hasExternalLabel,q=E.id??(g==null?void 0:g.inputId)??De,H=i?(i==null?void 0:i.id)??`${q}-helper`:void 0,I=a.useRef(null),{getLabel:h}=St.useLabels();a.useImperativeHandle(J,()=>I.current);const S=!!G&&v,[Pe,Fe]=a.useState(R??null),U=x!==void 0,m=U?x:Pe,d=a.useMemo(()=>Array.isArray(m)?m:m?[m]:[],[m]),A=a.useMemo(()=>({value:r.SELECT_ALL_VALUE,label:h("select.select-all")}),[h]),b=!!P&&!!v,{groupFlattenedOptions:B,groupSentinelMap:y}=a.useMemo(()=>{const t=new Map;if(!b||!c||c.length===0)return{groupFlattenedOptions:null,groupSentinelMap:t};if(!c.some(e=>e&&Array.isArray(e.options)))return{groupFlattenedOptions:null,groupSentinelMap:t};const n=[],u=new Map;for(const e of c)if(e&&Array.isArray(e.options)){const l=e,s=`${r.GROUP_OPTION_PREFIX}${l.label??""}`,p=l.options.filter(L=>!L.isDisabled);u.set(s,{enabled:p}),n.push({value:s,label:l.label??""});for(const L of l.options)n.push({...L,customData:{...L.customData??{},__tediInGroup:!0}})}else n.push(e);return{groupFlattenedOptions:n,groupSentinelMap:u}},[c,b]),Ne=a.useMemo(()=>{let t=B??c;return S&&t&&t.length>0&&(t=[A,...t]),t},[c,B,S,A]),je=a.useMemo(()=>{const t=[];if(b&&y.size>0)for(const[o,n]of y)n.enabled.length>0&&r.areAllSelected(d,n.enabled)&&t.push({value:o,label:""});if(S){const o=r.getEnabledOptions(c??[]);o.length>0&&r.areAllSelected(d,o)&&t.push(A)}return t.length===0?m:[...d,...t]},[m,d,c,b,y,S,A]),He=(t,o)=>{let n=t;const u=o.option;if(b&&u&&y.has(u.value)){const e=y.get(u.value).enabled;if(o.action==="select-option"){const l=[...d];for(const s of e)l.some(p=>p.value===s.value)||l.push(s);n=l}else o.action==="deselect-option"&&(n=d.filter(l=>!e.some(s=>s.value===l.value)))}else if(S){const e=r.getEnabledOptions(c??[]),l=(u==null?void 0:u.value)===r.SELECT_ALL_VALUE;l&&o.action==="select-option"?n=[...d.filter(p=>p.value!==r.SELECT_ALL_VALUE&&!e.some(L=>L.value===p.value)),...e]:l&&o.action==="deselect-option"&&(n=d.filter(s=>s.value!==r.SELECT_ALL_VALUE&&!e.some(p=>p.value===s.value)))}Array.isArray(n)&&(n=n.filter(e=>e.value!==r.SELECT_ALL_VALUE&&!r.isGroupSentinel(e))),U||Fe(n),O==null||O(n),!F&&I.current&&setTimeout(()=>{var e,l;return(l=(e=I.current)==null?void 0:e.inputRef)==null?void 0:l.focus()},0)},Ue=a.useCallback((t,o)=>t.data.value===r.SELECT_ALL_VALUE||r.isGroupSentinel(t.data)||!o?!0:String(t.label).toLowerCase().includes(o.toLowerCase()),[]),[K,$]=a.useState(!1),Be=t=>{(t.key==="ArrowUp"||t.key==="ArrowDown"||t.key==="Home"||t.key==="End"||t.key==="PageUp"||t.key==="PageDown"||t.key==="Tab")&&(K||$(!0))},Ke=a.useCallback(()=>{$(t=>t&&!1)},[]),$e=a.useCallback(t=>M.jsx(ut.SelectMenuList,{...t,renderMessageListFooter:D}),[D]),ze=()=>{const t={ClearIndicator:e=>et.SelectClearIndicator({isClearIndicatorVisible:Ie,...e}),DropdownIndicator:()=>lt.SelectDropDownIndicator({iconName:Z}),IndicatorSeparator:()=>null,MenuPortal:ct.SelectMenuPortal,Menu:it.SelectMenu,MenuList:$e,Option:e=>ft.SelectOption({renderOption:ge,multiple:v,showRadioButtons:xe,...e}),Control:tt.SelectControl,Input:at.SelectInput,MultiValue:e=>dt.SelectMultiValue({isTagRemovable:qe,tagsEllipsis:_e,...e}),MultiValueRemove:pt.SelectMultiValueRemove,SingleValue:gt.SelectSingleValue,Group:nt.SelectGroup,GroupHeading:e=>st.SelectGroupHeading({optionGroupHeadingText:we,...e}),IndicatorsContainer:ot.SelectIndicatorsContainer,ValueContainer:mt.SelectValueContainer,LoadingIndicator:rt.SelectLoadingIndicator},o=fe?Je.default:Xe.default,n=()=>h("select.no-options"),u=()=>h("select.loading");return M.jsx(o,{tagsDirection:C,showSelectAll:G,selectableGroups:P,dropdownType:be,renderValue:Le,keyboardMode:K,exitKeyboardMode:Ke,onKeyDown:Be,id:q,"aria-describedby":H,autoFocus:ve,ref:I,instanceId:w,className:"tedi-select__wrapper",name:Y,options:Ne,defaultOptions:Q,value:je,defaultValue:R,cacheOptions:ke,onChange:He,filterOption:S||b?Ue:void 0,onInputChange:te,onBlur:Oe,inputValue:le,inputId:`${w}-input`,loadOptions:ne,isLoading:se,noOptionsMessage:me||n,loadingMessage:Se||u,classNamePrefix:"select",components:t,isDisabled:T,isSearchable:N,menuIsOpen:he,openMenuOnFocus:oe,openMenuOnClick:ae,tabSelectsValue:re,onMenuClose:Ae,onMenuOpen:Ce,placeholder:ce||"",isClearable:ye,backspaceRemovesValue:Ee,menuShouldScrollIntoView:!0,isMulti:v,hideSelectedOptions:!1,closeMenuOnSelect:Me,blurInputOnSelect:F,menuPlacement:"auto",inputIsHidden:Ve,required:k,menuPortalTarget:document.body,menuPosition:"absolute",classNames:(()=>{const e={};if(j)for(const[l,s]of Object.entries(j))e[l]=typeof s=="string"?()=>s:s;if(g){const l=e.control;e.control=s=>W.default(l==null?void 0:l(s),Ze.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"})}})},We=W.default(f.default["tedi-select"],ie,{[f.default["tedi-select--invalid"]]:de||(i==null?void 0:i.type)==="error"},{[f.default["tedi-select--valid"]]:pe||(i==null?void 0:i.type)==="valid"},{[f.default[`tedi-select--${V}`]]:V},{[f.default[`tedi-select--tags-${C}`]]:C},{[f.default["tedi-select--searchable"]]:N},{[f.default["tedi-select--disabled"]]:T});return M.jsxs("div",{"data-name":"select",className:We,children:[M.jsxs("div",{className:f.default["tedi-select__inner"],children:[!Ge&&M.jsx(Ye.FormLabel,{id:`${q}-input`,label:ee,required:k,hideLabel:ue,size:V,renderWithoutLabel:Re,tooltip:Te}),ze()]}),i&&M.jsx(Qe.FeedbackText,{...i,id:H})]})});X.displayName="Select";exports.Select=X;
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.