@servicetitan/anvil2 3.16.1 → 3.17.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 (288) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{AiMark-BfmK30vL.js → AiMark-CYXbKuCA.js} +2 -2
  3. package/dist/{AiMark-BfmK30vL.js.map → AiMark-CYXbKuCA.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-lLo1N7Tj.js → Alert-CYpl0czJ.js} +3 -3
  6. package/dist/{Alert-lLo1N7Tj.js.map → Alert-CYpl0czJ.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-PfnsVVz1.js → Announcement-AN9HnhZ-.js} +2 -2
  9. package/dist/{Announcement-PfnsVVz1.js.map → Announcement-AN9HnhZ-.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-RdL4Fvmu.js → Breadcrumbs-C0CXs9Ma.js} +2 -2
  12. package/dist/{Breadcrumbs-RdL4Fvmu.js.map → Breadcrumbs-C0CXs9Ma.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-Dn6-01xl.js → Button-B_E6ybA-.js} +3 -3
  15. package/dist/{Button-Dn6-01xl.js.map → Button-B_E6ybA-.js.map} +1 -1
  16. package/dist/Button.js +1 -1
  17. package/dist/{ButtonToggle-BSU8GBxr.js → ButtonToggle-D0eXySEM.js} +2 -2
  18. package/dist/{ButtonToggle-BSU8GBxr.js.map → ButtonToggle-D0eXySEM.js.map} +1 -1
  19. package/dist/ButtonToggle.js +1 -1
  20. package/dist/{luxon-wpz4A-OQ.js → Calendar-BAIyDHX9.js} +1761 -3
  21. package/dist/Calendar-BAIyDHX9.js.map +1 -0
  22. package/dist/{Calendar-DoLRAWLp.js → Calendar-C_NPqjx3.js} +2 -2
  23. package/dist/{Calendar-DoLRAWLp.js.map → Calendar-C_NPqjx3.js.map} +1 -1
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-U-kuWhgc.js → Checkbox-4Ow8rCbD.js} +2 -2
  26. package/dist/{Checkbox-U-kuWhgc.js.map → Checkbox-4Ow8rCbD.js.map} +1 -1
  27. package/dist/{Checkbox-CVxbe-iN.js → Checkbox-f1vutjn0.js} +3 -3
  28. package/dist/{Checkbox-CVxbe-iN.js.map → Checkbox-f1vutjn0.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-2OydLs66.js → Chip-AIF0WiNS.js} +2 -2
  31. package/dist/{Chip-2OydLs66.js.map → Chip-AIF0WiNS.js.map} +1 -1
  32. package/dist/Chip.js +1 -1
  33. package/dist/Combobox.js +1 -1
  34. package/dist/{DataTable-DIXP9-Bx.js → DataTableEditColumnsDrawer-DRgJgso9.js} +1288 -263
  35. package/dist/DataTableEditColumnsDrawer-DRgJgso9.js.map +1 -0
  36. package/dist/{DataTable.css → DataTableEditColumnsDrawer.css} +41 -0
  37. package/dist/{DateFieldRange-X2jdOTYY.js → DateFieldRange-D9PA985Z.js} +6 -7
  38. package/dist/{DateFieldRange-X2jdOTYY.js.map → DateFieldRange-D9PA985Z.js.map} +1 -1
  39. package/dist/DateFieldRange.js +1 -1
  40. package/dist/{DateFieldSingle-BJ16tpOz.js → DateFieldSingle-CMLojOb3.js} +6 -7
  41. package/dist/{DateFieldSingle-BJ16tpOz.js.map → DateFieldSingle-CMLojOb3.js.map} +1 -1
  42. package/dist/DateFieldSingle.js +1 -1
  43. package/dist/{DateFieldYearless-CMm8vtz_.js → DateFieldYearless-B5IyR75v.js} +4 -4
  44. package/dist/{DateFieldYearless-CMm8vtz_.js.map → DateFieldYearless-B5IyR75v.js.map} +1 -1
  45. package/dist/DateFieldYearless.js +1 -1
  46. package/dist/{DateFieldYearlessRange-BHHs-Z1Q.js → DateFieldYearlessRange-8yXILjx7.js} +3 -3
  47. package/dist/{DateFieldYearlessRange-BHHs-Z1Q.js.map → DateFieldYearlessRange-8yXILjx7.js.map} +1 -1
  48. package/dist/DateFieldYearlessRange.js +1 -1
  49. package/dist/{DaysOfTheWeek-BHXxs0Bo.js → DaysOfTheWeek-Cxp5VdYK.js} +3 -3
  50. package/dist/{DaysOfTheWeek-BHXxs0Bo.js.map → DaysOfTheWeek-Cxp5VdYK.js.map} +1 -1
  51. package/dist/DaysOfTheWeek.js +1 -1
  52. package/dist/{Dialog-_tHqOsbr.js → Dialog-KDAJphrA.js} +8 -7
  53. package/dist/Dialog-KDAJphrA.js.map +1 -0
  54. package/dist/Dialog.js +1 -1
  55. package/dist/{DialogCancelButton-C0r8hJ8Z.js → DialogCancelButton-CplrFu69.js} +2 -2
  56. package/dist/{DialogCancelButton-C0r8hJ8Z.js.map → DialogCancelButton-CplrFu69.js.map} +1 -1
  57. package/dist/Dnd.js +2 -2
  58. package/dist/{DndHandleButton-BRlodkDO.js → DndHandleButton-BJqj2hc0.js} +6 -4
  59. package/dist/DndHandleButton-BJqj2hc0.js.map +1 -0
  60. package/dist/DndSort.js +2 -2
  61. package/dist/{Drawer-D-ThWNp0.js → Drawer-C7E2NNnH.js} +9 -8
  62. package/dist/Drawer-C7E2NNnH.js.map +1 -0
  63. package/dist/Drawer.js +1 -1
  64. package/dist/DrillDown.css +41 -34
  65. package/dist/DrillDown.js +1 -1
  66. package/dist/DrillDown.module-BFE5BcJB.js +28 -0
  67. package/dist/DrillDown.module-BFE5BcJB.js.map +1 -0
  68. package/dist/{EditCard-B6l2vhBS.js → EditCard-CutlsXfK.js} +3 -3
  69. package/dist/{EditCard-B6l2vhBS.js.map → EditCard-CutlsXfK.js.map} +1 -1
  70. package/dist/EditCard.js +1 -1
  71. package/dist/{FieldLabel-ThEmUiAq.js → FieldLabel-DYcUS3A4.js} +2 -2
  72. package/dist/{FieldLabel-ThEmUiAq.js.map → FieldLabel-DYcUS3A4.js.map} +1 -1
  73. package/dist/FieldLabel.js +1 -1
  74. package/dist/{FilterBar-CGsDg6Hy.js → FilterBar-DbDfZph-.js} +7 -7
  75. package/dist/{FilterBar-CGsDg6Hy.js.map → FilterBar-DbDfZph-.js.map} +1 -1
  76. package/dist/FilterBar.js +1 -1
  77. package/dist/{InputMask-BQigi5oW.js → InputMask-BxdQc1ld.js} +3 -3
  78. package/dist/{InputMask-BQigi5oW.js.map → InputMask-BxdQc1ld.js.map} +1 -1
  79. package/dist/InputMask.js +1 -1
  80. package/dist/{ListView-YJscfG4x.js → ListView-BVanVvBk.js} +87 -108
  81. package/dist/ListView-BVanVvBk.js.map +1 -0
  82. package/dist/ListView.js +1 -1
  83. package/dist/{Listbox-CD9ZptSZ.js → Listbox-BR0YQIee.js} +2 -2
  84. package/dist/{Listbox-CD9ZptSZ.js.map → Listbox-BR0YQIee.js.map} +1 -1
  85. package/dist/Listbox.js +1 -1
  86. package/dist/{Menu-Da2OEN0o.js → Menu-DqP7YQgE.js} +2 -2
  87. package/dist/{Menu-Da2OEN0o.js.map → Menu-DqP7YQgE.js.map} +1 -1
  88. package/dist/Menu.js +1 -1
  89. package/dist/{MenuFooter-D__gg92C.js → MenuFooter-Dzhv0EfD.js} +2 -2
  90. package/dist/{MenuFooter-D__gg92C.js.map → MenuFooter-Dzhv0EfD.js.map} +1 -1
  91. package/dist/MultiSelectField.js +1 -1
  92. package/dist/{MultiSelectFieldSync-Cq5sena6.js → MultiSelectFieldSync-9253tott.js} +7 -7
  93. package/dist/{MultiSelectFieldSync-Cq5sena6.js.map → MultiSelectFieldSync-9253tott.js.map} +1 -1
  94. package/dist/MultiSelectMenu.js +1 -1
  95. package/dist/{MultiSelectMenuSync-BhNXsgAN.js → MultiSelectMenuSync-BUJbWN2I.js} +5 -5
  96. package/dist/{MultiSelectMenuSync-BhNXsgAN.js.map → MultiSelectMenuSync-BUJbWN2I.js.map} +1 -1
  97. package/dist/{useNumberField-CXFYUZ_n.js → NumberField-DhxywJVp.js} +251 -5
  98. package/dist/NumberField-DhxywJVp.js.map +1 -0
  99. package/dist/NumberField.js +1 -1
  100. package/dist/{Page-ZSHNJs7z.js → Page-D_KL2tdK.js} +14 -13
  101. package/dist/{Page-ZSHNJs7z.js.map → Page-D_KL2tdK.js.map} +1 -1
  102. package/dist/Page.js +1 -1
  103. package/dist/{Pagination-Bsl99RRI.js → Pagination-DYpUtMha.js} +5 -5
  104. package/dist/{Pagination-Bsl99RRI.js.map → Pagination-DYpUtMha.js.map} +1 -1
  105. package/dist/Pagination.js +1 -1
  106. package/dist/{Popover-CIh1CsoJ.js → Popover-B2ix8Ji4.js} +2 -2
  107. package/dist/{Popover-CIh1CsoJ.js.map → Popover-B2ix8Ji4.js.map} +1 -1
  108. package/dist/Popover.js +1 -1
  109. package/dist/{ProgressBar-zPKYv4Il.js → ProgressBar-CjoOuJCi.js} +2 -2
  110. package/dist/{ProgressBar-zPKYv4Il.js.map → ProgressBar-CjoOuJCi.js.map} +1 -1
  111. package/dist/ProgressBar.js +1 -1
  112. package/dist/{Radio-C1VnatcL.js → Radio-Bz36_d0V.js} +2 -2
  113. package/dist/{Radio-C1VnatcL.js.map → Radio-Bz36_d0V.js.map} +1 -1
  114. package/dist/{Radio-BYowelK2.js → Radio-DOD1d9Vw.js} +3 -3
  115. package/dist/{Radio-BYowelK2.js.map → Radio-DOD1d9Vw.js.map} +1 -1
  116. package/dist/Radio.js +1 -1
  117. package/dist/{RichTextEditor-DcAVqd2d.js → RichTextEditor-BORVXVDw.js} +11 -11
  118. package/dist/{RichTextEditor-DcAVqd2d.js.map → RichTextEditor-BORVXVDw.js.map} +1 -1
  119. package/dist/RichTextEditor.js +1 -1
  120. package/dist/{SavedFiltersButton-BLvi8j1T.js → SavedFiltersButton-vq_Kt4Qc.js} +10 -10
  121. package/dist/{SavedFiltersButton-BLvi8j1T.js.map → SavedFiltersButton-vq_Kt4Qc.js.map} +1 -1
  122. package/dist/SavedFiltersButton.js +1 -1
  123. package/dist/{SegmentedControl-BHVJmmTH.js → SegmentedControl-BCqWq65N.js} +3 -3
  124. package/dist/{SegmentedControl-BHVJmmTH.js.map → SegmentedControl-BCqWq65N.js.map} +1 -1
  125. package/dist/SegmentedControl.js +1 -1
  126. package/dist/{SelectCard-DrmMU_GD.js → SelectCard-CJwetC1k.js} +3 -3
  127. package/dist/{SelectCard-DrmMU_GD.js.map → SelectCard-CJwetC1k.js.map} +1 -1
  128. package/dist/SelectCard.js +1 -1
  129. package/dist/SelectField.js +1 -1
  130. package/dist/{SelectFieldLabel-BxsKvfqo.js → SelectFieldLabel-BTKqybZm.js} +2 -2
  131. package/dist/{SelectFieldLabel-BxsKvfqo.js.map → SelectFieldLabel-BTKqybZm.js.map} +1 -1
  132. package/dist/{SelectFieldSync-CeazN-gI.js → SelectFieldSync-CoUi-BYw.js} +6 -6
  133. package/dist/{SelectFieldSync-CeazN-gI.js.map → SelectFieldSync-CoUi-BYw.js.map} +1 -1
  134. package/dist/SelectMenu.js +1 -1
  135. package/dist/{SelectMenuSync-CPpE6vUG.js → SelectMenuSync-CvXx-6uU.js} +5 -5
  136. package/dist/{SelectMenuSync-CPpE6vUG.js.map → SelectMenuSync-CvXx-6uU.js.map} +1 -1
  137. package/dist/{SelectOptions-BDAu_9dv.js → SelectOptions-CGRUCyf4.js} +2 -2
  138. package/dist/{SelectOptions-BDAu_9dv.js.map → SelectOptions-CGRUCyf4.js.map} +1 -1
  139. package/dist/{SelectTrigger-B4OUTO9S.js → SelectTrigger-CRbl804u.js} +2 -2
  140. package/dist/{SelectTrigger-B4OUTO9S.js.map → SelectTrigger-CRbl804u.js.map} +1 -1
  141. package/dist/SelectTrigger.js +1 -1
  142. package/dist/{SelectTriggerBase-BTWSaiQ-.js → SelectTriggerBase-BRUW_Zgc.js} +4 -4
  143. package/dist/{SelectTriggerBase-BTWSaiQ-.js.map → SelectTriggerBase-BRUW_Zgc.js.map} +1 -1
  144. package/dist/{Stepper-l_P6VPOv.js → Stepper-D3SHXfX1.js} +3 -3
  145. package/dist/{Stepper-l_P6VPOv.js.map → Stepper-D3SHXfX1.js.map} +1 -1
  146. package/dist/Stepper.js +1 -1
  147. package/dist/{Switch-1iNdXTik.js → Switch-rPPL4yEa.js} +2 -2
  148. package/dist/{Switch-1iNdXTik.js.map → Switch-rPPL4yEa.js.map} +1 -1
  149. package/dist/Switch.js +1 -1
  150. package/dist/{Tab-DR5YYXkq.js → Tab-CXwVQ5-G.js} +11 -7
  151. package/dist/Tab-CXwVQ5-G.js.map +1 -0
  152. package/dist/Tab.js +1 -1
  153. package/dist/Table.js +1 -1
  154. package/dist/{Text-rihxXHSe.js → Text-BRbkPr5s.js} +2 -2
  155. package/dist/{Text-rihxXHSe.js.map → Text-BRbkPr5s.js.map} +1 -1
  156. package/dist/Text.js +1 -1
  157. package/dist/{TextField-vuS7xeo-.js → TextField-B9hivHsD.js} +3 -3
  158. package/dist/{TextField-vuS7xeo-.js.map → TextField-B9hivHsD.js.map} +1 -1
  159. package/dist/{TextField-Bxd-Qzoi.js → TextField-DGRVg_Cw.js} +2 -2
  160. package/dist/{TextField-Bxd-Qzoi.js.map → TextField-DGRVg_Cw.js.map} +1 -1
  161. package/dist/TextField.js +1 -1
  162. package/dist/{Textarea-ppapJUwh.js → Textarea-DNqfV8rJ.js} +3 -3
  163. package/dist/{Textarea-ppapJUwh.js.map → Textarea-DNqfV8rJ.js.map} +1 -1
  164. package/dist/Textarea.js +1 -1
  165. package/dist/{TimeField-Hwt_oRbg.js → TimeField-DldMBNAj.js} +5 -5
  166. package/dist/{TimeField-Hwt_oRbg.js.map → TimeField-DldMBNAj.js.map} +1 -1
  167. package/dist/TimeField.js +1 -1
  168. package/dist/{TimezoneMessage-BrKB_psP.js → TimezoneMessage-CgVNxYpM.js} +2 -2
  169. package/dist/{TimezoneMessage-BrKB_psP.js.map → TimezoneMessage-CgVNxYpM.js.map} +1 -1
  170. package/dist/Toast.js +2 -2
  171. package/dist/{Toaster-dVGVVcat.js → Toaster-Bcy9XN3c.js} +2 -2
  172. package/dist/{Toaster-dVGVVcat.js.map → Toaster-Bcy9XN3c.js.map} +1 -1
  173. package/dist/{Toaster-SqkX0Kes.js → Toaster-C66ra4BK.js} +6 -8
  174. package/dist/Toaster-C66ra4BK.js.map +1 -0
  175. package/dist/{Toolbar-CMulzswf.js → Toolbar-Br-5yBxq.js} +5 -5
  176. package/dist/{Toolbar-CMulzswf.js.map → Toolbar-Br-5yBxq.js.map} +1 -1
  177. package/dist/{Toolbar-DGHZpFi9.js → Toolbar-DgPah7M3.js} +5 -5
  178. package/dist/{Toolbar-DGHZpFi9.js.map → Toolbar-DgPah7M3.js.map} +1 -1
  179. package/dist/Toolbar.js +2 -2
  180. package/dist/{ToolbarButtonToggle-T8YnSJ5x.js → ToolbarButtonToggle-BDfoHeie.js} +2 -2
  181. package/dist/{ToolbarButtonToggle-T8YnSJ5x.js.map → ToolbarButtonToggle-BDfoHeie.js.map} +1 -1
  182. package/dist/TreeSelectField.js +1 -1
  183. package/dist/{TreeSelectFieldSync-DT6uZ3Ca.js → TreeSelectFieldSync-1psUeqtG.js} +6 -6
  184. package/dist/{TreeSelectFieldSync-DT6uZ3Ca.js.map → TreeSelectFieldSync-1psUeqtG.js.map} +1 -1
  185. package/dist/TreeSelectMenu.js +1 -1
  186. package/dist/{TreeSelectMenuSync-D2TvKxP-.js → TreeSelectMenuSync-DIPSYUnE.js} +4 -4
  187. package/dist/{TreeSelectMenuSync-D2TvKxP-.js.map → TreeSelectMenuSync-DIPSYUnE.js.map} +1 -1
  188. package/dist/{TypeaheadTextField-DgazozK7.js → TypeaheadTextField-Di9ulOBl.js} +3 -3
  189. package/dist/{TypeaheadTextField-DgazozK7.js.map → TypeaheadTextField-Di9ulOBl.js.map} +1 -1
  190. package/dist/TypeaheadTextField.js +1 -1
  191. package/dist/{YearlessDateInputWithPicker-Bc8a33D5.js → YearlessDateInputWithPicker-CQ2-6Uj4.js} +3 -3
  192. package/dist/{YearlessDateInputWithPicker-Bc8a33D5.js.map → YearlessDateInputWithPicker-CQ2-6Uj4.js.map} +1 -1
  193. package/dist/assets/icons/st/gnav_messages_active.svg +1 -0
  194. package/dist/assets/icons/st/gnav_messages_inactive.svg +1 -0
  195. package/dist/assets/icons/st.ts +2 -0
  196. package/dist/beta.js +17 -17
  197. package/dist/{bulkActionTypes-SukoplGV.js → bulkActionTypes-B71ZHjVu.js} +2 -2
  198. package/dist/{bulkActionTypes-SukoplGV.js.map → bulkActionTypes-B71ZHjVu.js.map} +1 -1
  199. package/dist/{filter-state-D3-SYfuy.js → filter-state-Lw9qL0zP.js} +23 -23
  200. package/dist/{filter-state-D3-SYfuy.js.map → filter-state-Lw9qL0zP.js.map} +1 -1
  201. package/dist/{index-C2dOrf4N.js → index-B3WhDZeI.js} +2 -2
  202. package/dist/{index-C2dOrf4N.js.map → index-B3WhDZeI.js.map} +1 -1
  203. package/dist/{index-Bldaza5t.js → index-CyN5oapA.js} +2 -2
  204. package/dist/{index-Bldaza5t.js.map → index-CyN5oapA.js.map} +1 -1
  205. package/dist/index-DfZCfS0S.js +36 -0
  206. package/dist/index-DfZCfS0S.js.map +1 -0
  207. package/dist/{index.esm-C2ZhC_8d.js → index.esm-CQXMoq5w.js} +2 -2
  208. package/dist/{index.esm-C2ZhC_8d.js.map → index.esm-CQXMoq5w.js.map} +1 -1
  209. package/dist/index.js +55 -53
  210. package/dist/index.js.map +1 -1
  211. package/dist/{react-ORV84FjM.js → react-CG1BUt2y.js} +5 -38
  212. package/dist/react-CG1BUt2y.js.map +1 -0
  213. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +31 -4
  214. package/dist/src/beta/components/Table/DataTable/DataTableEditColumnsDrawer.d.ts +18 -0
  215. package/dist/src/beta/components/Table/DataTable/index.d.ts +1 -0
  216. package/dist/src/beta/components/Table/DataTable/internal/DataTableAddRow.d.ts +11 -0
  217. package/dist/src/beta/components/Table/DataTable/internal/DataTableBulkActionBar.d.ts +23 -0
  218. package/dist/src/beta/components/Table/DataTable/internal/DataTableFilterToolbar.d.ts +12 -0
  219. package/dist/src/beta/components/Table/DataTable/internal/columnEditing/EditColumnsDrawer.d.ts +29 -0
  220. package/dist/src/beta/components/Table/DataTable/internal/columnEditing/columnLayout.d.ts +43 -0
  221. package/dist/src/beta/components/Table/DataTable/internal/columnEditing/toEditColumnsSection.d.ts +7 -0
  222. package/dist/src/beta/components/Table/DataTable/parts.d.ts +17 -0
  223. package/dist/src/beta/components/Table/DataTable/types.d.ts +245 -2
  224. package/dist/src/beta/components/Table/types.d.ts +6 -0
  225. package/dist/src/components/DrillDown/DrillDownHeader.d.ts +11 -2
  226. package/dist/src/components/DrillDown/index.d.ts +1 -1
  227. package/dist/src/components/DrillDown/internal/DrillDownContext.d.ts +7 -2
  228. package/dist/src/components/DrillDown/internal/useDrillDownContextState.d.ts +6 -3
  229. package/dist/src/hooks/usePrefersReducedMotion/index.d.ts +2 -0
  230. package/dist/src/hooks/usePrefersReducedMotion/prefersReducedMotion.d.ts +6 -0
  231. package/dist/src/hooks/usePrefersReducedMotion/useReducedMotion.d.ts +5 -0
  232. package/dist/{stripInlineMarkdown-BhYLEiXu.js → stripInlineMarkdown-B6lAJb4-.js} +2 -2
  233. package/dist/{stripInlineMarkdown-BhYLEiXu.js.map → stripInlineMarkdown-B6lAJb4-.js.map} +1 -1
  234. package/dist/{syncFilterUtils-SMop8ckR.js → syncFilterUtils-DnhuqY1S.js} +4 -4
  235. package/dist/{syncFilterUtils-SMop8ckR.js.map → syncFilterUtils-DnhuqY1S.js.map} +1 -1
  236. package/dist/token/core/component-variables.scss +49 -49
  237. package/dist/token/core/component.js +49 -49
  238. package/dist/token/core/component.scss +40 -40
  239. package/dist/token.js +49 -49
  240. package/dist/token.js.map +1 -1
  241. package/dist/{treeSync-B38r1dRQ.js → treeSync-BDwht_1r.js} +3 -3
  242. package/dist/{treeSync-B38r1dRQ.js.map → treeSync-BDwht_1r.js.map} +1 -1
  243. package/dist/{use-reduced-motion-yYB9Tb0D.js → use-reduced-motion-CUshwaEW.js} +2 -2
  244. package/dist/{use-reduced-motion-yYB9Tb0D.js.map → use-reduced-motion-CUshwaEW.js.map} +1 -1
  245. package/dist/{useDrillDownContext-D5_NjqY4.js → useDrillDownContext-BLDjyNEt.js} +2 -2
  246. package/dist/{useDrillDownContext-D5_NjqY4.js.map → useDrillDownContext-BLDjyNEt.js.map} +1 -1
  247. package/dist/{useDrilldown-BOeeNUsy.js → useDrilldown-CGdhHs8L.js} +54 -21
  248. package/dist/{useDrilldown-BOeeNUsy.js.map → useDrilldown-CGdhHs8L.js.map} +1 -1
  249. package/dist/{useInfiniteCombobox-ynkeFngn.js → useInfiniteCombobox-Db0kaxCj.js} +4 -4
  250. package/dist/{useInfiniteCombobox-ynkeFngn.js.map → useInfiniteCombobox-Db0kaxCj.js.map} +1 -1
  251. package/dist/{useInitialFocus-CGybEc6x.js → useInitialFocus-fBiTU9l8.js} +7 -4
  252. package/dist/useInitialFocus-fBiTU9l8.js.map +1 -0
  253. package/dist/{useInvalidateOnOptionsChange-BD2VBpbK.js → useInvalidateOnOptionsChange-PweyDORd.js} +4 -4
  254. package/dist/{useInvalidateOnOptionsChange-BD2VBpbK.js.map → useInvalidateOnOptionsChange-PweyDORd.js.map} +1 -1
  255. package/dist/{usePrefersReducedMotion-DR9B_D6w.js → usePrefersReducedMotion-BLoVFiJL.js} +11 -3
  256. package/dist/usePrefersReducedMotion-BLoVFiJL.js.map +1 -0
  257. package/dist/usePrefersReducedMotion.js +2 -1
  258. package/dist/usePrefersReducedMotion.js.map +1 -1
  259. package/package.json +3 -3
  260. package/dist/Calendar-IzXG1aJw.js +0 -1761
  261. package/dist/Calendar-IzXG1aJw.js.map +0 -1
  262. package/dist/DataTable-DIXP9-Bx.js.map +0 -1
  263. package/dist/Dialog-_tHqOsbr.js.map +0 -1
  264. package/dist/DndHandleButton-BRlodkDO.js.map +0 -1
  265. package/dist/Drawer-D-ThWNp0.js.map +0 -1
  266. package/dist/DrillDown.module-1VBKDZRA.js +0 -27
  267. package/dist/DrillDown.module-1VBKDZRA.js.map +0 -1
  268. package/dist/Lato.css +0 -24
  269. package/dist/ListView-YJscfG4x.js.map +0 -1
  270. package/dist/NumberField-CxmJx4gs.js +0 -252
  271. package/dist/NumberField-CxmJx4gs.js.map +0 -1
  272. package/dist/Tab-DR5YYXkq.js.map +0 -1
  273. package/dist/Toaster-SqkX0Kes.js.map +0 -1
  274. package/dist/app-css.379821199ec8105f2efd.bundle.css +0 -57579
  275. package/dist/bugfix-71.1orion.css +0 -491
  276. package/dist/design-system.859a127fc3b66175f0f0.bundle.css +0 -34599
  277. package/dist/drag_indicator-BRHAPLSJ.js +0 -6
  278. package/dist/drag_indicator-BRHAPLSJ.js.map +0 -1
  279. package/dist/favicon.ico +0 -0
  280. package/dist/kendo-css.ed976099efbbcc8b0639.bundle.css +0 -20601
  281. package/dist/luxon-wpz4A-OQ.js.map +0 -1
  282. package/dist/main.e26f249642be9a4bd747.bundle.css +0 -50386
  283. package/dist/react-ORV84FjM.js.map +0 -1
  284. package/dist/sui.a9dc22e36a27b7ea1ee8.bundle.css +0 -41149
  285. package/dist/useInitialFocus-CGybEc6x.js.map +0 -1
  286. package/dist/useNumberField-CXFYUZ_n.js.map +0 -1
  287. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +0 -1
  288. package/dist/vite.svg +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOptions-BDAu_9dv.js","sources":["../src/internal/components/SelectOptions.tsx"],"sourcesContent":["import type { SelectFieldOption } from \"../../components/SelectField/types\";\nimport { type CSSProperties, forwardRef, useCallback } from \"react\";\nimport type { CheckState } from \"../../types\";\nimport { OptionsPanel, type OptionsPanelHandle } from \"./OptionsPanel\";\nimport { VirtualizedOptionsPanel } from \"./VirtualizedOptionsPanel\";\nimport type {\n GetItemPropsFn,\n GetMenuPropsFn,\n SectionMeta,\n SelectItem,\n} from \"../types/selectFieldInternalTypes\";\n\nexport type SelectOptionsProps = {\n /** When false, option rows stay unmounted inside the menu scroller. */\n isOpen: boolean;\n /** Flattened option, pinned/group, and bulk-action rows. */\n items: SelectItem[];\n /** Downshift getter for the menu scroller. */\n getMenuProps: GetMenuPropsFn;\n /** Downshift getter for each option row. */\n getItemProps: GetItemPropsFn;\n /** Host highlight index into `items`. */\n highlightedIndex: number;\n /** Current single selection; pinned/grouped copies match on `original.id`. */\n selectedOption: SelectFieldOption | null;\n /** When true, shows the load-more control. */\n hasMore: boolean;\n /** Fetches the next page of options. */\n onLoadMore: () => void;\n /** Replaces the list with a spinner while the current page loads. */\n loading: boolean;\n /** Spinner in the load-more slot. */\n loadingMore: boolean;\n /** Skips automatic next-page fetch; the Load more button remains. */\n disableAutoLoadMore?: boolean;\n /** Disables every row, in addition to per-item `disabled`. */\n disabled?: boolean;\n className?: string;\n style?: CSSProperties;\n /** Pinned and group ranges over `items`. */\n sectionsMeta?: SectionMeta[];\n /** Uses the virtualized panel when true. Defaults to the non-virtual list. */\n virtualize?: boolean;\n};\n\n/** Single-select option list. Forwards to {@link OptionsPanel} or the virtualized panel. */\nexport const SelectOptions = forwardRef<OptionsPanelHandle, SelectOptionsProps>(\n ({ selectedOption, virtualize, ...rest }, ref) => {\n const getCheckedState = useCallback(\n (item: SelectItem): CheckState =>\n selectedOption?.id === item.original.id ? \"checked\" : \"unchecked\",\n [selectedOption],\n );\n\n const ListComponent = virtualize ? VirtualizedOptionsPanel : OptionsPanel;\n\n return (\n <ListComponent\n {...rest}\n ref={ref}\n selectionType=\"single\"\n getCheckedState={getCheckedState}\n />\n );\n },\n);\n\nSelectOptions.displayName = \"SelectOptions\";\n"],"names":[],"mappings":";;;;AA8CO,MAAM,aAAA,GAAgB,UAAA;AAAA,EAC3B,CAAC,EAAE,cAAA,EAAgB,YAAY,GAAG,IAAA,IAAQ,GAAA,KAAQ;AAChD,IAAA,MAAM,eAAA,GAAkB,WAAA;AAAA,MACtB,CAAC,IAAA,KACC,cAAA,EAAgB,OAAO,IAAA,CAAK,QAAA,CAAS,KAAK,SAAA,GAAY,WAAA;AAAA,MACxD,CAAC,cAAc;AAAA,KACjB;AAEA,IAAA,MAAM,aAAA,GAAgB,aAAa,uBAAA,GAA0B,YAAA;AAE7D,IAAA,uBACE,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACE,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,aAAA,EAAc,QAAA;AAAA,QACd;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;;;;"}
1
+ {"version":3,"file":"SelectOptions-CGRUCyf4.js","sources":["../src/internal/components/SelectOptions.tsx"],"sourcesContent":["import type { SelectFieldOption } from \"../../components/SelectField/types\";\nimport { type CSSProperties, forwardRef, useCallback } from \"react\";\nimport type { CheckState } from \"../../types\";\nimport { OptionsPanel, type OptionsPanelHandle } from \"./OptionsPanel\";\nimport { VirtualizedOptionsPanel } from \"./VirtualizedOptionsPanel\";\nimport type {\n GetItemPropsFn,\n GetMenuPropsFn,\n SectionMeta,\n SelectItem,\n} from \"../types/selectFieldInternalTypes\";\n\nexport type SelectOptionsProps = {\n /** When false, option rows stay unmounted inside the menu scroller. */\n isOpen: boolean;\n /** Flattened option, pinned/group, and bulk-action rows. */\n items: SelectItem[];\n /** Downshift getter for the menu scroller. */\n getMenuProps: GetMenuPropsFn;\n /** Downshift getter for each option row. */\n getItemProps: GetItemPropsFn;\n /** Host highlight index into `items`. */\n highlightedIndex: number;\n /** Current single selection; pinned/grouped copies match on `original.id`. */\n selectedOption: SelectFieldOption | null;\n /** When true, shows the load-more control. */\n hasMore: boolean;\n /** Fetches the next page of options. */\n onLoadMore: () => void;\n /** Replaces the list with a spinner while the current page loads. */\n loading: boolean;\n /** Spinner in the load-more slot. */\n loadingMore: boolean;\n /** Skips automatic next-page fetch; the Load more button remains. */\n disableAutoLoadMore?: boolean;\n /** Disables every row, in addition to per-item `disabled`. */\n disabled?: boolean;\n className?: string;\n style?: CSSProperties;\n /** Pinned and group ranges over `items`. */\n sectionsMeta?: SectionMeta[];\n /** Uses the virtualized panel when true. Defaults to the non-virtual list. */\n virtualize?: boolean;\n};\n\n/** Single-select option list. Forwards to {@link OptionsPanel} or the virtualized panel. */\nexport const SelectOptions = forwardRef<OptionsPanelHandle, SelectOptionsProps>(\n ({ selectedOption, virtualize, ...rest }, ref) => {\n const getCheckedState = useCallback(\n (item: SelectItem): CheckState =>\n selectedOption?.id === item.original.id ? \"checked\" : \"unchecked\",\n [selectedOption],\n );\n\n const ListComponent = virtualize ? VirtualizedOptionsPanel : OptionsPanel;\n\n return (\n <ListComponent\n {...rest}\n ref={ref}\n selectionType=\"single\"\n getCheckedState={getCheckedState}\n />\n );\n },\n);\n\nSelectOptions.displayName = \"SelectOptions\";\n"],"names":[],"mappings":";;;;AA8CO,MAAM,aAAA,GAAgB,UAAA;AAAA,EAC3B,CAAC,EAAE,cAAA,EAAgB,YAAY,GAAG,IAAA,IAAQ,GAAA,KAAQ;AAChD,IAAA,MAAM,eAAA,GAAkB,WAAA;AAAA,MACtB,CAAC,IAAA,KACC,cAAA,EAAgB,OAAO,IAAA,CAAK,QAAA,CAAS,KAAK,SAAA,GAAY,WAAA;AAAA,MACxD,CAAC,cAAc;AAAA,KACjB;AAEA,IAAA,MAAM,aAAA,GAAgB,aAAa,uBAAA,GAA0B,YAAA;AAE7D,IAAA,uBACE,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACE,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,aAAA,EAAc,QAAA;AAAA,QACd;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { A as Avatar } from './Avatar-Ba662b3z.js';
3
3
  import { I as Icon } from './Icon-B5zwN7GD.js';
4
- import { S as SelectTriggerBase, d as defaultItemToString, a as defaultItemToKey } from './SelectTriggerBase-BTWSaiQ-.js';
4
+ import { S as SelectTriggerBase, d as defaultItemToString, a as defaultItemToKey } from './SelectTriggerBase-BRUW_Zgc.js';
5
5
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
6
6
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
7
7
  import { useTrackingId } from './useTrackingId.js';
@@ -121,4 +121,4 @@ const SelectTrigger = (props) => {
121
121
  };
122
122
 
123
123
  export { SelectTrigger as S };
124
- //# sourceMappingURL=SelectTrigger-B4OUTO9S.js.map
124
+ //# sourceMappingURL=SelectTrigger-CRbl804u.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTrigger-B4OUTO9S.js","sources":["../src/components/SelectTrigger/SelectTrigger.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from \"react\";\nimport type {\n UseComboboxProps as UseDownshiftComboboxProps,\n UseMultipleSelectionProps as UseDownshiftMultipleSelectionProps,\n} from \"downshift\";\n\nimport { Avatar, type AvatarProps } from \"../Avatar\";\nimport { childrenToString } from \"../../internal/functions\";\nimport type { DataTrackingId, DistributiveOmit } from \"../../types\";\nimport type { FieldLabelProps } from \"../FieldLabel\";\nimport { Icon, type IconProps } from \"../Icon\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { useTrackingId } from \"../../hooks\";\n\nimport {\n SelectTriggerBase,\n type SelectTriggerBaseProps,\n} from \"./internal/SelectTriggerBase\";\nimport {\n defaultItemToKey,\n defaultItemToString,\n} from \"../Combobox/internal/ComboboxUtils\";\n\n/**\n * Discriminated by `multiple`. Omit it and pass `selectedItem`; set\n * `multiple` and pass `selectedItems`. `itemToString` and `itemToKey`\n * default to Combobox's item helpers.\n */\nexport type SelectTriggerProps<Item> = DistributiveOmit<\n SelectTriggerBaseProps<Item>,\n \"prefix\" | \"selectedItem\" | \"selectedItems\" | \"onChange\"\n> &\n Pick<FieldLabelProps, \"required\" | \"moreInfo\"> &\n Pick<UseDownshiftComboboxProps<Item>, \"itemToString\" | \"itemToKey\"> &\n DataTrackingId & {\n /**\n * Content before the value. A string is text; `{ icon }` / `{ avatar }`\n * render those components. Avatar size follows the trigger (`small` or\n * `medium`).\n */\n prefix?:\n | string\n | { icon: DistributiveOmit<IconProps, \"size\"> }\n | { avatar: DistributiveOmit<AvatarProps, \"size\"> };\n } & (\n | {\n /** Omit for single selection. */\n multiple?: never;\n /** Called with the next item, or `null` when the selection is cleared. */\n onChange?:\n | Dispatch<SetStateAction<Item | null>>\n | ((arg: Item | null) => void);\n /** Shown in the value area. Use `null` for an empty field. */\n selectedItem: UseDownshiftComboboxProps<Item>[\"selectedItem\"];\n selectedItems?: never;\n }\n | {\n /** Switches the trigger to chip-based multi-select. */\n multiple: true;\n /** Called with the next items. Clearing the field passes `[]`. */\n onChange?:\n | Dispatch<SetStateAction<Item[] | null>>\n | ((arg: Item[] | null) => void);\n selectedItem?: never;\n /** Shown as chips. Use an empty array for an empty field. */\n selectedItems: UseDownshiftMultipleSelectionProps<Item>[\"selectedItems\"];\n }\n );\n\n/**\n * Field-styled button that opens a custom select-like menu. Pair with a\n * popover or similar; use `SelectMenu` when its built-in trigger is enough.\n *\n * @example\n * <SelectTrigger\n * label=\"Assignee\"\n * selectedItem={selected}\n * prefix={{ avatar: { name: \"Ada\" } }}\n * />\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- TODO: look into unknown\nexport const SelectTrigger = <Item = any>(props: SelectTriggerProps<Item>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n style,\n label,\n size,\n error,\n hint,\n description,\n required,\n moreInfo,\n prefix: prefixProp,\n suffix,\n maxRows,\n selectedItemProps = () => ({}),\n id,\n placeholder,\n disabled: isDisabled,\n readOnly: isReadOnly,\n onClick,\n multiple,\n onChange,\n disableClearSelection,\n itemToString: itemToStringProp,\n itemToKey: itemToKeyProp,\n selectedItem = null,\n selectedItems = [],\n ...rest\n } = componentProps;\n\n const itemToString = itemToStringProp ?? defaultItemToString<Item>;\n const itemToKey = itemToKeyProp ?? defaultItemToKey<Item>;\n\n function removeSelectedItem(item: Item) {\n if (multiple) {\n onChange?.(\n selectedItems.filter(\n (selectedItem: Item) => itemToKey(selectedItem) !== itemToKey(item),\n ),\n );\n } else if (itemToKey(selectedItem) === itemToKey(item)) {\n onChange?.(null);\n }\n }\n\n function reset() {\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.(null);\n }\n }\n\n const noClearButton = isDisabled || isReadOnly || disableClearSelection;\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const { aiMark, ...labelPropsWithoutAiMark } = props.labelProps || {};\n\n const data = {\n label: childrenToString(props.label),\n size: props.size,\n required: props.required,\n moreInfo: props.moreInfo,\n description: childrenToString(props.description),\n hint: props.hint,\n labelProps: labelPropsWithoutAiMark,\n };\n\n const trackingId = useTrackingId({\n name: \"ComboboxSearchField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const prefix =\n prefixProp == null || typeof prefixProp === \"string\" ? (\n prefixProp\n ) : \"icon\" in prefixProp ? (\n <Icon {...prefixProp.icon} />\n ) : \"avatar\" in prefixProp ? (\n <Avatar\n {...prefixProp.avatar}\n size={props.size === \"small\" ? \"small\" : \"medium\"}\n />\n ) : (\n prefixProp\n );\n\n return (\n <SelectTriggerBase\n data-anv=\"select-trigger\"\n data-tracking-id={trackingId}\n className={className}\n style={styleCombined}\n label={label}\n size={size}\n error={error}\n hint={hint}\n description={description}\n labelProps={{\n aiMark,\n moreInfo,\n required,\n }}\n prefix={prefix}\n suffix={suffix}\n maxRows={maxRows}\n selectedItemProps={selectedItemProps}\n id={id}\n placeholder={placeholder}\n disabled={isDisabled}\n readOnly={isReadOnly}\n itemToString={itemToString}\n removeSelectedItem={removeSelectedItem}\n disableClearSelection={noClearButton}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n onClearButtonClick={reset}\n inputWrapperProps={{ onClick }}\n inputProps={rest}\n />\n );\n};\n"],"names":["selectedItem"],"mappings":"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"}
1
+ {"version":3,"file":"SelectTrigger-CRbl804u.js","sources":["../src/components/SelectTrigger/SelectTrigger.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from \"react\";\nimport type {\n UseComboboxProps as UseDownshiftComboboxProps,\n UseMultipleSelectionProps as UseDownshiftMultipleSelectionProps,\n} from \"downshift\";\n\nimport { Avatar, type AvatarProps } from \"../Avatar\";\nimport { childrenToString } from \"../../internal/functions\";\nimport type { DataTrackingId, DistributiveOmit } from \"../../types\";\nimport type { FieldLabelProps } from \"../FieldLabel\";\nimport { Icon, type IconProps } from \"../Icon\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { useTrackingId } from \"../../hooks\";\n\nimport {\n SelectTriggerBase,\n type SelectTriggerBaseProps,\n} from \"./internal/SelectTriggerBase\";\nimport {\n defaultItemToKey,\n defaultItemToString,\n} from \"../Combobox/internal/ComboboxUtils\";\n\n/**\n * Discriminated by `multiple`. Omit it and pass `selectedItem`; set\n * `multiple` and pass `selectedItems`. `itemToString` and `itemToKey`\n * default to Combobox's item helpers.\n */\nexport type SelectTriggerProps<Item> = DistributiveOmit<\n SelectTriggerBaseProps<Item>,\n \"prefix\" | \"selectedItem\" | \"selectedItems\" | \"onChange\"\n> &\n Pick<FieldLabelProps, \"required\" | \"moreInfo\"> &\n Pick<UseDownshiftComboboxProps<Item>, \"itemToString\" | \"itemToKey\"> &\n DataTrackingId & {\n /**\n * Content before the value. A string is text; `{ icon }` / `{ avatar }`\n * render those components. Avatar size follows the trigger (`small` or\n * `medium`).\n */\n prefix?:\n | string\n | { icon: DistributiveOmit<IconProps, \"size\"> }\n | { avatar: DistributiveOmit<AvatarProps, \"size\"> };\n } & (\n | {\n /** Omit for single selection. */\n multiple?: never;\n /** Called with the next item, or `null` when the selection is cleared. */\n onChange?:\n | Dispatch<SetStateAction<Item | null>>\n | ((arg: Item | null) => void);\n /** Shown in the value area. Use `null` for an empty field. */\n selectedItem: UseDownshiftComboboxProps<Item>[\"selectedItem\"];\n selectedItems?: never;\n }\n | {\n /** Switches the trigger to chip-based multi-select. */\n multiple: true;\n /** Called with the next items. Clearing the field passes `[]`. */\n onChange?:\n | Dispatch<SetStateAction<Item[] | null>>\n | ((arg: Item[] | null) => void);\n selectedItem?: never;\n /** Shown as chips. Use an empty array for an empty field. */\n selectedItems: UseDownshiftMultipleSelectionProps<Item>[\"selectedItems\"];\n }\n );\n\n/**\n * Field-styled button that opens a custom select-like menu. Pair with a\n * popover or similar; use `SelectMenu` when its built-in trigger is enough.\n *\n * @example\n * <SelectTrigger\n * label=\"Assignee\"\n * selectedItem={selected}\n * prefix={{ avatar: { name: \"Ada\" } }}\n * />\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- TODO: look into unknown\nexport const SelectTrigger = <Item = any>(props: SelectTriggerProps<Item>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n style,\n label,\n size,\n error,\n hint,\n description,\n required,\n moreInfo,\n prefix: prefixProp,\n suffix,\n maxRows,\n selectedItemProps = () => ({}),\n id,\n placeholder,\n disabled: isDisabled,\n readOnly: isReadOnly,\n onClick,\n multiple,\n onChange,\n disableClearSelection,\n itemToString: itemToStringProp,\n itemToKey: itemToKeyProp,\n selectedItem = null,\n selectedItems = [],\n ...rest\n } = componentProps;\n\n const itemToString = itemToStringProp ?? defaultItemToString<Item>;\n const itemToKey = itemToKeyProp ?? defaultItemToKey<Item>;\n\n function removeSelectedItem(item: Item) {\n if (multiple) {\n onChange?.(\n selectedItems.filter(\n (selectedItem: Item) => itemToKey(selectedItem) !== itemToKey(item),\n ),\n );\n } else if (itemToKey(selectedItem) === itemToKey(item)) {\n onChange?.(null);\n }\n }\n\n function reset() {\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.(null);\n }\n }\n\n const noClearButton = isDisabled || isReadOnly || disableClearSelection;\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const { aiMark, ...labelPropsWithoutAiMark } = props.labelProps || {};\n\n const data = {\n label: childrenToString(props.label),\n size: props.size,\n required: props.required,\n moreInfo: props.moreInfo,\n description: childrenToString(props.description),\n hint: props.hint,\n labelProps: labelPropsWithoutAiMark,\n };\n\n const trackingId = useTrackingId({\n name: \"ComboboxSearchField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const prefix =\n prefixProp == null || typeof prefixProp === \"string\" ? (\n prefixProp\n ) : \"icon\" in prefixProp ? (\n <Icon {...prefixProp.icon} />\n ) : \"avatar\" in prefixProp ? (\n <Avatar\n {...prefixProp.avatar}\n size={props.size === \"small\" ? \"small\" : \"medium\"}\n />\n ) : (\n prefixProp\n );\n\n return (\n <SelectTriggerBase\n data-anv=\"select-trigger\"\n data-tracking-id={trackingId}\n className={className}\n style={styleCombined}\n label={label}\n size={size}\n error={error}\n hint={hint}\n description={description}\n labelProps={{\n aiMark,\n moreInfo,\n required,\n }}\n prefix={prefix}\n suffix={suffix}\n maxRows={maxRows}\n selectedItemProps={selectedItemProps}\n id={id}\n placeholder={placeholder}\n disabled={isDisabled}\n readOnly={isReadOnly}\n itemToString={itemToString}\n removeSelectedItem={removeSelectedItem}\n disableClearSelection={noClearButton}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n onClearButtonClick={reset}\n inputWrapperProps={{ onClick }}\n inputProps={rest}\n />\n );\n};\n"],"names":["selectedItem"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { S as SelectTrigger, S as default } from './SelectTrigger-B4OUTO9S.js';
1
+ export { S as SelectTrigger, S as default } from './SelectTrigger-CRbl804u.js';
2
2
  //# sourceMappingURL=SelectTrigger.js.map
@@ -3,10 +3,10 @@ import { useId, useRef, useMemo, useState, useLayoutEffect, isValidElement } fro
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
4
  import { S as SvgClose } from './close-DZj38AEh.js';
5
5
  import { S as SvgChevronRight } from './chevron_right-BdpsxX7x.js';
6
- import { B as Button } from './Button-Dn6-01xl.js';
7
- import { C as Chip } from './Chip-2OydLs66.js';
6
+ import { B as Button } from './Button-B_E6ybA-.js';
7
+ import { C as Chip } from './Chip-AIF0WiNS.js';
8
8
  import { F as Flex } from './Flex-CRF7gj0_.js';
9
- import { F as FieldLabel } from './FieldLabel-ThEmUiAq.js';
9
+ import { F as FieldLabel } from './FieldLabel-DYcUS3A4.js';
10
10
  import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
11
11
  import { s as styles } from './SelectTriggerBase.module-Dt4-6YvC.js';
12
12
  import { H as Helper } from './Helper-BHpOgh7k.js';
@@ -409,4 +409,4 @@ const SelectTriggerBase = ({
409
409
  };
410
410
 
411
411
  export { ADD_NEW as A, SelectTriggerBase as S, defaultItemToKey as a, SELECT_ALL as b, defaultItemToString as d, getScrollParent as g, isMultiple as i };
412
- //# sourceMappingURL=SelectTriggerBase-BTWSaiQ-.js.map
412
+ //# sourceMappingURL=SelectTriggerBase-BRUW_Zgc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTriggerBase-BTWSaiQ-.js","sources":["../src/components/Combobox/internal/ComboboxUtils.ts","../src/components/SelectTrigger/internal/SelectTriggerBase.tsx"],"sourcesContent":["import type {\n ComboboxMultipleProps,\n ComboboxProps,\n ComboboxSelectProps,\n SelectMultipleProps,\n} from \"../ComboboxTypes\";\n\nexport const ADD_NEW = Symbol.for(\"add-new\");\nexport const SELECT_ALL = Symbol.for(\"select-all\");\n\n/**\n * Default function to convert an item to a string representation\n * @template Item - The type of the item\n * @param item - The item to convert to string\n * @returns String representation of the item or empty string if null/undefined\n */\nexport const defaultItemToString = <Item>(item: Item | null) =>\n item != null ? String(item) : \"\";\n\n/**\n * Default function to generate a unique key for an item\n * @template Item - The type of the item\n * @param item - The item to generate a key for\n * @returns The item itself as the key\n */\nexport const defaultItemToKey = <Item>(item: Item | null) => item;\n\nexport function isMultiple<Item>(\n props: ComboboxProps<Item> | ComboboxSelectProps<Item>,\n): props is ComboboxMultipleProps<Item> | SelectMultipleProps<Item> {\n return Object.hasOwn(props, \"multiple\") && props.multiple === true;\n}\n\nexport function getScrollParent(node: HTMLElement | null) {\n if (node == null) {\n return null;\n }\n\n if (node.scrollHeight > node.clientHeight) {\n return node;\n } else {\n if (node.parentNode instanceof HTMLElement) {\n return getScrollParent(node.parentNode);\n }\n return null;\n }\n}\n","import {\n useState,\n useId,\n useRef,\n useLayoutEffect,\n useMemo,\n isValidElement,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type MutableRefObject,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport cx from \"classnames\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Chevron_Right from \"@servicetitan/hammer-icon/mdi/round/chevron_right.svg\";\n\nimport { Button } from \"../../Button\";\nimport { Chip, type ChipProps } from \"../../Chip\";\nimport { Flex } from \"../../Flex\";\nimport { FieldLabel, type FieldLabelProps } from \"../../FieldLabel\";\nimport { Helper } from \"../../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../../FieldMessage\";\nimport type { TextFieldProps } from \"../../TextField\";\n\nimport styles from \"./SelectTriggerBase.module.scss\";\nimport type { DataAttributes, DistributiveOmit } from \"../../../types\";\nimport { defaultItemToString } from \"../../Combobox/internal/ComboboxUtils\";\n\ntype PartialChipProps = Partial<Omit<ChipProps, \"icon\" | \"avatar\">> &\n DataAttributes &\n (\n | { icon?: ChipProps[\"icon\"]; avatar?: never }\n | { icon?: never; avatar?: ChipProps[\"avatar\"] }\n );\n\ntype CollapseSearchStatus = \"done\" | \"measuring\" | \"searching\";\n\ntype CollapseSearchState = {\n status: CollapseSearchStatus;\n key: string | null;\n collapsedChips: boolean;\n visibleChipsCount: number | null;\n low: number;\n high: number;\n candidate: number | null;\n bestFit: number | null;\n iterations: number;\n};\n\nconst COLLAPSE_SEARCH_ITERATION_MARGIN = 4;\n\nfunction getDoneCollapseSearchState(\n key: string | null,\n collapsedChips = false,\n visibleChipsCount: number | null = null,\n): CollapseSearchState {\n return {\n status: \"done\",\n key,\n collapsedChips,\n visibleChipsCount,\n low: 0,\n high: 0,\n candidate: null,\n bestFit: visibleChipsCount,\n iterations: 0,\n };\n}\n\nfunction getMaxCollapseSearchIterations(selectedItemsCount: number): number {\n // Allows one full binary-search pass plus a small buffer for measurement rerenders.\n return (\n Math.ceil(Math.log2(Math.max(selectedItemsCount, 2))) +\n COLLAPSE_SEARCH_ITERATION_MARGIN\n );\n}\n\nconst FNV_1A_OFFSET_BASIS = 0x811c9dc5;\nconst FNV_1A_PRIME = 0x01000193;\n\nfunction addByteToCollapseHash(hash: number, byte: number): number {\n return Math.imul(hash ^ byte, FNV_1A_PRIME) >>> 0;\n}\n\nfunction addNumberToCollapseHash(hash: number, value: number): number {\n let nextHash = hash;\n\n nextHash = addByteToCollapseHash(nextHash, value & 0xff);\n nextHash = addByteToCollapseHash(nextHash, (value >>> 8) & 0xff);\n nextHash = addByteToCollapseHash(nextHash, (value >>> 16) & 0xff);\n nextHash = addByteToCollapseHash(nextHash, (value >>> 24) & 0xff);\n\n return nextHash;\n}\n\nfunction addLabelToCollapseHash(hash: number, label: string): number {\n let nextHash = addNumberToCollapseHash(hash, label.length);\n\n for (let index = 0; index < label.length; index += 1) {\n const codeUnit = label.charCodeAt(index);\n\n nextHash = addByteToCollapseHash(nextHash, codeUnit & 0xff);\n nextHash = addByteToCollapseHash(nextHash, codeUnit >>> 8);\n }\n\n return nextHash;\n}\n\nfunction getCollapseKey<Item>(\n maxRows: number | undefined,\n selectedItems: Item[],\n itemToString: (item: Item) => string,\n): string | null {\n if (maxRows === undefined) return null;\n\n let selectedItemsHash = FNV_1A_OFFSET_BASIS;\n\n for (const item of selectedItems) {\n selectedItemsHash = addLabelToCollapseHash(\n selectedItemsHash,\n itemToString(item),\n );\n }\n\n return `${maxRows}:${selectedItems.length}:${selectedItemsHash.toString(36)}`;\n}\n\nfunction getCollapseSearchCandidate(low: number, high: number): number {\n return Math.floor((low + high) / 2);\n}\n\nfunction mergeChipProps(\n ...propSets: (PartialChipProps | Partial<ChipProps>)[]\n): ChipProps {\n const merged = propSets.reduce(\n (acc, props) => ({ ...acc, ...props }),\n {} as Record<string, unknown>,\n );\n\n return merged as ChipProps;\n}\n\nexport type SelectTriggerBaseProps<Item = unknown> = DistributiveOmit<\n TextFieldProps,\n \"showCounter\" | \"prefix\"\n> & {\n /**\n * Caps visible selected chips to this many rows and collapses the rest\n * into a +N chip. Omit to show every chip. Must be a positive integer.\n */\n maxRows?: number;\n\n /** Extra Chip props per selected item; merged after `chipProps`. */\n selectedItemProps?: (item: Item, index: number) => PartialChipProps;\n} & {\n /** Chip and single-value labels. Defaults to Combobox's `defaultItemToString`. */\n itemToString?: (item: Item) => string;\n /** Called when a chip's close control is activated. */\n removeSelectedItem?: (item: Item) => void;\n /**\n * Hides the clear control. Also hidden when `disabled` or `readOnly`.\n * Defaults to `false`.\n */\n disableClearSelection?: boolean;\n selectedItem: Item | null;\n selectedItems: Item[];\n\n /** Combobox typed query shown in the input. */\n inputValue?: string;\n /** Floating-ui reference element for the composed menu. */\n referenceRef?: MutableRefObject<HTMLDivElement | null>;\n} & {\n /**\n * `select` renders a button-like value area; `combobox` renders a text\n * input. Defaults to `select`.\n */\n variant?: \"select\" | \"combobox\";\n /** Fired after the clear control stops the wrapper click. */\n onClearButtonClick?: MouseEventHandler<HTMLButtonElement>;\n labelProps?: Partial<FieldLabelProps>;\n inputWrapperProps?: ComponentPropsWithoutRef<\"div\">;\n toggleButtonProps?: ComponentPropsWithoutRef<\"button\"> & DataAttributes;\n clearButtonProps?: ComponentPropsWithoutRef<\"button\"> & DataAttributes;\n /** Extra Chip props per selected item; merged before `selectedItemProps`. */\n chipProps?: (item: Item, index: number) => PartialChipProps;\n inputProps?: ComponentPropsWithoutRef<\"input\" | \"div\"> & DataAttributes;\n /** Hides the trailing chevron. Defaults to `false`. */\n disableToggleButton?: boolean;\n} & {\n prefix?: string | ReactNode;\n};\n\nexport const SelectTriggerBase = <Item,>({\n className,\n label,\n size,\n error,\n hint,\n description,\n prefix,\n suffix,\n maxRows,\n selectedItemProps = (_item: Item, _index: number): PartialChipProps => ({}),\n disabled,\n readOnly,\n disableClearSelection,\n itemToString: itemToStringProp,\n selectedItem,\n selectedItems,\n removeSelectedItem,\n inputValue,\n referenceRef,\n variant = \"select\",\n onClearButtonClick,\n labelProps,\n inputWrapperProps = {},\n toggleButtonProps = {},\n clearButtonProps = {},\n inputProps = {},\n chipProps = (_item: Item, _index: number): PartialChipProps => ({}),\n disableToggleButton = false,\n warning,\n placeholder,\n ...rest\n}: SelectTriggerBaseProps<Item>) => {\n const itemToString = itemToStringProp ?? defaultItemToString<Item>;\n\n const ComboboxTriggerClassNames = cx(styles[\"search-field\"], {\n [styles[\"select\"]]: variant === \"select\",\n });\n\n const noClearButton = disabled || readOnly || disableClearSelection;\n\n const ComboboxInputWrapperClassNames = cx(\n styles[\"input-wrapper\"],\n className\n ? {\n [className]: variant === \"select\",\n }\n : {},\n {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"no-clear-button\"]]: noClearButton,\n [styles[\"no-toggle-button\"]]: disableToggleButton,\n [styles[\"is-disabled\"]]: disabled,\n },\n );\n\n const ComboboxInputClassNames = cx(\n styles[\"input\"],\n className\n ? {\n [className]: variant === \"combobox\",\n }\n : {},\n {\n [styles[\"error\"]]: error,\n },\n );\n\n const helperUid = \"helper\" + useId();\n const placeholderUid = \"placeholder\" + useId();\n const ariaDescribedBy = `${helperUid} ${placeholderUid}`;\n\n warnDeprecatedErrorUsage(\"SelectTrigger\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const rowsRef = useRef<HTMLDivElement>(null);\n const collapseKey = useMemo(\n () => getCollapseKey(maxRows, selectedItems, itemToString),\n [maxRows, selectedItems, itemToString],\n );\n const [collapseSearch, setCollapseSearch] = useState<CollapseSearchState>(\n () => getDoneCollapseSearchState(null),\n );\n const stillCalculating = collapseSearch.status !== \"done\";\n\n useLayoutEffect(() => {\n if (maxRows === undefined) {\n if (\n collapseSearch.status !== \"done\" ||\n collapseSearch.collapsedChips ||\n collapseSearch.visibleChipsCount !== null ||\n collapseSearch.key !== null\n ) {\n setCollapseSearch(getDoneCollapseSearchState(null));\n }\n\n return;\n }\n\n if (collapseSearch.key !== collapseKey) {\n setCollapseSearch({\n status: \"measuring\",\n key: collapseKey,\n collapsedChips: false,\n visibleChipsCount: null,\n low: 0,\n high: Math.max(selectedItems.length - 1, 0),\n candidate: null,\n bestFit: null,\n iterations: 0,\n });\n\n return;\n }\n\n if (collapseSearch.status === \"done\") return;\n\n if (rowsRef?.current?.children) {\n const children = rowsRef?.current?.children;\n\n // Exclude the input-flex element from row counting so the algorithm\n // only considers chip elements when deciding whether to collapse.\n // The input will naturally fit alongside chips thanks to its\n // reduced min-width.\n const chipChildren = Array.from(children).filter(\n (child) =>\n !(child as HTMLElement).classList?.contains(styles[\"input-flex\"]),\n );\n\n const rowData = chipChildren.reduce(\n (acc, child) => {\n const top = child.getBoundingClientRect().top;\n\n if (!acc.length) {\n return [{ count: 1, top }];\n } else if (acc[acc.length - 1].top === top) {\n return [\n ...acc.slice(0, -1),\n { count: acc[acc.length - 1].count + 1, top },\n ];\n } else if (acc[acc.length - 1].top !== top) {\n return [...acc, { count: 1, top }];\n } else {\n return acc;\n }\n },\n [] as { count: number; top: number }[],\n );\n\n const fitsWithinMaxRows = !rowData[maxRows];\n\n // A single chip is never collapsed, even when it overflows `maxRows`.\n if (collapseSearch.status === \"measuring\") {\n if (fitsWithinMaxRows || selectedItems.length === 1) {\n setCollapseSearch(getDoneCollapseSearchState(collapseKey));\n\n return;\n }\n\n const quickGuess = Math.max(\n rowData.slice(0, maxRows).reduce((sum, row) => sum + row.count, -1),\n 0,\n );\n\n setCollapseSearch({\n status: \"searching\",\n key: collapseKey,\n collapsedChips: true,\n visibleChipsCount: quickGuess,\n low: 0,\n high: Math.max(selectedItems.length - 1, 0),\n candidate: quickGuess,\n bestFit: null,\n iterations: 0,\n });\n\n return;\n }\n\n if (collapseSearch.candidate === null) return;\n\n const iterations = collapseSearch.iterations + 1;\n const bestFit = fitsWithinMaxRows\n ? collapseSearch.candidate\n : collapseSearch.bestFit;\n const low = fitsWithinMaxRows\n ? collapseSearch.candidate + 1\n : collapseSearch.low;\n const high = fitsWithinMaxRows\n ? collapseSearch.high\n : collapseSearch.candidate - 1;\n const maxIterations = getMaxCollapseSearchIterations(\n selectedItems.length,\n );\n\n if (low > high || iterations >= maxIterations) {\n setCollapseSearch(\n getDoneCollapseSearchState(collapseKey, true, bestFit ?? 0),\n );\n\n return;\n }\n\n const candidate = getCollapseSearchCandidate(low, high);\n\n setCollapseSearch({\n status: \"searching\",\n key: collapseKey,\n collapsedChips: true,\n visibleChipsCount: candidate,\n low,\n high,\n candidate,\n bestFit,\n iterations,\n });\n }\n }, [collapseKey, collapseSearch, maxRows, selectedItems.length]);\n\n const selectedItemsDisplayCount =\n collapseSearch.collapsedChips &&\n maxRows != null &&\n collapseSearch.visibleChipsCount !== null\n ? collapseSearch.visibleChipsCount\n : selectedItems.length;\n\n // TODO: Update this to use a TextField component once we can pass props\n // directly to both the label and the text input\n return (\n <div {...rest} className={ComboboxTriggerClassNames} ref={referenceRef}>\n {label ? (\n <FieldLabel\n {...labelProps}\n className={cx(styles[\"label\"], labelProps?.className)}\n >\n {label}\n </FieldLabel>\n ) : null}\n\n <div\n {...inputWrapperProps}\n className={ComboboxInputWrapperClassNames}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : inputWrapperProps.onClick}\n {...(variant === \"select\"\n ? {\n \"aria-describedby\": ariaDescribedBy,\n \"aria-labelledby\": labelProps?.id,\n }\n : {})}\n >\n <div className={styles[\"buttons-wrapper\"]}>\n {(inputValue || selectedItem || selectedItems.length) &&\n !noClearButton ? (\n <div className={styles[\"close-button-wrapper\"]}>\n <Button\n {...clearButtonProps}\n aria-label=\"clear selection\"\n appearance=\"ghost\"\n size=\"small\"\n icon={Close}\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onClearButtonClick?.(e);\n }}\n tabIndex={-1}\n />\n </div>\n ) : null}\n\n {disableToggleButton ? null : (\n <div className={styles[\"toggle-button-wrapper\"]}>\n <Button\n {...toggleButtonProps}\n {...(variant === \"select\"\n ? { tabIndex: -1, inert: \"true\" }\n : {})}\n className={styles[\"toggle-button\"]}\n aria-label=\"toggle menu\"\n icon={Chevron_Right}\n appearance=\"ghost\"\n size=\"small\"\n disabled={disabled}\n />\n </div>\n )}\n </div>\n\n <div className={styles[\"prefix-wrapper\"]}>\n {prefix ? <div className={styles[\"prefix\"]}>{prefix}</div> : null}\n </div>\n\n <div\n className={cx(styles[\"rows-wrapper\"], {\n [styles[\"max-rows\"]]: maxRows !== undefined,\n [styles[\"single-row\"]]: maxRows === 1 && !stillCalculating,\n })}\n ref={rowsRef}\n >\n {selectedItems.length && removeSelectedItem != null\n ? selectedItems\n .slice(0, selectedItemsDisplayCount)\n .map((item, index) => {\n return (\n <div\n key={`selected-item-${index}`}\n className={styles[\"chip-wrapper\"]}\n >\n <Chip\n {...mergeChipProps(\n chipProps(item, index),\n selectedItemProps(item, index),\n {\n label: itemToString(item),\n onClose:\n disabled || readOnly\n ? undefined\n : (_e) => {\n removeSelectedItem(item);\n },\n className: styles[\"chip\"],\n title: itemToString(item),\n },\n )}\n />\n </div>\n );\n })\n : null}\n\n {collapseSearch.collapsedChips && maxRows != null ? (\n <div className={styles[\"chip-wrapper\"]}>\n <Chip\n label={`+${selectedItems.length - selectedItemsDisplayCount}`}\n className={styles[\"chip\"]}\n title={selectedItems\n .slice(selectedItemsDisplayCount)\n .map((item) => itemToString(item))\n .join(\", \")}\n />\n </div>\n ) : null}\n\n <Flex className={styles[\"input-flex\"]} alignItems=\"center\">\n {variant === \"select\" ? (\n <div\n {...inputProps}\n className={cx(ComboboxInputClassNames, inputProps.className)}\n >\n {selectedItems.length ? null : selectedItem ? (\n itemToString(selectedItem)\n ) : (\n <span\n className={styles[\"fake-placeholder\"]}\n id={placeholderUid}\n >\n {placeholder}\n </span>\n )}\n </div>\n ) : (\n <input\n type=\"text\"\n {...inputProps}\n placeholder={placeholder}\n className={cx(ComboboxInputClassNames, inputProps.className)}\n {...(inputProps[\"aria-expanded\"] != null &&\n inputProps[\"aria-controls\"] != null\n ? {\n role: \"combobox\",\n }\n : {})}\n />\n )}\n\n {suffix ? <div className={styles[\"suffix\"]}>{suffix}</div> : null}\n </Flex>\n </div>\n </div>\n\n {hint || errorMessages || warning || description ? (\n <Helper\n id={helperUid}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n hint={hint}\n description={description}\n />\n ) : null}\n </div>\n );\n};\n"],"names":["Close","Chevron_Right"],"mappings":"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"}
1
+ {"version":3,"file":"SelectTriggerBase-BRUW_Zgc.js","sources":["../src/components/Combobox/internal/ComboboxUtils.ts","../src/components/SelectTrigger/internal/SelectTriggerBase.tsx"],"sourcesContent":["import type {\n ComboboxMultipleProps,\n ComboboxProps,\n ComboboxSelectProps,\n SelectMultipleProps,\n} from \"../ComboboxTypes\";\n\nexport const ADD_NEW = Symbol.for(\"add-new\");\nexport const SELECT_ALL = Symbol.for(\"select-all\");\n\n/**\n * Default function to convert an item to a string representation\n * @template Item - The type of the item\n * @param item - The item to convert to string\n * @returns String representation of the item or empty string if null/undefined\n */\nexport const defaultItemToString = <Item>(item: Item | null) =>\n item != null ? String(item) : \"\";\n\n/**\n * Default function to generate a unique key for an item\n * @template Item - The type of the item\n * @param item - The item to generate a key for\n * @returns The item itself as the key\n */\nexport const defaultItemToKey = <Item>(item: Item | null) => item;\n\nexport function isMultiple<Item>(\n props: ComboboxProps<Item> | ComboboxSelectProps<Item>,\n): props is ComboboxMultipleProps<Item> | SelectMultipleProps<Item> {\n return Object.hasOwn(props, \"multiple\") && props.multiple === true;\n}\n\nexport function getScrollParent(node: HTMLElement | null) {\n if (node == null) {\n return null;\n }\n\n if (node.scrollHeight > node.clientHeight) {\n return node;\n } else {\n if (node.parentNode instanceof HTMLElement) {\n return getScrollParent(node.parentNode);\n }\n return null;\n }\n}\n","import {\n useState,\n useId,\n useRef,\n useLayoutEffect,\n useMemo,\n isValidElement,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type MutableRefObject,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport cx from \"classnames\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Chevron_Right from \"@servicetitan/hammer-icon/mdi/round/chevron_right.svg\";\n\nimport { Button } from \"../../Button\";\nimport { Chip, type ChipProps } from \"../../Chip\";\nimport { Flex } from \"../../Flex\";\nimport { FieldLabel, type FieldLabelProps } from \"../../FieldLabel\";\nimport { Helper } from \"../../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../../FieldMessage\";\nimport type { TextFieldProps } from \"../../TextField\";\n\nimport styles from \"./SelectTriggerBase.module.scss\";\nimport type { DataAttributes, DistributiveOmit } from \"../../../types\";\nimport { defaultItemToString } from \"../../Combobox/internal/ComboboxUtils\";\n\ntype PartialChipProps = Partial<Omit<ChipProps, \"icon\" | \"avatar\">> &\n DataAttributes &\n (\n | { icon?: ChipProps[\"icon\"]; avatar?: never }\n | { icon?: never; avatar?: ChipProps[\"avatar\"] }\n );\n\ntype CollapseSearchStatus = \"done\" | \"measuring\" | \"searching\";\n\ntype CollapseSearchState = {\n status: CollapseSearchStatus;\n key: string | null;\n collapsedChips: boolean;\n visibleChipsCount: number | null;\n low: number;\n high: number;\n candidate: number | null;\n bestFit: number | null;\n iterations: number;\n};\n\nconst COLLAPSE_SEARCH_ITERATION_MARGIN = 4;\n\nfunction getDoneCollapseSearchState(\n key: string | null,\n collapsedChips = false,\n visibleChipsCount: number | null = null,\n): CollapseSearchState {\n return {\n status: \"done\",\n key,\n collapsedChips,\n visibleChipsCount,\n low: 0,\n high: 0,\n candidate: null,\n bestFit: visibleChipsCount,\n iterations: 0,\n };\n}\n\nfunction getMaxCollapseSearchIterations(selectedItemsCount: number): number {\n // Allows one full binary-search pass plus a small buffer for measurement rerenders.\n return (\n Math.ceil(Math.log2(Math.max(selectedItemsCount, 2))) +\n COLLAPSE_SEARCH_ITERATION_MARGIN\n );\n}\n\nconst FNV_1A_OFFSET_BASIS = 0x811c9dc5;\nconst FNV_1A_PRIME = 0x01000193;\n\nfunction addByteToCollapseHash(hash: number, byte: number): number {\n return Math.imul(hash ^ byte, FNV_1A_PRIME) >>> 0;\n}\n\nfunction addNumberToCollapseHash(hash: number, value: number): number {\n let nextHash = hash;\n\n nextHash = addByteToCollapseHash(nextHash, value & 0xff);\n nextHash = addByteToCollapseHash(nextHash, (value >>> 8) & 0xff);\n nextHash = addByteToCollapseHash(nextHash, (value >>> 16) & 0xff);\n nextHash = addByteToCollapseHash(nextHash, (value >>> 24) & 0xff);\n\n return nextHash;\n}\n\nfunction addLabelToCollapseHash(hash: number, label: string): number {\n let nextHash = addNumberToCollapseHash(hash, label.length);\n\n for (let index = 0; index < label.length; index += 1) {\n const codeUnit = label.charCodeAt(index);\n\n nextHash = addByteToCollapseHash(nextHash, codeUnit & 0xff);\n nextHash = addByteToCollapseHash(nextHash, codeUnit >>> 8);\n }\n\n return nextHash;\n}\n\nfunction getCollapseKey<Item>(\n maxRows: number | undefined,\n selectedItems: Item[],\n itemToString: (item: Item) => string,\n): string | null {\n if (maxRows === undefined) return null;\n\n let selectedItemsHash = FNV_1A_OFFSET_BASIS;\n\n for (const item of selectedItems) {\n selectedItemsHash = addLabelToCollapseHash(\n selectedItemsHash,\n itemToString(item),\n );\n }\n\n return `${maxRows}:${selectedItems.length}:${selectedItemsHash.toString(36)}`;\n}\n\nfunction getCollapseSearchCandidate(low: number, high: number): number {\n return Math.floor((low + high) / 2);\n}\n\nfunction mergeChipProps(\n ...propSets: (PartialChipProps | Partial<ChipProps>)[]\n): ChipProps {\n const merged = propSets.reduce(\n (acc, props) => ({ ...acc, ...props }),\n {} as Record<string, unknown>,\n );\n\n return merged as ChipProps;\n}\n\nexport type SelectTriggerBaseProps<Item = unknown> = DistributiveOmit<\n TextFieldProps,\n \"showCounter\" | \"prefix\"\n> & {\n /**\n * Caps visible selected chips to this many rows and collapses the rest\n * into a +N chip. Omit to show every chip. Must be a positive integer.\n */\n maxRows?: number;\n\n /** Extra Chip props per selected item; merged after `chipProps`. */\n selectedItemProps?: (item: Item, index: number) => PartialChipProps;\n} & {\n /** Chip and single-value labels. Defaults to Combobox's `defaultItemToString`. */\n itemToString?: (item: Item) => string;\n /** Called when a chip's close control is activated. */\n removeSelectedItem?: (item: Item) => void;\n /**\n * Hides the clear control. Also hidden when `disabled` or `readOnly`.\n * Defaults to `false`.\n */\n disableClearSelection?: boolean;\n selectedItem: Item | null;\n selectedItems: Item[];\n\n /** Combobox typed query shown in the input. */\n inputValue?: string;\n /** Floating-ui reference element for the composed menu. */\n referenceRef?: MutableRefObject<HTMLDivElement | null>;\n} & {\n /**\n * `select` renders a button-like value area; `combobox` renders a text\n * input. Defaults to `select`.\n */\n variant?: \"select\" | \"combobox\";\n /** Fired after the clear control stops the wrapper click. */\n onClearButtonClick?: MouseEventHandler<HTMLButtonElement>;\n labelProps?: Partial<FieldLabelProps>;\n inputWrapperProps?: ComponentPropsWithoutRef<\"div\">;\n toggleButtonProps?: ComponentPropsWithoutRef<\"button\"> & DataAttributes;\n clearButtonProps?: ComponentPropsWithoutRef<\"button\"> & DataAttributes;\n /** Extra Chip props per selected item; merged before `selectedItemProps`. */\n chipProps?: (item: Item, index: number) => PartialChipProps;\n inputProps?: ComponentPropsWithoutRef<\"input\" | \"div\"> & DataAttributes;\n /** Hides the trailing chevron. Defaults to `false`. */\n disableToggleButton?: boolean;\n} & {\n prefix?: string | ReactNode;\n};\n\nexport const SelectTriggerBase = <Item,>({\n className,\n label,\n size,\n error,\n hint,\n description,\n prefix,\n suffix,\n maxRows,\n selectedItemProps = (_item: Item, _index: number): PartialChipProps => ({}),\n disabled,\n readOnly,\n disableClearSelection,\n itemToString: itemToStringProp,\n selectedItem,\n selectedItems,\n removeSelectedItem,\n inputValue,\n referenceRef,\n variant = \"select\",\n onClearButtonClick,\n labelProps,\n inputWrapperProps = {},\n toggleButtonProps = {},\n clearButtonProps = {},\n inputProps = {},\n chipProps = (_item: Item, _index: number): PartialChipProps => ({}),\n disableToggleButton = false,\n warning,\n placeholder,\n ...rest\n}: SelectTriggerBaseProps<Item>) => {\n const itemToString = itemToStringProp ?? defaultItemToString<Item>;\n\n const ComboboxTriggerClassNames = cx(styles[\"search-field\"], {\n [styles[\"select\"]]: variant === \"select\",\n });\n\n const noClearButton = disabled || readOnly || disableClearSelection;\n\n const ComboboxInputWrapperClassNames = cx(\n styles[\"input-wrapper\"],\n className\n ? {\n [className]: variant === \"select\",\n }\n : {},\n {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"no-clear-button\"]]: noClearButton,\n [styles[\"no-toggle-button\"]]: disableToggleButton,\n [styles[\"is-disabled\"]]: disabled,\n },\n );\n\n const ComboboxInputClassNames = cx(\n styles[\"input\"],\n className\n ? {\n [className]: variant === \"combobox\",\n }\n : {},\n {\n [styles[\"error\"]]: error,\n },\n );\n\n const helperUid = \"helper\" + useId();\n const placeholderUid = \"placeholder\" + useId();\n const ariaDescribedBy = `${helperUid} ${placeholderUid}`;\n\n warnDeprecatedErrorUsage(\"SelectTrigger\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const rowsRef = useRef<HTMLDivElement>(null);\n const collapseKey = useMemo(\n () => getCollapseKey(maxRows, selectedItems, itemToString),\n [maxRows, selectedItems, itemToString],\n );\n const [collapseSearch, setCollapseSearch] = useState<CollapseSearchState>(\n () => getDoneCollapseSearchState(null),\n );\n const stillCalculating = collapseSearch.status !== \"done\";\n\n useLayoutEffect(() => {\n if (maxRows === undefined) {\n if (\n collapseSearch.status !== \"done\" ||\n collapseSearch.collapsedChips ||\n collapseSearch.visibleChipsCount !== null ||\n collapseSearch.key !== null\n ) {\n setCollapseSearch(getDoneCollapseSearchState(null));\n }\n\n return;\n }\n\n if (collapseSearch.key !== collapseKey) {\n setCollapseSearch({\n status: \"measuring\",\n key: collapseKey,\n collapsedChips: false,\n visibleChipsCount: null,\n low: 0,\n high: Math.max(selectedItems.length - 1, 0),\n candidate: null,\n bestFit: null,\n iterations: 0,\n });\n\n return;\n }\n\n if (collapseSearch.status === \"done\") return;\n\n if (rowsRef?.current?.children) {\n const children = rowsRef?.current?.children;\n\n // Exclude the input-flex element from row counting so the algorithm\n // only considers chip elements when deciding whether to collapse.\n // The input will naturally fit alongside chips thanks to its\n // reduced min-width.\n const chipChildren = Array.from(children).filter(\n (child) =>\n !(child as HTMLElement).classList?.contains(styles[\"input-flex\"]),\n );\n\n const rowData = chipChildren.reduce(\n (acc, child) => {\n const top = child.getBoundingClientRect().top;\n\n if (!acc.length) {\n return [{ count: 1, top }];\n } else if (acc[acc.length - 1].top === top) {\n return [\n ...acc.slice(0, -1),\n { count: acc[acc.length - 1].count + 1, top },\n ];\n } else if (acc[acc.length - 1].top !== top) {\n return [...acc, { count: 1, top }];\n } else {\n return acc;\n }\n },\n [] as { count: number; top: number }[],\n );\n\n const fitsWithinMaxRows = !rowData[maxRows];\n\n // A single chip is never collapsed, even when it overflows `maxRows`.\n if (collapseSearch.status === \"measuring\") {\n if (fitsWithinMaxRows || selectedItems.length === 1) {\n setCollapseSearch(getDoneCollapseSearchState(collapseKey));\n\n return;\n }\n\n const quickGuess = Math.max(\n rowData.slice(0, maxRows).reduce((sum, row) => sum + row.count, -1),\n 0,\n );\n\n setCollapseSearch({\n status: \"searching\",\n key: collapseKey,\n collapsedChips: true,\n visibleChipsCount: quickGuess,\n low: 0,\n high: Math.max(selectedItems.length - 1, 0),\n candidate: quickGuess,\n bestFit: null,\n iterations: 0,\n });\n\n return;\n }\n\n if (collapseSearch.candidate === null) return;\n\n const iterations = collapseSearch.iterations + 1;\n const bestFit = fitsWithinMaxRows\n ? collapseSearch.candidate\n : collapseSearch.bestFit;\n const low = fitsWithinMaxRows\n ? collapseSearch.candidate + 1\n : collapseSearch.low;\n const high = fitsWithinMaxRows\n ? collapseSearch.high\n : collapseSearch.candidate - 1;\n const maxIterations = getMaxCollapseSearchIterations(\n selectedItems.length,\n );\n\n if (low > high || iterations >= maxIterations) {\n setCollapseSearch(\n getDoneCollapseSearchState(collapseKey, true, bestFit ?? 0),\n );\n\n return;\n }\n\n const candidate = getCollapseSearchCandidate(low, high);\n\n setCollapseSearch({\n status: \"searching\",\n key: collapseKey,\n collapsedChips: true,\n visibleChipsCount: candidate,\n low,\n high,\n candidate,\n bestFit,\n iterations,\n });\n }\n }, [collapseKey, collapseSearch, maxRows, selectedItems.length]);\n\n const selectedItemsDisplayCount =\n collapseSearch.collapsedChips &&\n maxRows != null &&\n collapseSearch.visibleChipsCount !== null\n ? collapseSearch.visibleChipsCount\n : selectedItems.length;\n\n // TODO: Update this to use a TextField component once we can pass props\n // directly to both the label and the text input\n return (\n <div {...rest} className={ComboboxTriggerClassNames} ref={referenceRef}>\n {label ? (\n <FieldLabel\n {...labelProps}\n className={cx(styles[\"label\"], labelProps?.className)}\n >\n {label}\n </FieldLabel>\n ) : null}\n\n <div\n {...inputWrapperProps}\n className={ComboboxInputWrapperClassNames}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : inputWrapperProps.onClick}\n {...(variant === \"select\"\n ? {\n \"aria-describedby\": ariaDescribedBy,\n \"aria-labelledby\": labelProps?.id,\n }\n : {})}\n >\n <div className={styles[\"buttons-wrapper\"]}>\n {(inputValue || selectedItem || selectedItems.length) &&\n !noClearButton ? (\n <div className={styles[\"close-button-wrapper\"]}>\n <Button\n {...clearButtonProps}\n aria-label=\"clear selection\"\n appearance=\"ghost\"\n size=\"small\"\n icon={Close}\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onClearButtonClick?.(e);\n }}\n tabIndex={-1}\n />\n </div>\n ) : null}\n\n {disableToggleButton ? null : (\n <div className={styles[\"toggle-button-wrapper\"]}>\n <Button\n {...toggleButtonProps}\n {...(variant === \"select\"\n ? { tabIndex: -1, inert: \"true\" }\n : {})}\n className={styles[\"toggle-button\"]}\n aria-label=\"toggle menu\"\n icon={Chevron_Right}\n appearance=\"ghost\"\n size=\"small\"\n disabled={disabled}\n />\n </div>\n )}\n </div>\n\n <div className={styles[\"prefix-wrapper\"]}>\n {prefix ? <div className={styles[\"prefix\"]}>{prefix}</div> : null}\n </div>\n\n <div\n className={cx(styles[\"rows-wrapper\"], {\n [styles[\"max-rows\"]]: maxRows !== undefined,\n [styles[\"single-row\"]]: maxRows === 1 && !stillCalculating,\n })}\n ref={rowsRef}\n >\n {selectedItems.length && removeSelectedItem != null\n ? selectedItems\n .slice(0, selectedItemsDisplayCount)\n .map((item, index) => {\n return (\n <div\n key={`selected-item-${index}`}\n className={styles[\"chip-wrapper\"]}\n >\n <Chip\n {...mergeChipProps(\n chipProps(item, index),\n selectedItemProps(item, index),\n {\n label: itemToString(item),\n onClose:\n disabled || readOnly\n ? undefined\n : (_e) => {\n removeSelectedItem(item);\n },\n className: styles[\"chip\"],\n title: itemToString(item),\n },\n )}\n />\n </div>\n );\n })\n : null}\n\n {collapseSearch.collapsedChips && maxRows != null ? (\n <div className={styles[\"chip-wrapper\"]}>\n <Chip\n label={`+${selectedItems.length - selectedItemsDisplayCount}`}\n className={styles[\"chip\"]}\n title={selectedItems\n .slice(selectedItemsDisplayCount)\n .map((item) => itemToString(item))\n .join(\", \")}\n />\n </div>\n ) : null}\n\n <Flex className={styles[\"input-flex\"]} alignItems=\"center\">\n {variant === \"select\" ? (\n <div\n {...inputProps}\n className={cx(ComboboxInputClassNames, inputProps.className)}\n >\n {selectedItems.length ? null : selectedItem ? (\n itemToString(selectedItem)\n ) : (\n <span\n className={styles[\"fake-placeholder\"]}\n id={placeholderUid}\n >\n {placeholder}\n </span>\n )}\n </div>\n ) : (\n <input\n type=\"text\"\n {...inputProps}\n placeholder={placeholder}\n className={cx(ComboboxInputClassNames, inputProps.className)}\n {...(inputProps[\"aria-expanded\"] != null &&\n inputProps[\"aria-controls\"] != null\n ? {\n role: \"combobox\",\n }\n : {})}\n />\n )}\n\n {suffix ? <div className={styles[\"suffix\"]}>{suffix}</div> : null}\n </Flex>\n </div>\n </div>\n\n {hint || errorMessages || warning || description ? (\n <Helper\n id={helperUid}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n hint={hint}\n description={description}\n />\n ) : null}\n </div>\n );\n};\n"],"names":["Close","Chevron_Right"],"mappings":";;;;;;;;;;;;;AAOO,MAAM,OAAA,GAAU,MAAA,CAAO,GAAA,CAAI,SAAS;AACpC,MAAM,UAAA,GAAa,MAAA,CAAO,GAAA,CAAI,YAAY;AAQ1C,MAAM,sBAAsB,CAAO,IAAA,KACxC,QAAQ,IAAA,GAAO,MAAA,CAAO,IAAI,CAAA,GAAI;AAQzB,MAAM,gBAAA,GAAmB,CAAO,IAAA,KAAsB;AAEtD,SAAS,WACd,KAAA,EACkE;AAClE,EAAA,OAAO,OAAO,MAAA,CAAO,KAAA,EAAO,UAAU,CAAA,IAAK,MAAM,QAAA,KAAa,IAAA;AAChE;AAEO,SAAS,gBAAgB,IAAA,EAA0B;AACxD,EAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,IAAA,CAAK,YAAA,GAAe,IAAA,CAAK,YAAA,EAAc;AACzC,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,IAAI,IAAA,CAAK,sBAAsB,WAAA,EAAa;AAC1C,MAAA,OAAO,eAAA,CAAgB,KAAK,UAAU,CAAA;AAAA,IACxC;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACF;;ACIA,MAAM,gCAAA,GAAmC,CAAA;AAEzC,SAAS,0BAAA,CACP,GAAA,EACA,cAAA,GAAiB,KAAA,EACjB,oBAAmC,IAAA,EACd;AACrB,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,MAAA;AAAA,IACR,GAAA;AAAA,IACA,cAAA;AAAA,IACA,iBAAA;AAAA,IACA,GAAA,EAAK,CAAA;AAAA,IACL,IAAA,EAAM,CAAA;AAAA,IACN,SAAA,EAAW,IAAA;AAAA,IACX,OAAA,EAAS,iBAAA;AAAA,IACT,UAAA,EAAY;AAAA,GACd;AACF;AAEA,SAAS,+BAA+B,kBAAA,EAAoC;AAE1E,EAAA,OACE,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,IAAI,kBAAA,EAAoB,CAAC,CAAC,CAAC,CAAA,GACpD,gCAAA;AAEJ;AAEA,MAAM,mBAAA,GAAsB,UAAA;AAC5B,MAAM,YAAA,GAAe,QAAA;AAErB,SAAS,qBAAA,CAAsB,MAAc,IAAA,EAAsB;AACjE,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,IAAA,GAAO,IAAA,EAAM,YAAY,CAAA,KAAM,CAAA;AAClD;AAEA,SAAS,uBAAA,CAAwB,MAAc,KAAA,EAAuB;AACpE,EAAA,IAAI,QAAA,GAAW,IAAA;AAEf,EAAA,QAAA,GAAW,qBAAA,CAAsB,QAAA,EAAU,KAAA,GAAQ,GAAI,CAAA;AACvD,EAAA,QAAA,GAAW,qBAAA,CAAsB,QAAA,EAAW,KAAA,KAAU,CAAA,GAAK,GAAI,CAAA;AAC/D,EAAA,QAAA,GAAW,qBAAA,CAAsB,QAAA,EAAW,KAAA,KAAU,EAAA,GAAM,GAAI,CAAA;AAChE,EAAA,QAAA,GAAW,qBAAA,CAAsB,QAAA,EAAW,KAAA,KAAU,EAAA,GAAM,GAAI,CAAA;AAEhE,EAAA,OAAO,QAAA;AACT;AAEA,SAAS,sBAAA,CAAuB,MAAc,KAAA,EAAuB;AACnE,EAAA,IAAI,QAAA,GAAW,uBAAA,CAAwB,IAAA,EAAM,KAAA,CAAM,MAAM,CAAA;AAEzD,EAAA,KAAA,IAAS,QAAQ,CAAA,EAAG,KAAA,GAAQ,KAAA,CAAM,MAAA,EAAQ,SAAS,CAAA,EAAG;AACpD,IAAA,MAAM,QAAA,GAAW,KAAA,CAAM,UAAA,CAAW,KAAK,CAAA;AAEvC,IAAA,QAAA,GAAW,qBAAA,CAAsB,QAAA,EAAU,QAAA,GAAW,GAAI,CAAA;AAC1D,IAAA,QAAA,GAAW,qBAAA,CAAsB,QAAA,EAAU,QAAA,KAAa,CAAC,CAAA;AAAA,EAC3D;AAEA,EAAA,OAAO,QAAA;AACT;AAEA,SAAS,cAAA,CACP,OAAA,EACA,aAAA,EACA,YAAA,EACe;AACf,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,IAAA;AAElC,EAAA,IAAI,iBAAA,GAAoB,mBAAA;AAExB,EAAA,KAAA,MAAW,QAAQ,aAAA,EAAe;AAChC,IAAA,iBAAA,GAAoB,sBAAA;AAAA,MAClB,iBAAA;AAAA,MACA,aAAa,IAAI;AAAA,KACnB;AAAA,EACF;AAEA,EAAA,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,aAAA,CAAc,MAAM,CAAA,CAAA,EAAI,iBAAA,CAAkB,QAAA,CAAS,EAAE,CAAC,CAAA,CAAA;AAC7E;AAEA,SAAS,0BAAA,CAA2B,KAAa,IAAA,EAAsB;AACrE,EAAA,OAAO,IAAA,CAAK,KAAA,CAAA,CAAO,GAAA,GAAM,IAAA,IAAQ,CAAC,CAAA;AACpC;AAEA,SAAS,kBACJ,QAAA,EACQ;AACX,EAAA,MAAM,SAAS,QAAA,CAAS,MAAA;AAAA,IACtB,CAAC,GAAA,EAAK,KAAA,MAAW,EAAE,GAAG,GAAA,EAAK,GAAG,KAAA,EAAM,CAAA;AAAA,IACpC;AAAC,GACH;AAEA,EAAA,OAAO,MAAA;AACT;AAoDO,MAAM,oBAAoB,CAAQ;AAAA,EACvC,SAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,iBAAA,GAAoB,CAAC,KAAA,EAAa,MAAA,MAAsC,EAAC,CAAA;AAAA,EACzE,QAAA;AAAA,EACA,QAAA;AAAA,EACA,qBAAA;AAAA,EACA,YAAA,EAAc,gBAAA;AAAA,EACd,YAAA;AAAA,EACA,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA,GAAU,QAAA;AAAA,EACV,kBAAA;AAAA,EACA,UAAA;AAAA,EACA,oBAAoB,EAAC;AAAA,EACrB,oBAAoB,EAAC;AAAA,EACrB,mBAAmB,EAAC;AAAA,EACpB,aAAa,EAAC;AAAA,EACd,SAAA,GAAY,CAAC,KAAA,EAAa,MAAA,MAAsC,EAAC,CAAA;AAAA,EACjE,mBAAA,GAAsB,KAAA;AAAA,EACtB,OAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAoC;AAClC,EAAA,MAAM,eAAe,gBAAA,IAAoB,mBAAA;AAEzC,EAAA,MAAM,yBAAA,GAA4B,EAAA,CAAG,MAAA,CAAO,cAAc,CAAA,EAAG;AAAA,IAC3D,CAAC,MAAA,CAAO,QAAQ,CAAC,GAAG,OAAA,KAAY;AAAA,GACjC,CAAA;AAED,EAAA,MAAM,aAAA,GAAgB,YAAY,QAAA,IAAY,qBAAA;AAE9C,EAAA,MAAM,8BAAA,GAAiC,EAAA;AAAA,IACrC,OAAO,eAAe,CAAA;AAAA,IACtB,SAAA,GACI;AAAA,MACE,CAAC,SAAS,GAAG,OAAA,KAAY;AAAA,QAE3B,EAAC;AAAA,IACL;AAAA,MACE,CAAC,MAAA,CAAO,OAAO,CAAC,GAAG,IAAA,KAAS,OAAA;AAAA,MAC5B,CAAC,MAAA,CAAO,OAAO,CAAC,GAAG,IAAA,KAAS,OAAA;AAAA,MAC5B,CAAC,MAAA,CAAO,iBAAiB,CAAC,GAAG,aAAA;AAAA,MAC7B,CAAC,MAAA,CAAO,kBAAkB,CAAC,GAAG,mBAAA;AAAA,MAC9B,CAAC,MAAA,CAAO,aAAa,CAAC,GAAG;AAAA;AAC3B,GACF;AAEA,EAAA,MAAM,uBAAA,GAA0B,EAAA;AAAA,IAC9B,OAAO,OAAO,CAAA;AAAA,IACd,SAAA,GACI;AAAA,MACE,CAAC,SAAS,GAAG,OAAA,KAAY;AAAA,QAE3B,EAAC;AAAA,IACL;AAAA,MACE,CAAC,MAAA,CAAO,OAAO,CAAC,GAAG;AAAA;AACrB,GACF;AAEA,EAAA,MAAM,SAAA,GAAY,WAAW,KAAA,EAAM;AACnC,EAAA,MAAM,cAAA,GAAiB,gBAAgB,KAAA,EAAM;AAC7C,EAAA,MAAM,eAAA,GAAkB,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,cAAc,CAAA,CAAA;AAEtD,EAAA,wBAAA,CAAyB,iBAAiB,KAAK,CAAA;AAE/C,EAAA,MAAM,gBACJ,OAAO,KAAA,KAAU,SAAA,IAAa,KAAA,KAAU,SAAY,MAAA,GAAY,KAAA;AAElE,EAAA,MAAM,OAAA,GAAU,OAAuB,IAAI,CAAA;AAC3C,EAAA,MAAM,WAAA,GAAc,OAAA;AAAA,IAClB,MAAM,cAAA,CAAe,OAAA,EAAS,aAAA,EAAe,YAAY,CAAA;AAAA,IACzD,CAAC,OAAA,EAAS,aAAA,EAAe,YAAY;AAAA,GACvC;AACA,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,QAAA;AAAA,IAC1C,MAAM,2BAA2B,IAAI;AAAA,GACvC;AACA,EAAA,MAAM,gBAAA,GAAmB,eAAe,MAAA,KAAW,MAAA;AAEnD,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,YAAY,MAAA,EAAW;AACzB,MAAA,IACE,cAAA,CAAe,MAAA,KAAW,MAAA,IAC1B,cAAA,CAAe,cAAA,IACf,eAAe,iBAAA,KAAsB,IAAA,IACrC,cAAA,CAAe,GAAA,KAAQ,IAAA,EACvB;AACA,QAAA,iBAAA,CAAkB,0BAAA,CAA2B,IAAI,CAAC,CAAA;AAAA,MACpD;AAEA,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,cAAA,CAAe,QAAQ,WAAA,EAAa;AACtC,MAAA,iBAAA,CAAkB;AAAA,QAChB,MAAA,EAAQ,WAAA;AAAA,QACR,GAAA,EAAK,WAAA;AAAA,QACL,cAAA,EAAgB,KAAA;AAAA,QAChB,iBAAA,EAAmB,IAAA;AAAA,QACnB,GAAA,EAAK,CAAA;AAAA,QACL,MAAM,IAAA,CAAK,GAAA,CAAI,aAAA,CAAc,MAAA,GAAS,GAAG,CAAC,CAAA;AAAA,QAC1C,SAAA,EAAW,IAAA;AAAA,QACX,OAAA,EAAS,IAAA;AAAA,QACT,UAAA,EAAY;AAAA,OACb,CAAA;AAED,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,cAAA,CAAe,WAAW,MAAA,EAAQ;AAEtC,IAAA,IAAI,OAAA,EAAS,SAAS,QAAA,EAAU;AAC9B,MAAA,MAAM,QAAA,GAAW,SAAS,OAAA,EAAS,QAAA;AAMnC,MAAA,MAAM,YAAA,GAAe,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,QACxC,CAAC,UACC,CAAE,KAAA,CAAsB,WAAW,QAAA,CAAS,MAAA,CAAO,YAAY,CAAC;AAAA,OACpE;AAEA,MAAA,MAAM,UAAU,YAAA,CAAa,MAAA;AAAA,QAC3B,CAAC,KAAK,KAAA,KAAU;AACd,UAAA,MAAM,GAAA,GAAM,KAAA,CAAM,qBAAA,EAAsB,CAAE,GAAA;AAE1C,UAAA,IAAI,CAAC,IAAI,MAAA,EAAQ;AACf,YAAA,OAAO,CAAC,EAAE,KAAA,EAAO,CAAA,EAAG,KAAK,CAAA;AAAA,UAC3B,WAAW,GAAA,CAAI,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,QAAQ,GAAA,EAAK;AAC1C,YAAA,OAAO;AAAA,cACL,GAAG,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AAAA,cAClB,EAAE,OAAO,GAAA,CAAI,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,KAAA,GAAQ,CAAA,EAAG,GAAA;AAAI,aAC9C;AAAA,UACF,WAAW,GAAA,CAAI,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,QAAQ,GAAA,EAAK;AAC1C,YAAA,OAAO,CAAC,GAAG,GAAA,EAAK,EAAE,KAAA,EAAO,CAAA,EAAG,KAAK,CAAA;AAAA,UACnC,CAAA,MAAO;AACL,YAAA,OAAO,GAAA;AAAA,UACT;AAAA,QACF,CAAA;AAAA,QACA;AAAC,OACH;AAEA,MAAA,MAAM,iBAAA,GAAoB,CAAC,OAAA,CAAQ,OAAO,CAAA;AAG1C,MAAA,IAAI,cAAA,CAAe,WAAW,WAAA,EAAa;AACzC,QAAA,IAAI,iBAAA,IAAqB,aAAA,CAAc,MAAA,KAAW,CAAA,EAAG;AACnD,UAAA,iBAAA,CAAkB,0BAAA,CAA2B,WAAW,CAAC,CAAA;AAEzD,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,aAAa,IAAA,CAAK,GAAA;AAAA,UACtB,OAAA,CAAQ,KAAA,CAAM,CAAA,EAAG,OAAO,CAAA,CAAE,MAAA,CAAO,CAAC,GAAA,EAAK,GAAA,KAAQ,GAAA,GAAM,GAAA,CAAI,KAAA,EAAO,EAAE,CAAA;AAAA,UAClE;AAAA,SACF;AAEA,QAAA,iBAAA,CAAkB;AAAA,UAChB,MAAA,EAAQ,WAAA;AAAA,UACR,GAAA,EAAK,WAAA;AAAA,UACL,cAAA,EAAgB,IAAA;AAAA,UAChB,iBAAA,EAAmB,UAAA;AAAA,UACnB,GAAA,EAAK,CAAA;AAAA,UACL,MAAM,IAAA,CAAK,GAAA,CAAI,aAAA,CAAc,MAAA,GAAS,GAAG,CAAC,CAAA;AAAA,UAC1C,SAAA,EAAW,UAAA;AAAA,UACX,OAAA,EAAS,IAAA;AAAA,UACT,UAAA,EAAY;AAAA,SACb,CAAA;AAED,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,cAAA,CAAe,cAAc,IAAA,EAAM;AAEvC,MAAA,MAAM,UAAA,GAAa,eAAe,UAAA,GAAa,CAAA;AAC/C,MAAA,MAAM,OAAA,GAAU,iBAAA,GACZ,cAAA,CAAe,SAAA,GACf,cAAA,CAAe,OAAA;AACnB,MAAA,MAAM,GAAA,GAAM,iBAAA,GACR,cAAA,CAAe,SAAA,GAAY,IAC3B,cAAA,CAAe,GAAA;AACnB,MAAA,MAAM,IAAA,GAAO,iBAAA,GACT,cAAA,CAAe,IAAA,GACf,eAAe,SAAA,GAAY,CAAA;AAC/B,MAAA,MAAM,aAAA,GAAgB,8BAAA;AAAA,QACpB,aAAA,CAAc;AAAA,OAChB;AAEA,MAAA,IAAI,GAAA,GAAM,IAAA,IAAQ,UAAA,IAAc,aAAA,EAAe;AAC7C,QAAA,iBAAA;AAAA,UACE,0BAAA,CAA2B,WAAA,EAAa,IAAA,EAAM,OAAA,IAAW,CAAC;AAAA,SAC5D;AAEA,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,SAAA,GAAY,0BAAA,CAA2B,GAAA,EAAK,IAAI,CAAA;AAEtD,MAAA,iBAAA,CAAkB;AAAA,QAChB,MAAA,EAAQ,WAAA;AAAA,QACR,GAAA,EAAK,WAAA;AAAA,QACL,cAAA,EAAgB,IAAA;AAAA,QAChB,iBAAA,EAAmB,SAAA;AAAA,QACnB,GAAA;AAAA,QACA,IAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,IACH;AAAA,EACF,GAAG,CAAC,WAAA,EAAa,gBAAgB,OAAA,EAAS,aAAA,CAAc,MAAM,CAAC,CAAA;AAE/D,EAAA,MAAM,yBAAA,GACJ,cAAA,CAAe,cAAA,IACf,OAAA,IAAW,IAAA,IACX,eAAe,iBAAA,KAAsB,IAAA,GACjC,cAAA,CAAe,iBAAA,GACf,aAAA,CAAc,MAAA;AAIpB,EAAA,4BACG,KAAA,EAAA,EAAK,GAAG,MAAM,SAAA,EAAW,yBAAA,EAA2B,KAAK,YAAA,EACvD,QAAA,EAAA;AAAA,IAAA,KAAA,mBACC,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACE,GAAG,UAAA;AAAA,QACJ,WAAW,EAAA,CAAG,MAAA,CAAO,OAAO,CAAA,EAAG,YAAY,SAAS,CAAA;AAAA,QAEnD,QAAA,EAAA;AAAA;AAAA,KACH,GACE,IAAA;AAAA,oBAEJ,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACE,GAAG,iBAAA;AAAA,QACJ,SAAA,EAAW,8BAAA;AAAA,QACX,iBAAe,QAAA,IAAY,MAAA;AAAA,QAC3B,OAAA,EAAS,QAAA,GAAW,MAAA,GAAY,iBAAA,CAAkB,OAAA;AAAA,QACjD,GAAI,YAAY,QAAA,GACb;AAAA,UACE,kBAAA,EAAoB,eAAA;AAAA,UACpB,mBAAmB,UAAA,EAAY;AAAA,YAEjC,EAAC;AAAA,QAEL,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACpC,QAAA,EAAA;AAAA,YAAA,CAAA,UAAA,IAAc,YAAA,IAAgB,aAAA,CAAc,MAAA,KAC9C,CAAC,aAAA,uBACE,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,sBAAsB,CAAA,EAC3C,QAAA,kBAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACE,GAAG,gBAAA;AAAA,gBACJ,YAAA,EAAW,iBAAA;AAAA,gBACX,UAAA,EAAW,OAAA;AAAA,gBACX,IAAA,EAAK,OAAA;AAAA,gBACL,IAAA,EAAMA,QAAA;AAAA,gBACN,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,gBAChC,OAAA,EAAS,CAAC,CAAA,KAAqC;AAC7C,kBAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,kBAAA,kBAAA,GAAqB,CAAC,CAAA;AAAA,gBACxB,CAAA;AAAA,gBACA,QAAA,EAAU;AAAA;AAAA,eAEd,CAAA,GACE,IAAA;AAAA,YAEH,sBAAsB,IAAA,mBACrB,GAAA,CAAC,SAAI,SAAA,EAAW,MAAA,CAAO,uBAAuB,CAAA,EAC5C,QAAA,kBAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACE,GAAG,iBAAA;AAAA,gBACH,GAAI,YAAY,QAAA,GACb,EAAE,UAAU,EAAA,EAAI,KAAA,EAAO,MAAA,EAAO,GAC9B,EAAC;AAAA,gBACL,SAAA,EAAW,OAAO,eAAe,CAAA;AAAA,gBACjC,YAAA,EAAW,aAAA;AAAA,gBACX,IAAA,EAAMC,eAAA;AAAA,gBACN,UAAA,EAAW,OAAA;AAAA,gBACX,IAAA,EAAK,OAAA;AAAA,gBACL;AAAA;AAAA,aACF,EACF;AAAA,WAAA,EAEJ,CAAA;AAAA,0BAEA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,gBAAgB,CAAA,EACpC,QAAA,EAAA,MAAA,mBAAS,GAAA,CAAC,KAAA,EAAA,EAAI,WAAW,MAAA,CAAO,QAAQ,CAAA,EAAI,QAAA,EAAA,MAAA,EAAO,IAAS,IAAA,EAC/D,CAAA;AAAA,0BAEA,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,cAAc,CAAA,EAAG;AAAA,gBACpC,CAAC,MAAA,CAAO,UAAU,CAAC,GAAG,OAAA,KAAY,MAAA;AAAA,gBAClC,CAAC,MAAA,CAAO,YAAY,CAAC,GAAG,OAAA,KAAY,KAAK,CAAC;AAAA,eAC3C,CAAA;AAAA,cACD,GAAA,EAAK,OAAA;AAAA,cAEJ,QAAA,EAAA;AAAA,gBAAA,aAAA,CAAc,MAAA,IAAU,kBAAA,IAAsB,IAAA,GAC3C,aAAA,CACG,KAAA,CAAM,CAAA,EAAG,yBAAyB,CAAA,CAClC,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AACpB,kBAAA,uBACE,GAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBAEC,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,sBAEhC,QAAA,kBAAA,GAAA;AAAA,wBAAC,IAAA;AAAA,wBAAA;AAAA,0BACE,GAAG,cAAA;AAAA,4BACF,SAAA,CAAU,MAAM,KAAK,CAAA;AAAA,4BACrB,iBAAA,CAAkB,MAAM,KAAK,CAAA;AAAA,4BAC7B;AAAA,8BACE,KAAA,EAAO,aAAa,IAAI,CAAA;AAAA,8BACxB,OAAA,EACE,QAAA,IAAY,QAAA,GACR,MAAA,GACA,CAAC,EAAA,KAAO;AACN,gCAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,8BACzB,CAAA;AAAA,8BACN,SAAA,EAAW,OAAO,MAAM,CAAA;AAAA,8BACxB,KAAA,EAAO,aAAa,IAAI;AAAA;AAC1B;AACF;AAAA;AACF,qBAAA;AAAA,oBAnBK,iBAAiB,KAAK,CAAA;AAAA,mBAoB7B;AAAA,gBAEJ,CAAC,CAAA,GACH,IAAA;AAAA,gBAEH,cAAA,CAAe,kBAAkB,OAAA,IAAW,IAAA,uBAC1C,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,cAAc,CAAA,EACnC,QAAA,kBAAA,GAAA;AAAA,kBAAC,IAAA;AAAA,kBAAA;AAAA,oBACC,KAAA,EAAO,CAAA,CAAA,EAAI,aAAA,CAAc,MAAA,GAAS,yBAAyB,CAAA,CAAA;AAAA,oBAC3D,SAAA,EAAW,OAAO,MAAM,CAAA;AAAA,oBACxB,KAAA,EAAO,aAAA,CACJ,KAAA,CAAM,yBAAyB,CAAA,CAC/B,GAAA,CAAI,CAAC,IAAA,KAAS,YAAA,CAAa,IAAI,CAAC,CAAA,CAChC,KAAK,IAAI;AAAA;AAAA,mBAEhB,CAAA,GACE,IAAA;AAAA,qCAEH,IAAA,EAAA,EAAK,SAAA,EAAW,OAAO,YAAY,CAAA,EAAG,YAAW,QAAA,EAC/C,QAAA,EAAA;AAAA,kBAAA,OAAA,KAAY,QAAA,mBACX,GAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACE,GAAG,UAAA;AAAA,sBACJ,SAAA,EAAW,EAAA,CAAG,uBAAA,EAAyB,UAAA,CAAW,SAAS,CAAA;AAAA,sBAE1D,wBAAc,MAAA,GAAS,IAAA,GAAO,YAAA,GAC7B,YAAA,CAAa,YAAY,CAAA,mBAEzB,GAAA;AAAA,wBAAC,MAAA;AAAA,wBAAA;AAAA,0BACC,SAAA,EAAW,OAAO,kBAAkB,CAAA;AAAA,0BACpC,EAAA,EAAI,cAAA;AAAA,0BAEH,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,mBAEJ,mBAEA,GAAA;AAAA,oBAAC,OAAA;AAAA,oBAAA;AAAA,sBACC,IAAA,EAAK,MAAA;AAAA,sBACJ,GAAG,UAAA;AAAA,sBACJ,WAAA;AAAA,sBACA,SAAA,EAAW,EAAA,CAAG,uBAAA,EAAyB,UAAA,CAAW,SAAS,CAAA;AAAA,sBAC1D,GAAI,WAAW,eAAe,CAAA,IAAK,QACpC,UAAA,CAAW,eAAe,KAAK,IAAA,GAC3B;AAAA,wBACE,IAAA,EAAM;AAAA,0BAER;AAAC;AAAA,mBACP;AAAA,kBAGD,MAAA,uBAAU,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,QAAQ,CAAA,EAAI,kBAAO,CAAA,GAAS;AAAA,iBAAA,EAC/D;AAAA;AAAA;AAAA;AACF;AAAA;AAAA,KACF;AAAA,IAEC,IAAA,IAAQ,aAAA,IAAiB,OAAA,IAAW,WAAA,mBACnC,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAI,SAAA;AAAA,QACJ,KAAA,EACE,OAAO,aAAA,KAAkB,QAAA,IAAY,MAAM,OAAA,CAAQ,aAAa,IAC5D,aAAA,GACA,MAAA;AAAA,QAEN,OAAA;AAAA,QACA,YAAA,EACE,cAAA,CAAe,aAAa,CAAA,GAAI,aAAA,GAAgB,MAAA;AAAA,QAElD,IAAA;AAAA,QACA;AAAA;AAAA,KACF,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;;;;"}
@@ -5,10 +5,10 @@ import { S as SvgCheck } from './check-Cf67OWrZ.js';
5
5
  import { I as Icon } from './Icon-B5zwN7GD.js';
6
6
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
7
7
  import { e as DurationSlow } from './primitive-BXgYQTTw.js';
8
- import { m as motion } from './react-ORV84FjM.js';
8
+ import { m as motion } from './react-CG1BUt2y.js';
9
9
  import { Overflow } from './Overflow.js';
10
10
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
11
- import { B as Button } from './Button-Dn6-01xl.js';
11
+ import { B as Button } from './Button-B_E6ybA-.js';
12
12
  import { useTrackingId } from './useTrackingId.js';
13
13
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
14
14
 
@@ -835,4 +835,4 @@ const Stepper = Object.assign(
835
835
  Stepper.displayName = "Stepper";
836
836
 
837
837
  export { Stepper as S, StepperBase as a };
838
- //# sourceMappingURL=Stepper-l_P6VPOv.js.map
838
+ //# sourceMappingURL=Stepper-D3SHXfX1.js.map