@12-apps/ui 6.46.1 → 6.48.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 (301) hide show
  1. package/components-catalog.md +1 -1
  2. package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
  3. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  4. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  5. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +1 -1
  6. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +1 -1
  7. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  8. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  9. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  10. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  11. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  12. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +32 -32
  13. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +41 -41
  14. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +1 -1
  15. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  16. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +4 -4
  17. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +3 -3
  18. package/dist/_internal/components/data-display/DataViews/base-list-card.js +7 -7
  19. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +9 -9
  20. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +1 -1
  21. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +15 -15
  22. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +5 -5
  23. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +29 -29
  24. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +14 -14
  25. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +12 -12
  26. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +13 -13
  27. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  28. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  29. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +2 -2
  30. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +5 -5
  31. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +2 -2
  32. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  33. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
  34. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -11
  35. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +8 -8
  36. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +12 -12
  37. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +2 -2
  38. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
  39. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +3 -3
  40. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  41. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -7
  42. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  43. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
  44. package/dist/_internal/components/data-display/Table/Table.js +3 -3
  45. package/dist/_internal/components/data-display/index.js +42 -42
  46. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +3 -3
  47. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
  48. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +1 -1
  49. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  50. package/dist/_internal/components/feedback/index.js +8 -8
  51. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
  52. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +7 -7
  53. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  54. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  55. package/dist/_internal/components/form/Calendar/Calendar.js +3 -3
  56. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +4 -4
  57. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  58. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  59. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +8 -8
  60. package/dist/_internal/components/form/CepField/CepField.js +3 -3
  61. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
  62. package/dist/_internal/components/form/Command/Command.js +2 -2
  63. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
  64. package/dist/_internal/components/form/Input/Input.js +2 -2
  65. package/dist/_internal/components/form/NumberField/NumberField.js +3 -3
  66. package/dist/_internal/components/form/Select/Select.js +5 -2
  67. package/dist/_internal/components/form/Select/Select.metrics.js +5 -1
  68. package/dist/_internal/components/form/Select/Select.searchable.js +28 -0
  69. package/dist/_internal/components/form/Select/Select.searchable.js.map +1 -0
  70. package/dist/_internal/components/form/Select/Select.styles.js +25 -0
  71. package/dist/_internal/components/form/Select/Select.styles.js.map +1 -0
  72. package/dist/_internal/components/form/index.js +32 -29
  73. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +9 -9
  74. package/dist/_internal/components/form/total-form/Fields/CepField.js +4 -4
  75. package/dist/_internal/components/form/total-form/Fields/SelectField.js +6 -3
  76. package/dist/_internal/components/form/total-form/Fields/TextField.js +3 -3
  77. package/dist/_internal/components/form/total-form/Fields/index.js +20 -18
  78. package/dist/_internal/components/index.js +88 -86
  79. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +4 -4
  80. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +6 -6
  81. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +8 -8
  82. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
  83. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +4 -4
  84. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +4 -4
  85. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
  86. package/dist/_internal/components/navigation/index.js +12 -12
  87. package/dist/_internal/user-avatar/user-avatar.js +4 -4
  88. package/dist/charts.js +10 -10
  89. package/dist/{chunk-A64MQ7GW.js → chunk-2LSJTQIL.js} +2 -2
  90. package/dist/{chunk-EU76OQGR.js → chunk-2NYVMLFQ.js} +2 -2
  91. package/dist/{chunk-CJPP4OUK.js → chunk-2YKTB2IZ.js} +2 -2
  92. package/dist/{chunk-ISW5K72V.js → chunk-2ZRZTGWP.js} +5 -5
  93. package/dist/{chunk-LQRUTHJY.js → chunk-3CDU7DLD.js} +5 -5
  94. package/dist/{chunk-72FPUWD6.js → chunk-3IPQANXY.js} +2 -2
  95. package/dist/{chunk-442FSG7G.js → chunk-3QGMAVUF.js} +5 -3
  96. package/dist/chunk-3QGMAVUF.js.map +1 -0
  97. package/dist/{chunk-56QYSVLI.js → chunk-3WAAL3KN.js} +7 -7
  98. package/dist/{chunk-JO4UMHWR.js → chunk-43UFSKEK.js} +3 -3
  99. package/dist/{chunk-N2XQKTXX.js → chunk-5NFQKL7C.js} +5 -5
  100. package/dist/{chunk-PCHUIDMT.js → chunk-5OEC546C.js} +2 -2
  101. package/dist/{chunk-JBGCGYEC.js → chunk-6EJF3BUR.js} +4 -4
  102. package/dist/{chunk-77JL5XVD.js → chunk-6TZE77YJ.js} +30 -7
  103. package/dist/chunk-6TZE77YJ.js.map +1 -0
  104. package/dist/{chunk-RVOYCPKF.js → chunk-ACU7LEFG.js} +5 -5
  105. package/dist/{chunk-OARM5RX4.js → chunk-AQC67NQZ.js} +5 -5
  106. package/dist/chunk-AV6NNCRO.js +111 -0
  107. package/dist/chunk-AV6NNCRO.js.map +1 -0
  108. package/dist/{chunk-V54LG3QG.js → chunk-B3QWQG62.js} +2 -2
  109. package/dist/{chunk-J2JWWGMT.js → chunk-BPOVRMVS.js} +7 -7
  110. package/dist/{chunk-V4R6Q5ED.js → chunk-CGBUWNNQ.js} +11 -11
  111. package/dist/{chunk-ZCEXSYAJ.js → chunk-CGL7R37P.js} +4 -4
  112. package/dist/{chunk-GYZUJ7HH.js → chunk-CO4MSWTV.js} +5 -5
  113. package/dist/chunk-EISPWFYO.js +146 -0
  114. package/dist/chunk-EISPWFYO.js.map +1 -0
  115. package/dist/{chunk-PGPPN63I.js → chunk-EMEXXAQI.js} +2 -2
  116. package/dist/{chunk-2HPNN5XA.js → chunk-FIF4RQ4S.js} +2 -2
  117. package/dist/{chunk-T6HVNVFI.js → chunk-FQT4C5R4.js} +9 -9
  118. package/dist/{chunk-BWURMQWZ.js → chunk-FS7UVKEE.js} +4 -4
  119. package/dist/{chunk-LUPHXDEU.js → chunk-FVKBP3UX.js} +2 -2
  120. package/dist/{chunk-TPPFWETI.js → chunk-G6II7SVX.js} +7 -7
  121. package/dist/{chunk-LV2SZFXK.js → chunk-GMC3F43L.js} +7 -7
  122. package/dist/{chunk-R6SBP5M5.js → chunk-GOWBYHYW.js} +4 -4
  123. package/dist/{chunk-P3XEF26U.js → chunk-H7DVH6KD.js} +3 -3
  124. package/dist/{chunk-AA7QTFMB.js → chunk-HGRC635A.js} +2 -2
  125. package/dist/{chunk-TE3XYCX7.js → chunk-IHO2O44S.js} +5 -5
  126. package/dist/{chunk-VPH47OIV.js → chunk-IKZSQKOE.js} +2 -2
  127. package/dist/{chunk-IPI3OU2P.js → chunk-IV7G7NK3.js} +5 -5
  128. package/dist/{chunk-WYXNFH5Y.js → chunk-IYC7NPX7.js} +14 -2
  129. package/dist/{chunk-WYXNFH5Y.js.map → chunk-IYC7NPX7.js.map} +1 -1
  130. package/dist/{chunk-HC2AO3RT.js → chunk-J44PPGBF.js} +2 -2
  131. package/dist/{chunk-V2GHNHP6.js → chunk-JAHWFJCW.js} +4 -4
  132. package/dist/{chunk-HAFLKWWU.js → chunk-JQ6HDXKA.js} +2 -2
  133. package/dist/{chunk-SPZAEMGW.js → chunk-JWJ77IMK.js} +4 -4
  134. package/dist/{chunk-HYNDC3FP.js → chunk-JYLOCXMV.js} +5 -5
  135. package/dist/{chunk-QQUNZH3L.js → chunk-KESGVMHW.js} +3 -3
  136. package/dist/{chunk-JTWRI4WD.js → chunk-KN7C6R6L.js} +14 -14
  137. package/dist/{chunk-ILKNYENU.js → chunk-LB27LKG3.js} +4 -4
  138. package/dist/{chunk-IWYTOCCV.js → chunk-LHTEAPYG.js} +4 -4
  139. package/dist/{chunk-TPVSHO75.js → chunk-NLEO5YI4.js} +7 -7
  140. package/dist/{chunk-K45ML7M7.js → chunk-NU55QUMO.js} +2 -2
  141. package/dist/{chunk-KN3WYEH2.js → chunk-NYHZUVLC.js} +4 -4
  142. package/dist/{chunk-U2UT2NDH.js → chunk-OBID7SOG.js} +2 -2
  143. package/dist/{chunk-UUJ7J7NE.js → chunk-PP7CDKO4.js} +2 -2
  144. package/dist/{chunk-6L2FKTBO.js → chunk-PQS3IPMD.js} +10 -91
  145. package/dist/chunk-PQS3IPMD.js.map +1 -0
  146. package/dist/{chunk-6OQHZVK6.js → chunk-QJK7BNH3.js} +5 -5
  147. package/dist/{chunk-PARTZ7XI.js → chunk-R53ZOW4B.js} +2 -2
  148. package/dist/{chunk-L4G5BZFF.js → chunk-RJVUECN7.js} +2 -2
  149. package/dist/{chunk-BWXPO2SE.js → chunk-S22XIXLL.js} +3 -3
  150. package/dist/{chunk-QL7NPQOP.js → chunk-SAJ5H5VC.js} +2 -2
  151. package/dist/{chunk-6GAZAJXB.js → chunk-SDKOOVEX.js} +4 -4
  152. package/dist/{chunk-ETCS6OBJ.js → chunk-THCDUP6Q.js} +9 -9
  153. package/dist/{chunk-CMFJQH6A.js → chunk-UG636FEL.js} +4 -4
  154. package/dist/{chunk-NFA7STJA.js → chunk-UILH4OAZ.js} +5 -5
  155. package/dist/{chunk-X5F4FRH7.js → chunk-VNOXUWK7.js} +4 -4
  156. package/dist/{chunk-MD3ND6DT.js → chunk-VU63PDWW.js} +3 -3
  157. package/dist/{chunk-RBLBXJR7.js → chunk-WAD5VL6B.js} +7 -7
  158. package/dist/{chunk-4MGFUPQT.js → chunk-WC3W36AM.js} +7 -7
  159. package/dist/{chunk-Z3L2EGXW.js → chunk-WDAEYLT5.js} +2 -2
  160. package/dist/{chunk-BEX3FLHB.js → chunk-X3C3VTYS.js} +2 -2
  161. package/dist/{chunk-NFTFP6WO.js → chunk-XNTDEQEB.js} +5 -5
  162. package/dist/{chunk-TWVRPT7J.js → chunk-XXL4PM4M.js} +2 -2
  163. package/dist/{chunk-TNQDSTIA.js → chunk-Y6C4MYZE.js} +7 -7
  164. package/dist/{chunk-NRKAJHBB.js → chunk-YRACC6BB.js} +4 -4
  165. package/dist/{chunk-RSQYWGMU.js → chunk-YTIUFMRM.js} +5 -5
  166. package/dist/{chunk-FQ637IDM.js → chunk-YXU45AVO.js} +5 -5
  167. package/dist/{chunk-YDU2YPQA.js → chunk-ZVJSY2OV.js} +3 -3
  168. package/dist/data-display/Avatar.js +3 -3
  169. package/dist/data-display/Badge.js +2 -2
  170. package/dist/data-display/CardKit.js +10 -10
  171. package/dist/data-display/Chart.js +10 -10
  172. package/dist/data-display/DataViews.js +58 -58
  173. package/dist/data-display/FleetMap.js +12 -12
  174. package/dist/data-display/HoverCard.js +3 -3
  175. package/dist/data-display/Lightbox.js +3 -3
  176. package/dist/data-display/MapPreview.js +7 -7
  177. package/dist/data-display/Progress.js +2 -2
  178. package/dist/data-display/Sheet.js +4 -4
  179. package/dist/data-display/Table.js +3 -3
  180. package/dist/feedback/ConfirmAction.js +3 -3
  181. package/dist/feedback/StackedModal.js +3 -3
  182. package/dist/feedback/TutorialOverlay.js +2 -2
  183. package/dist/form/AddressAutocomplete.js +7 -7
  184. package/dist/form/Autocomplete.js +2 -2
  185. package/dist/form/Calendar.js +3 -3
  186. package/dist/form/CategorySelect.js +8 -8
  187. package/dist/form/CepField.js +3 -3
  188. package/dist/form/CodeEditor.js +2 -2
  189. package/dist/form/Command.js +2 -2
  190. package/dist/form/DateRangePicker.js +10 -10
  191. package/dist/form/Input.js +2 -2
  192. package/dist/form/NumberField.js +3 -3
  193. package/dist/form/Select.js +5 -2
  194. package/dist/form/total-form.js +20 -18
  195. package/dist/native/form/Select.js.map +1 -1
  196. package/dist/navigation/AppHeader.js +4 -4
  197. package/dist/navigation/SectionNav.js +8 -8
  198. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  199. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts +2 -1
  200. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  201. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +8 -0
  202. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  203. package/dist/types/components/feedback/StackedModal/index.d.ts +1 -1
  204. package/dist/types/components/feedback/StackedModal/index.d.ts.map +1 -1
  205. package/dist/types/components/form/Select/Select.base.d.ts +15 -0
  206. package/dist/types/components/form/Select/Select.base.d.ts.map +1 -1
  207. package/dist/types/components/form/Select/Select.d.ts +5 -0
  208. package/dist/types/components/form/Select/Select.d.ts.map +1 -1
  209. package/dist/types/components/form/Select/Select.metrics.d.ts +20 -0
  210. package/dist/types/components/form/Select/Select.metrics.d.ts.map +1 -1
  211. package/dist/types/components/form/Select/Select.searchable.d.ts +23 -0
  212. package/dist/types/components/form/Select/Select.searchable.d.ts.map +1 -0
  213. package/dist/types/components/form/Select/Select.styles.d.ts +27 -0
  214. package/dist/types/components/form/Select/Select.styles.d.ts.map +1 -0
  215. package/dist/types-native/components/form/Select/Select.base.d.ts +15 -0
  216. package/dist/types-native/components/form/Select/Select.base.d.ts.map +1 -1
  217. package/dist/types-native/components/form/Select/Select.metrics.d.ts +20 -0
  218. package/dist/types-native/components/form/Select/Select.metrics.d.ts.map +1 -1
  219. package/dist/user-avatar.js +4 -4
  220. package/package.json +1 -1
  221. package/src/components/feedback/StackedModal/StackedModal.md +1 -0
  222. package/src/components/feedback/StackedModal/StackedModal.styles.ts +44 -8
  223. package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
  224. package/src/components/feedback/StackedModal/StackedModal.types.ts +9 -0
  225. package/src/components/feedback/StackedModal/index.ts +1 -1
  226. package/src/components/form/Select/Select.base.ts +15 -0
  227. package/src/components/form/Select/Select.md +31 -1
  228. package/src/components/form/Select/Select.metrics.ts +22 -0
  229. package/src/components/form/Select/Select.searchable.tsx +203 -0
  230. package/src/components/form/Select/Select.styles.tsx +195 -0
  231. package/src/components/form/Select/Select.tsx +20 -166
  232. package/dist/chunk-442FSG7G.js.map +0 -1
  233. package/dist/chunk-6L2FKTBO.js.map +0 -1
  234. package/dist/chunk-77JL5XVD.js.map +0 -1
  235. /package/dist/{chunk-A64MQ7GW.js.map → chunk-2LSJTQIL.js.map} +0 -0
  236. /package/dist/{chunk-EU76OQGR.js.map → chunk-2NYVMLFQ.js.map} +0 -0
  237. /package/dist/{chunk-CJPP4OUK.js.map → chunk-2YKTB2IZ.js.map} +0 -0
  238. /package/dist/{chunk-ISW5K72V.js.map → chunk-2ZRZTGWP.js.map} +0 -0
  239. /package/dist/{chunk-LQRUTHJY.js.map → chunk-3CDU7DLD.js.map} +0 -0
  240. /package/dist/{chunk-72FPUWD6.js.map → chunk-3IPQANXY.js.map} +0 -0
  241. /package/dist/{chunk-56QYSVLI.js.map → chunk-3WAAL3KN.js.map} +0 -0
  242. /package/dist/{chunk-JO4UMHWR.js.map → chunk-43UFSKEK.js.map} +0 -0
  243. /package/dist/{chunk-N2XQKTXX.js.map → chunk-5NFQKL7C.js.map} +0 -0
  244. /package/dist/{chunk-PCHUIDMT.js.map → chunk-5OEC546C.js.map} +0 -0
  245. /package/dist/{chunk-JBGCGYEC.js.map → chunk-6EJF3BUR.js.map} +0 -0
  246. /package/dist/{chunk-RVOYCPKF.js.map → chunk-ACU7LEFG.js.map} +0 -0
  247. /package/dist/{chunk-OARM5RX4.js.map → chunk-AQC67NQZ.js.map} +0 -0
  248. /package/dist/{chunk-V54LG3QG.js.map → chunk-B3QWQG62.js.map} +0 -0
  249. /package/dist/{chunk-J2JWWGMT.js.map → chunk-BPOVRMVS.js.map} +0 -0
  250. /package/dist/{chunk-V4R6Q5ED.js.map → chunk-CGBUWNNQ.js.map} +0 -0
  251. /package/dist/{chunk-ZCEXSYAJ.js.map → chunk-CGL7R37P.js.map} +0 -0
  252. /package/dist/{chunk-GYZUJ7HH.js.map → chunk-CO4MSWTV.js.map} +0 -0
  253. /package/dist/{chunk-PGPPN63I.js.map → chunk-EMEXXAQI.js.map} +0 -0
  254. /package/dist/{chunk-2HPNN5XA.js.map → chunk-FIF4RQ4S.js.map} +0 -0
  255. /package/dist/{chunk-T6HVNVFI.js.map → chunk-FQT4C5R4.js.map} +0 -0
  256. /package/dist/{chunk-BWURMQWZ.js.map → chunk-FS7UVKEE.js.map} +0 -0
  257. /package/dist/{chunk-LUPHXDEU.js.map → chunk-FVKBP3UX.js.map} +0 -0
  258. /package/dist/{chunk-TPPFWETI.js.map → chunk-G6II7SVX.js.map} +0 -0
  259. /package/dist/{chunk-LV2SZFXK.js.map → chunk-GMC3F43L.js.map} +0 -0
  260. /package/dist/{chunk-R6SBP5M5.js.map → chunk-GOWBYHYW.js.map} +0 -0
  261. /package/dist/{chunk-P3XEF26U.js.map → chunk-H7DVH6KD.js.map} +0 -0
  262. /package/dist/{chunk-AA7QTFMB.js.map → chunk-HGRC635A.js.map} +0 -0
  263. /package/dist/{chunk-TE3XYCX7.js.map → chunk-IHO2O44S.js.map} +0 -0
  264. /package/dist/{chunk-VPH47OIV.js.map → chunk-IKZSQKOE.js.map} +0 -0
  265. /package/dist/{chunk-IPI3OU2P.js.map → chunk-IV7G7NK3.js.map} +0 -0
  266. /package/dist/{chunk-HC2AO3RT.js.map → chunk-J44PPGBF.js.map} +0 -0
  267. /package/dist/{chunk-V2GHNHP6.js.map → chunk-JAHWFJCW.js.map} +0 -0
  268. /package/dist/{chunk-HAFLKWWU.js.map → chunk-JQ6HDXKA.js.map} +0 -0
  269. /package/dist/{chunk-SPZAEMGW.js.map → chunk-JWJ77IMK.js.map} +0 -0
  270. /package/dist/{chunk-HYNDC3FP.js.map → chunk-JYLOCXMV.js.map} +0 -0
  271. /package/dist/{chunk-QQUNZH3L.js.map → chunk-KESGVMHW.js.map} +0 -0
  272. /package/dist/{chunk-JTWRI4WD.js.map → chunk-KN7C6R6L.js.map} +0 -0
  273. /package/dist/{chunk-ILKNYENU.js.map → chunk-LB27LKG3.js.map} +0 -0
  274. /package/dist/{chunk-IWYTOCCV.js.map → chunk-LHTEAPYG.js.map} +0 -0
  275. /package/dist/{chunk-TPVSHO75.js.map → chunk-NLEO5YI4.js.map} +0 -0
  276. /package/dist/{chunk-K45ML7M7.js.map → chunk-NU55QUMO.js.map} +0 -0
  277. /package/dist/{chunk-KN3WYEH2.js.map → chunk-NYHZUVLC.js.map} +0 -0
  278. /package/dist/{chunk-U2UT2NDH.js.map → chunk-OBID7SOG.js.map} +0 -0
  279. /package/dist/{chunk-UUJ7J7NE.js.map → chunk-PP7CDKO4.js.map} +0 -0
  280. /package/dist/{chunk-6OQHZVK6.js.map → chunk-QJK7BNH3.js.map} +0 -0
  281. /package/dist/{chunk-PARTZ7XI.js.map → chunk-R53ZOW4B.js.map} +0 -0
  282. /package/dist/{chunk-L4G5BZFF.js.map → chunk-RJVUECN7.js.map} +0 -0
  283. /package/dist/{chunk-BWXPO2SE.js.map → chunk-S22XIXLL.js.map} +0 -0
  284. /package/dist/{chunk-QL7NPQOP.js.map → chunk-SAJ5H5VC.js.map} +0 -0
  285. /package/dist/{chunk-6GAZAJXB.js.map → chunk-SDKOOVEX.js.map} +0 -0
  286. /package/dist/{chunk-ETCS6OBJ.js.map → chunk-THCDUP6Q.js.map} +0 -0
  287. /package/dist/{chunk-CMFJQH6A.js.map → chunk-UG636FEL.js.map} +0 -0
  288. /package/dist/{chunk-NFA7STJA.js.map → chunk-UILH4OAZ.js.map} +0 -0
  289. /package/dist/{chunk-X5F4FRH7.js.map → chunk-VNOXUWK7.js.map} +0 -0
  290. /package/dist/{chunk-MD3ND6DT.js.map → chunk-VU63PDWW.js.map} +0 -0
  291. /package/dist/{chunk-RBLBXJR7.js.map → chunk-WAD5VL6B.js.map} +0 -0
  292. /package/dist/{chunk-4MGFUPQT.js.map → chunk-WC3W36AM.js.map} +0 -0
  293. /package/dist/{chunk-Z3L2EGXW.js.map → chunk-WDAEYLT5.js.map} +0 -0
  294. /package/dist/{chunk-BEX3FLHB.js.map → chunk-X3C3VTYS.js.map} +0 -0
  295. /package/dist/{chunk-NFTFP6WO.js.map → chunk-XNTDEQEB.js.map} +0 -0
  296. /package/dist/{chunk-TWVRPT7J.js.map → chunk-XXL4PM4M.js.map} +0 -0
  297. /package/dist/{chunk-TNQDSTIA.js.map → chunk-Y6C4MYZE.js.map} +0 -0
  298. /package/dist/{chunk-NRKAJHBB.js.map → chunk-YRACC6BB.js.map} +0 -0
  299. /package/dist/{chunk-RSQYWGMU.js.map → chunk-YTIUFMRM.js.map} +0 -0
  300. /package/dist/{chunk-FQ637IDM.js.map → chunk-YXU45AVO.js.map} +0 -0
  301. /package/dist/{chunk-YDU2YPQA.js.map → chunk-ZVJSY2OV.js.map} +0 -0
@@ -1,25 +1,25 @@
1
1
  import "../chunk-R26KYJHK.js";
2
2
  import {
3
3
  SectionNav
4
- } from "../chunk-BWXPO2SE.js";
5
- import "../chunk-HC2AO3RT.js";
4
+ } from "../chunk-S22XIXLL.js";
5
+ import "../chunk-J44PPGBF.js";
6
6
  import {
7
7
  sectionNavBarInset
8
- } from "../chunk-ZCEXSYAJ.js";
9
- import "../chunk-CJPP4OUK.js";
8
+ } from "../chunk-CGL7R37P.js";
9
+ import "../chunk-2YKTB2IZ.js";
10
10
  import {
11
11
  RaisedActionButton
12
- } from "../chunk-AA7QTFMB.js";
13
- import "../chunk-LUPHXDEU.js";
12
+ } from "../chunk-HGRC635A.js";
13
+ import "../chunk-FVKBP3UX.js";
14
14
  import "../chunk-VHVI3D4R.js";
15
15
  import "../chunk-TMSWLFL4.js";
16
16
  import "../chunk-KIHGTL2D.js";
17
17
  import "../chunk-5AK2EZG5.js";
18
- import "../chunk-LV2SZFXK.js";
18
+ import "../chunk-GMC3F43L.js";
19
+ import "../chunk-6C5D6O3D.js";
19
20
  import "../chunk-WDQRQIT7.js";
20
21
  import "../chunk-ZCXVTFYQ.js";
21
22
  import "../chunk-M5ZXL52T.js";
22
- import "../chunk-6C5D6O3D.js";
23
23
  import "../chunk-3UIDKLML.js";
24
24
  import "../chunk-PYC4CWCQ.js";
25
25
  import "../chunk-TYJR4GOF.js";
@@ -1 +1 @@
1
- {"version":3,"file":"StackedModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/StackedModal.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwH9D,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAO9C,CAAC;AAIF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,IAAI,oBAAoB,EAC1C,aAAa,EACb,aAAa,IAAI,eAAe,GACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"StackedModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/StackedModal.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAyH9D,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAO9C,CAAC;AAIF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,IAAI,oBAAoB,EAC1C,aAAa,EACb,aAAa,IAAI,eAAe,GACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { CSSObject, Theme } from '@mui/material/styles/index.js';
2
- import type { ModalPanelRole, PanelMaxWidth } from './StackedModal.types';
2
+ import type { ModalPanelRole, PanelMaxWidth, PanelSize } from './StackedModal.types';
3
3
  /** Props that drive the panel's look but must not reach the DOM. */
4
4
  export interface PanelStyleProps {
5
5
  modalRole?: ModalPanelRole;
@@ -7,6 +7,7 @@ export interface PanelStyleProps {
7
7
  glass?: boolean;
8
8
  rtl?: boolean;
9
9
  customMaxWidth?: PanelMaxWidth;
10
+ panelSize?: PanelSize;
10
11
  }
11
12
  /** Style-only props, filtered out before they can land on a DOM node. */
12
13
  export declare const STYLE_ONLY_PROPS: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"StackedModal.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/StackedModal.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,UAAiE,CAAC;AA4H/F,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,OAAO,eAAe,KAAG,SAMtE,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,MAAM,OAAO,KAAG,SAOxD,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,SAK7C,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,SAI9C,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,SAYlD,CAAC;AAEH,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,KAAG,SAUhD,CAAC"}
1
+ {"version":3,"file":"StackedModal.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/StackedModal.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAErF,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,UAA8E,CAAC;AA+J5G,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,OAAO,eAAe,KAAG,SAMtE,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,MAAM,OAAO,KAAG,SAOxD,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,SAK7C,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,SAI9C,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,SAYlD,CAAC;AAEH,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,KAAG,SAUhD,CAAC"}
@@ -3,6 +3,12 @@ import type { ReactNode } from 'react';
3
3
  export type ModalPanelRole = 'primary' | 'secondary' | 'background';
4
4
  /** The breakpoint the panel's width is capped at, or `false` for uncapped. */
5
5
  export type PanelMaxWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
6
+ /**
7
+ * How much of the viewport the top panel takes from `sm` up. `wide` is for a
8
+ * dense editor that lays out two columns inside the panel, which the default
9
+ * 60vw starves on a laptop.
10
+ */
11
+ export type PanelSize = 'default' | 'wide';
6
12
  export interface StackedModalProps {
7
13
  /** The back arrow's accessible name — it carries a glyph only. REQUIRED. */
8
14
  backLabel: string;
@@ -40,6 +46,8 @@ export interface StackedModalProps {
40
46
  fullScreen?: boolean;
41
47
  /** Maximum width of the modal */
42
48
  maxWidth?: PanelMaxWidth;
49
+ /** Viewport share of the top panel — `wide` gives a dense editor more room */
50
+ size?: PanelSize;
43
51
  /** Disable the backdrop click behavior */
44
52
  disableBackdrop?: boolean;
45
53
  /** Disable focus trap functionality */
@@ -1 +1 @@
1
- {"version":3,"file":"StackedModal.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/StackedModal.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,oFAAoF;AACpF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,8DAA8D;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,oCAAoC;IACpC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,2CAA2C;IAC3C,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;CAC1D"}
1
+ {"version":3,"file":"StackedModal.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/StackedModal.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,oFAAoF;AACpF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,8DAA8D;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,oCAAoC;IACpC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,2CAA2C;IAC3C,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;CAC1D"}
@@ -1,3 +1,3 @@
1
1
  export { ModalStackProvider, StackedModal, StackedModalActions as StackedModalActions, StackedModalContent as StackedModalContent, ModalStackProvider as StackedModalProvider, useModalStack, useModalStack as useStackedModal, } from './StackedModal';
2
- export type { StackedModalProps } from './StackedModal.types';
2
+ export type { PanelSize, StackedModalProps } from './StackedModal.types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,IAAI,mBAAmB,EAC1C,mBAAmB,IAAI,mBAAmB,EAC1C,kBAAkB,IAAI,oBAAoB,EAC1C,aAAa,EACb,aAAa,IAAI,eAAe,GACjC,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/StackedModal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,IAAI,mBAAmB,EAC1C,mBAAmB,IAAI,mBAAmB,EAC1C,kBAAkB,IAAI,oBAAoB,EAC1C,aAAa,EACb,aAAa,IAAI,eAAe,GACjC,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -71,5 +71,20 @@ export interface SelectBaseProps {
71
71
  disabled?: boolean;
72
72
  testID?: string;
73
73
  dataTestId?: string;
74
+ /**
75
+ * Draw the field as a search box that filters the options as you type,
76
+ * with a list of bounded height.
77
+ *
78
+ * Left unset, it follows the option count: a list longer than
79
+ * five options searches (`SEARCHABLE_MIN_OPTIONS`), a shorter one opens
80
+ * as a plain menu. `multiple` and `renderValue` always keep the menu.
81
+ */
82
+ searchable?: boolean;
83
+ /**
84
+ * What the searchable list says when nothing matches the typed text. The
85
+ * host's sentence: this library ships no copy. Unset, the empty list shows
86
+ * no message.
87
+ */
88
+ noOptionsText?: string;
74
89
  }
75
90
  //# sourceMappingURL=Select.base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7D,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"Select.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7D,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,4 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { SelectProps } from './Select.types';
3
+ /**
4
+ * The house select. Up to five options it opens a menu; from six on it is a
5
+ * search box over a list of bounded height (`Select.searchable.tsx`), with the
6
+ * same props, events and test ids either way. `searchable` overrides the count.
7
+ */
3
8
  export declare const Select: React.ForwardRefExoticComponent<Omit<SelectProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
9
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA6LlD,eAAO,MAAM,MAAM,iGAiFlB,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA0HlD;;;;GAIG;AACH,eAAO,MAAM,MAAM,iGAKjB,CAAC"}
@@ -69,4 +69,24 @@ export declare const selectedWashAlpha: (theme: UiTheme) => number;
69
69
  * would come to disagree about what an outlined field looks like.
70
70
  */
71
71
  export { INPUT_BORDER as SELECT_BORDER, INPUT_GLASS as SELECT_GLASS, INPUT_GLOW as SELECT_GLOW, INPUT_GRADIENT as SELECT_GRADIENT, INPUT_PULSE as SELECT_PULSE, } from '../Input/Input.metrics';
72
+ /**
73
+ * WHEN A `Select` BECOMES A SEARCH BOX, AND HOW TALL ITS LIST MAY GROW.
74
+ *
75
+ * Past five options a menu stops being scannable at a glance and starts being
76
+ * scrolled — and MUI's menu grows to the viewport's height to show them all, so
77
+ * a staff picker covered the whole screen. From six options on the field turns
78
+ * into the searchable dropdown (`CreatableSelect`'s engine, MUI `Autocomplete`)
79
+ * and its list stops at {@link SELECT_SEARCH.listMaxHeight}: about six rows,
80
+ * the seventh cut in half so the list reads as scrollable.
81
+ */
82
+ export declare const SEARCHABLE_MIN_OPTIONS = 6;
83
+ export declare const SELECT_SEARCH: {
84
+ /** px — six 40px rows and half of the seventh. */
85
+ readonly listMaxHeight: 260;
86
+ /**
87
+ * px — what a field that does not fill its row adds to its longest label:
88
+ * the input's inline padding and the arrow's slot.
89
+ */
90
+ readonly fieldChrome: 72;
91
+ };
72
92
  //# sourceMappingURL=Select.metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,YACX,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,GAAG,SAAS,KAAG,IAAI,GAAG,IACxC,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAC4C,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;IAOtB,8DAA8D;;CAEtD,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,wGAAuB,CAAC;AAEpD,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,MACuC,CAAC;AAE3F;;;;;GAKG;AACH,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,cAAc,IAAI,eAAe,EACjC,WAAW,IAAI,YAAY,GAC5B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"Select.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,YACX,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,GAAG,SAAS,KAAG,IAAI,GAAG,IACxC,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAC4C,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;IAOtB,8DAA8D;;CAEtD,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,wGAAuB,CAAC;AAEpD,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,MACuC,CAAC;AAE3F;;;;;GAKG;AACH,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,cAAc,IAAI,eAAe,EACjC,WAAW,IAAI,YAAY,GAC5B,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,aAAa;IACxB,kDAAkD;;IAElD;;;OAGG;;CAEK,CAAC"}
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import type { SelectProps } from './Select.types';
3
+ /**
4
+ * THE SELECT, PAST FIVE OPTIONS: a search box over a list of bounded height.
5
+ *
6
+ * Same engine as `CreatableSelect` — MUI `Autocomplete` — so every searchable
7
+ * dropdown in the library types, filters and scrolls the same way. What it
8
+ * keeps from `Select` is the whole CONTRACT, so a call site cannot tell which
9
+ * one it got until it opens it:
10
+ *
11
+ * - the field chrome ({@link SelectFieldControl}: variant, size, glow, pulse);
12
+ * - the floating label, placeholder, helper text and error;
13
+ * - `onChange(event)` with `event.target.value` — the option's value, a number
14
+ * staying a number, exactly what MUI's `Select` hands its handlers;
15
+ * - disabled options, and the `-select` / `-option-<value>` test ids.
16
+ *
17
+ * It cannot be cleared (a `Select` has no "none" either — its placeholder is
18
+ * disabled), and it never accepts text that is not an option.
19
+ */
20
+ /** Whether `props` should render as a search box. */
21
+ export declare function shouldSearch(props: SelectProps): boolean;
22
+ export declare const SearchableSelect: React.ForwardRefExoticComponent<Omit<SelectProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ //# sourceMappingURL=Select.searchable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.searchable.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.searchable.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAOhE;;;;;;;;;;;;;;;;GAgBG;AAEH,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIxD;AAiGD,eAAO,MAAM,gBAAgB,iGA+D3B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type FormControlProps } from '@mui/material/FormControl/index.js';
2
+ import React from 'react';
3
+ import type { SelectProps } from './Select.types';
4
+ import type { SizeValue } from '../../../tokens/vocabulary';
5
+ /** What {@link SelectFieldControl} takes: a FormControl, plus the four look switches. */
6
+ export interface SelectFieldControlProps extends FormControlProps {
7
+ customVariant?: SelectProps['variant'];
8
+ fieldSize: SizeValue;
9
+ glow?: boolean;
10
+ pulse?: boolean;
11
+ 'data-testid'?: string;
12
+ }
13
+ /**
14
+ * The styled FormControl, behind a component with a NAMED type: a `styled()`
15
+ * export's inferred type reaches into `@mui/system`'s pnpm path, which the
16
+ * declaration build refuses to write (TS2742).
17
+ */
18
+ export declare const SelectFieldControl: React.ForwardRefExoticComponent<Omit<SelectFieldControlProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ /**
20
+ * The house scale as a FormControl size.
21
+ *
22
+ * Not `muiSize`: that collapses five onto MUI's three, and a FormControl takes
23
+ * only two. This component's scale is already narrowed to `sm | md`, so the map
24
+ * is exact rather than lossy.
25
+ */
26
+ export declare const formControlSize: (size: SelectProps["size"]) => "small" | "medium" | undefined;
27
+ //# sourceMappingURL=Select.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.styles.tsx"],"names":[],"mappings":"AAAA,OAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAExF,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAmJ5D,yFAAyF;AACzF,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,aAAa,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,6GAE9B,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,WAAW,CAAC,MAAM,CAAC,KAAG,OAAO,GAAG,QAAQ,GAAG,SAGhF,CAAC"}
@@ -71,5 +71,20 @@ export interface SelectBaseProps {
71
71
  disabled?: boolean;
72
72
  testID?: string;
73
73
  dataTestId?: string;
74
+ /**
75
+ * Draw the field as a search box that filters the options as you type,
76
+ * with a list of bounded height.
77
+ *
78
+ * Left unset, it follows the option count: a list longer than
79
+ * five options searches (`SEARCHABLE_MIN_OPTIONS`), a shorter one opens
80
+ * as a plain menu. `multiple` and `renderValue` always keep the menu.
81
+ */
82
+ searchable?: boolean;
83
+ /**
84
+ * What the searchable list says when nothing matches the typed text. The
85
+ * host's sentence: this library ships no copy. Unset, the empty list shows
86
+ * no message.
87
+ */
88
+ noOptionsText?: string;
74
89
  }
75
90
  //# sourceMappingURL=Select.base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7D,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"Select.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7D,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -69,4 +69,24 @@ export declare const selectedWashAlpha: (theme: UiTheme) => number;
69
69
  * would come to disagree about what an outlined field looks like.
70
70
  */
71
71
  export { INPUT_BORDER as SELECT_BORDER, INPUT_GLASS as SELECT_GLASS, INPUT_GLOW as SELECT_GLOW, INPUT_GRADIENT as SELECT_GRADIENT, INPUT_PULSE as SELECT_PULSE, } from '../Input/Input.metrics';
72
+ /**
73
+ * WHEN A `Select` BECOMES A SEARCH BOX, AND HOW TALL ITS LIST MAY GROW.
74
+ *
75
+ * Past five options a menu stops being scannable at a glance and starts being
76
+ * scrolled — and MUI's menu grows to the viewport's height to show them all, so
77
+ * a staff picker covered the whole screen. From six options on the field turns
78
+ * into the searchable dropdown (`CreatableSelect`'s engine, MUI `Autocomplete`)
79
+ * and its list stops at {@link SELECT_SEARCH.listMaxHeight}: about six rows,
80
+ * the seventh cut in half so the list reads as scrollable.
81
+ */
82
+ export declare const SEARCHABLE_MIN_OPTIONS = 6;
83
+ export declare const SELECT_SEARCH: {
84
+ /** px — six 40px rows and half of the seventh. */
85
+ readonly listMaxHeight: 260;
86
+ /**
87
+ * px — what a field that does not fill its row adds to its longest label:
88
+ * the input's inline padding and the arrow's slot.
89
+ */
90
+ readonly fieldChrome: 72;
91
+ };
72
92
  //# sourceMappingURL=Select.metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,YACX,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,GAAG,SAAS,KAAG,IAAI,GAAG,IACxC,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAC4C,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;IAOtB,8DAA8D;;CAEtD,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,wGAAuB,CAAC;AAEpD,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,MACuC,CAAC;AAE3F;;;;;GAKG;AACH,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,cAAc,IAAI,eAAe,EACjC,WAAW,IAAI,YAAY,GAC5B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"Select.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Select/Select.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,YACX,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,GAAG,SAAS,KAAG,IAAI,GAAG,IACxC,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAC4C,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;IAOtB,8DAA8D;;CAEtD,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,eAAe,wGAAuB,CAAC;AAEpD,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,MACuC,CAAC;AAE3F;;;;;GAKG;AACH,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,cAAc,IAAI,eAAe,EACjC,WAAW,IAAI,YAAY,GAC5B,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,aAAa;IACxB,kDAAkD;;IAElD;;;OAGG;;CAEK,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  UserAvatar,
3
3
  UserMenu
4
- } from "./chunk-UUJ7J7NE.js";
4
+ } from "./chunk-PP7CDKO4.js";
5
5
  import "./chunk-UDQSIRAP.js";
6
- import "./chunk-PGPPN63I.js";
7
- import "./chunk-TNQDSTIA.js";
6
+ import "./chunk-EMEXXAQI.js";
7
+ import "./chunk-Y6C4MYZE.js";
8
+ import "./chunk-MTEQEPNY.js";
8
9
  import "./chunk-6ZZGK5DT.js";
9
10
  import "./chunk-3ZVUNSFF.js";
10
- import "./chunk-MTEQEPNY.js";
11
11
  import "./chunk-VUHLNYAE.js";
12
12
  import "./chunk-2GSIEDGN.js";
13
13
  import "./chunk-OP5JR5Q5.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.46.1",
3
+ "version": "6.48.0",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -135,6 +135,7 @@ new component that portals should too.
135
135
  | `loadingText` | `string` | `'Loading...'` | Text shown during loading state |
136
136
  | `fullScreen` | `boolean` | `false` | Full screen mode |
137
137
  | `maxWidth` | `'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl' \| false` | `'md'` | Maximum modal width |
138
+ | `size` | `'default' \| 'wide'` | `'default'` | Viewport share of the top panel: default is 80vw (`sm`–`lg`), 60vw (`lg`+), 40vw (≥2200px); `wide` is 90vw up to `xl`, 75vw above, 60vw ≥2200px — for a dense two-column editor |
138
139
  | `disableBackdrop` | `boolean` | `false` | Hide backdrop |
139
140
  | `disableFocusTrap` | `boolean` | `false` | Disable focus trapping |
140
141
  | `keepMounted` | `boolean` | `false` | Keep modal mounted when closed |
@@ -3,7 +3,7 @@ import type { CSSObject, Theme } from '@mui/material/styles/index.js';
3
3
  import { scrim } from '../../../tokens/ink';
4
4
  import { rem } from '../../../tokens/relative';
5
5
  import { dynamicViewportHeight } from '../../../utils/viewport';
6
- import type { ModalPanelRole, PanelMaxWidth } from './StackedModal.types';
6
+ import type { ModalPanelRole, PanelMaxWidth, PanelSize } from './StackedModal.types';
7
7
 
8
8
  /** Props that drive the panel's look but must not reach the DOM. */
9
9
  export interface PanelStyleProps {
@@ -12,10 +12,11 @@ export interface PanelStyleProps {
12
12
  glass?: boolean;
13
13
  rtl?: boolean;
14
14
  customMaxWidth?: PanelMaxWidth;
15
+ panelSize?: PanelSize;
15
16
  }
16
17
 
17
18
  /** Style-only props, filtered out before they can land on a DOM node. */
18
- export const STYLE_ONLY_PROPS = ['modalRole', 'isAnimating', 'glass', 'rtl', 'customMaxWidth'];
19
+ export const STYLE_ONLY_PROPS = ['modalRole', 'isAnimating', 'glass', 'rtl', 'customMaxWidth', 'panelSize'];
19
20
 
20
21
  /** MUI breakpoint names mapped to the pixel width they cap the panel at. */
21
22
  const MAX_WIDTH_PX: Record<Exclude<PanelMaxWidth, false>, number> = {
@@ -37,6 +38,12 @@ const ANIMATION_BY_ROLE: Partial<Record<ModalPanelRole, string>> = {
37
38
  primary: 'contractModal 300ms ease-in-out forwards',
38
39
  };
39
40
 
41
+ /** A wide panel settles at 90vw, so its keyframes must end there too, or it snaps. */
42
+ const WIDE_ANIMATION_BY_ROLE: Partial<Record<ModalPanelRole, string>> = {
43
+ secondary: 'expandModalWide 300ms ease-in-out forwards',
44
+ primary: 'contractModalWide 300ms ease-in-out forwards',
45
+ };
46
+
40
47
  // Animation endpoints use the common lg width (60vw); the role styles set the
41
48
  // exact per-breakpoint width once the animation settles.
42
49
  const KEYFRAMES: CSSObject = {
@@ -48,6 +55,14 @@ const KEYFRAMES: CSSObject = {
48
55
  from: { width: '100vw', transform: 'translateX(0)' },
49
56
  to: { width: '60vw', transform: 'translateX(0)' },
50
57
  },
58
+ '@keyframes expandModalWide': {
59
+ from: { width: '90vw', transform: 'translateX(0)' },
60
+ to: { width: '100vw', transform: 'translateX(0)' },
61
+ },
62
+ '@keyframes contractModalWide': {
63
+ from: { width: '100vw', transform: 'translateX(0)' },
64
+ to: { width: '90vw', transform: 'translateX(0)' },
65
+ },
51
66
  };
52
67
 
53
68
  const cap = (customMaxWidth?: PanelMaxWidth): number | null =>
@@ -79,6 +94,18 @@ const primaryPanelStyles = (theme: Theme, capPx: number | null): CSSObject => ({
79
94
  [theme.breakpoints.up(2200)]: panelWidth(theme, '40vw', capPx),
80
95
  });
81
96
 
97
+ /**
98
+ * `size="wide"`: 90vw up to `xl`, 75vw above it, 60vw on ultra-wide screens.
99
+ * At 1280 that is ~1150px instead of 768px — room for a form column beside a
100
+ * fixed ~350px sidebar — while a sliver of the page behind stays visible.
101
+ */
102
+ const widePrimaryPanelStyles = (theme: Theme, capPx: number | null): CSSObject => ({
103
+ [theme.breakpoints.down('sm')]: panelWidth(theme, '100%', capPx),
104
+ [theme.breakpoints.between('sm', 'xl')]: panelWidth(theme, '90vw', capPx),
105
+ [theme.breakpoints.up('xl')]: panelWidth(theme, '75vw', capPx),
106
+ [theme.breakpoints.up(2200)]: panelWidth(theme, '60vw', capPx),
107
+ });
108
+
82
109
  /** Panels below the top one expand to full width, producing the GTM stacking effect. */
83
110
  const secondaryPanelStyles = (): CSSObject => ({
84
111
  width: '100vw !important',
@@ -91,8 +118,15 @@ const secondaryPanelStyles = (): CSSObject => ({
91
118
  transform: 'scale(1)',
92
119
  });
93
120
 
94
- const rolePanelStyles = (theme: Theme, role: ModalPanelRole | undefined, capPx: number | null): CSSObject => {
95
- if (role === 'primary') return primaryPanelStyles(theme, capPx);
121
+ const rolePanelStyles = (
122
+ theme: Theme,
123
+ role: ModalPanelRole | undefined,
124
+ capPx: number | null,
125
+ size?: PanelSize,
126
+ ): CSSObject => {
127
+ if (role === 'primary') {
128
+ return size === 'wide' ? widePrimaryPanelStyles(theme, capPx) : primaryPanelStyles(theme, capPx);
129
+ }
96
130
  if (role === 'secondary') return secondaryPanelStyles();
97
131
  // Background modals stay mounted but hidden, for performance.
98
132
  if (role === 'background') return { display: 'none' };
@@ -109,8 +143,10 @@ const glassStyles = (theme: Theme, glass?: boolean, role?: ModalPanelRole): CSSO
109
143
  }
110
144
  : {};
111
145
 
112
- const animationStyles = (isAnimating?: boolean, role?: ModalPanelRole): CSSObject =>
113
- isAnimating ? { animation: (role && ANIMATION_BY_ROLE[role]) ?? 'none' } : {};
146
+ const animationStyles = (isAnimating?: boolean, role?: ModalPanelRole, size?: PanelSize): CSSObject => {
147
+ const byRole = size === 'wide' ? WIDE_ANIMATION_BY_ROLE : ANIMATION_BY_ROLE;
148
+ return isAnimating ? { animation: (role && byRole[role]) ?? 'none' } : {};
149
+ };
114
150
 
115
151
  const panelBaseStyles = (theme: Theme): CSSObject => ({
116
152
  margin: 0,
@@ -133,9 +169,9 @@ const panelStyles = (theme: Theme, props: PanelStyleProps): CSSObject => {
133
169
  const capPx = cap(props.customMaxWidth);
134
170
  return {
135
171
  ...panelBaseStyles(theme),
136
- ...rolePanelStyles(theme, props.modalRole, capPx),
172
+ ...rolePanelStyles(theme, props.modalRole, capPx, props.panelSize),
137
173
  ...glassStyles(theme, props.glass, props.modalRole),
138
- ...animationStyles(props.isAnimating, props.modalRole),
174
+ ...animationStyles(props.isAnimating, props.modalRole, props.panelSize),
139
175
  };
140
176
  };
141
177
 
@@ -62,7 +62,7 @@ type ResolvedProps = StackedModalProps & { modalId: string };
62
62
  const StackedModalPanel: FC<ResolvedProps> = (props) => {
63
63
  const {
64
64
  open, onClose, glass, navigationTitle, backLabel, hideClose, children, actions, modalId,
65
- closeOnClickOutside, closeOnEsc, loading, loadingText, fullScreen, maxWidth, disableBackdrop,
65
+ closeOnClickOutside, closeOnEsc, loading, loadingText, fullScreen, maxWidth, size, disableBackdrop,
66
66
  disableFocusTrap, keepMounted, rtl, dataTestId,
67
67
  'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, ...otherProps
68
68
  } = props;
@@ -95,6 +95,7 @@ const StackedModalPanel: FC<ResolvedProps> = (props) => {
95
95
  glass={glass}
96
96
  rtl={rtl}
97
97
  customMaxWidth={maxWidth}
98
+ panelSize={size}
98
99
  TransitionComponent={SlideTransition}
99
100
  maxWidth={maxWidth}
100
101
  disableEscapeKeyDown={!closeOnEsc}
@@ -6,6 +6,13 @@ export type ModalPanelRole = 'primary' | 'secondary' | 'background';
6
6
  /** The breakpoint the panel's width is capped at, or `false` for uncapped. */
7
7
  export type PanelMaxWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
8
8
 
9
+ /**
10
+ * How much of the viewport the top panel takes from `sm` up. `wide` is for a
11
+ * dense editor that lays out two columns inside the panel, which the default
12
+ * 60vw starves on a laptop.
13
+ */
14
+ export type PanelSize = 'default' | 'wide';
15
+
9
16
  export interface StackedModalProps {
10
17
  /** The back arrow's accessible name — it carries a glyph only. REQUIRED. */
11
18
  backLabel: string;
@@ -43,6 +50,8 @@ export interface StackedModalProps {
43
50
  fullScreen?: boolean;
44
51
  /** Maximum width of the modal */
45
52
  maxWidth?: PanelMaxWidth;
53
+ /** Viewport share of the top panel — `wide` gives a dense editor more room */
54
+ size?: PanelSize;
46
55
  /** Disable the backdrop click behavior */
47
56
  disableBackdrop?: boolean;
48
57
  /** Disable focus trap functionality */
@@ -8,4 +8,4 @@ export {
8
8
  useModalStack as useStackedModal,
9
9
  } from './StackedModal';
10
10
 
11
- export type { StackedModalProps } from './StackedModal.types';
11
+ export type { PanelSize, StackedModalProps } from './StackedModal.types';
@@ -75,4 +75,19 @@ export interface SelectBaseProps {
75
75
  disabled?: boolean;
76
76
  testID?: string;
77
77
  dataTestId?: string;
78
+ /**
79
+ * Draw the field as a search box that filters the options as you type,
80
+ * with a list of bounded height.
81
+ *
82
+ * Left unset, it follows the option count: a list longer than
83
+ * five options searches (`SEARCHABLE_MIN_OPTIONS`), a shorter one opens
84
+ * as a plain menu. `multiple` and `renderValue` always keep the menu.
85
+ */
86
+ searchable?: boolean;
87
+ /**
88
+ * What the searchable list says when nothing matches the typed text. The
89
+ * host's sentence: this library ships no copy. Unset, the empty list shows
90
+ * no message.
91
+ */
92
+ noOptionsText?: string;
78
93
  }
@@ -50,6 +50,36 @@ function MyComponent() {
50
50
  - `glow`: Whether to show glow effect on hover/focus
51
51
  - `pulse`: Whether to show pulse animation
52
52
  - `fullWidth`: Whether select should take full width of container
53
+ - `searchable`: Force the search box on (`true`) or the menu on (`false`); unset, it follows the option count (see below)
54
+ - `noOptionsText`: The host's sentence the search box shows when nothing matches the typed text
55
+
56
+ ## Six options or more: a search box
57
+
58
+ Up to **five** options the select opens a menu. From **six** on it becomes the
59
+ searchable dropdown — the same engine as `CreatableSelect` (MUI `Autocomplete`):
60
+ the field is a text box that filters the options as you type, and the list
61
+ stops at `SELECT_SEARCH.listMaxHeight` (about six rows) and scrolls, instead of
62
+ growing to the height of the viewport.
63
+
64
+ The props stay the same: `options`, `value`/`defaultValue`, `label`,
65
+ `placeholder`, `helperText`, `error`, `name`, `required`, disabled options,
66
+ variants and sizes. `onChange` still receives `{ target: { value, name } }` with
67
+ the option's value in its own type. The test ids keep their spelling.
68
+
69
+ **What does change — and breaks tests written against the menu:**
70
+
71
+ - `{dataTestId}-select` (and `role="combobox"`) is now the search `<input>`,
72
+ not the menu's display `<div>`. The selected label is its VALUE, not its
73
+ text: assert with `toHaveValue('Garçom')` / `input.value`, not `toHaveText`.
74
+ - `onChange`'s event is a plain `{ target }` object (no `preventDefault`), and
75
+ its second argument is `null` rather than the clicked `MenuItem`.
76
+ - Opening it with a click or `mouseDown` on the combobox still works; typing
77
+ filters only while the input has real focus.
78
+
79
+ - `searchable` overrides the count either way.
80
+ - `multiple` and `renderValue` always keep the menu: a search box holds one value.
81
+ - Pass `noOptionsText` — the library ships no copy, so unset means an empty list
82
+ says nothing.
53
83
 
54
84
  ## Visual Variants
55
85
 
@@ -138,7 +168,7 @@ The Select component includes `data-testid` attributes for reliable testing:
138
168
  | Test ID | Element | Description |
139
169
  |---------|---------|-------------|
140
170
  | `{dataTestId}` | FormControl | Root FormControl wrapper element |
141
- | `{dataTestId}-select` | Select element | The MUI Select component |
171
+ | `{dataTestId}-select` | Select element | The MUI Select component (the search `<input>` from six options on) |
142
172
  | `{dataTestId}-option-{value}` | Menu items | Individual option elements (one per option) |
143
173
 
144
174
  **Default Test IDs (when no dataTestId prop provided):**
@@ -88,3 +88,25 @@ export {
88
88
  INPUT_GRADIENT as SELECT_GRADIENT,
89
89
  INPUT_PULSE as SELECT_PULSE,
90
90
  } from '../Input/Input.metrics';
91
+
92
+ /**
93
+ * WHEN A `Select` BECOMES A SEARCH BOX, AND HOW TALL ITS LIST MAY GROW.
94
+ *
95
+ * Past five options a menu stops being scannable at a glance and starts being
96
+ * scrolled — and MUI's menu grows to the viewport's height to show them all, so
97
+ * a staff picker covered the whole screen. From six options on the field turns
98
+ * into the searchable dropdown (`CreatableSelect`'s engine, MUI `Autocomplete`)
99
+ * and its list stops at {@link SELECT_SEARCH.listMaxHeight}: about six rows,
100
+ * the seventh cut in half so the list reads as scrollable.
101
+ */
102
+ export const SEARCHABLE_MIN_OPTIONS = 6;
103
+
104
+ export const SELECT_SEARCH = {
105
+ /** px — six 40px rows and half of the seventh. */
106
+ listMaxHeight: 260,
107
+ /**
108
+ * px — what a field that does not fill its row adds to its longest label:
109
+ * the input's inline padding and the arrow's slot.
110
+ */
111
+ fieldChrome: 72,
112
+ } as const;