@tedi-design-system/react 18.1.0-rc.9 → 18.1.1-rc.1

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 (180) 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/input-group/input-group.cjs.js +1 -1
  87. package/src/tedi/components/form/input-group/input-group.d.ts +4 -7
  88. package/src/tedi/components/form/input-group/input-group.es.js +40 -38
  89. package/src/tedi/components/form/multi-value-field/multi-value-field.cjs.js +1 -1
  90. package/src/tedi/components/form/multi-value-field/multi-value-field.d.ts +8 -0
  91. package/src/tedi/components/form/multi-value-field/multi-value-field.es.js +147 -66
  92. package/src/tedi/components/form/multi-value-field/multi-value-field.module.scss.cjs.js +1 -1
  93. package/src/tedi/components/form/multi-value-field/multi-value-field.module.scss.es.js +3 -0
  94. package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
  95. package/src/tedi/components/form/number-field/number-field.es.js +117 -112
  96. package/src/tedi/components/form/radio/radio.cjs.js +1 -1
  97. package/src/tedi/components/form/radio/radio.es.js +24 -23
  98. package/src/tedi/components/form/search/search.cjs.js +1 -1
  99. package/src/tedi/components/form/search/search.es.js +60 -40
  100. package/src/tedi/components/form/search/search.module.scss.cjs.js +1 -1
  101. package/src/tedi/components/form/search/search.module.scss.es.js +7 -3
  102. package/src/tedi/components/form/select/components/select-input.cjs.js +1 -1
  103. package/src/tedi/components/form/select/components/select-input.es.js +24 -15
  104. package/src/tedi/components/form/select/components/select-multi-value-remove.cjs.js +1 -1
  105. package/src/tedi/components/form/select/components/select-multi-value-remove.es.js +11 -11
  106. package/src/tedi/components/form/select/components/select-multi-value.cjs.js +1 -1
  107. package/src/tedi/components/form/select/components/select-multi-value.es.js +34 -30
  108. package/src/tedi/components/form/select/select.cjs.js +1 -1
  109. package/src/tedi/components/form/select/select.d.ts +14 -0
  110. package/src/tedi/components/form/select/select.es.js +274 -267
  111. package/src/tedi/components/layout/header/components/header-language/header-language.cjs.js +1 -0
  112. package/src/tedi/components/layout/header/components/header-language/header-language.es.js +105 -0
  113. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.cjs.js +1 -0
  114. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.es.js +12 -0
  115. package/src/tedi/components/layout/header/components/header-login/header-login.cjs.js +1 -0
  116. package/src/tedi/components/layout/header/components/header-login/header-login.es.js +36 -0
  117. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.cjs.js +1 -0
  118. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.es.js +8 -0
  119. package/src/tedi/components/layout/header/components/header-logout/header-logout.cjs.js +1 -0
  120. package/src/tedi/components/layout/header/components/header-logout/header-logout.es.js +33 -0
  121. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.cjs.js +1 -0
  122. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.es.js +7 -0
  123. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.cjs.js +1 -0
  124. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.es.js +25 -0
  125. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.cjs.js +1 -0
  126. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.es.js +10 -0
  127. package/src/tedi/components/layout/header/components/header-profile/header-profile.cjs.js +1 -0
  128. package/src/tedi/components/layout/header/components/header-profile/header-profile.es.js +136 -0
  129. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.cjs.js +1 -0
  130. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.es.js +14 -0
  131. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.cjs.js +1 -0
  132. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.es.js +89 -0
  133. package/src/tedi/components/layout/header/components/header-role/header-role.cjs.js +1 -0
  134. package/src/tedi/components/layout/header/components/header-role/header-role.es.js +162 -0
  135. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.cjs.js +1 -0
  136. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.es.js +25 -0
  137. package/src/tedi/components/layout/header/components/header-search/header-search.cjs.js +1 -0
  138. package/src/tedi/components/layout/header/components/header-search/header-search.es.js +60 -0
  139. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.cjs.js +1 -0
  140. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.es.js +9 -0
  141. package/src/tedi/components/layout/header/header.cjs.js +1 -0
  142. package/src/tedi/components/layout/header/header.es.js +63 -0
  143. package/src/tedi/components/layout/header/header.module.scss.cjs.js +1 -0
  144. package/src/tedi/components/layout/header/header.module.scss.es.js +13 -0
  145. package/src/tedi/components/layout/hide-at/hide-at.cjs.js +1 -0
  146. package/src/tedi/components/layout/hide-at/hide-at.es.js +10 -0
  147. package/src/tedi/components/layout/show-at/show-at.cjs.js +1 -0
  148. package/src/tedi/components/layout/show-at/show-at.es.js +10 -0
  149. package/src/tedi/components/loaders/spinner/spinner.cjs.js +1 -1
  150. package/src/tedi/components/loaders/spinner/spinner.d.ts +7 -0
  151. package/src/tedi/components/loaders/spinner/spinner.es.js +29 -18
  152. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.cjs.js +1 -1
  153. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.es.js +8 -7
  154. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -1
  155. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +10 -9
  156. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  157. package/src/tedi/components/overlays/overlay/overlay-content.es.js +14 -12
  158. package/src/tedi/components/overlays/overlay/overlay-trigger.cjs.js +1 -1
  159. package/src/tedi/components/overlays/overlay/overlay-trigger.es.js +20 -19
  160. package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
  161. package/src/tedi/components/overlays/overlay/overlay.d.ts +10 -0
  162. package/src/tedi/components/overlays/overlay/overlay.es.js +74 -71
  163. package/src/tedi/components/overlays/tooltip/index.d.ts +1 -0
  164. package/src/tedi/components/overlays/tooltip/info-tooltip.cjs.js +1 -0
  165. package/src/tedi/components/overlays/tooltip/info-tooltip.d.ts +52 -0
  166. package/src/tedi/components/overlays/tooltip/info-tooltip.es.js +24 -0
  167. package/src/tedi/components/tags/tag/tag.cjs.js +1 -1
  168. package/src/tedi/components/tags/tag/tag.d.ts +9 -0
  169. package/src/tedi/components/tags/tag/tag.es.js +18 -17
  170. package/src/tedi/helpers/get-element-ref.cjs.js +1 -0
  171. package/src/tedi/helpers/get-element-ref.d.ts +11 -0
  172. package/src/tedi/helpers/get-element-ref.es.js +8 -0
  173. package/src/tedi/helpers/hooks/use-file-upload.cjs.js +1 -1
  174. package/src/tedi/helpers/hooks/use-file-upload.es.js +71 -66
  175. package/src/tedi/index.d.ts +3 -0
  176. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  177. package/src/tedi/providers/label-provider/labels-map.d.ts +69 -6
  178. package/src/tedi/providers/label-provider/labels-map.es.js +137 -74
  179. package/tedi.cjs.js +1 -1
  180. package/tedi.es.js +306 -281
@@ -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.