@vritti/quantum-ui 0.3.12 → 0.3.15

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 (508) hide show
  1. package/dist/ActivePoints.js.map +1 -1
  2. package/dist/ActiveShapeUtils.js.map +1 -1
  3. package/dist/Alert.js +1 -1
  4. package/dist/Alert.js.map +1 -1
  5. package/dist/AreaChart.js.map +1 -1
  6. package/dist/Avatar.js +1 -1
  7. package/dist/Avatar.js.map +1 -1
  8. package/dist/Badge2.js +2 -2
  9. package/dist/BarChart.js.map +1 -1
  10. package/dist/BillingCycleSelector.js +37 -0
  11. package/dist/BillingCycleSelector.js.map +1 -0
  12. package/dist/Breadcrumb.js +1 -1
  13. package/dist/Breadcrumb.js.map +1 -1
  14. package/dist/Button.js +1 -1
  15. package/dist/Button.js.map +1 -1
  16. package/dist/Button2.js +2 -2
  17. package/dist/CardSkeleton.js.map +1 -1
  18. package/dist/CartesianChart.js.map +1 -1
  19. package/dist/CategoryFilter.js +6 -4
  20. package/dist/CategoryFilter.js.map +1 -1
  21. package/dist/Chart.js +53 -55
  22. package/dist/Chart.js.map +1 -1
  23. package/dist/Checkbox.js.map +1 -1
  24. package/dist/Checkbox2.js +4 -4
  25. package/dist/CheckboxGroup.js.map +1 -1
  26. package/dist/Collapsible.js.map +1 -1
  27. package/dist/Combination.js +1129 -0
  28. package/dist/Combination.js.map +1 -0
  29. package/dist/CompanySelector.js +20 -0
  30. package/dist/CompanySelector.js.map +1 -0
  31. package/dist/ConfirmHost.js.map +1 -1
  32. package/dist/CopyField.js +71 -0
  33. package/dist/CopyField.js.map +1 -0
  34. package/dist/CountrySelector.js +37 -0
  35. package/dist/CountrySelector.js.map +1 -0
  36. package/dist/CurrencyField.js +1 -0
  37. package/dist/CurrencyField.js.map +1 -1
  38. package/dist/CustomerSelector.js +2 -2
  39. package/dist/CustomerSelector.js.map +1 -1
  40. package/dist/DangerZoneSkeleton.js +21 -3
  41. package/dist/DangerZoneSkeleton.js.map +1 -1
  42. package/dist/DatePicker.js +3 -3
  43. package/dist/DatePicker.js.map +1 -1
  44. package/dist/DateTimePicker.js +2 -2
  45. package/dist/DetailSectionSkeleton.js.map +1 -1
  46. package/dist/Dialog.js.map +1 -1
  47. package/dist/DropdownMenu.js.map +1 -1
  48. package/dist/ErrorBarContext.js.map +1 -1
  49. package/dist/FeaturePermissionSelector.js +37 -0
  50. package/dist/FeaturePermissionSelector.js.map +1 -0
  51. package/dist/Form.js.map +1 -1
  52. package/dist/FormSection.js +4 -4
  53. package/dist/FormSection.js.map +1 -1
  54. package/dist/HierarchyGraph.js +5 -10621
  55. package/dist/HierarchyGraph.js.map +1 -1
  56. package/dist/ISOCountrySelect.js +283 -0
  57. package/dist/ISOCountrySelect.js.map +1 -0
  58. package/dist/IconSelect.js +3 -2
  59. package/dist/IconSelect.js.map +1 -1
  60. package/dist/InventoryItemSelector.js +2 -2
  61. package/dist/InventoryItemSelector.js.map +1 -1
  62. package/dist/Kbd.js +1 -1
  63. package/dist/Kbd.js.map +1 -1
  64. package/dist/Label.js +1 -1
  65. package/dist/LayoutModeContext.js.map +1 -1
  66. package/dist/LegalEntitySelector.js +37 -0
  67. package/dist/LegalEntitySelector.js.map +1 -0
  68. package/dist/LineChart.js.map +1 -1
  69. package/dist/LocationSelector.js +2 -2
  70. package/dist/LocationSelector.js.map +1 -1
  71. package/dist/LotSelector.js +2 -2
  72. package/dist/LotSelector.js.map +1 -1
  73. package/dist/OTPField.js.map +1 -1
  74. package/dist/PageContent.js.map +1 -1
  75. package/dist/PageHeaderSkeleton.js +21 -10
  76. package/dist/PageHeaderSkeleton.js.map +1 -1
  77. package/dist/PasswordField.js.map +1 -1
  78. package/dist/PermissionGate.js +49 -5
  79. package/dist/PermissionGate.js.map +1 -1
  80. package/dist/PersonSelector.js +20 -0
  81. package/dist/PersonSelector.js.map +1 -0
  82. package/dist/PhoneField.js.map +1 -1
  83. package/dist/PieChart.js.map +1 -1
  84. package/dist/PolarChart.js.map +1 -1
  85. package/dist/PurchaseOrderSelector.js +2 -2
  86. package/dist/PurchaseOrderSelector.js.map +1 -1
  87. package/dist/QuantSelector.js +2 -2
  88. package/dist/QuantSelector.js.map +1 -1
  89. package/dist/RadarChart.js.map +1 -1
  90. package/dist/RadialChart.js.map +1 -1
  91. package/dist/RadioGroup.js +6 -6
  92. package/dist/RadioGroup.js.map +1 -1
  93. package/dist/RoleSelector.js +20 -0
  94. package/dist/RoleSelector.js.map +1 -0
  95. package/dist/Select.js +4 -1
  96. package/dist/Select.js.map +1 -1
  97. package/dist/SelectFilter.js.map +1 -1
  98. package/dist/Separator.js.map +1 -1
  99. package/dist/SerialSelector.js +2 -2
  100. package/dist/SerialSelector.js.map +1 -1
  101. package/dist/Sidebar.js +2 -2
  102. package/dist/Sidebar.js.map +1 -1
  103. package/dist/SingleSelect.js +2 -2
  104. package/dist/SingleSelect.js.map +1 -1
  105. package/dist/SiteGroupSelector.js +37 -0
  106. package/dist/SiteGroupSelector.js.map +1 -0
  107. package/dist/SiteSelector.js +37 -0
  108. package/dist/SiteSelector.js.map +1 -0
  109. package/dist/Sonner.js +1 -1
  110. package/dist/Sonner.js.map +1 -1
  111. package/dist/Sortable.js +4 -4417
  112. package/dist/Sortable.js.map +1 -1
  113. package/dist/StepProgressIndicator.js.map +1 -1
  114. package/dist/SupplierItemSelector.js +2 -2
  115. package/dist/SupplierItemSelector.js.map +1 -1
  116. package/dist/SupplierSelector.js +2 -2
  117. package/dist/SupplierSelector.js.map +1 -1
  118. package/dist/Switch.js +3 -3
  119. package/dist/Switch.js.map +1 -1
  120. package/dist/TabsSkeleton.js +101 -49
  121. package/dist/TabsSkeleton.js.map +1 -1
  122. package/dist/TaxClassSelector.js +20 -0
  123. package/dist/TaxClassSelector.js.map +1 -0
  124. package/dist/TextField.js.map +1 -1
  125. package/dist/ThemeContext.js.map +1 -1
  126. package/dist/ThemeToggle.js.map +1 -1
  127. package/dist/Toggle.js +1 -1
  128. package/dist/Toggle.js.map +1 -1
  129. package/dist/Tooltip.js.map +1 -1
  130. package/dist/Typography.js.map +1 -1
  131. package/dist/UomSelector.js +2 -2
  132. package/dist/UomSelector.js.map +1 -1
  133. package/dist/UploadFile.js.map +1 -1
  134. package/dist/assets/quantum-ui.css +44 -13
  135. package/dist/calendar2.js +1 -1
  136. package/dist/collapsible2.js +1 -1
  137. package/dist/components/CompanySelector.js +2 -0
  138. package/dist/components/CompanySelector.js.map +1 -0
  139. package/dist/components/CopyField.js +2 -0
  140. package/dist/components/CopyField.js.map +1 -0
  141. package/dist/components/FormattedDate.js +2 -2
  142. package/dist/components/HierarchyGraph.js +2 -1
  143. package/dist/components/HierarchyGraph.js.map +1 -1
  144. package/dist/components/PermissionGate.js +1 -1
  145. package/dist/components/PersonSelector.js +2 -0
  146. package/dist/components/PersonSelector.js.map +1 -0
  147. package/dist/components/ScanBarcodeButton.js.map +1 -1
  148. package/dist/components/TreeView.js +7 -7
  149. package/dist/components/TreeView.js.map +1 -1
  150. package/dist/copy.js +18 -0
  151. package/dist/copy.js.map +1 -0
  152. package/dist/core.esm.js +4025 -0
  153. package/dist/core.esm.js.map +1 -0
  154. package/dist/dropdown-menu.js +10 -10
  155. package/dist/field.js +1 -1
  156. package/dist/getClassNameFromUnknown.js.map +1 -1
  157. package/dist/getRadiusAndStrokeWidthFromDot.js.map +1 -1
  158. package/dist/getZIndexFromUnknown.js.map +1 -1
  159. package/dist/graphicalItemSelectors.js.map +1 -1
  160. package/dist/image-component.js.map +1 -1
  161. package/dist/index.js +16 -3
  162. package/dist/index.js.map +1 -1
  163. package/dist/index10.js +102 -1499
  164. package/dist/index10.js.map +1 -1
  165. package/dist/index11.js +1499 -37
  166. package/dist/index11.js.map +1 -1
  167. package/dist/index12.js +29 -477
  168. package/dist/index12.js.map +1 -1
  169. package/dist/index13.js +427 -231
  170. package/dist/index13.js.map +1 -1
  171. package/dist/index14.js +215 -1074
  172. package/dist/index14.js.map +1 -1
  173. package/dist/index15.js +1140 -14
  174. package/dist/index15.js.map +1 -1
  175. package/dist/index16.js +13 -19
  176. package/dist/index16.js.map +1 -1
  177. package/dist/index17.js +24 -172
  178. package/dist/index17.js.map +1 -1
  179. package/dist/index18.js +168 -175
  180. package/dist/index18.js.map +1 -1
  181. package/dist/index19.js +173 -201
  182. package/dist/index19.js.map +1 -1
  183. package/dist/index20.js +203 -69
  184. package/dist/index20.js.map +1 -1
  185. package/dist/index21.js +70 -211
  186. package/dist/index21.js.map +1 -1
  187. package/dist/index22.js +207 -117
  188. package/dist/index22.js.map +1 -1
  189. package/dist/index23.js +123 -71
  190. package/dist/index23.js.map +1 -1
  191. package/dist/index24.js +74 -11
  192. package/dist/index24.js.map +1 -1
  193. package/dist/index25.js +13 -1134
  194. package/dist/index25.js.map +1 -1
  195. package/dist/index26.js +1120 -219
  196. package/dist/index26.js.map +1 -1
  197. package/dist/index27.js +202 -2506
  198. package/dist/index27.js.map +1 -1
  199. package/dist/index28.js +2527 -23
  200. package/dist/index28.js.map +1 -1
  201. package/dist/index29.js +32 -4
  202. package/dist/index29.js.map +1 -1
  203. package/dist/index3.js +11543 -267
  204. package/dist/index3.js.map +1 -1
  205. package/dist/index30.js +3 -1124
  206. package/dist/index30.js.map +1 -1
  207. package/dist/index31.js +1 -1
  208. package/dist/index32.js +7 -7
  209. package/dist/index34.js +1 -1
  210. package/dist/index37.js +1 -1
  211. package/dist/index38.js +23 -43
  212. package/dist/index38.js.map +1 -1
  213. package/dist/index4.js +272 -132
  214. package/dist/index4.js.map +1 -1
  215. package/dist/index5.js +138 -388
  216. package/dist/index5.js.map +1 -1
  217. package/dist/index6.js +386 -7
  218. package/dist/index6.js.map +1 -1
  219. package/dist/index7.js +13 -92
  220. package/dist/index7.js.map +1 -1
  221. package/dist/index8.js +92 -43
  222. package/dist/index8.js.map +1 -1
  223. package/dist/index9.js +42 -102
  224. package/dist/index9.js.map +1 -1
  225. package/dist/lib/components/Alert/Alert.d.ts.map +1 -1
  226. package/dist/lib/components/Avatar/Avatar.d.ts.map +1 -1
  227. package/dist/lib/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  228. package/dist/lib/components/Button/Button.d.ts.map +1 -1
  229. package/dist/lib/components/Card/CardSkeleton.d.ts.map +1 -1
  230. package/dist/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  231. package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  232. package/dist/lib/components/Collapsible/Collapsible.d.ts.map +1 -1
  233. package/dist/lib/components/CompanySelector/CompanySelector.d.ts +4 -0
  234. package/dist/lib/components/CompanySelector/CompanySelector.d.ts.map +1 -0
  235. package/dist/lib/components/CompanySelector/index.d.ts +2 -0
  236. package/dist/lib/components/CompanySelector/index.d.ts.map +1 -0
  237. package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts.map +1 -1
  238. package/dist/lib/components/CopyField/CopyField.d.ts +10 -0
  239. package/dist/lib/components/CopyField/CopyField.d.ts.map +1 -0
  240. package/dist/lib/components/CopyField/index.d.ts +2 -0
  241. package/dist/lib/components/CopyField/index.d.ts.map +1 -0
  242. package/dist/lib/components/CurrencyField/CurrencyField.d.ts.map +1 -1
  243. package/dist/lib/components/DangerZone/DangerZone.d.ts +3 -1
  244. package/dist/lib/components/DangerZone/DangerZone.d.ts.map +1 -1
  245. package/dist/lib/components/DataTable/CompactTableSkeleton.d.ts.map +1 -1
  246. package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -1
  247. package/dist/lib/components/DataTable/cells/cells.d.ts.map +1 -1
  248. package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts.map +1 -1
  249. package/dist/lib/components/DataTable/components/RowActions.d.ts.map +1 -1
  250. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -1
  251. package/dist/lib/components/DataTable/store/store.d.ts.map +1 -1
  252. package/dist/lib/components/DataTable/types.d.ts.map +1 -1
  253. package/dist/lib/components/DatePicker/DatePicker.d.ts +2 -2
  254. package/dist/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
  255. package/dist/lib/components/DetailField/DetailField.d.ts.map +1 -1
  256. package/dist/lib/components/DetailField/DetailHeader.d.ts.map +1 -1
  257. package/dist/lib/components/DetailField/DetailSectionSkeleton.d.ts.map +1 -1
  258. package/dist/lib/components/Dialog/Dialog.d.ts.map +1 -1
  259. package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  260. package/dist/lib/components/DropdownMenu/types.d.ts.map +1 -1
  261. package/dist/lib/components/Editor/editor-ui/color-picker.d.ts.map +1 -1
  262. package/dist/lib/components/Editor/editor-ui/image-component.d.ts.map +1 -1
  263. package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts.map +1 -1
  264. package/dist/lib/components/Editor/plugins/actions/max-length-plugin.d.ts.map +1 -1
  265. package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts.map +1 -1
  266. package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts.map +1 -1
  267. package/dist/lib/components/Editor/plugins/emojis-plugin.d.ts.map +1 -1
  268. package/dist/lib/components/Editor/plugins/floating-link-editor-plugin.d.ts.map +1 -1
  269. package/dist/lib/components/Editor/plugins/floating-text-format-plugin.d.ts.map +1 -1
  270. package/dist/lib/components/Editor/plugins/images-plugin.d.ts.map +1 -1
  271. package/dist/lib/components/Editor/plugins/keywords-plugin.d.ts.map +1 -1
  272. package/dist/lib/components/Editor/plugins/layout-plugin.d.ts.map +1 -1
  273. package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts.map +1 -1
  274. package/dist/lib/components/Editor/plugins/mentions-plugin.d.ts.map +1 -1
  275. package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts.map +1 -1
  276. package/dist/lib/components/Editor/plugins/tab-focus-plugin.d.ts.map +1 -1
  277. package/dist/lib/components/Editor/plugins/table-plugin.d.ts.map +1 -1
  278. package/dist/lib/components/Editor/plugins/toolbar/clear-formatting-toolbar-plugin.d.ts.map +1 -1
  279. package/dist/lib/components/Editor/plugins/typing-pref-plugin.d.ts.map +1 -1
  280. package/dist/lib/components/Editor/shared/invariant.d.ts.map +1 -1
  281. package/dist/lib/components/Editor/shared/react-patches.d.ts.map +1 -1
  282. package/dist/lib/components/Editor/shared/react-test-utils.d.ts.map +1 -1
  283. package/dist/lib/components/Editor/shared/simple-diff-with-cursor.d.ts.map +1 -1
  284. package/dist/lib/components/Editor/shared/use-layout-effect.d.ts.map +1 -1
  285. package/dist/lib/components/Editor/transformers/markdown-table-transformer.d.ts.map +1 -1
  286. package/dist/lib/components/Editor/utils/collapsible.d.ts.map +1 -1
  287. package/dist/lib/components/Editor/utils/doc-serialization.d.ts.map +1 -1
  288. package/dist/lib/components/Editor/utils/emoji-list.d.ts.map +1 -1
  289. package/dist/lib/components/Editor/utils/get-dom-range-rect.d.ts.map +1 -1
  290. package/dist/lib/components/Editor/utils/get-selected-node.d.ts.map +1 -1
  291. package/dist/lib/components/Editor/utils/guard.d.ts.map +1 -1
  292. package/dist/lib/components/Editor/utils/set-floating-elem-position-for-link-editor.d.ts.map +1 -1
  293. package/dist/lib/components/Editor/utils/set-floating-elem-position.d.ts.map +1 -1
  294. package/dist/lib/components/Editor/utils/swipe.d.ts.map +1 -1
  295. package/dist/lib/components/Editor/utils/url.d.ts.map +1 -1
  296. package/dist/lib/components/Form/Form.d.ts.map +1 -1
  297. package/dist/lib/components/OTPField/OTPField.d.ts.map +1 -1
  298. package/dist/lib/components/PageContent/PageContent.d.ts.map +1 -1
  299. package/dist/lib/components/PageHeader/PageHeader.d.ts.map +1 -1
  300. package/dist/lib/components/PasswordField/PasswordField.d.ts.map +1 -1
  301. package/dist/lib/components/PermissionGate/PermissionGate.d.ts +15 -4
  302. package/dist/lib/components/PermissionGate/PermissionGate.d.ts.map +1 -1
  303. package/dist/lib/components/PermissionGate/index.d.ts +1 -1
  304. package/dist/lib/components/PermissionGate/index.d.ts.map +1 -1
  305. package/dist/lib/components/PersonSelector/PersonSelector.d.ts +4 -0
  306. package/dist/lib/components/PersonSelector/PersonSelector.d.ts.map +1 -0
  307. package/dist/lib/components/PersonSelector/index.d.ts +2 -0
  308. package/dist/lib/components/PersonSelector/index.d.ts.map +1 -0
  309. package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
  310. package/dist/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  311. package/dist/lib/components/ScanBarcodeButton/ScanBarcodeButton.d.ts.map +1 -1
  312. package/dist/lib/components/Select/SelectFilter.d.ts.map +1 -1
  313. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  314. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -1
  315. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -1
  316. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -1
  317. package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -1
  318. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -1
  319. package/dist/lib/components/Select/types.d.ts +1 -1
  320. package/dist/lib/components/Select/types.d.ts.map +1 -1
  321. package/dist/lib/components/Separator/Separator.d.ts.map +1 -1
  322. package/dist/lib/components/Sidebar/Sidebar.d.ts.map +1 -1
  323. package/dist/lib/components/Sonner/Sonner.d.ts.map +1 -1
  324. package/dist/lib/components/Sonner/toast.d.ts.map +1 -1
  325. package/dist/lib/components/StepProgressIndicator/StepProgressIndicator.d.ts.map +1 -1
  326. package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
  327. package/dist/lib/components/Tabs/Tabs.d.ts +2 -0
  328. package/dist/lib/components/Tabs/Tabs.d.ts.map +1 -1
  329. package/dist/lib/components/Tabs/TabsSkeleton.d.ts.map +1 -1
  330. package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
  331. package/dist/lib/components/ThemeToggle/ThemeToggle.d.ts.map +1 -1
  332. package/dist/lib/components/Toggle/Toggle.d.ts.map +1 -1
  333. package/dist/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  334. package/dist/lib/components/TreeView/TreeView.d.ts.map +1 -1
  335. package/dist/lib/components/Typography/Typography.d.ts.map +1 -1
  336. package/dist/lib/components/UploadFile/UploadFile.d.ts.map +1 -1
  337. package/dist/lib/components/index.d.ts +3 -0
  338. package/dist/lib/components/index.d.ts.map +1 -1
  339. package/dist/lib/config/index.d.ts.map +1 -1
  340. package/dist/lib/context/LayoutModeContext.d.ts.map +1 -1
  341. package/dist/lib/context/ThemeContext.d.ts.map +1 -1
  342. package/dist/lib/hooks/useBUCurrency.d.ts.map +1 -1
  343. package/dist/lib/hooks/useBUTimezone.d.ts.map +1 -1
  344. package/dist/lib/hooks/useBarcodeScanner.d.ts.map +1 -1
  345. package/dist/lib/hooks/useFormatters.d.ts.map +1 -1
  346. package/dist/lib/hooks/useSSE.d.ts.map +1 -1
  347. package/dist/lib/hooks/useTheme.d.ts.map +1 -1
  348. package/dist/lib/index.d.ts.map +1 -1
  349. package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts +12 -0
  350. package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts.map +1 -0
  351. package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts +4 -0
  352. package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts.map +1 -0
  353. package/dist/lib/selects/billing-cycle/index.d.ts +3 -0
  354. package/dist/lib/selects/billing-cycle/index.d.ts.map +1 -0
  355. package/dist/lib/selects/category/CategoryFilter.d.ts.map +1 -1
  356. package/dist/lib/selects/category/CategorySelector.d.ts.map +1 -1
  357. package/dist/lib/selects/cost-category/CostCategorySelector.d.ts.map +1 -1
  358. package/dist/lib/selects/country/CountryFilter.d.ts +12 -0
  359. package/dist/lib/selects/country/CountryFilter.d.ts.map +1 -0
  360. package/dist/lib/selects/country/CountrySelector.d.ts +4 -0
  361. package/dist/lib/selects/country/CountrySelector.d.ts.map +1 -0
  362. package/dist/lib/selects/country/index.d.ts +3 -0
  363. package/dist/lib/selects/country/index.d.ts.map +1 -0
  364. package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts +12 -0
  365. package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts.map +1 -0
  366. package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts +4 -0
  367. package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts.map +1 -0
  368. package/dist/lib/selects/feature-permission/index.d.ts +3 -0
  369. package/dist/lib/selects/feature-permission/index.d.ts.map +1 -0
  370. package/dist/lib/selects/icon/IconSelect.d.ts.map +1 -1
  371. package/dist/lib/selects/index.d.ts +9 -0
  372. package/dist/lib/selects/index.d.ts.map +1 -1
  373. package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts +2 -2
  374. package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts.map +1 -1
  375. package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts +15 -0
  376. package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts.map +1 -0
  377. package/dist/lib/selects/iso-country/index.d.ts +3 -0
  378. package/dist/lib/selects/iso-country/index.d.ts.map +1 -0
  379. package/dist/lib/selects/iso-country/iso-countries.d.ts +7 -0
  380. package/dist/lib/selects/iso-country/iso-countries.d.ts.map +1 -0
  381. package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts +12 -0
  382. package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts.map +1 -0
  383. package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts +4 -0
  384. package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts.map +1 -0
  385. package/dist/lib/selects/legal-entity/index.d.ts +3 -0
  386. package/dist/lib/selects/legal-entity/index.d.ts.map +1 -0
  387. package/dist/lib/selects/location/LocationSelector.d.ts.map +1 -1
  388. package/dist/lib/selects/purchase-order/PurchaseOrderSelector.d.ts.map +1 -1
  389. package/dist/lib/selects/purchase-order-item/PurchaseOrderItemSelector.d.ts.map +1 -1
  390. package/dist/lib/selects/role/RoleSelector.d.ts +4 -0
  391. package/dist/lib/selects/role/RoleSelector.d.ts.map +1 -0
  392. package/dist/lib/selects/role/index.d.ts +2 -0
  393. package/dist/lib/selects/role/index.d.ts.map +1 -0
  394. package/dist/lib/selects/serial/SerialSelector.d.ts.map +1 -1
  395. package/dist/lib/selects/site/SiteFilter.d.ts +12 -0
  396. package/dist/lib/selects/site/SiteFilter.d.ts.map +1 -0
  397. package/dist/lib/selects/site/SiteSelector.d.ts +4 -0
  398. package/dist/lib/selects/site/SiteSelector.d.ts.map +1 -0
  399. package/dist/lib/selects/site/index.d.ts +3 -0
  400. package/dist/lib/selects/site/index.d.ts.map +1 -0
  401. package/dist/lib/selects/site-group/SiteGroupFilter.d.ts +12 -0
  402. package/dist/lib/selects/site-group/SiteGroupFilter.d.ts.map +1 -0
  403. package/dist/lib/selects/site-group/SiteGroupSelector.d.ts +4 -0
  404. package/dist/lib/selects/site-group/SiteGroupSelector.d.ts.map +1 -0
  405. package/dist/lib/selects/site-group/index.d.ts +3 -0
  406. package/dist/lib/selects/site-group/index.d.ts.map +1 -0
  407. package/dist/lib/selects/supplier/SupplierSelector.d.ts.map +1 -1
  408. package/dist/lib/selects/supplier-item/SupplierItemFilter.d.ts.map +1 -1
  409. package/dist/lib/selects/supplier-item/SupplierItemSelector.d.ts.map +1 -1
  410. package/dist/lib/selects/tax-class/TaxClassSelector.d.ts +4 -0
  411. package/dist/lib/selects/tax-class/TaxClassSelector.d.ts.map +1 -0
  412. package/dist/lib/selects/tax-class/index.d.ts +2 -0
  413. package/dist/lib/selects/tax-class/index.d.ts.map +1 -0
  414. package/dist/lib/theme/index.d.ts.map +1 -1
  415. package/dist/lib/types/catalog-resolver.d.ts +50 -17
  416. package/dist/lib/types/catalog-resolver.d.ts.map +1 -1
  417. package/dist/lib/utils/axios.d.ts.map +1 -1
  418. package/dist/lib/utils/cn.d.ts +3 -0
  419. package/dist/lib/utils/cn.d.ts.map +1 -0
  420. package/dist/lib/utils/dagre.d.ts +2 -0
  421. package/dist/lib/utils/dagre.d.ts.map +1 -0
  422. package/dist/lib/utils/dnd-kit/core.d.ts +2 -0
  423. package/dist/lib/utils/dnd-kit/core.d.ts.map +1 -0
  424. package/dist/lib/utils/dnd-kit/sortable.d.ts +2 -0
  425. package/dist/lib/utils/dnd-kit/sortable.d.ts.map +1 -0
  426. package/dist/lib/utils/dnd-kit/utilities.d.ts +2 -0
  427. package/dist/lib/utils/dnd-kit/utilities.d.ts.map +1 -0
  428. package/dist/lib/utils/formHelpers.d.ts.map +1 -1
  429. package/dist/lib/utils/format.d.ts.map +1 -1
  430. package/dist/lib/utils/permission-deps.d.ts +9 -0
  431. package/dist/lib/utils/permission-deps.d.ts.map +1 -0
  432. package/dist/lib/utils/react-flow.d.ts +2 -0
  433. package/dist/lib/utils/react-flow.d.ts.map +1 -0
  434. package/dist/lib/utils/zod.d.ts +9 -0
  435. package/dist/lib/utils/zod.d.ts.map +1 -1
  436. package/dist/polarScaleSelectors.js.map +1 -1
  437. package/dist/popover.js +1 -1
  438. package/dist/select2.js +1 -1
  439. package/dist/selects/billing-cycle.js +2 -0
  440. package/dist/selects/billing-cycle.js.map +1 -0
  441. package/dist/selects/cost-category.js +2 -2
  442. package/dist/selects/cost-category.js.map +1 -1
  443. package/dist/selects/country.js +2 -0
  444. package/dist/selects/country.js.map +1 -0
  445. package/dist/selects/feature-permission.js +2 -0
  446. package/dist/selects/feature-permission.js.map +1 -0
  447. package/dist/selects/iso-country.js +2 -0
  448. package/dist/selects/iso-country.js.map +1 -0
  449. package/dist/selects/legal-entity.js +2 -0
  450. package/dist/selects/legal-entity.js.map +1 -0
  451. package/dist/selects/purchase-order-item.js +1 -1
  452. package/dist/selects/purchase-order-item.js.map +1 -1
  453. package/dist/selects/role.js +2 -0
  454. package/dist/selects/role.js.map +1 -0
  455. package/dist/selects/site-group.js +2 -0
  456. package/dist/selects/site-group.js.map +1 -0
  457. package/dist/selects/site.js +2 -0
  458. package/dist/selects/site.js.map +1 -0
  459. package/dist/selects/tax-class.js +2 -0
  460. package/dist/selects/tax-class.js.map +1 -0
  461. package/dist/selects/tax-group.js +2 -2
  462. package/dist/selects/tax-group.js.map +1 -1
  463. package/dist/separator2.js +1 -1
  464. package/dist/sortable.esm.js +780 -0
  465. package/dist/sortable.esm.js.map +1 -0
  466. package/dist/theme/index.js.map +1 -1
  467. package/dist/toast.js +2 -26
  468. package/dist/toast.js.map +1 -1
  469. package/dist/tooltip2.js +1 -1
  470. package/dist/tooltipContext.js.map +1 -1
  471. package/dist/types/catalog-resolver.js +5 -2
  472. package/dist/types/catalog-resolver.js.map +1 -1
  473. package/dist/useBUTimezone.js.map +1 -1
  474. package/dist/useDataTable.js +58 -60
  475. package/dist/useDataTable.js.map +1 -1
  476. package/dist/useFormatters.js.map +1 -1
  477. package/dist/useTheme.js.map +1 -1
  478. package/dist/useTimer.js +2 -2
  479. package/dist/useTimer.js.map +1 -1
  480. package/dist/utilities.esm.js +333 -0
  481. package/dist/utilities.esm.js.map +1 -0
  482. package/dist/utils/axios.js +1 -1
  483. package/dist/utils/axios.js.map +1 -1
  484. package/dist/utils/cn.js +6 -0
  485. package/dist/utils/cn.js.map +1 -0
  486. package/dist/utils/currency.js +2 -2
  487. package/dist/utils/dagre.js +4 -0
  488. package/dist/utils/dagre.js.map +1 -0
  489. package/dist/utils/dnd-kit/core.js +2 -0
  490. package/dist/utils/dnd-kit/core.js.map +1 -0
  491. package/dist/utils/dnd-kit/sortable.js +2 -0
  492. package/dist/utils/dnd-kit/sortable.js.map +1 -0
  493. package/dist/utils/dnd-kit/utilities.js +2 -0
  494. package/dist/utils/dnd-kit/utilities.js.map +1 -0
  495. package/dist/utils/format.js +2 -2
  496. package/dist/utils/format.js.map +1 -1
  497. package/dist/utils/hotkeys.js +1 -1
  498. package/dist/utils/money.js +1 -1
  499. package/dist/utils/permission-deps.js +64 -0
  500. package/dist/utils/permission-deps.js.map +1 -0
  501. package/dist/utils/react-flow.js +2 -0
  502. package/dist/utils/react-flow.js.map +1 -0
  503. package/dist/utils/timezone.js +1 -1
  504. package/dist/utils/zod.js +11 -1
  505. package/dist/utils/zod.js.map +1 -1
  506. package/dist/youtube.js +15 -29
  507. package/dist/youtube.js.map +1 -1
  508. package/package.json +77 -1
package/dist/index13.js CHANGED
@@ -1,292 +1,488 @@
1
1
  import * as React from 'react';
2
- import { u as useControllableState, P as Primitive, c as composeEventHandlers, b as createSlot } from './index19.js';
3
- import { u as useComposedRefs } from './index11.js';
4
- import { c as createContextScope } from './index20.js';
5
- import { P as Portal$1, D as DismissableLayer } from './index26.js';
6
- import { h as hideOthers, R as ReactRemoveScroll, u as useFocusGuards, F as FocusScope } from './index30.js';
7
- import { u as useId } from './index24.js';
8
- import { R as Root2$1, A as Anchor, c as createPopperScope, C as Content, a as Arrow } from './index27.js';
9
- import { P as Presence } from './index22.js';
10
- import { jsx } from 'react/jsx-runtime';
2
+ import { u as useControllableState, P as Primitive, c as composeEventHandlers, a as createSlottable } from './index20.js';
3
+ import { u as useComposedRefs } from './index12.js';
4
+ import { c as createContextScope } from './index21.js';
5
+ import { P as Portal$1, D as DismissableLayer } from './index27.js';
6
+ import { u as useId } from './index25.js';
7
+ import { R as Root2, A as Anchor, c as createPopperScope, a as Arrow, C as Content } from './index28.js';
8
+ import { P as Presence } from './index23.js';
9
+ import { R as Root } from './index29.js';
10
+ import { jsx, jsxs } from 'react/jsx-runtime';
11
11
 
12
- var POPOVER_NAME = "Popover";
13
- var [createPopoverContext] = createContextScope(POPOVER_NAME, [
12
+ var [createTooltipContext] = createContextScope("Tooltip", [
14
13
  createPopperScope
15
14
  ]);
16
15
  var usePopperScope = createPopperScope();
17
- var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
18
- var Popover = (props) => {
16
+ var PROVIDER_NAME = "TooltipProvider";
17
+ var DEFAULT_DELAY_DURATION = 700;
18
+ var TOOLTIP_OPEN = "tooltip.open";
19
+ var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);
20
+ var TooltipProvider = (props) => {
19
21
  const {
20
- __scopePopover,
22
+ __scopeTooltip,
23
+ delayDuration = DEFAULT_DELAY_DURATION,
24
+ skipDelayDuration = 300,
25
+ disableHoverableContent = false,
26
+ children
27
+ } = props;
28
+ const isOpenDelayedRef = React.useRef(true);
29
+ const isPointerInTransitRef = React.useRef(false);
30
+ const skipDelayTimerRef = React.useRef(0);
31
+ React.useEffect(() => {
32
+ const skipDelayTimer = skipDelayTimerRef.current;
33
+ return () => window.clearTimeout(skipDelayTimer);
34
+ }, []);
35
+ return /* @__PURE__ */ jsx(
36
+ TooltipProviderContextProvider,
37
+ {
38
+ scope: __scopeTooltip,
39
+ isOpenDelayedRef,
40
+ delayDuration,
41
+ onOpen: React.useCallback(() => {
42
+ window.clearTimeout(skipDelayTimerRef.current);
43
+ isOpenDelayedRef.current = false;
44
+ }, []),
45
+ onClose: React.useCallback(() => {
46
+ window.clearTimeout(skipDelayTimerRef.current);
47
+ skipDelayTimerRef.current = window.setTimeout(
48
+ () => isOpenDelayedRef.current = true,
49
+ skipDelayDuration
50
+ );
51
+ }, [skipDelayDuration]),
52
+ isPointerInTransitRef,
53
+ onPointerInTransitChange: React.useCallback((inTransit) => {
54
+ isPointerInTransitRef.current = inTransit;
55
+ }, []),
56
+ disableHoverableContent,
57
+ children
58
+ }
59
+ );
60
+ };
61
+ TooltipProvider.displayName = PROVIDER_NAME;
62
+ var TOOLTIP_NAME = "Tooltip";
63
+ var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);
64
+ var Tooltip = (props) => {
65
+ const {
66
+ __scopeTooltip,
21
67
  children,
22
68
  open: openProp,
23
69
  defaultOpen,
24
70
  onOpenChange,
25
- modal = false
71
+ disableHoverableContent: disableHoverableContentProp,
72
+ delayDuration: delayDurationProp
26
73
  } = props;
27
- const popperScope = usePopperScope(__scopePopover);
28
- const triggerRef = React.useRef(null);
29
- const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
74
+ const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
75
+ const popperScope = usePopperScope(__scopeTooltip);
76
+ const [trigger, setTrigger] = React.useState(null);
77
+ const contentId = useId();
78
+ const openTimerRef = React.useRef(0);
79
+ const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;
80
+ const delayDuration = delayDurationProp ?? providerContext.delayDuration;
81
+ const wasOpenDelayedRef = React.useRef(false);
30
82
  const [open, setOpen] = useControllableState({
31
83
  prop: openProp,
32
84
  defaultProp: defaultOpen ?? false,
33
- onChange: onOpenChange,
34
- caller: POPOVER_NAME
85
+ onChange: (open2) => {
86
+ if (open2) {
87
+ providerContext.onOpen();
88
+ document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));
89
+ } else {
90
+ providerContext.onClose();
91
+ }
92
+ onOpenChange?.(open2);
93
+ },
94
+ caller: TOOLTIP_NAME
35
95
  });
36
- return /* @__PURE__ */ jsx(Root2$1, { ...popperScope, children: /* @__PURE__ */ jsx(
37
- PopoverProvider,
96
+ const stateAttribute = React.useMemo(() => {
97
+ return open ? wasOpenDelayedRef.current ? "delayed-open" : "instant-open" : "closed";
98
+ }, [open]);
99
+ const handleOpen = React.useCallback(() => {
100
+ window.clearTimeout(openTimerRef.current);
101
+ openTimerRef.current = 0;
102
+ wasOpenDelayedRef.current = false;
103
+ setOpen(true);
104
+ }, [setOpen]);
105
+ const handleClose = React.useCallback(() => {
106
+ window.clearTimeout(openTimerRef.current);
107
+ openTimerRef.current = 0;
108
+ setOpen(false);
109
+ }, [setOpen]);
110
+ const handleDelayedOpen = React.useCallback(() => {
111
+ window.clearTimeout(openTimerRef.current);
112
+ openTimerRef.current = window.setTimeout(() => {
113
+ wasOpenDelayedRef.current = true;
114
+ setOpen(true);
115
+ openTimerRef.current = 0;
116
+ }, delayDuration);
117
+ }, [delayDuration, setOpen]);
118
+ React.useEffect(() => {
119
+ return () => {
120
+ if (openTimerRef.current) {
121
+ window.clearTimeout(openTimerRef.current);
122
+ openTimerRef.current = 0;
123
+ }
124
+ };
125
+ }, []);
126
+ return /* @__PURE__ */ jsx(Root2, { ...popperScope, children: /* @__PURE__ */ jsx(
127
+ TooltipContextProvider,
38
128
  {
39
- scope: __scopePopover,
40
- contentId: useId(),
41
- triggerRef,
129
+ scope: __scopeTooltip,
130
+ contentId,
42
131
  open,
43
- onOpenChange: setOpen,
44
- onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
45
- hasCustomAnchor,
46
- onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),
47
- onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),
48
- modal,
132
+ stateAttribute,
133
+ trigger,
134
+ onTriggerChange: setTrigger,
135
+ onTriggerEnter: React.useCallback(() => {
136
+ if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();
137
+ else handleOpen();
138
+ }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),
139
+ onTriggerLeave: React.useCallback(() => {
140
+ if (disableHoverableContent) {
141
+ handleClose();
142
+ } else {
143
+ window.clearTimeout(openTimerRef.current);
144
+ openTimerRef.current = 0;
145
+ }
146
+ }, [handleClose, disableHoverableContent]),
147
+ onOpen: handleOpen,
148
+ onClose: handleClose,
149
+ disableHoverableContent,
49
150
  children
50
151
  }
51
152
  ) });
52
153
  };
53
- Popover.displayName = POPOVER_NAME;
54
- var ANCHOR_NAME = "PopoverAnchor";
55
- var PopoverAnchor = React.forwardRef(
154
+ Tooltip.displayName = TOOLTIP_NAME;
155
+ var TRIGGER_NAME = "TooltipTrigger";
156
+ var TooltipTrigger = React.forwardRef(
56
157
  (props, forwardedRef) => {
57
- const { __scopePopover, ...anchorProps } = props;
58
- const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
59
- const popperScope = usePopperScope(__scopePopover);
60
- const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
158
+ const { __scopeTooltip, ...triggerProps } = props;
159
+ const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);
160
+ const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);
161
+ const popperScope = usePopperScope(__scopeTooltip);
162
+ const ref = React.useRef(null);
163
+ const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);
164
+ const isPointerDownRef = React.useRef(false);
165
+ const hasPointerMoveOpenedRef = React.useRef(false);
166
+ const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);
61
167
  React.useEffect(() => {
62
- onCustomAnchorAdd();
63
- return () => onCustomAnchorRemove();
64
- }, [onCustomAnchorAdd, onCustomAnchorRemove]);
65
- return /* @__PURE__ */ jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
66
- }
67
- );
68
- PopoverAnchor.displayName = ANCHOR_NAME;
69
- var TRIGGER_NAME = "PopoverTrigger";
70
- var PopoverTrigger = React.forwardRef(
71
- (props, forwardedRef) => {
72
- const { __scopePopover, ...triggerProps } = props;
73
- const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
74
- const popperScope = usePopperScope(__scopePopover);
75
- const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
76
- const trigger = /* @__PURE__ */ jsx(
168
+ return () => document.removeEventListener("pointerup", handlePointerUp);
169
+ }, [handlePointerUp]);
170
+ return /* @__PURE__ */ jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
77
171
  Primitive.button,
78
172
  {
79
- type: "button",
80
- "aria-haspopup": "dialog",
81
- "aria-expanded": context.open,
82
- "aria-controls": context.contentId,
83
- "data-state": getState(context.open),
173
+ "aria-describedby": context.open ? context.contentId : void 0,
174
+ "data-state": context.stateAttribute,
84
175
  ...triggerProps,
85
- ref: composedTriggerRef,
86
- onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
176
+ ref: composedRefs,
177
+ onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {
178
+ if (event.pointerType === "touch") return;
179
+ if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {
180
+ context.onTriggerEnter();
181
+ hasPointerMoveOpenedRef.current = true;
182
+ }
183
+ }),
184
+ onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {
185
+ context.onTriggerLeave();
186
+ hasPointerMoveOpenedRef.current = false;
187
+ }),
188
+ onPointerDown: composeEventHandlers(props.onPointerDown, () => {
189
+ if (context.open) {
190
+ context.onClose();
191
+ }
192
+ isPointerDownRef.current = true;
193
+ document.addEventListener("pointerup", handlePointerUp, { once: true });
194
+ }),
195
+ onFocus: composeEventHandlers(props.onFocus, () => {
196
+ if (!isPointerDownRef.current) context.onOpen();
197
+ }),
198
+ onBlur: composeEventHandlers(props.onBlur, context.onClose),
199
+ onClick: composeEventHandlers(props.onClick, context.onClose)
87
200
  }
88
- );
89
- return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(Anchor, { asChild: true, ...popperScope, children: trigger });
201
+ ) });
90
202
  }
91
203
  );
92
- PopoverTrigger.displayName = TRIGGER_NAME;
93
- var PORTAL_NAME = "PopoverPortal";
94
- var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
204
+ TooltipTrigger.displayName = TRIGGER_NAME;
205
+ var PORTAL_NAME = "TooltipPortal";
206
+ var [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {
95
207
  forceMount: void 0
96
208
  });
97
- var PopoverPortal = (props) => {
98
- const { __scopePopover, forceMount, children, container } = props;
99
- const context = usePopoverContext(PORTAL_NAME, __scopePopover);
100
- return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children }) }) });
209
+ var TooltipPortal = (props) => {
210
+ const { __scopeTooltip, forceMount, children, container } = props;
211
+ const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);
212
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children }) }) });
101
213
  };
102
- PopoverPortal.displayName = PORTAL_NAME;
103
- var CONTENT_NAME = "PopoverContent";
104
- var PopoverContent = React.forwardRef(
214
+ TooltipPortal.displayName = PORTAL_NAME;
215
+ var CONTENT_NAME = "TooltipContent";
216
+ var TooltipContent = React.forwardRef(
105
217
  (props, forwardedRef) => {
106
- const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
107
- const { forceMount = portalContext.forceMount, ...contentProps } = props;
108
- const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
109
- return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
218
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);
219
+ const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
220
+ const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
221
+ return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });
110
222
  }
111
223
  );
112
- PopoverContent.displayName = CONTENT_NAME;
113
- var Slot = createSlot("PopoverContent.RemoveScroll");
114
- var PopoverContentModal = React.forwardRef(
115
- (props, forwardedRef) => {
116
- const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
117
- const contentRef = React.useRef(null);
118
- const composedRefs = useComposedRefs(forwardedRef, contentRef);
119
- const isRightClickOutsideRef = React.useRef(false);
120
- React.useEffect(() => {
121
- const content = contentRef.current;
122
- if (content) return hideOthers(content);
123
- }, []);
124
- return /* @__PURE__ */ jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(
125
- PopoverContentImpl,
126
- {
127
- ...props,
128
- ref: composedRefs,
129
- trapFocus: context.open,
130
- disableOutsidePointerEvents: true,
131
- onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
132
- event.preventDefault();
133
- if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();
134
- }),
135
- onPointerDownOutside: composeEventHandlers(
136
- props.onPointerDownOutside,
137
- (event) => {
138
- const originalEvent = event.detail.originalEvent;
139
- const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
140
- const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
141
- isRightClickOutsideRef.current = isRightClick;
142
- },
143
- { checkForDefaultPrevented: false }
144
- ),
145
- onFocusOutside: composeEventHandlers(
146
- props.onFocusOutside,
147
- (event) => event.preventDefault(),
148
- { checkForDefaultPrevented: false }
149
- )
150
- }
151
- ) });
152
- }
153
- );
154
- var PopoverContentNonModal = React.forwardRef(
155
- (props, forwardedRef) => {
156
- const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
157
- const hasInteractedOutsideRef = React.useRef(false);
158
- const hasPointerDownOutsideRef = React.useRef(false);
159
- return /* @__PURE__ */ jsx(
160
- PopoverContentImpl,
161
- {
162
- ...props,
163
- ref: forwardedRef,
164
- trapFocus: false,
165
- disableOutsidePointerEvents: false,
166
- onCloseAutoFocus: (event) => {
167
- props.onCloseAutoFocus?.(event);
168
- if (!event.defaultPrevented) {
169
- if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
170
- event.preventDefault();
171
- }
172
- hasInteractedOutsideRef.current = false;
173
- hasPointerDownOutsideRef.current = false;
174
- },
175
- onInteractOutside: (event) => {
176
- props.onInteractOutside?.(event);
177
- if (!event.defaultPrevented) {
178
- hasInteractedOutsideRef.current = true;
179
- if (event.detail.originalEvent.type === "pointerdown") {
180
- hasPointerDownOutsideRef.current = true;
181
- }
182
- }
183
- const target = event.target;
184
- const targetIsTrigger = context.triggerRef.current?.contains(target);
185
- if (targetIsTrigger) event.preventDefault();
186
- if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
187
- event.preventDefault();
188
- }
224
+ var TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {
225
+ const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
226
+ const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);
227
+ const ref = React.useRef(null);
228
+ const composedRefs = useComposedRefs(forwardedRef, ref);
229
+ const [pointerGraceArea, setPointerGraceArea] = React.useState(null);
230
+ const { trigger, onClose } = context;
231
+ const content = ref.current;
232
+ const { onPointerInTransitChange } = providerContext;
233
+ const handleRemoveGraceArea = React.useCallback(() => {
234
+ setPointerGraceArea(null);
235
+ onPointerInTransitChange(false);
236
+ }, [onPointerInTransitChange]);
237
+ const handleCreateGraceArea = React.useCallback(
238
+ (event, hoverTarget) => {
239
+ const currentTarget = event.currentTarget;
240
+ const exitPoint = { x: event.clientX, y: event.clientY };
241
+ const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());
242
+ const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);
243
+ const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());
244
+ const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);
245
+ setPointerGraceArea(graceArea);
246
+ onPointerInTransitChange(true);
247
+ },
248
+ [onPointerInTransitChange]
249
+ );
250
+ React.useEffect(() => {
251
+ return () => handleRemoveGraceArea();
252
+ }, [handleRemoveGraceArea]);
253
+ React.useEffect(() => {
254
+ if (trigger && content) {
255
+ const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);
256
+ const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);
257
+ trigger.addEventListener("pointerleave", handleTriggerLeave);
258
+ content.addEventListener("pointerleave", handleContentLeave);
259
+ return () => {
260
+ trigger.removeEventListener("pointerleave", handleTriggerLeave);
261
+ content.removeEventListener("pointerleave", handleContentLeave);
262
+ };
263
+ }
264
+ }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);
265
+ React.useEffect(() => {
266
+ if (pointerGraceArea) {
267
+ const handleTrackPointerGrace = (event) => {
268
+ const target = event.target;
269
+ const pointerPosition = { x: event.clientX, y: event.clientY };
270
+ const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);
271
+ const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);
272
+ if (hasEnteredTarget) {
273
+ handleRemoveGraceArea();
274
+ } else if (isPointerOutsideGraceArea) {
275
+ handleRemoveGraceArea();
276
+ onClose();
189
277
  }
190
- }
191
- );
192
- }
193
- );
194
- var PopoverContentImpl = React.forwardRef(
278
+ };
279
+ document.addEventListener("pointermove", handleTrackPointerGrace);
280
+ return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
281
+ }
282
+ }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);
283
+ return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });
284
+ });
285
+ var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });
286
+ var Slottable = createSlottable("TooltipContent");
287
+ var TooltipContentImpl = React.forwardRef(
195
288
  (props, forwardedRef) => {
196
289
  const {
197
- __scopePopover,
198
- trapFocus,
199
- onOpenAutoFocus,
200
- onCloseAutoFocus,
201
- disableOutsidePointerEvents,
290
+ __scopeTooltip,
291
+ children,
292
+ "aria-label": ariaLabel,
202
293
  onEscapeKeyDown,
203
294
  onPointerDownOutside,
204
- onFocusOutside,
205
- onInteractOutside,
206
295
  ...contentProps
207
296
  } = props;
208
- const context = usePopoverContext(CONTENT_NAME, __scopePopover);
209
- const popperScope = usePopperScope(__scopePopover);
210
- useFocusGuards();
297
+ const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);
298
+ const popperScope = usePopperScope(__scopeTooltip);
299
+ const { onClose } = context;
300
+ React.useEffect(() => {
301
+ document.addEventListener(TOOLTIP_OPEN, onClose);
302
+ return () => document.removeEventListener(TOOLTIP_OPEN, onClose);
303
+ }, [onClose]);
304
+ React.useEffect(() => {
305
+ if (context.trigger) {
306
+ const handleScroll = (event) => {
307
+ const target = event.target;
308
+ if (target?.contains(context.trigger)) onClose();
309
+ };
310
+ window.addEventListener("scroll", handleScroll, { capture: true });
311
+ return () => window.removeEventListener("scroll", handleScroll, { capture: true });
312
+ }
313
+ }, [context.trigger, onClose]);
211
314
  return /* @__PURE__ */ jsx(
212
- FocusScope,
315
+ DismissableLayer,
213
316
  {
214
317
  asChild: true,
215
- loop: true,
216
- trapped: trapFocus,
217
- onMountAutoFocus: onOpenAutoFocus,
218
- onUnmountAutoFocus: onCloseAutoFocus,
219
- children: /* @__PURE__ */ jsx(
220
- DismissableLayer,
318
+ disableOutsidePointerEvents: false,
319
+ onEscapeKeyDown,
320
+ onPointerDownOutside,
321
+ onFocusOutside: (event) => event.preventDefault(),
322
+ onDismiss: onClose,
323
+ children: /* @__PURE__ */ jsxs(
324
+ Content,
221
325
  {
222
- asChild: true,
223
- disableOutsidePointerEvents,
224
- onInteractOutside,
225
- onEscapeKeyDown,
226
- onPointerDownOutside,
227
- onFocusOutside,
228
- onDismiss: () => context.onOpenChange(false),
229
- children: /* @__PURE__ */ jsx(
230
- Content,
231
- {
232
- "data-state": getState(context.open),
233
- role: "dialog",
234
- id: context.contentId,
235
- ...popperScope,
236
- ...contentProps,
237
- ref: forwardedRef,
238
- style: {
239
- ...contentProps.style,
240
- // re-namespace exposed content custom properties
241
- ...{
242
- "--radix-popover-content-transform-origin": "var(--radix-popper-transform-origin)",
243
- "--radix-popover-content-available-width": "var(--radix-popper-available-width)",
244
- "--radix-popover-content-available-height": "var(--radix-popper-available-height)",
245
- "--radix-popover-trigger-width": "var(--radix-popper-anchor-width)",
246
- "--radix-popover-trigger-height": "var(--radix-popper-anchor-height)"
247
- }
248
- }
326
+ "data-state": context.stateAttribute,
327
+ ...popperScope,
328
+ ...contentProps,
329
+ ref: forwardedRef,
330
+ style: {
331
+ ...contentProps.style,
332
+ // re-namespace exposed content custom properties
333
+ ...{
334
+ "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
335
+ "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
336
+ "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
337
+ "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
338
+ "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
249
339
  }
250
- )
340
+ },
341
+ children: [
342
+ /* @__PURE__ */ jsx(Slottable, { children }),
343
+ /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(Root, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
344
+ ]
251
345
  }
252
346
  )
253
347
  }
254
348
  );
255
349
  }
256
350
  );
257
- var CLOSE_NAME = "PopoverClose";
258
- var PopoverClose = React.forwardRef(
351
+ TooltipContent.displayName = CONTENT_NAME;
352
+ var ARROW_NAME = "TooltipArrow";
353
+ var TooltipArrow = React.forwardRef(
259
354
  (props, forwardedRef) => {
260
- const { __scopePopover, ...closeProps } = props;
261
- const context = usePopoverContext(CLOSE_NAME, __scopePopover);
262
- return /* @__PURE__ */ jsx(
263
- Primitive.button,
264
- {
265
- type: "button",
266
- ...closeProps,
267
- ref: forwardedRef,
268
- onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
269
- }
355
+ const { __scopeTooltip, ...arrowProps } = props;
356
+ const popperScope = usePopperScope(__scopeTooltip);
357
+ const visuallyHiddenContentContext = useVisuallyHiddenContentContext(
358
+ ARROW_NAME,
359
+ __scopeTooltip
270
360
  );
361
+ return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
271
362
  }
272
363
  );
273
- PopoverClose.displayName = CLOSE_NAME;
274
- var ARROW_NAME = "PopoverArrow";
275
- var PopoverArrow = React.forwardRef(
276
- (props, forwardedRef) => {
277
- const { __scopePopover, ...arrowProps } = props;
278
- const popperScope = usePopperScope(__scopePopover);
279
- return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
364
+ TooltipArrow.displayName = ARROW_NAME;
365
+ function getExitSideFromRect(point, rect) {
366
+ const top = Math.abs(rect.top - point.y);
367
+ const bottom = Math.abs(rect.bottom - point.y);
368
+ const right = Math.abs(rect.right - point.x);
369
+ const left = Math.abs(rect.left - point.x);
370
+ switch (Math.min(top, bottom, right, left)) {
371
+ case left:
372
+ return "left";
373
+ case right:
374
+ return "right";
375
+ case top:
376
+ return "top";
377
+ case bottom:
378
+ return "bottom";
379
+ default:
380
+ throw new Error("unreachable");
381
+ }
382
+ }
383
+ function getPaddedExitPoints(exitPoint, exitSide, padding = 5) {
384
+ const paddedExitPoints = [];
385
+ switch (exitSide) {
386
+ case "top":
387
+ paddedExitPoints.push(
388
+ { x: exitPoint.x - padding, y: exitPoint.y + padding },
389
+ { x: exitPoint.x + padding, y: exitPoint.y + padding }
390
+ );
391
+ break;
392
+ case "bottom":
393
+ paddedExitPoints.push(
394
+ { x: exitPoint.x - padding, y: exitPoint.y - padding },
395
+ { x: exitPoint.x + padding, y: exitPoint.y - padding }
396
+ );
397
+ break;
398
+ case "left":
399
+ paddedExitPoints.push(
400
+ { x: exitPoint.x + padding, y: exitPoint.y - padding },
401
+ { x: exitPoint.x + padding, y: exitPoint.y + padding }
402
+ );
403
+ break;
404
+ case "right":
405
+ paddedExitPoints.push(
406
+ { x: exitPoint.x - padding, y: exitPoint.y - padding },
407
+ { x: exitPoint.x - padding, y: exitPoint.y + padding }
408
+ );
409
+ break;
410
+ }
411
+ return paddedExitPoints;
412
+ }
413
+ function getPointsFromRect(rect) {
414
+ const { top, right, bottom, left } = rect;
415
+ return [
416
+ { x: left, y: top },
417
+ { x: right, y: top },
418
+ { x: right, y: bottom },
419
+ { x: left, y: bottom }
420
+ ];
421
+ }
422
+ function isPointInPolygon(point, polygon) {
423
+ const { x, y } = point;
424
+ let inside = false;
425
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
426
+ const ii = polygon[i];
427
+ const jj = polygon[j];
428
+ const xi = ii.x;
429
+ const yi = ii.y;
430
+ const xj = jj.x;
431
+ const yj = jj.y;
432
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
433
+ if (intersect) inside = !inside;
434
+ }
435
+ return inside;
436
+ }
437
+ function getHull(points) {
438
+ const newPoints = points.slice();
439
+ newPoints.sort((a, b) => {
440
+ if (a.x < b.x) return -1;
441
+ else if (a.x > b.x) return 1;
442
+ else if (a.y < b.y) return -1;
443
+ else if (a.y > b.y) return 1;
444
+ else return 0;
445
+ });
446
+ return getHullPresorted(newPoints);
447
+ }
448
+ function getHullPresorted(points) {
449
+ if (points.length <= 1) return points.slice();
450
+ const upperHull = [];
451
+ for (let i = 0; i < points.length; i++) {
452
+ const p = points[i];
453
+ while (upperHull.length >= 2) {
454
+ const q = upperHull[upperHull.length - 1];
455
+ const r = upperHull[upperHull.length - 2];
456
+ if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();
457
+ else break;
458
+ }
459
+ upperHull.push(p);
460
+ }
461
+ upperHull.pop();
462
+ const lowerHull = [];
463
+ for (let i = points.length - 1; i >= 0; i--) {
464
+ const p = points[i];
465
+ while (lowerHull.length >= 2) {
466
+ const q = lowerHull[lowerHull.length - 1];
467
+ const r = lowerHull[lowerHull.length - 2];
468
+ if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();
469
+ else break;
470
+ }
471
+ lowerHull.push(p);
472
+ }
473
+ lowerHull.pop();
474
+ if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {
475
+ return upperHull;
476
+ } else {
477
+ return upperHull.concat(lowerHull);
280
478
  }
281
- );
282
- PopoverArrow.displayName = ARROW_NAME;
283
- function getState(open) {
284
- return open ? "open" : "closed";
285
479
  }
286
- var Root2 = Popover;
287
- var Trigger = PopoverTrigger;
288
- var Portal = PopoverPortal;
289
- var Content2 = PopoverContent;
480
+ var Provider = TooltipProvider;
481
+ var Root3 = Tooltip;
482
+ var Trigger = TooltipTrigger;
483
+ var Portal = TooltipPortal;
484
+ var Content2 = TooltipContent;
485
+ var Arrow2 = TooltipArrow;
290
486
 
291
- export { Content2 as C, Portal as P, Root2 as R, Trigger as T, PopoverPortal as a };
487
+ export { Arrow2 as A, Content2 as C, Provider as P, Root3 as R, Trigger as T, Portal as a };
292
488
  //# sourceMappingURL=index13.js.map