@servicetitan/anvil2 3.3.0 → 3.4.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 (203) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{AiMark-D6ScGfyP.js → AiMark-Cb8qjOm8.js} +3 -3
  3. package/dist/AiMark-Cb8qjOm8.js.map +1 -0
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-Dgq96HR4.js → Alert-DcaD1Lkb.js} +3 -3
  6. package/dist/{Alert-Dgq96HR4.js.map → Alert-DcaD1Lkb.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-DXF8slQf.js → Announcement-BLU0FORF.js} +2 -2
  9. package/dist/{Announcement-DXF8slQf.js.map → Announcement-BLU0FORF.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-CklKFLSl.js → Breadcrumbs-uTw8OAJ0.js} +2 -2
  12. package/dist/{Breadcrumbs-CklKFLSl.js.map → Breadcrumbs-uTw8OAJ0.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-ChQARW0y.js → Button-BUb1Qc37.js} +14 -8
  15. package/dist/Button-BUb1Qc37.js.map +1 -0
  16. package/dist/Button.js +1 -1
  17. package/dist/{ButtonToggle-BVv94C4U.js → ButtonToggle-MLRj4uKG.js} +2 -2
  18. package/dist/{ButtonToggle-BVv94C4U.js.map → ButtonToggle-MLRj4uKG.js.map} +1 -1
  19. package/dist/ButtonToggle.js +1 -1
  20. package/dist/{Calendar-DWyW5gvQ.js → Calendar-Dt0HL8Fv.js} +3 -3
  21. package/dist/{Calendar-DWyW5gvQ.js.map → Calendar-Dt0HL8Fv.js.map} +1 -1
  22. package/dist/{Calendar-Qlnpl3zR.js → Calendar-OMUNura7.js} +2 -2
  23. package/dist/{Calendar-Qlnpl3zR.js.map → Calendar-OMUNura7.js.map} +1 -1
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-BE8Jmz3t.js → Checkbox-BHrSg0oH.js} +2 -2
  26. package/dist/{Checkbox-BE8Jmz3t.js.map → Checkbox-BHrSg0oH.js.map} +1 -1
  27. package/dist/{Checkbox-QIaS16gS.js → Checkbox-D17xXjUh.js} +3 -3
  28. package/dist/{Checkbox-QIaS16gS.js.map → Checkbox-D17xXjUh.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-BYK1b3lZ.js → Chip-BRgs4B-5.js} +2 -2
  31. package/dist/{Chip-BYK1b3lZ.js.map → Chip-BRgs4B-5.js.map} +1 -1
  32. package/dist/Chip.js +1 -1
  33. package/dist/Combobox.js +1 -1
  34. package/dist/{DataTable-CnRkAUpI.js → DataTable-B-UT9iTJ.js} +8 -8
  35. package/dist/{DataTable-CnRkAUpI.js.map → DataTable-B-UT9iTJ.js.map} +1 -1
  36. package/dist/{DateFieldRange-OiVF8sye.js → DateFieldRange-CODGX5B3.js} +4 -4
  37. package/dist/{DateFieldRange-OiVF8sye.js.map → DateFieldRange-CODGX5B3.js.map} +1 -1
  38. package/dist/DateFieldRange.js +1 -1
  39. package/dist/{DateFieldSingle-CSCcHt9Z.js → DateFieldSingle-DMjzOgf5.js} +4 -4
  40. package/dist/{DateFieldSingle-CSCcHt9Z.js.map → DateFieldSingle-DMjzOgf5.js.map} +1 -1
  41. package/dist/DateFieldSingle.js +1 -1
  42. package/dist/{DateFieldYearless-DU9No74i.js → DateFieldYearless-DObHxquf.js} +4 -4
  43. package/dist/{DateFieldYearless-DU9No74i.js.map → DateFieldYearless-DObHxquf.js.map} +1 -1
  44. package/dist/DateFieldYearless.js +1 -1
  45. package/dist/{DateFieldYearlessRange-BkXIgh59.js → DateFieldYearlessRange-CGgc8wuL.js} +3 -3
  46. package/dist/{DateFieldYearlessRange-BkXIgh59.js.map → DateFieldYearlessRange-CGgc8wuL.js.map} +1 -1
  47. package/dist/DateFieldYearlessRange.js +1 -1
  48. package/dist/{DaysOfTheWeek-BYw91Qr-.js → DaysOfTheWeek-CxCsJPOI.js} +3 -3
  49. package/dist/{DaysOfTheWeek-BYw91Qr-.js.map → DaysOfTheWeek-CxCsJPOI.js.map} +1 -1
  50. package/dist/DaysOfTheWeek.js +1 -1
  51. package/dist/{Dialog-DMR_uvde.js → Dialog-D0nVpLUN.js} +4 -4
  52. package/dist/{Dialog-DMR_uvde.js.map → Dialog-D0nVpLUN.js.map} +1 -1
  53. package/dist/Dialog.js +1 -1
  54. package/dist/{DialogCancelButton-lAq4bhHS.js → DialogCancelButton-DKdPbZFu.js} +2 -2
  55. package/dist/{DialogCancelButton-lAq4bhHS.js.map → DialogCancelButton-DKdPbZFu.js.map} +1 -1
  56. package/dist/{Drawer-vxmKqraS.js → Drawer-k6VSs33j.js} +4 -4
  57. package/dist/{Drawer-vxmKqraS.js.map → Drawer-k6VSs33j.js.map} +1 -1
  58. package/dist/Drawer.js +1 -1
  59. package/dist/DrillDown.js +1 -1
  60. package/dist/{EditCard-h7sDGB-x.js → EditCard-B-CA6y8j.js} +3 -3
  61. package/dist/{EditCard-h7sDGB-x.js.map → EditCard-B-CA6y8j.js.map} +1 -1
  62. package/dist/EditCard.js +1 -1
  63. package/dist/{FieldLabel-tFSfJ7OJ.js → FieldLabel-Fu5hJMwQ.js} +2 -2
  64. package/dist/{FieldLabel-tFSfJ7OJ.js.map → FieldLabel-Fu5hJMwQ.js.map} +1 -1
  65. package/dist/FieldLabel.js +1 -1
  66. package/dist/{FilterBar-l8aCxO9c.js → FilterBar-pK1K3u-K.js} +7 -7
  67. package/dist/{FilterBar-l8aCxO9c.js.map → FilterBar-pK1K3u-K.js.map} +1 -1
  68. package/dist/FilterBar.js +1 -1
  69. package/dist/{InputMask-r8vH_Gh3.js → InputMask-CoiA8nQO.js} +3 -3
  70. package/dist/{InputMask-r8vH_Gh3.js.map → InputMask-CoiA8nQO.js.map} +1 -1
  71. package/dist/InputMask.js +1 -1
  72. package/dist/{ListView-D_xAfZD-.js → ListView-l-S-D8xq.js} +2 -2
  73. package/dist/{ListView-D_xAfZD-.js.map → ListView-l-S-D8xq.js.map} +1 -1
  74. package/dist/ListView.js +1 -1
  75. package/dist/{Listbox-iUUghImt.js → Listbox-D2LdclLc.js} +2 -2
  76. package/dist/{Listbox-iUUghImt.js.map → Listbox-D2LdclLc.js.map} +1 -1
  77. package/dist/Listbox.js +1 -1
  78. package/dist/{Menu-qcHhgf-t.js → Menu-DIRJgAtb.js} +2 -2
  79. package/dist/{Menu-qcHhgf-t.js.map → Menu-DIRJgAtb.js.map} +1 -1
  80. package/dist/Menu.js +1 -1
  81. package/dist/{MenuFooter-Dtckm9vY.js → MenuFooter-8BJxv5HH.js} +2 -2
  82. package/dist/{MenuFooter-Dtckm9vY.js.map → MenuFooter-8BJxv5HH.js.map} +1 -1
  83. package/dist/MultiSelectField.js +1 -1
  84. package/dist/{MultiSelectFieldSync-DNJ1TBf8.js → MultiSelectFieldSync-BHuikb4i.js} +7 -7
  85. package/dist/{MultiSelectFieldSync-DNJ1TBf8.js.map → MultiSelectFieldSync-BHuikb4i.js.map} +1 -1
  86. package/dist/MultiSelectMenu.js +1 -1
  87. package/dist/{MultiSelectMenuSync-LD931FAV.js → MultiSelectMenuSync-pwUMDt4l.js} +5 -5
  88. package/dist/{MultiSelectMenuSync-LD931FAV.js.map → MultiSelectMenuSync-pwUMDt4l.js.map} +1 -1
  89. package/dist/{NumberField-CFYbODNe.js → NumberField-TQyVxw3T.js} +4 -4
  90. package/dist/{NumberField-CFYbODNe.js.map → NumberField-TQyVxw3T.js.map} +1 -1
  91. package/dist/NumberField.js +1 -1
  92. package/dist/Overflow.js +5 -2
  93. package/dist/Overflow.js.map +1 -1
  94. package/dist/{Page-DgSimS7u.js → Page-CV7kXuxd.js} +9 -9
  95. package/dist/{Page-DgSimS7u.js.map → Page-CV7kXuxd.js.map} +1 -1
  96. package/dist/Page.js +1 -1
  97. package/dist/{Pagination-DQ2fjkmT.js → Pagination-DocfPR17.js} +5 -5
  98. package/dist/{Pagination-DQ2fjkmT.js.map → Pagination-DocfPR17.js.map} +1 -1
  99. package/dist/Pagination.js +1 -1
  100. package/dist/{Popover-DeBxKuqc.js → Popover-JEE1iAsT.js} +2 -2
  101. package/dist/{Popover-DeBxKuqc.js.map → Popover-JEE1iAsT.js.map} +1 -1
  102. package/dist/Popover.js +1 -1
  103. package/dist/{ProgressBar-BFvc2jm3.js → ProgressBar-DAMwAbgw.js} +2 -2
  104. package/dist/{ProgressBar-BFvc2jm3.js.map → ProgressBar-DAMwAbgw.js.map} +1 -1
  105. package/dist/ProgressBar.js +1 -1
  106. package/dist/{Radio-v3lT3AoB.js → Radio-BcxS2T20.js} +2 -2
  107. package/dist/{Radio-v3lT3AoB.js.map → Radio-BcxS2T20.js.map} +1 -1
  108. package/dist/{Radio-BV4SflBA.js → Radio-D-TddAD8.js} +3 -3
  109. package/dist/{Radio-BV4SflBA.js.map → Radio-D-TddAD8.js.map} +1 -1
  110. package/dist/Radio.js +1 -1
  111. package/dist/{RichTextEditor-Cm29o9RK.js → RichTextEditor-BnFo_55G.js} +10 -10
  112. package/dist/{RichTextEditor-Cm29o9RK.js.map → RichTextEditor-BnFo_55G.js.map} +1 -1
  113. package/dist/RichTextEditor.js +1 -1
  114. package/dist/{SavedFiltersButton-3VadkBsA.js → SavedFiltersButton-CJo9E3-a.js} +10 -10
  115. package/dist/{SavedFiltersButton-3VadkBsA.js.map → SavedFiltersButton-CJo9E3-a.js.map} +1 -1
  116. package/dist/SavedFiltersButton.js +1 -1
  117. package/dist/{SelectCard-CkZEENl6.js → SelectCard-Bns0m-jY.js} +3 -3
  118. package/dist/{SelectCard-CkZEENl6.js.map → SelectCard-Bns0m-jY.js.map} +1 -1
  119. package/dist/SelectCard.js +1 -1
  120. package/dist/SelectField.js +1 -1
  121. package/dist/{SelectFieldLabel-CvJhwy_6.js → SelectFieldLabel-BLZVhNgs.js} +2 -2
  122. package/dist/{SelectFieldLabel-CvJhwy_6.js.map → SelectFieldLabel-BLZVhNgs.js.map} +1 -1
  123. package/dist/{SelectFieldSync-z_kyrBvL.js → SelectFieldSync-B__983Yd.js} +6 -6
  124. package/dist/{SelectFieldSync-z_kyrBvL.js.map → SelectFieldSync-B__983Yd.js.map} +1 -1
  125. package/dist/SelectMenu.js +1 -1
  126. package/dist/{SelectMenuSync-BD8oedGs.js → SelectMenuSync-DI0ZSU4b.js} +5 -5
  127. package/dist/{SelectMenuSync-BD8oedGs.js.map → SelectMenuSync-DI0ZSU4b.js.map} +1 -1
  128. package/dist/{SelectOptions-CBSsSyFd.js → SelectOptions-DTHVh2em.js} +2 -2
  129. package/dist/{SelectOptions-CBSsSyFd.js.map → SelectOptions-DTHVh2em.js.map} +1 -1
  130. package/dist/{SelectTrigger-CtiLCoHx.js → SelectTrigger-CfiFs8q0.js} +2 -2
  131. package/dist/{SelectTrigger-CtiLCoHx.js.map → SelectTrigger-CfiFs8q0.js.map} +1 -1
  132. package/dist/SelectTrigger.js +1 -1
  133. package/dist/{SelectTriggerBase-aE_iVDpL.js → SelectTriggerBase-ibMt1vdq.js} +4 -4
  134. package/dist/{SelectTriggerBase-aE_iVDpL.js.map → SelectTriggerBase-ibMt1vdq.js.map} +1 -1
  135. package/dist/{Stepper-BXgMeUHu.js → Stepper-C6kagSPw.js} +2 -2
  136. package/dist/{Stepper-BXgMeUHu.js.map → Stepper-C6kagSPw.js.map} +1 -1
  137. package/dist/Stepper.js +1 -1
  138. package/dist/{Switch-DibokoJL.js → Switch-CddxqwQq.js} +2 -2
  139. package/dist/{Switch-DibokoJL.js.map → Switch-CddxqwQq.js.map} +1 -1
  140. package/dist/Switch.js +1 -1
  141. package/dist/Table.js +1 -1
  142. package/dist/{Text-BTCfqeSr.js → Text-D9pGACpv.js} +2 -2
  143. package/dist/{Text-BTCfqeSr.js.map → Text-D9pGACpv.js.map} +1 -1
  144. package/dist/Text.js +1 -1
  145. package/dist/{TextField-CqJ9s4SG.js → TextField-BCsO3hjg.js} +2 -2
  146. package/dist/{TextField-CqJ9s4SG.js.map → TextField-BCsO3hjg.js.map} +1 -1
  147. package/dist/{TextField-KZkRXCbH.js → TextField-qztk_Ivl.js} +3 -3
  148. package/dist/{TextField-KZkRXCbH.js.map → TextField-qztk_Ivl.js.map} +1 -1
  149. package/dist/TextField.js +1 -1
  150. package/dist/{Textarea-DlvbIRKO.js → Textarea-BRbxK5zB.js} +3 -3
  151. package/dist/{Textarea-DlvbIRKO.js.map → Textarea-BRbxK5zB.js.map} +1 -1
  152. package/dist/Textarea.js +1 -1
  153. package/dist/{TimeField-bdJArRXM.js → TimeField-D7JuCeWV.js} +4 -4
  154. package/dist/{TimeField-bdJArRXM.js.map → TimeField-D7JuCeWV.js.map} +1 -1
  155. package/dist/TimeField.js +1 -1
  156. package/dist/Toast.js +2 -2
  157. package/dist/{Toaster-DW9Bx-5k.js → Toaster-BE8-zVU_.js} +2 -2
  158. package/dist/{Toaster-DW9Bx-5k.js.map → Toaster-BE8-zVU_.js.map} +1 -1
  159. package/dist/{Toaster-De3dmRbW.js → Toaster-DGWxlVrT.js} +4 -4
  160. package/dist/{Toaster-De3dmRbW.js.map → Toaster-DGWxlVrT.js.map} +1 -1
  161. package/dist/{Toolbar-j9Y2YleC.js → Toolbar-Bj1cbM0Z.js} +5 -5
  162. package/dist/{Toolbar-j9Y2YleC.js.map → Toolbar-Bj1cbM0Z.js.map} +1 -1
  163. package/dist/{Toolbar-DksrjUsE.js → Toolbar-nLRa6pYr.js} +5 -5
  164. package/dist/{Toolbar-DksrjUsE.js.map → Toolbar-nLRa6pYr.js.map} +1 -1
  165. package/dist/Toolbar.js +2 -2
  166. package/dist/{ToolbarButtonToggle-CywNpsGX.js → ToolbarButtonToggle-DaI6YeLV.js} +2 -2
  167. package/dist/{ToolbarButtonToggle-CywNpsGX.js.map → ToolbarButtonToggle-DaI6YeLV.js.map} +1 -1
  168. package/dist/TreeSelectField.js +1 -1
  169. package/dist/{TreeSelectFieldSync-CB1H4ZTC.js → TreeSelectFieldSync-B61EZhiW.js} +6 -6
  170. package/dist/{TreeSelectFieldSync-CB1H4ZTC.js.map → TreeSelectFieldSync-B61EZhiW.js.map} +1 -1
  171. package/dist/TreeSelectMenu.js +1 -1
  172. package/dist/{TreeSelectMenuSync-D4l3zik4.js → TreeSelectMenuSync-B0jTaUkT.js} +4 -4
  173. package/dist/{TreeSelectMenuSync-D4l3zik4.js.map → TreeSelectMenuSync-B0jTaUkT.js.map} +1 -1
  174. package/dist/{TypeaheadTextField-BJrrlLjP.js → TypeaheadTextField-DQmEFEBL.js} +3 -3
  175. package/dist/{TypeaheadTextField-BJrrlLjP.js.map → TypeaheadTextField-DQmEFEBL.js.map} +1 -1
  176. package/dist/TypeaheadTextField.js +1 -1
  177. package/dist/{YearlessDateInputWithPicker-BmRkNzK0.js → YearlessDateInputWithPicker-gPopOijG.js} +2 -2
  178. package/dist/{YearlessDateInputWithPicker-BmRkNzK0.js.map → YearlessDateInputWithPicker-gPopOijG.js.map} +1 -1
  179. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  180. package/dist/beta.js +16 -16
  181. package/dist/{filter-state-C-4lebJG.js → filter-state-TODQ_3Dx.js} +21 -21
  182. package/dist/{filter-state-C-4lebJG.js.map → filter-state-TODQ_3Dx.js.map} +1 -1
  183. package/dist/{index-mKaF0gwp.js → index-D2ybh-FH.js} +2 -2
  184. package/dist/{index-mKaF0gwp.js.map → index-D2ybh-FH.js.map} +1 -1
  185. package/dist/index.js +45 -45
  186. package/dist/src/components/Overflow/Overflow.d.ts +8 -1
  187. package/dist/{stripInlineMarkdown-CQCRopqY.js → stripInlineMarkdown-CIYBRFbl.js} +2 -2
  188. package/dist/{stripInlineMarkdown-CQCRopqY.js.map → stripInlineMarkdown-CIYBRFbl.js.map} +1 -1
  189. package/dist/{syncFilterUtils-JUsufAHA.js → syncFilterUtils-BwxAsKjG.js} +4 -4
  190. package/dist/{syncFilterUtils-JUsufAHA.js.map → syncFilterUtils-BwxAsKjG.js.map} +1 -1
  191. package/dist/{treeSync-CXMjwQ4X.js → treeSync-SwmUBJwF.js} +3 -3
  192. package/dist/{treeSync-CXMjwQ4X.js.map → treeSync-SwmUBJwF.js.map} +1 -1
  193. package/dist/{useAdaptiveView-BdzXyicd.js → useAdaptiveView-Bt1axQ6s.js} +4 -4
  194. package/dist/{useAdaptiveView-BdzXyicd.js.map → useAdaptiveView-Bt1axQ6s.js.map} +1 -1
  195. package/dist/{useDrilldown-CWNTo5uR.js → useDrilldown-X85I7E2L.js} +3 -3
  196. package/dist/{useDrilldown-CWNTo5uR.js.map → useDrilldown-X85I7E2L.js.map} +1 -1
  197. package/dist/{useInfiniteCombobox-D77w-hHb.js → useInfiniteCombobox-CmR1G9VN.js} +4 -4
  198. package/dist/{useInfiniteCombobox-D77w-hHb.js.map → useInfiniteCombobox-CmR1G9VN.js.map} +1 -1
  199. package/dist/{useToggleSelection-a18uaSE7.js → useToggleSelection-Cv_6Wnbc.js} +2 -2
  200. package/dist/{useToggleSelection-a18uaSE7.js.map → useToggleSelection-Cv_6Wnbc.js.map} +1 -1
  201. package/package.json +1 -1
  202. package/dist/AiMark-D6ScGfyP.js.map +0 -1
  203. package/dist/Button-ChQARW0y.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { B as Button } from './Button-ChQARW0y.js';
2
+ import { B as Button } from './Button-BUb1Qc37.js';
3
3
 
4
4
  import './MenuFooter.css';const stack = "_stack_o8ro5_1";
5
5
  const leading = "_leading_o8ro5_26";
@@ -112,4 +112,4 @@ const MenuFooter = ({
112
112
  MenuFooter.displayName = "MenuFooter";
113
113
 
114
114
  export { MenuFooter as M };
115
- //# sourceMappingURL=MenuFooter-Dtckm9vY.js.map
115
+ //# sourceMappingURL=MenuFooter-8BJxv5HH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuFooter-Dtckm9vY.js","sources":["../src/internal/components/MenuFooter/MenuFooter.tsx"],"sourcesContent":["import { MouseEvent, ReactNode } from \"react\";\nimport Button from \"../../../components/Button\";\nimport styles from \"./MenuFooter.module.scss\";\n\n// Safari does not focus buttons on mousedown the way Chrome / Firefox do.\n// Combined with the popover's focusout listener, that means clicking a footer\n// button can fire focusout with relatedTarget=null and close the popover\n// before the click handler runs. Preventing the default on mousedown keeps the\n// previously focused element focused, sidestepping the focusout entirely.\nconst preventBlur = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n};\n\nexport type MenuFooterClearConfig = {\n onClick: () => void;\n label?: string;\n disabled?: boolean;\n};\n\nexport type MenuFooterConfirmationConfig = {\n onApply: () => void;\n onCancel: () => void;\n applyLabel?: string;\n cancelLabel?: string;\n applyDisabled?: boolean;\n};\n\nexport type MenuFooterProps = {\n /** Clear-selection button config. Omit to suppress. */\n clear?: MenuFooterClearConfig;\n /** Apply/Cancel pair config. Omit when not in confirmation mode. */\n confirmation?: MenuFooterConfirmationConfig;\n /**\n * Pre-rendered add-new affordance (AddNewItemButton or similar). Layout owns\n * its row vs. inline placement; the caller just provides the node.\n */\n addNew?: ReactNode;\n};\n\nconst ClearButton = ({\n onClick,\n label = \"Clear\",\n disabled,\n fullWidth,\n}: MenuFooterClearConfig & { fullWidth?: boolean }) => (\n <Button\n appearance=\"secondary\"\n size=\"small\"\n onMouseDown={preventBlur}\n onClick={onClick}\n disabled={disabled}\n className={fullWidth ? styles[\"clear-full\"] : undefined}\n >\n {label}\n </Button>\n);\n\n/**\n * Single justified-flex row containing the Apply/Cancel pair, with an optional\n * leading element on the opposite side.\n */\nconst ConfirmationRow = ({\n applyLabel = \"Apply\",\n cancelLabel = \"Cancel\",\n onApply,\n onCancel,\n applyDisabled,\n leading,\n}: MenuFooterConfirmationConfig & { leading?: ReactNode }) => (\n <div className={styles[\"confirmation-row\"]}>\n {leading ? <div className={styles[\"leading\"]}>{leading}</div> : null}\n <div className={styles[\"trailing\"]}>\n <Button\n appearance=\"secondary\"\n size=\"small\"\n onMouseDown={preventBlur}\n onClick={onCancel}\n >\n {cancelLabel}\n </Button>\n <Button\n appearance=\"primary\"\n size=\"small\"\n onMouseDown={preventBlur}\n onClick={onApply}\n disabled={applyDisabled}\n >\n {applyLabel}\n </Button>\n </div>\n </div>\n);\n\n/**\n * MenuFooter composes the footer of a menu popover/dialog from up to three\n * optional pieces: a clear-selection button, an Apply/Cancel pair, and an\n * add-new affordance.\n *\n * Layout rules:\n * - clear + confirmation + addNew → [addNew full-width row] / [clear | apply cancel]\n * - clear + confirmation → [clear | apply cancel]\n * - clear + addNew → [addNew] / [clear] (stacked, both full-width)\n * - clear → [clear] (full-width)\n * - confirmation + addNew → [addNew | apply cancel] (addNew on the leading side)\n * - confirmation → [apply | cancel]\n * - addNew → [addNew]\n * - (none) → null\n */\nexport const MenuFooter = ({\n clear,\n confirmation,\n addNew,\n}: MenuFooterProps) => {\n // Branches with confirmation\n if (confirmation) {\n if (clear && addNew) {\n return (\n <div className={styles[\"stack\"]}>\n <div className={styles[\"stack-row\"]}>{addNew}</div>\n <ConfirmationRow\n {...confirmation}\n leading={<ClearButton {...clear} />}\n />\n </div>\n );\n }\n if (clear) {\n return (\n <ConfirmationRow\n {...confirmation}\n leading={<ClearButton {...clear} />}\n />\n );\n }\n return <ConfirmationRow {...confirmation} leading={addNew} />;\n }\n\n // Branches without confirmation\n if (clear && addNew) {\n return (\n <div className={styles[\"stack\"]}>\n <div className={styles[\"stack-row\"]}>{addNew}</div>\n <div className={styles[\"stack-row\"]}>\n <ClearButton {...clear} fullWidth />\n </div>\n </div>\n );\n }\n if (clear) {\n return (\n <div className={styles[\"stack-row\"]}>\n <ClearButton {...clear} fullWidth />\n </div>\n );\n }\n if (addNew) {\n return <>{addNew}</>;\n }\n return null;\n};\n\nMenuFooter.displayName = \"MenuFooter\";\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuFooter-8BJxv5HH.js","sources":["../src/internal/components/MenuFooter/MenuFooter.tsx"],"sourcesContent":["import { MouseEvent, ReactNode } from \"react\";\nimport Button from \"../../../components/Button\";\nimport styles from \"./MenuFooter.module.scss\";\n\n// Safari does not focus buttons on mousedown the way Chrome / Firefox do.\n// Combined with the popover's focusout listener, that means clicking a footer\n// button can fire focusout with relatedTarget=null and close the popover\n// before the click handler runs. Preventing the default on mousedown keeps the\n// previously focused element focused, sidestepping the focusout entirely.\nconst preventBlur = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n};\n\nexport type MenuFooterClearConfig = {\n onClick: () => void;\n label?: string;\n disabled?: boolean;\n};\n\nexport type MenuFooterConfirmationConfig = {\n onApply: () => void;\n onCancel: () => void;\n applyLabel?: string;\n cancelLabel?: string;\n applyDisabled?: boolean;\n};\n\nexport type MenuFooterProps = {\n /** Clear-selection button config. Omit to suppress. */\n clear?: MenuFooterClearConfig;\n /** Apply/Cancel pair config. Omit when not in confirmation mode. */\n confirmation?: MenuFooterConfirmationConfig;\n /**\n * Pre-rendered add-new affordance (AddNewItemButton or similar). Layout owns\n * its row vs. inline placement; the caller just provides the node.\n */\n addNew?: ReactNode;\n};\n\nconst ClearButton = ({\n onClick,\n label = \"Clear\",\n disabled,\n fullWidth,\n}: MenuFooterClearConfig & { fullWidth?: boolean }) => (\n <Button\n appearance=\"secondary\"\n size=\"small\"\n onMouseDown={preventBlur}\n onClick={onClick}\n disabled={disabled}\n className={fullWidth ? styles[\"clear-full\"] : undefined}\n >\n {label}\n </Button>\n);\n\n/**\n * Single justified-flex row containing the Apply/Cancel pair, with an optional\n * leading element on the opposite side.\n */\nconst ConfirmationRow = ({\n applyLabel = \"Apply\",\n cancelLabel = \"Cancel\",\n onApply,\n onCancel,\n applyDisabled,\n leading,\n}: MenuFooterConfirmationConfig & { leading?: ReactNode }) => (\n <div className={styles[\"confirmation-row\"]}>\n {leading ? <div className={styles[\"leading\"]}>{leading}</div> : null}\n <div className={styles[\"trailing\"]}>\n <Button\n appearance=\"secondary\"\n size=\"small\"\n onMouseDown={preventBlur}\n onClick={onCancel}\n >\n {cancelLabel}\n </Button>\n <Button\n appearance=\"primary\"\n size=\"small\"\n onMouseDown={preventBlur}\n onClick={onApply}\n disabled={applyDisabled}\n >\n {applyLabel}\n </Button>\n </div>\n </div>\n);\n\n/**\n * MenuFooter composes the footer of a menu popover/dialog from up to three\n * optional pieces: a clear-selection button, an Apply/Cancel pair, and an\n * add-new affordance.\n *\n * Layout rules:\n * - clear + confirmation + addNew → [addNew full-width row] / [clear | apply cancel]\n * - clear + confirmation → [clear | apply cancel]\n * - clear + addNew → [addNew] / [clear] (stacked, both full-width)\n * - clear → [clear] (full-width)\n * - confirmation + addNew → [addNew | apply cancel] (addNew on the leading side)\n * - confirmation → [apply | cancel]\n * - addNew → [addNew]\n * - (none) → null\n */\nexport const MenuFooter = ({\n clear,\n confirmation,\n addNew,\n}: MenuFooterProps) => {\n // Branches with confirmation\n if (confirmation) {\n if (clear && addNew) {\n return (\n <div className={styles[\"stack\"]}>\n <div className={styles[\"stack-row\"]}>{addNew}</div>\n <ConfirmationRow\n {...confirmation}\n leading={<ClearButton {...clear} />}\n />\n </div>\n );\n }\n if (clear) {\n return (\n <ConfirmationRow\n {...confirmation}\n leading={<ClearButton {...clear} />}\n />\n );\n }\n return <ConfirmationRow {...confirmation} leading={addNew} />;\n }\n\n // Branches without confirmation\n if (clear && addNew) {\n return (\n <div className={styles[\"stack\"]}>\n <div className={styles[\"stack-row\"]}>{addNew}</div>\n <div className={styles[\"stack-row\"]}>\n <ClearButton {...clear} fullWidth />\n </div>\n </div>\n );\n }\n if (clear) {\n return (\n <div className={styles[\"stack-row\"]}>\n <ClearButton {...clear} fullWidth />\n </div>\n );\n }\n if (addNew) {\n return <>{addNew}</>;\n }\n return null;\n};\n\nMenuFooter.displayName = \"MenuFooter\";\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-DNJ1TBf8.js';
1
+ export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-BHuikb4i.js';
2
2
  //# sourceMappingURL=MultiSelectField.js.map
@@ -1,20 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useRef, useState, useMemo, useEffect, forwardRef, useId, useCallback } from 'react';
3
3
  import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
4
- import { a as useToggleSelection, M as MultiSelectOptions, u as useBulkActionRunner } from './useToggleSelection-a18uaSE7.js';
4
+ import { a as useToggleSelection, M as MultiSelectOptions, u as useBulkActionRunner } from './useToggleSelection-Cv_6Wnbc.js';
5
5
  import { c as cx } from './index-De1g9FRV.js';
6
- import { B as Button } from './Button-ChQARW0y.js';
7
- import { C as Chip } from './Chip-BYK1b3lZ.js';
6
+ import { B as Button } from './Button-BUb1Qc37.js';
7
+ import { C as Chip } from './Chip-BRgs4B-5.js';
8
8
  import { F as Flex } from './Flex-Bb3iHExM.js';
9
9
  import { m as mergeRefs, u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
10
10
  import { S as SvgChevronRight } from './chevron_right-BdpsxX7x.js';
11
11
  import { S as SvgClose } from './close-DZj38AEh.js';
12
12
  import { u as useChipLayout } from './useChipLayout-BWZfKDgd.js';
13
- import { S as SelectFieldLabel } from './SelectFieldLabel-CvJhwy_6.js';
13
+ import { S as SelectFieldLabel } from './SelectFieldLabel-BLZVhNgs.js';
14
14
  import { s as styles$1 } from './SelectTriggerBase.module-Brmw1nYG.js';
15
15
  import { u as useDownshiftEnvironment, a as useCombobox, b as useSelect } from './downshift.esm-xtSnQp44.js';
16
- import { a as useProcessedOptions, b as buildSelectItems, A as AddNewItemButton, u as useSelectOrchestration, d as defaultSyncFilter, t as toSyncFilterFn } from './syncFilterUtils-JUsufAHA.js';
17
- import { O as OptionsDialog, a as OptionsPopover } from './useAdaptiveView-BdzXyicd.js';
16
+ import { a as useProcessedOptions, b as buildSelectItems, A as AddNewItemButton, u as useSelectOrchestration, d as defaultSyncFilter, t as toSyncFilterFn } from './syncFilterUtils-BwxAsKjG.js';
17
+ import { O as OptionsDialog, a as OptionsPopover } from './useAdaptiveView-Bt1axQ6s.js';
18
18
  import { F as FieldMessage } from './FieldMessage-mTGdycSA.js';
19
19
  import { u as useDebouncedCallback } from './useDebouncedCallback-DLkapjcP.js';
20
20
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -1613,4 +1613,4 @@ const MultiSelectFieldSync = (props) => {
1613
1613
  };
1614
1614
 
1615
1615
  export { MultiSelectField as M, MultiSelectFieldSync as a };
1616
- //# sourceMappingURL=MultiSelectFieldSync-DNJ1TBf8.js.map
1616
+ //# sourceMappingURL=MultiSelectFieldSync-BHuikb4i.js.map