@servicetitan/anvil2 2.7.0 → 2.8.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 (389) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/{floating-ui.react-C_s3_nEb.js → AiMark-Cwc9KoyE.js} +767 -5
  3. package/dist/AiMark-Cwc9KoyE.js.map +1 -0
  4. package/dist/AiMark.css +260 -0
  5. package/dist/AiMark.d.ts +2 -0
  6. package/dist/AiMark.js +2 -0
  7. package/dist/AiMark.js.map +1 -0
  8. package/dist/{Alert-C_o2f78C.js → Alert-5qhkSUN3.js} +27 -13
  9. package/dist/Alert-5qhkSUN3.js.map +1 -0
  10. package/dist/Alert.css +23 -15
  11. package/dist/Alert.js +1 -1
  12. package/dist/{Announcement-CyrTvgP4.js → Announcement-fQmFNysn.js} +2 -2
  13. package/dist/{Announcement-CyrTvgP4.js.map → Announcement-fQmFNysn.js.map} +1 -1
  14. package/dist/Announcement.js +1 -1
  15. package/dist/{Avatar-CCnbKkCm.js → Avatar-BckUfs1N.js} +48 -46
  16. package/dist/{Avatar-CCnbKkCm.js.map → Avatar-BckUfs1N.js.map} +1 -1
  17. package/dist/Avatar-ChybzixS.js +35 -0
  18. package/dist/Avatar-ChybzixS.js.map +1 -0
  19. package/dist/Avatar.js +2 -2
  20. package/dist/Breadcrumbs-BXo2FO2n.js +107 -0
  21. package/dist/Breadcrumbs-BXo2FO2n.js.map +1 -0
  22. package/dist/Breadcrumbs.js +1 -1
  23. package/dist/Button-a_D7tUgM.js +4517 -0
  24. package/dist/Button-a_D7tUgM.js.map +1 -0
  25. package/dist/Button.js +1 -1
  26. package/dist/{ButtonToggle-DaYJWso_.js → ButtonToggle-CmY77gUp.js} +2 -2
  27. package/dist/{ButtonToggle-DaYJWso_.js.map → ButtonToggle-CmY77gUp.js.map} +1 -1
  28. package/dist/ButtonToggle.js +1 -1
  29. package/dist/{Calendar-SGlTt-bs.js → Calendar-Bd_WELZC.js} +130 -119
  30. package/dist/Calendar-Bd_WELZC.js.map +1 -0
  31. package/dist/{Calendar-C1U2npPP.js → Calendar-d2owsYe9.js} +2 -2
  32. package/dist/{Calendar-C1U2npPP.js.map → Calendar-d2owsYe9.js.map} +1 -1
  33. package/dist/Calendar.css +51 -51
  34. package/dist/Calendar.js +2 -2
  35. package/dist/Card-wz71dEVA.js.map +1 -1
  36. package/dist/{Checkbox-CtKUNeyu.js → Checkbox-BlFc6ZWy.js} +25 -14
  37. package/dist/Checkbox-BlFc6ZWy.js.map +1 -0
  38. package/dist/Checkbox-DbaZrUE2.js +52 -0
  39. package/dist/Checkbox-DbaZrUE2.js.map +1 -0
  40. package/dist/Checkbox.js +1 -1
  41. package/dist/{Chip-DjTAR0va.js → Chip-BnofwIUN.js} +43 -13
  42. package/dist/Chip-BnofwIUN.js.map +1 -0
  43. package/dist/Chip.css +44 -28
  44. package/dist/Chip.js +1 -1
  45. package/dist/{Combobox-By8-34bw.js → Combobox-BOxAzG9v.js} +186 -183
  46. package/dist/{Combobox-By8-34bw.js.map → Combobox-BOxAzG9v.js.map} +1 -1
  47. package/dist/Combobox.js +1 -1
  48. package/dist/{DataTable-BYOS6icI.js → DataTable-DK9xRjnq.js} +762 -651
  49. package/dist/DataTable-DK9xRjnq.js.map +1 -0
  50. package/dist/DataTable.css +84 -74
  51. package/dist/{DateFieldRange-C8Uzrboc.js → DateFieldRange-5Jrz6dLl.js} +20 -6
  52. package/dist/DateFieldRange-5Jrz6dLl.js.map +1 -0
  53. package/dist/DateFieldRange.js +1 -1
  54. package/dist/{DateFieldSingle-DrhLIjlK.js → DateFieldSingle-DWFr6Ew4.js} +8 -8
  55. package/dist/{DateFieldSingle-DrhLIjlK.js.map → DateFieldSingle-DWFr6Ew4.js.map} +1 -1
  56. package/dist/DateFieldSingle.js +1 -1
  57. package/dist/{DateFieldYearless-DbivK4Hm.js → DateFieldYearless-UU22A5-E.js} +22 -6
  58. package/dist/DateFieldYearless-UU22A5-E.js.map +1 -0
  59. package/dist/DateFieldYearless.js +1 -1
  60. package/dist/{DateFieldYearlessRange-BEqJe4Uf.js → DateFieldYearlessRange-BoPLxm6t.js} +3 -3
  61. package/dist/DateFieldYearlessRange-BoPLxm6t.js.map +1 -0
  62. package/dist/DateFieldYearlessRange.js +1 -1
  63. package/dist/{DaysOfTheWeek-BR32AA32.js → DaysOfTheWeek-4cfTmjzm.js} +4 -4
  64. package/dist/{DaysOfTheWeek-BR32AA32.js.map → DaysOfTheWeek-4cfTmjzm.js.map} +1 -1
  65. package/dist/DaysOfTheWeek.js +1 -1
  66. package/dist/{Details-Dxq_v3Qg.js → Details-CZOIpNP_.js} +8 -8
  67. package/dist/Details-CZOIpNP_.js.map +1 -0
  68. package/dist/Details.js +1 -1
  69. package/dist/{Dialog-CGhwkwvq.js → Dialog-Dn836WQM.js} +73 -73
  70. package/dist/Dialog-Dn836WQM.js.map +1 -0
  71. package/dist/Dialog.js +1 -1
  72. package/dist/{DialogCancelButton-DQDMzGeT.js → DialogCancelButton-B-jfihJr.js} +2 -2
  73. package/dist/{DialogCancelButton-DQDMzGeT.js.map → DialogCancelButton-B-jfihJr.js.map} +1 -1
  74. package/dist/{Drawer-DA4iAgt-.js → Drawer-CdDWt_Ba.js} +86 -86
  75. package/dist/Drawer-CdDWt_Ba.js.map +1 -0
  76. package/dist/Drawer.js +1 -1
  77. package/dist/DrillDown.js +1 -1
  78. package/dist/{EditCard-CLN0GBN_.js → EditCard-CZibhEfS.js} +3 -3
  79. package/dist/{EditCard-CLN0GBN_.js.map → EditCard-CZibhEfS.js.map} +1 -1
  80. package/dist/EditCard.js +1 -1
  81. package/dist/FieldLabel-Dr41PRxH.js +180 -0
  82. package/dist/FieldLabel-Dr41PRxH.js.map +1 -0
  83. package/dist/FieldLabel.css +33 -73
  84. package/dist/FieldLabel.js +1 -1
  85. package/dist/Grid-DeYIx5k4.js +149 -0
  86. package/dist/Grid-DeYIx5k4.js.map +1 -0
  87. package/dist/Grid.js +1 -1
  88. package/dist/{InputMask-HjaNCb73.js → InputMask-CcXqzqdx.js} +3 -3
  89. package/dist/{InputMask-HjaNCb73.js.map → InputMask-CcXqzqdx.js.map} +1 -1
  90. package/dist/InputMask.js +1 -1
  91. package/dist/{Layout-VfhlilMG.js → Layout-CISAxILX.js} +34 -33
  92. package/dist/Layout-CISAxILX.js.map +1 -0
  93. package/dist/Layout.js +1 -1
  94. package/dist/List--KhCpjZn.js +103 -0
  95. package/dist/List--KhCpjZn.js.map +1 -0
  96. package/dist/List.js +1 -1
  97. package/dist/{ListView-mujFK6mQ.js → ListView-D9cZUVer.js} +6 -6
  98. package/dist/ListView-D9cZUVer.js.map +1 -0
  99. package/dist/ListView.js +1 -1
  100. package/dist/{Listbox-BtAgBDRS.js → Listbox-CgDwzRfz.js} +6 -5
  101. package/dist/Listbox-CgDwzRfz.js.map +1 -0
  102. package/dist/Listbox.js +1 -1
  103. package/dist/{Menu-BXsmCP20.js → Menu-CPbuIsqC.js} +367 -367
  104. package/dist/Menu-CPbuIsqC.js.map +1 -0
  105. package/dist/Menu.js +1 -1
  106. package/dist/MultiSelectField.js +1 -1
  107. package/dist/{MultiSelectFieldSync-DGpGgu8q.js → MultiSelectFieldSync-Ei7DXzvs.js} +31 -18
  108. package/dist/MultiSelectFieldSync-Ei7DXzvs.js.map +1 -0
  109. package/dist/MultiSelectMenu.js +1 -1
  110. package/dist/{MultiSelectMenuSync-DiLddJDw.js → MultiSelectMenuSync-B_mXpTEe.js} +29 -9
  111. package/dist/MultiSelectMenuSync-B_mXpTEe.js.map +1 -0
  112. package/dist/{NumberField-svhZp1kB.js → NumberField-C5t47Obp.js} +16 -5
  113. package/dist/NumberField-C5t47Obp.js.map +1 -0
  114. package/dist/NumberField.js +1 -1
  115. package/dist/Overflow.css +27 -26
  116. package/dist/Overflow.js +11 -11
  117. package/dist/{Page-Be029Dij.js → Page-2hbQxUj6.js} +223 -207
  118. package/dist/Page-2hbQxUj6.js.map +1 -0
  119. package/dist/Page.css +78 -76
  120. package/dist/Page.js +1 -1
  121. package/dist/{Pagination-BAwqfl_2.js → Pagination-CjGmJ_rU.js} +20 -18
  122. package/dist/Pagination-CjGmJ_rU.js.map +1 -0
  123. package/dist/Pagination.js +1 -1
  124. package/dist/{Popover-D0qSKZ1J.js → Popover-CpU9VAcb.js} +356 -358
  125. package/dist/Popover-CpU9VAcb.js.map +1 -0
  126. package/dist/Popover.js +1 -1
  127. package/dist/{ProgressBar-JpRDW5vG.js → ProgressBar-FMuK8viJ.js} +2 -2
  128. package/dist/{ProgressBar-JpRDW5vG.js.map → ProgressBar-FMuK8viJ.js.map} +1 -1
  129. package/dist/ProgressBar.js +1 -1
  130. package/dist/{Radio-BQg7exDG.js → Radio-CZZd8phn.js} +25 -14
  131. package/dist/Radio-CZZd8phn.js.map +1 -0
  132. package/dist/Radio-DmtVWAmN.js +60 -0
  133. package/dist/Radio-DmtVWAmN.js.map +1 -0
  134. package/dist/Radio.js +1 -1
  135. package/dist/{SegmentedControl-7fDLhgvh.js → SegmentedControl-B9NWUF7s.js} +81 -77
  136. package/dist/{SegmentedControl-7fDLhgvh.js.map → SegmentedControl-B9NWUF7s.js.map} +1 -1
  137. package/dist/SegmentedControl.js +1 -1
  138. package/dist/SelectCard-8OmIDl1m.js +352 -0
  139. package/dist/SelectCard-8OmIDl1m.js.map +1 -0
  140. package/dist/SelectCard.js +1 -1
  141. package/dist/SelectField.js +1 -1
  142. package/dist/{SelectFieldLabel-Dr8HeW3N.js → SelectFieldLabel-C8PrXxDU.js} +5 -4
  143. package/dist/SelectFieldLabel-C8PrXxDU.js.map +1 -0
  144. package/dist/{SelectFieldSync-CJ2Ie_v1.js → SelectFieldSync-DGK8F2G9.js} +13 -13
  145. package/dist/SelectFieldSync-DGK8F2G9.js.map +1 -0
  146. package/dist/SelectMenu.js +1 -1
  147. package/dist/{SelectMenuSync-CJA_coqD.js → SelectMenuSync-CuZp9mnt.js} +29 -9
  148. package/dist/SelectMenuSync-CuZp9mnt.js.map +1 -0
  149. package/dist/{SelectOptions-Bf4xsFek.js → SelectOptions-CmElsiTd.js} +2 -2
  150. package/dist/{SelectOptions-Bf4xsFek.js.map → SelectOptions-CmElsiTd.js.map} +1 -1
  151. package/dist/{SelectTrigger-ObsnAKNp.js → SelectTrigger-KF8w6Ynk.js} +8 -6
  152. package/dist/SelectTrigger-KF8w6Ynk.js.map +1 -0
  153. package/dist/SelectTrigger.js +1 -1
  154. package/dist/{SelectTriggerBase-DKfOL2RJ.js → SelectTriggerBase-Bxmv6oXk.js} +4 -4
  155. package/dist/{SelectTriggerBase-DKfOL2RJ.js.map → SelectTriggerBase-Bxmv6oXk.js.map} +1 -1
  156. package/dist/{SideNav-KksbSQn7.js → SideNav-CrxYExjh.js} +137 -135
  157. package/dist/{SideNav-KksbSQn7.js.map → SideNav-CrxYExjh.js.map} +1 -1
  158. package/dist/SideNav.css +72 -55
  159. package/dist/SideNav.js +1 -1
  160. package/dist/Skeleton.css +18 -12
  161. package/dist/Skeleton.js +24 -11
  162. package/dist/Skeleton.js.map +1 -1
  163. package/dist/{Stepper-Dt8_ImvJ.js → Stepper-_27Lmm2K.js} +158 -158
  164. package/dist/{Stepper-Dt8_ImvJ.js.map → Stepper-_27Lmm2K.js.map} +1 -1
  165. package/dist/Stepper.js +1 -1
  166. package/dist/{Switch-DpPHr3G3.js → Switch-DPGz7wC_.js} +14 -2
  167. package/dist/Switch-DPGz7wC_.js.map +1 -0
  168. package/dist/Switch.js +1 -1
  169. package/dist/{Tab-DO7LaUbw.js → Tab-BZpTCG0i.js} +227 -223
  170. package/dist/Tab-BZpTCG0i.js.map +1 -0
  171. package/dist/Tab.js +1 -1
  172. package/dist/Table.js +1 -1
  173. package/dist/{Text-BJo4oMI2.js → Text-MVxRo6yx.js} +30 -12
  174. package/dist/Text-MVxRo6yx.js.map +1 -0
  175. package/dist/Text.css +37 -20
  176. package/dist/Text.js +1 -1
  177. package/dist/{TextField-DeHpgPag.js → TextField-BpSxZa0z.js} +21 -5
  178. package/dist/TextField-BpSxZa0z.js.map +1 -0
  179. package/dist/{TextField-BW8sJAls.js → TextField-D93iv_pk.js} +2 -2
  180. package/dist/{TextField-BW8sJAls.js.map → TextField-D93iv_pk.js.map} +1 -1
  181. package/dist/TextField.js +1 -1
  182. package/dist/{Textarea-DyqdMTvQ.js → Textarea-1u2fSMTh.js} +21 -5
  183. package/dist/Textarea-1u2fSMTh.js.map +1 -0
  184. package/dist/Textarea.js +1 -1
  185. package/dist/{TimeField-Dc0Y1JD-.js → TimeField-B4gLlBQJ.js} +6 -5
  186. package/dist/{TimeField-Dc0Y1JD-.js.map → TimeField-B4gLlBQJ.js.map} +1 -1
  187. package/dist/TimeField.js +1 -1
  188. package/dist/Toast.js +2 -2
  189. package/dist/{Toaster-b0-Ub3yt.js → Toaster-CSJfSOHx.js} +5 -5
  190. package/dist/Toaster-CSJfSOHx.js.map +1 -0
  191. package/dist/{Toaster-DikGo_hR.js → Toaster-DbWYnF_t.js} +2 -2
  192. package/dist/{Toaster-DikGo_hR.js.map → Toaster-DbWYnF_t.js.map} +1 -1
  193. package/dist/{Toolbar-DAuz4Gs2.js → Toolbar-CWRk523l.js} +150 -149
  194. package/dist/{Toolbar-DAuz4Gs2.js.map → Toolbar-CWRk523l.js.map} +1 -1
  195. package/dist/Toolbar.js +1 -1
  196. package/dist/{Tooltip-Bupqao9B.js → Tooltip-C1PBRnJv.js} +225 -228
  197. package/dist/Tooltip-C1PBRnJv.js.map +1 -0
  198. package/dist/Tooltip.js +1 -1
  199. package/dist/{YearlessDateInputWithPicker-DFi08TLG.js → YearlessDateInputWithPicker-BSl5z2zo.js} +2 -3
  200. package/dist/{YearlessDateInputWithPicker-DFi08TLG.js.map → YearlessDateInputWithPicker-BSl5z2zo.js.map} +1 -1
  201. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  202. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  203. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -2
  204. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  205. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +3 -2
  206. package/dist/beta/components/MultiSelectField/internal/types.d.ts +4 -3
  207. package/dist/beta/components/MultiSelectField/types.d.ts +28 -7
  208. package/dist/beta/components/MultiSelectMenu/types.d.ts +15 -0
  209. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  210. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -4
  211. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  212. package/dist/beta/components/SelectField/types.d.ts +5 -5
  213. package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +3 -1
  214. package/dist/beta/components/SelectMenu/types.d.ts +15 -0
  215. package/dist/beta/components/Table/DataTable/DataTable.d.ts +2 -15
  216. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +35 -0
  217. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +4 -3
  218. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +7 -0
  219. package/dist/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +34 -0
  220. package/dist/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +29 -0
  221. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +2 -4
  222. package/dist/beta/components/Table/DataTable/types.d.ts +48 -1
  223. package/dist/beta/components/Table/createColumnHelper.d.ts +23 -68
  224. package/dist/beta/components/Table/types.d.ts +218 -42
  225. package/dist/beta/components/Toolbar/Toolbar.d.ts +175 -44
  226. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +5 -3
  227. package/dist/beta.js +9 -9
  228. package/dist/components/AiMark/AiMark.d.ts +87 -0
  229. package/dist/components/AiMark/index.d.ts +1 -0
  230. package/dist/components/AiMark/internal/AiMarkIconAnimated.d.ts +30 -0
  231. package/dist/components/AiMark/internal/AiMarkInteractive.d.ts +10 -0
  232. package/dist/components/AiMark/stories/aiMarkStoryArgTypes.d.ts +16 -0
  233. package/dist/components/Alert/Alert.d.ts +12 -0
  234. package/dist/components/Avatar/Avatar.d.ts +14 -0
  235. package/dist/components/Button/Button.d.ts +14 -6
  236. package/dist/components/Button/internal/buttonAiMarkUtils.d.ts +18 -0
  237. package/dist/components/Button/internal/index.d.ts +1 -0
  238. package/dist/components/Calendar/Calendar.d.ts +84 -26
  239. package/dist/components/Card/Card.d.ts +6 -1
  240. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  241. package/dist/components/Checkbox/CheckboxGroup.d.ts +27 -6
  242. package/dist/components/Chip/Chip.d.ts +10 -1
  243. package/dist/components/Chip/internal/Chip.d.ts +4 -0
  244. package/dist/components/Combobox/Combobox.d.ts +172 -1
  245. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  246. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  247. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  248. package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +8 -1
  249. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  250. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  251. package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +7 -0
  252. package/dist/components/Dialog/Dialog.d.ts +96 -28
  253. package/dist/components/DrillDown/DrillDown.d.ts +7 -1
  254. package/dist/components/FieldLabel/FieldLabel.d.ts +2 -1
  255. package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +3 -2
  256. package/dist/components/Layout/Layout.d.ts +52 -44
  257. package/dist/components/ListView/ListView.d.ts +5 -5
  258. package/dist/components/Listbox/Listbox.d.ts +5 -23
  259. package/dist/components/Menu/Menu.d.ts +1 -4
  260. package/dist/components/NumberField/NumberField.d.ts +29 -2
  261. package/dist/components/Radio/Radio.d.ts +2 -0
  262. package/dist/components/Radio/RadioGroup.d.ts +27 -6
  263. package/dist/components/SelectCard/SelectCard.d.ts +1 -1
  264. package/dist/components/SelectCard/SelectCardGroup.d.ts +18 -1
  265. package/dist/components/SelectCard/internal/SelectCardContext.d.ts +11 -0
  266. package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +11 -1
  267. package/dist/components/Skeleton/SkeletonCircle.d.ts +8 -0
  268. package/dist/components/Skeleton/SkeletonPill.d.ts +8 -0
  269. package/dist/components/Skeleton/SkeletonRectangle.d.ts +8 -0
  270. package/dist/components/Skeleton/SkeletonText.d.ts +6 -1
  271. package/dist/components/Skeleton/index.d.ts +3 -0
  272. package/dist/components/Switch/Switch.d.ts +11 -1
  273. package/dist/components/Text/types.d.ts +9 -0
  274. package/dist/components/TextField/internal/TextField.d.ts +11 -0
  275. package/dist/components/Textarea/Textarea.d.ts +9 -2
  276. package/dist/components/Toast/internal/Toast.d.ts +5 -0
  277. package/dist/components/Toast/toast.d.ts +1 -1
  278. package/dist/components/Toolbar/Toolbar.d.ts +8 -4
  279. package/dist/components/Toolbar/ToolbarSelect.d.ts +5 -3
  280. package/dist/components/index.d.ts +1 -0
  281. package/dist/{floating-ui.react-dom-imrk9N49.js → floating-ui.react-dom-CHrYz13o.js} +17 -2
  282. package/dist/floating-ui.react-dom-CHrYz13o.js.map +1 -0
  283. package/dist/hooks/index.d.ts +1 -0
  284. package/dist/hooks/usePrefersReducedMotion/index.d.ts +1 -0
  285. package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +15 -0
  286. package/dist/index.js +135 -133
  287. package/dist/index.js.map +1 -1
  288. package/dist/internal/components/InlineMarkdown/InlineMarkdown.d.ts +23 -0
  289. package/dist/internal/components/InlineMarkdown/index.d.ts +1 -0
  290. package/dist/internal/components/Label/Label.d.ts +1 -1
  291. package/dist/internal/components/Popover/Popover.d.ts +3 -1
  292. package/dist/internal/components/index.d.ts +2 -1
  293. package/dist/internal/functions/index.d.ts +2 -0
  294. package/dist/internal/functions/inlineMarkdown.d.ts +20 -0
  295. package/dist/internal/functions/stripInlineMarkdown.d.ts +8 -0
  296. package/dist/internal/types/props.d.ts +2 -1
  297. package/dist/internal/types/selectFieldInternalTypes.d.ts +2 -2
  298. package/dist/internal/utils/index.d.ts +1 -0
  299. package/dist/internal/utils/inlineMarkdownRegex.d.ts +5 -0
  300. package/dist/{proxy-BbFHSE6L.js → proxy-DEehATlA.js} +8 -2
  301. package/dist/{proxy-BbFHSE6L.js.map → proxy-DEehATlA.js.map} +1 -1
  302. package/dist/stripInlineMarkdown-DyqLAQnf.js +25 -0
  303. package/dist/stripInlineMarkdown-DyqLAQnf.js.map +1 -0
  304. package/dist/{syncFilterUtils-vt8ldsES.js → syncFilterUtils-CsbCnI1-.js} +194 -194
  305. package/dist/{syncFilterUtils-vt8ldsES.js.map → syncFilterUtils-CsbCnI1-.js.map} +1 -1
  306. package/dist/types/ai-marks.d.ts +72 -0
  307. package/dist/types/index.d.ts +1 -0
  308. package/dist/{use-reduced-motion-DSpxmqyT.js → use-reduced-motion-CqjZZ5QB.js} +2 -2
  309. package/dist/{use-reduced-motion-DSpxmqyT.js.map → use-reduced-motion-CqjZZ5QB.js.map} +1 -1
  310. package/dist/{useDrilldown-wwXRpNgb.js → useDrilldown-C7eMBl68.js} +43 -41
  311. package/dist/{useDrilldown-wwXRpNgb.js.map → useDrilldown-C7eMBl68.js.map} +1 -1
  312. package/dist/{useInitialFocus-CdoVwSbr.js → useInitialFocus-DbaB-x5T.js} +2 -3
  313. package/dist/{useInitialFocus-CdoVwSbr.js.map → useInitialFocus-DbaB-x5T.js.map} +1 -1
  314. package/dist/{useMenuInteraction-zR_78KQC.js → useMenuInteraction-BwZ2ORo9.js} +8 -3
  315. package/dist/useMenuInteraction-BwZ2ORo9.js.map +1 -0
  316. package/dist/{index.esm-BZV0wNKZ.js → usePopoverTransitionStates-B1opfxxn.js} +88 -2
  317. package/dist/usePopoverTransitionStates-B1opfxxn.js.map +1 -0
  318. package/dist/usePrefersReducedMotion-DR9B_D6w.js +37 -0
  319. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -0
  320. package/dist/usePrefersReducedMotion.d.ts +2 -0
  321. package/dist/usePrefersReducedMotion.js +2 -0
  322. package/dist/usePrefersReducedMotion.js.map +1 -0
  323. package/dist/{useToggleSelection-BdXW3Zg3.js → useToggleSelection-BM8asdFj.js} +2 -2
  324. package/dist/{useToggleSelection-BdXW3Zg3.js.map → useToggleSelection-BM8asdFj.js.map} +1 -1
  325. package/package.json +4 -2
  326. package/dist/Alert-C_o2f78C.js.map +0 -1
  327. package/dist/Avatar--CnTAnfD.js +0 -35
  328. package/dist/Avatar--CnTAnfD.js.map +0 -1
  329. package/dist/Breadcrumbs-3Y7jnj-F.js +0 -105
  330. package/dist/Breadcrumbs-3Y7jnj-F.js.map +0 -1
  331. package/dist/Button-CVsGhVJz.js +0 -113
  332. package/dist/Button-CVsGhVJz.js.map +0 -1
  333. package/dist/Calendar-SGlTt-bs.js.map +0 -1
  334. package/dist/Checkbox-CjEKa5Iv.js +0 -50
  335. package/dist/Checkbox-CjEKa5Iv.js.map +0 -1
  336. package/dist/Checkbox-CtKUNeyu.js.map +0 -1
  337. package/dist/Chip-DjTAR0va.js.map +0 -1
  338. package/dist/DataTable-BYOS6icI.js.map +0 -1
  339. package/dist/DateFieldRange-C8Uzrboc.js.map +0 -1
  340. package/dist/DateFieldYearless-DbivK4Hm.js.map +0 -1
  341. package/dist/DateFieldYearlessRange-BEqJe4Uf.js.map +0 -1
  342. package/dist/Details-Dxq_v3Qg.js.map +0 -1
  343. package/dist/Dialog-CGhwkwvq.js.map +0 -1
  344. package/dist/Drawer-DA4iAgt-.js.map +0 -1
  345. package/dist/FieldLabel-DbMosKtd.js +0 -125
  346. package/dist/FieldLabel-DbMosKtd.js.map +0 -1
  347. package/dist/Grid-ONcUpb__.js +0 -147
  348. package/dist/Grid-ONcUpb__.js.map +0 -1
  349. package/dist/Layout-VfhlilMG.js.map +0 -1
  350. package/dist/List-CJZjElAQ.js +0 -101
  351. package/dist/List-CJZjElAQ.js.map +0 -1
  352. package/dist/ListView-mujFK6mQ.js.map +0 -1
  353. package/dist/Listbox-BtAgBDRS.js.map +0 -1
  354. package/dist/Menu-BXsmCP20.js.map +0 -1
  355. package/dist/MultiSelectFieldSync-DGpGgu8q.js.map +0 -1
  356. package/dist/MultiSelectMenuSync-DiLddJDw.js.map +0 -1
  357. package/dist/NumberField-svhZp1kB.js.map +0 -1
  358. package/dist/Page-Be029Dij.js.map +0 -1
  359. package/dist/Pagination-BAwqfl_2.js.map +0 -1
  360. package/dist/Popover-D0qSKZ1J.js.map +0 -1
  361. package/dist/Popover-DxZF6lbJ.js +0 -535
  362. package/dist/Popover-DxZF6lbJ.js.map +0 -1
  363. package/dist/Popover2.css +0 -68
  364. package/dist/Radio-BOq9UkpC.js +0 -60
  365. package/dist/Radio-BOq9UkpC.js.map +0 -1
  366. package/dist/Radio-BQg7exDG.js.map +0 -1
  367. package/dist/SelectCard-cu4MBuh8.js +0 -320
  368. package/dist/SelectCard-cu4MBuh8.js.map +0 -1
  369. package/dist/SelectFieldLabel-Dr8HeW3N.js.map +0 -1
  370. package/dist/SelectFieldSync-CJ2Ie_v1.js.map +0 -1
  371. package/dist/SelectMenuSync-CJA_coqD.js.map +0 -1
  372. package/dist/SelectTrigger-ObsnAKNp.js.map +0 -1
  373. package/dist/Switch-DpPHr3G3.js.map +0 -1
  374. package/dist/Tab-DO7LaUbw.js.map +0 -1
  375. package/dist/Text-BJo4oMI2.js.map +0 -1
  376. package/dist/TextField-DeHpgPag.js.map +0 -1
  377. package/dist/Textarea-DyqdMTvQ.js.map +0 -1
  378. package/dist/Toaster-b0-Ub3yt.js.map +0 -1
  379. package/dist/Tooltip-Bupqao9B.js.map +0 -1
  380. package/dist/floating-ui.react-C_s3_nEb.js.map +0 -1
  381. package/dist/floating-ui.react-dom-imrk9N49.js.map +0 -1
  382. package/dist/index.esm-BZV0wNKZ.js.map +0 -1
  383. package/dist/safePopover-BDso-xSH.js +0 -17
  384. package/dist/safePopover-BDso-xSH.js.map +0 -1
  385. package/dist/useMenuInteraction-zR_78KQC.js.map +0 -1
  386. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +0 -68
  387. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +0 -1
  388. package/dist/usePopoverTransitionStates-CDIoNUuf.js +0 -24
  389. package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +0 -1
@@ -1,18 +1,16 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { createContext, useContext, useRef, useLayoutEffect, useEffect, forwardRef, useId, useState, useCallback, useImperativeHandle, useMemo } from 'react';
3
- import { B as Button } from './Button-CVsGhVJz.js';
4
- import { t as tabbable } from './index.esm-BZV0wNKZ.js';
3
+ import { B as Button } from './Button-a_D7tUgM.js';
4
+ import { t as tabbable, a as usePopoverTransitionStates } from './usePopoverTransitionStates-B1opfxxn.js';
5
5
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
6
6
  import { useTrackingId } from './useTrackingId.js';
7
7
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
8
8
  import { c as cx } from './index-De1g9FRV.js';
9
9
  import { u as useFocusWithin } from './useFocusWithin-hi77jsrB.js';
10
10
  import { D as DialogContext } from './DialogContext-DBgtApl9.js';
11
- import { k as computePosition, l as autoUpdate, o as offset, q as size, m as flip, s as shift, n as arrow$1, p as limitShift } from './floating-ui.react-dom-imrk9N49.js';
11
+ import { c as computePosition, a as autoUpdate, s as safeShowPopover, b as safeHidePopover, o as offset, g as size, f as flip, d as shift, e as arrow$1, l as limitShift } from './floating-ui.react-dom-CHrYz13o.js';
12
12
  import { a as useOnClickOutside } from './useOnClickOutside-Zw5vzxSq.js';
13
13
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
14
- import { u as usePopoverTransitionStates } from './usePopoverTransitionStates-CDIoNUuf.js';
15
- import { s as safeShowPopover, a as safeHidePopover } from './safePopover-BDso-xSH.js';
16
14
 
17
15
  import './Popover.css';const PopoverContext = createContext(null);
18
16
 
@@ -393,250 +391,283 @@ function PopoverTrigger(props) {
393
391
  }
394
392
  PopoverTrigger.displayName = "PopoverTrigger";
395
393
 
396
- const PopoverElement = forwardRef((props, ref) => {
397
- const {
398
- children,
399
- openOnHover = false,
400
- delay = 100,
401
- placement = "bottom",
402
- minHeight = "2.875rem",
403
- open,
404
- defaultOpen = false,
405
- disableShift,
406
- disableFlip,
407
- disableFlipFallback,
408
- matchReferenceWidth,
409
- id,
410
- disableCaret,
411
- fixedWidth,
412
- fillAvailableHeight,
413
- maxHeight,
414
- disableCloseOnClickOutside,
415
- disableCloseOnEscape,
416
- fitScreen,
417
- disableTriggerFocus,
418
- modal,
419
- noPadding,
420
- onClickOutside,
421
- onClose,
422
- onOpenAnimationStart,
423
- onOpenAnimationComplete,
424
- onCloseAnimationStart,
425
- onCloseAnimationComplete
426
- } = props;
427
- const uid = useId();
428
- const [invoker, setInvoker] = useState(void 0);
429
- const [popover, setPopover] = useState(void 0);
430
- const [rootNode, setRootNode] = useState();
431
- const [arrowElement, setArrowElement] = useState(void 0);
432
- const [openState, setOpenState] = useOptionallyControlledState({
433
- controlledValue: open,
434
- defaultValue: defaultOpen
435
- });
436
- const arrowRef = useRef(null);
437
- const dialogContext = useContext(DialogContext);
438
- const [triggerHovered, setTriggerHovered] = useState(false);
439
- const [contentHovered, setContentHovered] = useState(false);
440
- const [actualPlacement, setActualPlacement] = useState(
441
- placement
442
- );
443
- const processMinHeight = typeof minHeight === "string" ? minHeight : `${minHeight}px`;
444
- usePopoverTransitionStates(popover, openState, {
445
- onOpenAnimationStart: useCallback(() => {
446
- onOpenAnimationStart?.();
447
- }, [onOpenAnimationStart]),
448
- onOpenAnimationComplete: useCallback(() => {
449
- onOpenAnimationComplete?.();
450
- }, [onOpenAnimationComplete]),
451
- onCloseAnimationStart: useCallback(() => {
452
- onCloseAnimationStart?.();
453
- }, [onCloseAnimationStart]),
454
- onCloseAnimationComplete: useCallback(() => {
455
- onCloseAnimationComplete?.();
456
- }, [onCloseAnimationComplete])
457
- });
458
- const updatePosition = useCallback(() => {
459
- if (!invoker || !popover) return;
460
- if (!openState) return;
461
- computePosition(invoker, popover, {
462
- placement,
463
- middleware: [
464
- offset(8),
465
- size({
466
- padding: 5,
467
- apply({ rects, availableHeight, elements }) {
468
- Object.assign(elements.floating.style, {
469
- ...matchReferenceWidth ? { width: `${rects.reference.width}px` } : fixedWidth ? { width: "40dvw" } : {},
470
- ...fillAvailableHeight ? {
471
- height: `${availableHeight - 20}px`,
472
- minHeight: processMinHeight
473
- } : {},
474
- ...maxHeight ? {
475
- minHeight: processMinHeight,
476
- height: fitScreen ? typeof maxHeight === "string" ? maxHeight : `${maxHeight}px` : void 0,
477
- maxHeight: fitScreen ? `${availableHeight - 20}px` : typeof maxHeight === "string" ? maxHeight : `${maxHeight}px`
478
- } : {},
479
- ...fitScreen && !maxHeight ? {
480
- minHeight: processMinHeight,
481
- maxHeight: `${availableHeight - 20}px`
482
- } : {},
483
- zIndex: 1
484
- });
485
- }
486
- }),
487
- flip({
488
- mainAxis: !disableFlip,
489
- crossAxis: false,
490
- fallbackAxisSideDirection: disableFlipFallback ? "none" : "end",
491
- padding: 5
492
- }),
493
- shift({
494
- padding: 5,
495
- mainAxis: !disableShift,
496
- crossAxis: false,
497
- limiter: limitShift({
498
- mainAxis: !disableShift
499
- })
500
- }),
501
- arrow$1({
502
- element: !disableCaret && arrowElement ? arrowElement : null,
503
- padding: 5
504
- })
505
- ]
506
- }).then(({ x, y, placement: placement2, middlewareData }) => {
507
- setActualPlacement(placement2);
508
- const side = placement2.split("-")[0];
509
- const staticSide = {
510
- top: "bottom",
511
- right: "left",
512
- bottom: "top",
513
- left: "right"
514
- }[side];
515
- const arrowDeg = () => {
516
- if (staticSide === "top") return 180;
517
- if (staticSide === "bottom") return 0;
518
- if (staticSide === "left") return 90;
519
- return 270;
520
- };
521
- Object.assign(popover.style, {
522
- left: `${x}px`,
523
- top: `${y}px`
524
- });
525
- if (middlewareData.arrow && arrowElement) {
526
- const { x: x2, y: y2 } = middlewareData.arrow;
527
- Object.assign(arrowElement.style, {
528
- left: x2 != null ? `${x2}px` : "",
529
- top: y2 != null ? `${y2}px` : "",
530
- right: "",
531
- bottom: "",
532
- [staticSide]: `${-arrowElement.offsetWidth + 2}px`,
533
- transform: `rotate(${arrowDeg()}deg)`
534
- });
535
- }
394
+ const Popover = Object.assign(
395
+ forwardRef(function PopoverInner(props, ref) {
396
+ const {
397
+ children,
398
+ openOnHover = false,
399
+ delay = 100,
400
+ placement = "bottom",
401
+ minHeight = "2.875rem",
402
+ open,
403
+ defaultOpen = false,
404
+ disableShift,
405
+ disableFlip,
406
+ disableFlipFallback,
407
+ matchReferenceWidth,
408
+ id,
409
+ disableCaret,
410
+ fixedWidth,
411
+ fillAvailableHeight,
412
+ maxHeight,
413
+ disableCloseOnClickOutside,
414
+ disableCloseOnEscape,
415
+ fitScreen,
416
+ disableTriggerFocus,
417
+ modal,
418
+ noPadding,
419
+ onClickOutside,
420
+ onClose,
421
+ onOpenAnimationStart,
422
+ onOpenAnimationComplete,
423
+ onCloseAnimationStart,
424
+ onCloseAnimationComplete
425
+ } = props;
426
+ const uid = useId();
427
+ const [invoker, setInvoker] = useState(void 0);
428
+ const [popover, setPopover] = useState(void 0);
429
+ const [rootNode, setRootNode] = useState();
430
+ const [arrowElement, setArrowElement] = useState(void 0);
431
+ const [openState, setOpenState] = useOptionallyControlledState({
432
+ controlledValue: open,
433
+ defaultValue: defaultOpen
536
434
  });
537
- }, [
538
- arrowElement,
539
- disableCaret,
540
- disableFlip,
541
- disableFlipFallback,
542
- disableShift,
543
- fillAvailableHeight,
544
- fitScreen,
545
- fixedWidth,
546
- invoker,
547
- matchReferenceWidth,
548
- maxHeight,
549
- openState,
550
- placement,
551
- popover,
552
- processMinHeight
553
- ]);
554
- useLayoutEffect(() => {
555
- if (!popover || !invoker) return;
556
- if (!openState) {
557
- return;
558
- }
559
- let requestID = null;
560
- const cleanup = autoUpdate(invoker, popover, () => {
561
- requestID = requestAnimationFrame(updatePosition);
435
+ const arrowRef = useRef(null);
436
+ const dialogContext = useContext(DialogContext);
437
+ const [triggerHovered, setTriggerHovered] = useState(false);
438
+ const [contentHovered, setContentHovered] = useState(false);
439
+ const [actualPlacement, setActualPlacement] = useState(placement);
440
+ const processMinHeight = typeof minHeight === "string" ? minHeight : `${minHeight}px`;
441
+ usePopoverTransitionStates(popover, openState, {
442
+ onOpenAnimationStart: useCallback(() => {
443
+ onOpenAnimationStart?.();
444
+ }, [onOpenAnimationStart]),
445
+ onOpenAnimationComplete: useCallback(() => {
446
+ onOpenAnimationComplete?.();
447
+ }, [onOpenAnimationComplete]),
448
+ onCloseAnimationStart: useCallback(() => {
449
+ onCloseAnimationStart?.();
450
+ }, [onCloseAnimationStart]),
451
+ onCloseAnimationComplete: useCallback(() => {
452
+ onCloseAnimationComplete?.();
453
+ }, [onCloseAnimationComplete])
562
454
  });
563
- return () => {
564
- if (requestID) cancelAnimationFrame(requestID);
565
- cleanup();
566
- };
567
- }, [invoker, popover, updatePosition, openState]);
568
- popover?.getRootNode();
569
- const popoverId = id ?? `popover-${uid.replace(/:/g, "")}`;
570
- const isControlled = typeof open !== "undefined";
571
- const openPopover = useCallback(() => {
572
- if (!popover || !rootNode?.querySelector(`#${popoverId}`))
573
- return;
574
- setOpenState(true);
575
- }, [popover, rootNode, popoverId, setOpenState]);
576
- const closePopover = useCallback(
577
- (fn) => {
578
- if (!popover || !openState) return;
579
- if (!openOnHover) onClose?.();
580
- setOpenState(false);
581
- setTriggerHovered(false);
582
- setContentHovered(false);
583
- fn?.();
584
- },
585
- [
586
- popover,
587
- openState,
588
- openOnHover,
589
- onClose,
590
- setOpenState,
591
- setTriggerHovered,
592
- setContentHovered
593
- ]
594
- );
595
- useImperativeHandle(
596
- ref,
597
- () => ({
598
- openPopover,
599
- closePopover
600
- }),
601
- [openPopover, closePopover]
602
- );
603
- useEffect(() => {
604
- if (typeof openState === "undefined") return;
605
- if (openState) {
606
- if (dialogContext) {
607
- if (dialogContext?.ref?.current?.open) {
608
- safeShowPopover(popover);
609
- dialogContext?.setHasOpenPopover?.(true);
455
+ const updatePosition = useCallback(() => {
456
+ if (!invoker || !popover) return;
457
+ if (!openState) return;
458
+ computePosition(invoker, popover, {
459
+ placement,
460
+ middleware: [
461
+ offset(8),
462
+ size({
463
+ padding: 5,
464
+ apply({ rects, availableHeight, elements }) {
465
+ Object.assign(elements.floating.style, {
466
+ ...matchReferenceWidth ? { width: `${rects.reference.width}px` } : fixedWidth ? { width: "40dvw" } : {},
467
+ ...fillAvailableHeight ? {
468
+ height: `${availableHeight - 20}px`,
469
+ minHeight: processMinHeight
470
+ } : {},
471
+ ...maxHeight ? {
472
+ minHeight: processMinHeight,
473
+ height: fitScreen ? typeof maxHeight === "string" ? maxHeight : `${maxHeight}px` : void 0,
474
+ maxHeight: fitScreen ? `${availableHeight - 20}px` : typeof maxHeight === "string" ? maxHeight : `${maxHeight}px`
475
+ } : {},
476
+ ...fitScreen && !maxHeight ? {
477
+ minHeight: processMinHeight,
478
+ maxHeight: `${availableHeight - 20}px`
479
+ } : {},
480
+ zIndex: 1
481
+ });
482
+ }
483
+ }),
484
+ flip({
485
+ mainAxis: !disableFlip,
486
+ crossAxis: false,
487
+ fallbackAxisSideDirection: disableFlipFallback ? "none" : "end",
488
+ padding: 5
489
+ }),
490
+ shift({
491
+ padding: 5,
492
+ mainAxis: !disableShift,
493
+ crossAxis: false,
494
+ limiter: limitShift({
495
+ mainAxis: !disableShift
496
+ })
497
+ }),
498
+ arrow$1({
499
+ element: !disableCaret && arrowElement ? arrowElement : null,
500
+ padding: 5
501
+ })
502
+ ]
503
+ }).then(({ x, y, placement: placement2, middlewareData }) => {
504
+ setActualPlacement(placement2);
505
+ const side = placement2.split("-")[0];
506
+ const staticSide = {
507
+ top: "bottom",
508
+ right: "left",
509
+ bottom: "top",
510
+ left: "right"
511
+ }[side];
512
+ const arrowDeg = () => {
513
+ if (staticSide === "top") return 180;
514
+ if (staticSide === "bottom") return 0;
515
+ if (staticSide === "left") return 90;
516
+ return 270;
517
+ };
518
+ Object.assign(popover.style, {
519
+ left: `${x}px`,
520
+ top: `${y}px`
521
+ });
522
+ if (middlewareData.arrow && arrowElement) {
523
+ const { x: x2, y: y2 } = middlewareData.arrow;
524
+ Object.assign(arrowElement.style, {
525
+ left: x2 != null ? `${x2}px` : "",
526
+ top: y2 != null ? `${y2}px` : "",
527
+ right: "",
528
+ bottom: "",
529
+ [staticSide]: `${-arrowElement.offsetWidth + 2}px`,
530
+ transform: `rotate(${arrowDeg()}deg)`
531
+ });
610
532
  }
533
+ });
534
+ }, [
535
+ arrowElement,
536
+ disableCaret,
537
+ disableFlip,
538
+ disableFlipFallback,
539
+ disableShift,
540
+ fillAvailableHeight,
541
+ fitScreen,
542
+ fixedWidth,
543
+ invoker,
544
+ matchReferenceWidth,
545
+ maxHeight,
546
+ openState,
547
+ placement,
548
+ popover,
549
+ processMinHeight
550
+ ]);
551
+ useLayoutEffect(() => {
552
+ if (!popover || !invoker) return;
553
+ if (!openState) {
611
554
  return;
612
555
  }
613
- safeShowPopover(popover);
614
- } else {
615
- safeHidePopover(popover);
616
- dialogContext?.setHasOpenPopover?.(false);
617
- }
618
- }, [openState, openPopover, closePopover, dialogContext, popover]);
619
- useOnClickOutside({
620
- disable: disableCloseOnClickOutside || !openState,
621
- onClickOutsideBegin: (e) => {
622
- if (!openState) return;
623
- onClickOutside?.(e);
624
- },
625
- targets: [invoker, popover],
626
- onClickOutside: () => {
627
- if (openOnHover || isControlled) return;
628
- closePopover();
629
- }
630
- });
631
- const value = useMemo(() => {
632
- return {
556
+ let requestID = null;
557
+ const cleanup = autoUpdate(invoker, popover, () => {
558
+ requestID = requestAnimationFrame(updatePosition);
559
+ });
560
+ return () => {
561
+ if (requestID) cancelAnimationFrame(requestID);
562
+ cleanup();
563
+ };
564
+ }, [invoker, popover, updatePosition, openState]);
565
+ popover?.getRootNode();
566
+ const popoverId = id ?? `popover-${uid.replace(/:/g, "")}`;
567
+ const isControlled = typeof open !== "undefined";
568
+ const openPopover = useCallback(() => {
569
+ if (!popover || !rootNode?.querySelector(`#${popoverId}`))
570
+ return;
571
+ setOpenState(true);
572
+ }, [popover, rootNode, popoverId, setOpenState]);
573
+ const closePopover = useCallback(
574
+ (fn) => {
575
+ if (!popover || !openState) return;
576
+ if (!openOnHover) onClose?.();
577
+ setOpenState(false);
578
+ setTriggerHovered(false);
579
+ setContentHovered(false);
580
+ fn?.();
581
+ },
582
+ [
583
+ popover,
584
+ openState,
585
+ openOnHover,
586
+ onClose,
587
+ setOpenState,
588
+ setTriggerHovered,
589
+ setContentHovered
590
+ ]
591
+ );
592
+ useImperativeHandle(
593
+ ref,
594
+ () => ({
595
+ openPopover,
596
+ closePopover
597
+ }),
598
+ [openPopover, closePopover]
599
+ );
600
+ useEffect(() => {
601
+ if (typeof openState === "undefined") return;
602
+ if (openState) {
603
+ if (dialogContext) {
604
+ if (dialogContext?.ref?.current?.open) {
605
+ safeShowPopover(popover);
606
+ dialogContext?.setHasOpenPopover?.(true);
607
+ }
608
+ return;
609
+ }
610
+ safeShowPopover(popover);
611
+ } else {
612
+ safeHidePopover(popover);
613
+ dialogContext?.setHasOpenPopover?.(false);
614
+ }
615
+ }, [openState, openPopover, closePopover, dialogContext, popover]);
616
+ useOnClickOutside({
617
+ disable: disableCloseOnClickOutside || !openState,
618
+ onClickOutsideBegin: (e) => {
619
+ if (!openState) return;
620
+ onClickOutside?.(e);
621
+ },
622
+ targets: [invoker, popover],
623
+ onClickOutside: () => {
624
+ if (openOnHover || isControlled) return;
625
+ closePopover();
626
+ }
627
+ });
628
+ const value = useMemo(() => {
629
+ return {
630
+ popoverId,
631
+ invoker,
632
+ setInvoker,
633
+ popover,
634
+ setPopover,
635
+ arrowElement,
636
+ setArrowElement,
637
+ openPopover,
638
+ closePopover,
639
+ placement,
640
+ actualPlacement,
641
+ onClose,
642
+ openOnHover,
643
+ openState,
644
+ setOpenState,
645
+ disableCloseOnClickOutside,
646
+ fillAvailableHeight,
647
+ maxHeight,
648
+ matchReferenceWidth,
649
+ fixedWidth,
650
+ disableCaret,
651
+ disableFlipFallback,
652
+ disableTriggerFocus,
653
+ disableCloseOnEscape,
654
+ noPadding,
655
+ controlled: isControlled,
656
+ modal,
657
+ arrowRef,
658
+ rootNode,
659
+ setRootNode,
660
+ delay,
661
+ triggerHovered,
662
+ setTriggerHovered,
663
+ contentHovered,
664
+ setContentHovered
665
+ };
666
+ }, [
633
667
  popoverId,
634
668
  invoker,
635
- setInvoker,
636
669
  popover,
637
- setPopover,
638
670
  arrowElement,
639
- setArrowElement,
640
671
  openPopover,
641
672
  closePopover,
642
673
  placement,
@@ -655,130 +686,97 @@ const PopoverElement = forwardRef((props, ref) => {
655
686
  disableTriggerFocus,
656
687
  disableCloseOnEscape,
657
688
  noPadding,
658
- controlled: isControlled,
689
+ isControlled,
659
690
  modal,
660
- arrowRef,
661
691
  rootNode,
662
- setRootNode,
663
692
  delay,
664
693
  triggerHovered,
665
694
  setTriggerHovered,
666
695
  contentHovered,
667
696
  setContentHovered
668
- };
669
- }, [
670
- popoverId,
671
- invoker,
672
- popover,
673
- arrowElement,
674
- openPopover,
675
- closePopover,
676
- placement,
677
- actualPlacement,
678
- onClose,
679
- openOnHover,
680
- openState,
681
- setOpenState,
682
- disableCloseOnClickOutside,
683
- fillAvailableHeight,
684
- maxHeight,
685
- matchReferenceWidth,
686
- fixedWidth,
687
- disableCaret,
688
- disableFlipFallback,
689
- disableTriggerFocus,
690
- disableCloseOnEscape,
691
- noPadding,
692
- isControlled,
693
- modal,
694
- rootNode,
695
- delay,
696
- triggerHovered,
697
- setTriggerHovered,
698
- contentHovered,
699
- setContentHovered
700
- ]);
701
- return /* @__PURE__ */ jsx(PopoverContext.Provider, { value, children });
702
- });
703
- PopoverElement.displayName = "Popover";
704
- const Popover = Object.assign(PopoverElement, {
705
- /**
706
- * PopoverTrigger component for creating custom trigger elements.
707
- *
708
- * Features:
709
- * - Supports custom trigger elements via render prop pattern
710
- * - Automatic focus management and keyboard interaction
711
- * - Hover and click event handling
712
- * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)
713
- * - Context integration with parent popover
714
- * - Automatic tracking ID generation for analytics
715
- *
716
- * @example
717
- * <Popover.Trigger>
718
- * {(props) => (
719
- * <button {...props}>
720
- * Click to open popover
721
- * </button>
722
- * )}
723
- * </Popover.Trigger>
724
- */
725
- Trigger: PopoverTrigger,
726
- /**
727
- * PopoverContent component for the main popover content area.
728
- *
729
- * Features:
730
- * - Automatic positioning and sizing based on trigger
731
- * - Screen boundary detection and fitting
732
- * - Scroll handling with custom scroller reference
733
- * - Focus management and keyboard navigation
734
- * - Hover interaction support for tooltip mode
735
- * - Escape key handling for closing
736
- * - Tab key trapping for modal popovers
737
- * - Arrow/caret indicator with automatic positioning
738
- * - Context integration with parent popover
739
- * - Accessibility support with proper ARIA roles
740
- *
741
- * @example
742
- * <Popover.Content>
743
- * <p>This is the popover content</p>
744
- * <Popover.Close>Close</Popover.Close>
745
- * </Popover.Content>
746
- */
747
- Content: PopoverContent,
748
- /**
749
- * PopoverClose component for closing the popover.
750
- *
751
- * Features:
752
- * - Automatic popover closing on click
753
- * - Supports all Button component props and styling
754
- * - Controlled and uncontrolled mode support
755
- * - Context integration with parent popover
756
- * - Accessibility support with proper button semantics
757
- * - Delayed closing for controlled mode
758
- * - Automatic tracking ID generation for analytics
759
- *
760
- * @example
761
- * <Popover.Close>Close</Popover.Close>
762
- */
763
- Close: PopoverClose,
764
- /**
765
- * PopoverButton component for creating button-style triggers.
766
- *
767
- * Features:
768
- * - Button styling and behavior with all Button props
769
- * - Automatic popover opening on click
770
- * - Hover interaction support for tooltip mode
771
- * - Focus management and keyboard navigation
772
- * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)
773
- * - Context integration with parent popover
774
- * - Event handling for mouse, keyboard, and focus events
775
- * - Automatic tracking ID generation for analytics
776
- *
777
- * @example
778
- * <Popover.Button>Click to open</Popover.Button>
779
- */
780
- Button: PopoverButton
781
- });
697
+ ]);
698
+ return /* @__PURE__ */ jsx(PopoverContext.Provider, { value, children });
699
+ }),
700
+ {
701
+ /**
702
+ * PopoverTrigger component for creating custom trigger elements.
703
+ *
704
+ * Features:
705
+ * - Supports custom trigger elements via render prop pattern
706
+ * - Automatic focus management and keyboard interaction
707
+ * - Hover and click event handling
708
+ * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)
709
+ * - Context integration with parent popover
710
+ * - Automatic tracking ID generation for analytics
711
+ *
712
+ * @example
713
+ * <Popover.Trigger>
714
+ * {(props) => (
715
+ * <button {...props}>
716
+ * Click to open popover
717
+ * </button>
718
+ * )}
719
+ * </Popover.Trigger>
720
+ */
721
+ Trigger: PopoverTrigger,
722
+ /**
723
+ * PopoverContent component for the main popover content area.
724
+ *
725
+ * Features:
726
+ * - Automatic positioning and sizing based on trigger
727
+ * - Screen boundary detection and fitting
728
+ * - Scroll handling with custom scroller reference
729
+ * - Focus management and keyboard navigation
730
+ * - Hover interaction support for tooltip mode
731
+ * - Escape key handling for closing
732
+ * - Tab key trapping for modal popovers
733
+ * - Arrow/caret indicator with automatic positioning
734
+ * - Context integration with parent popover
735
+ * - Accessibility support with proper ARIA roles
736
+ *
737
+ * @example
738
+ * <Popover.Content>
739
+ * <p>This is the popover content</p>
740
+ * <Popover.Close>Close</Popover.Close>
741
+ * </Popover.Content>
742
+ */
743
+ Content: PopoverContent,
744
+ /**
745
+ * PopoverClose component for closing the popover.
746
+ *
747
+ * Features:
748
+ * - Automatic popover closing on click
749
+ * - Supports all Button component props and styling
750
+ * - Controlled and uncontrolled mode support
751
+ * - Context integration with parent popover
752
+ * - Accessibility support with proper button semantics
753
+ * - Delayed closing for controlled mode
754
+ * - Automatic tracking ID generation for analytics
755
+ *
756
+ * @example
757
+ * <Popover.Close>Close</Popover.Close>
758
+ */
759
+ Close: PopoverClose,
760
+ /**
761
+ * PopoverButton component for creating button-style triggers.
762
+ *
763
+ * Features:
764
+ * - Button styling and behavior with all Button props
765
+ * - Automatic popover opening on click
766
+ * - Hover interaction support for tooltip mode
767
+ * - Focus management and keyboard navigation
768
+ * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)
769
+ * - Context integration with parent popover
770
+ * - Event handling for mouse, keyboard, and focus events
771
+ * - Automatic tracking ID generation for analytics
772
+ *
773
+ * @example
774
+ * <Popover.Button>Click to open</Popover.Button>
775
+ */
776
+ Button: PopoverButton
777
+ }
778
+ );
779
+ Popover.displayName = "Popover";
782
780
 
783
781
  export { Popover as P, usePopoverContext as u };
784
- //# sourceMappingURL=Popover-D0qSKZ1J.js.map
782
+ //# sourceMappingURL=Popover-CpU9VAcb.js.map