@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable.esm.js","sources":["../node_modules/.pnpm/@dnd-kit+sortable@10.0.0_@dnd-kit+core@6.3.1_react-dom@19.2.3_react@19.2.3__react@19.2.3__react@19.2.3/node_modules/@dnd-kit/sortable/dist/sortable.esm.js"],"sourcesContent":["import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId != null && previous.current.activeId == null) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n"],"names":["React"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../lib/theme/index.ts"],"sourcesContent":["/**\n * Theme sub-path export for @vritti/quantum-ui\n *\n * This module consolidates all theme-related exports into a single entry point.\n * This is critical for Module Federation - when host and remote microfrontends\n * import theme items from the same sub-path, they share the same context instance.\n *\n * @example\n * ```tsx\n * // Import all theme-related items from a single path\n * import {\n * ThemeProvider,\n * ThemeToggle,\n * useTheme,\n * ThemeContext\n * } from '@vritti/quantum-ui/theme';\n *\n * function App() {\n * return (\n * <ThemeProvider>\n * <YourApp />\n * </ThemeProvider>\n * );\n * }\n * ```\n */\n\nimport type { ThemeToggleProps as ThemeTogglePropsType } from '../components/ThemeToggle/ThemeToggle';\n// Import from components with aliases\nimport { ThemeToggle as ThemeToggleImport } from '../components/ThemeToggle/ThemeToggle';\n// Import from context with aliases (following CLAUDE.md guidelines)\nimport {\n ThemeContext as ThemeContextImport,\n type ThemeContextValue as ThemeContextValueType,\n type ThemeMode as ThemeModeType,\n ThemeProvider as ThemeProviderImport,\n type ThemeProviderProps as ThemeProviderPropsType,\n} from '../context/ThemeContext';\n// Import from hooks with aliases\nimport { type UseThemeReturn as UseThemeReturnType, useTheme as useThemeImport } from '../hooks/useTheme';\n\n// Export components with aliased imports (never direct re-exports)\nexport const ThemeContext = ThemeContextImport;\nexport const ThemeProvider = ThemeProviderImport;\nexport const useTheme = useThemeImport;\nexport const ThemeToggle = ThemeToggleImport;\n\n// Export types\nexport type ThemeContextValue = ThemeContextValueType;\nexport type ThemeMode = ThemeModeType;\nexport type ThemeProviderProps = ThemeProviderPropsType;\nexport type UseThemeReturn = UseThemeReturnType;\nexport type ThemeToggleProps = ThemeTogglePropsType;\n"],"names":["ThemeContextImport","ThemeProviderImport","useThemeImport","ThemeToggleImport"],"mappings":";;;;AA0CO,MAAM,YAAA,GAAeA;AACrB,MAAM,aAAA,GAAgBC;AACtB,MAAM,QAAA,GAAWC;AACjB,MAAM,WAAA,GAAcC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../lib/theme/index.ts"],"sourcesContent":["// Theme sub-path export: consolidates theme items so MF host/remote share one context instance.\nimport type { ThemeToggleProps as ThemeTogglePropsType } from '../components/ThemeToggle/ThemeToggle';\n// Import from components with aliases\nimport { ThemeToggle as ThemeToggleImport } from '../components/ThemeToggle/ThemeToggle';\n// Import from context with aliases (following CLAUDE.md guidelines)\nimport {\n ThemeContext as ThemeContextImport,\n type ThemeContextValue as ThemeContextValueType,\n type ThemeMode as ThemeModeType,\n ThemeProvider as ThemeProviderImport,\n type ThemeProviderProps as ThemeProviderPropsType,\n} from '../context/ThemeContext';\n// Import from hooks with aliases\nimport { type UseThemeReturn as UseThemeReturnType, useTheme as useThemeImport } from '../hooks/useTheme';\n\nexport const ThemeContext = ThemeContextImport;\nexport const ThemeProvider = ThemeProviderImport;\nexport const useTheme = useThemeImport;\nexport const ThemeToggle = ThemeToggleImport;\n\nexport type ThemeContextValue = ThemeContextValueType;\nexport type ThemeMode = ThemeModeType;\nexport type ThemeProviderProps = ThemeProviderPropsType;\nexport type UseThemeReturn = UseThemeReturnType;\nexport type ThemeToggleProps = ThemeTogglePropsType;\n"],"names":["ThemeContextImport","ThemeProviderImport","useThemeImport","ThemeToggleImport"],"mappings":";;;;AAeO,MAAM,YAAA,GAAeA;AACrB,MAAM,aAAA,GAAgBC;AACtB,MAAM,QAAA,GAAWC;AACjB,MAAM,WAAA,GAAcC;;;;"}
package/dist/toast.js CHANGED
@@ -19,37 +19,13 @@ const toast = Object.assign(
19
19
  warning: (message, options) => emitToast("warning", message, options),
20
20
  info: (message, options) => emitToast("info", message, options),
21
21
  message: (message, options) => emitToast("message", message, options),
22
- /**
23
- * Show loading toast, returns ID for manual updates
24
- *
25
- * @example
26
- * ```typescript
27
- * const id = toast.loading('Uploading...');
28
- * try {
29
- * await uploadFile();
30
- * toast.success('Uploaded!', { id });
31
- * } catch {
32
- * toast.error('Failed', { id });
33
- * }
34
- * ```
35
- */
22
+ // Show loading toast, returns ID for manual updates
36
23
  loading: (message, options) => {
37
24
  const id = options?.id?.toString() ?? generateToastId();
38
25
  emitToast("loading", message, { ...options, id });
39
26
  return id;
40
27
  },
41
- /**
42
- * Auto-handle loading → success/error for a promise
43
- *
44
- * @example
45
- * ```typescript
46
- * toast.promise(fetchData(), {
47
- * loading: 'Fetching...',
48
- * success: (data) => `Loaded ${data.count} items`,
49
- * error: 'Failed to load',
50
- * });
51
- * ```
52
- */
28
+ // Auto-handle loading → success/error for a promise
53
29
  promise: (promise, options) => {
54
30
  const id = generateToastId();
55
31
  emitToast("loading", options.loading, { id });
package/dist/toast.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../lib/components/Sonner/toast.ts"],"sourcesContent":["/**\n * Global toast event system for Module Federation compatibility.\n *\n * This module provides a toast API that works across micro-frontends by using\n * custom DOM events instead of direct sonner calls. The Toaster component\n * listens for these events and displays the toasts.\n */\n\nexport const TOAST_EVENT = 'quantum:toast';\n\nexport type ToastType = 'success' | 'error' | 'warning' | 'info' | 'message' | 'loading';\n\nexport interface ToastOptions {\n description?: string;\n duration?: number;\n id?: string | number;\n}\n\nexport interface PromiseToastOptions<T> {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n finally?: () => void;\n}\n\nexport interface ToastEventDetail {\n type: ToastType;\n message: string;\n options?: ToastOptions;\n}\n\n// Generate unique toast ID\nlet toastIdCounter = 0;\nexport function generateToastId(): string {\n return `quantum-toast-${Date.now()}-${++toastIdCounter}`;\n}\n\nfunction emitToast(type: ToastType, message: string, options?: ToastOptions): void {\n if (typeof window === 'undefined') return;\n\n const event = new CustomEvent<ToastEventDetail>(TOAST_EVENT, {\n detail: { type, message, options },\n });\n window.dispatchEvent(event);\n}\n\n/**\n * Toast API that works across Module Federation boundaries.\n *\n * @example\n * ```typescript\n * import { toast } from '@vritti/quantum-ui/Sonner';\n *\n * toast.success('Operation completed!');\n * toast.error('Something went wrong', { description: 'Please try again.' });\n * toast('Hello world'); // Default message toast\n *\n * // Loading toast with manual control\n * const id = toast.loading('Uploading...');\n * toast.success('Done!', { id }); // Updates the loading toast\n *\n * // Auto-handle promise states\n * toast.promise(asyncOperation(), {\n * loading: 'Processing...',\n * success: 'Done!',\n * error: 'Failed',\n * });\n * ```\n */\nexport const toast = Object.assign(\n // Default toast (message type)\n (message: string, options?: ToastOptions) => emitToast('message', message, options),\n {\n success: (message: string, options?: ToastOptions) => emitToast('success', message, options),\n error: (message: string, options?: ToastOptions) => emitToast('error', message, options),\n warning: (message: string, options?: ToastOptions) => emitToast('warning', message, options),\n info: (message: string, options?: ToastOptions) => emitToast('info', message, options),\n message: (message: string, options?: ToastOptions) => emitToast('message', message, options),\n\n /**\n * Show loading toast, returns ID for manual updates\n *\n * @example\n * ```typescript\n * const id = toast.loading('Uploading...');\n * try {\n * await uploadFile();\n * toast.success('Uploaded!', { id });\n * } catch {\n * toast.error('Failed', { id });\n * }\n * ```\n */\n loading: (message: string, options?: ToastOptions): string => {\n const id = options?.id?.toString() ?? generateToastId();\n emitToast('loading', message, { ...options, id });\n return id;\n },\n\n /**\n * Auto-handle loading → success/error for a promise\n *\n * @example\n * ```typescript\n * toast.promise(fetchData(), {\n * loading: 'Fetching...',\n * success: (data) => `Loaded ${data.count} items`,\n * error: 'Failed to load',\n * });\n * ```\n */\n promise: <T>(promise: Promise<T> | (() => Promise<T>), options: PromiseToastOptions<T>): Promise<T> => {\n const id = generateToastId();\n emitToast('loading', options.loading, { id });\n\n const p = typeof promise === 'function' ? promise() : promise;\n\n p.then((data) => {\n const message = typeof options.success === 'function' ? options.success(data) : options.success;\n emitToast('success', message, { id });\n })\n .catch((error) => {\n const message = typeof options.error === 'function' ? options.error(error) : options.error;\n emitToast('error', message, { id });\n })\n .finally(() => {\n options.finally?.();\n });\n\n return p;\n },\n },\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sources":["../lib/components/Sonner/toast.ts"],"sourcesContent":["export const TOAST_EVENT = 'quantum:toast';\n\nexport type ToastType = 'success' | 'error' | 'warning' | 'info' | 'message' | 'loading';\n\nexport interface ToastOptions {\n description?: string;\n duration?: number;\n id?: string | number;\n}\n\nexport interface PromiseToastOptions<T> {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n finally?: () => void;\n}\n\nexport interface ToastEventDetail {\n type: ToastType;\n message: string;\n options?: ToastOptions;\n}\n\n// Generate unique toast ID\nlet toastIdCounter = 0;\nexport function generateToastId(): string {\n return `quantum-toast-${Date.now()}-${++toastIdCounter}`;\n}\n\nfunction emitToast(type: ToastType, message: string, options?: ToastOptions): void {\n if (typeof window === 'undefined') return;\n\n const event = new CustomEvent<ToastEventDetail>(TOAST_EVENT, {\n detail: { type, message, options },\n });\n window.dispatchEvent(event);\n}\n\nexport const toast = Object.assign(\n // Default toast (message type)\n (message: string, options?: ToastOptions) => emitToast('message', message, options),\n {\n success: (message: string, options?: ToastOptions) => emitToast('success', message, options),\n error: (message: string, options?: ToastOptions) => emitToast('error', message, options),\n warning: (message: string, options?: ToastOptions) => emitToast('warning', message, options),\n info: (message: string, options?: ToastOptions) => emitToast('info', message, options),\n message: (message: string, options?: ToastOptions) => emitToast('message', message, options),\n\n // Show loading toast, returns ID for manual updates\n loading: (message: string, options?: ToastOptions): string => {\n const id = options?.id?.toString() ?? generateToastId();\n emitToast('loading', message, { ...options, id });\n return id;\n },\n\n // Auto-handle loading → success/error for a promise\n promise: <T>(promise: Promise<T> | (() => Promise<T>), options: PromiseToastOptions<T>): Promise<T> => {\n const id = generateToastId();\n emitToast('loading', options.loading, { id });\n\n const p = typeof promise === 'function' ? promise() : promise;\n\n p.then((data) => {\n const message = typeof options.success === 'function' ? options.success(data) : options.success;\n emitToast('success', message, { id });\n })\n .catch((error) => {\n const message = typeof options.error === 'function' ? options.error(error) : options.error;\n emitToast('error', message, { id });\n })\n .finally(() => {\n options.finally?.();\n });\n\n return p;\n },\n },\n);\n"],"names":[],"mappings":"AAAO,MAAM,WAAA,GAAc;AAwB3B,IAAI,cAAA,GAAiB,CAAA;AACd,SAAS,eAAA,GAA0B;AACxC,EAAA,OAAO,iBAAiB,IAAA,CAAK,GAAA,EAAK,CAAA,CAAA,EAAI,EAAE,cAAc,CAAA,CAAA;AACxD;AAEA,SAAS,SAAA,CAAU,IAAA,EAAiB,OAAA,EAAiB,OAAA,EAA8B;AACjF,EAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAEnC,EAAA,MAAM,KAAA,GAAQ,IAAI,WAAA,CAA8B,WAAA,EAAa;AAAA,IAC3D,MAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA;AAAQ,GAClC,CAAA;AACD,EAAA,MAAA,CAAO,cAAc,KAAK,CAAA;AAC5B;AAEO,MAAM,QAAQ,MAAA,CAAO,MAAA;AAAA;AAAA,EAE1B,CAAC,OAAA,EAAiB,OAAA,KAA2B,SAAA,CAAU,SAAA,EAAW,SAAS,OAAO,CAAA;AAAA,EAClF;AAAA,IACE,SAAS,CAAC,OAAA,EAAiB,YAA2B,SAAA,CAAU,SAAA,EAAW,SAAS,OAAO,CAAA;AAAA,IAC3F,OAAO,CAAC,OAAA,EAAiB,YAA2B,SAAA,CAAU,OAAA,EAAS,SAAS,OAAO,CAAA;AAAA,IACvF,SAAS,CAAC,OAAA,EAAiB,YAA2B,SAAA,CAAU,SAAA,EAAW,SAAS,OAAO,CAAA;AAAA,IAC3F,MAAM,CAAC,OAAA,EAAiB,YAA2B,SAAA,CAAU,MAAA,EAAQ,SAAS,OAAO,CAAA;AAAA,IACrF,SAAS,CAAC,OAAA,EAAiB,YAA2B,SAAA,CAAU,SAAA,EAAW,SAAS,OAAO,CAAA;AAAA;AAAA,IAG3F,OAAA,EAAS,CAAC,OAAA,EAAiB,OAAA,KAAmC;AAC5D,MAAA,MAAM,EAAA,GAAK,OAAA,EAAS,EAAA,EAAI,QAAA,MAAc,eAAA,EAAgB;AACtD,MAAA,SAAA,CAAU,WAAW,OAAA,EAAS,EAAE,GAAG,OAAA,EAAS,IAAI,CAAA;AAChD,MAAA,OAAO,EAAA;AAAA,IACT,CAAA;AAAA;AAAA,IAGA,OAAA,EAAS,CAAI,OAAA,EAA0C,OAAA,KAAgD;AACrG,MAAA,MAAM,KAAK,eAAA,EAAgB;AAC3B,MAAA,SAAA,CAAU,SAAA,EAAW,OAAA,CAAQ,OAAA,EAAS,EAAE,IAAI,CAAA;AAE5C,MAAA,MAAM,CAAA,GAAI,OAAO,OAAA,KAAY,UAAA,GAAa,SAAQ,GAAI,OAAA;AAEtD,MAAA,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACf,QAAA,MAAM,OAAA,GAAU,OAAO,OAAA,CAAQ,OAAA,KAAY,aAAa,OAAA,CAAQ,OAAA,CAAQ,IAAI,CAAA,GAAI,OAAA,CAAQ,OAAA;AACxF,QAAA,SAAA,CAAU,SAAA,EAAW,OAAA,EAAS,EAAE,EAAA,EAAI,CAAA;AAAA,MACtC,CAAC,CAAA,CACE,KAAA,CAAM,CAAC,KAAA,KAAU;AAChB,QAAA,MAAM,OAAA,GAAU,OAAO,OAAA,CAAQ,KAAA,KAAU,aAAa,OAAA,CAAQ,KAAA,CAAM,KAAK,CAAA,GAAI,OAAA,CAAQ,KAAA;AACrF,QAAA,SAAA,CAAU,OAAA,EAAS,OAAA,EAAS,EAAE,EAAA,EAAI,CAAA;AAAA,MACpC,CAAC,CAAA,CACA,OAAA,CAAQ,MAAM;AACb,QAAA,OAAA,CAAQ,OAAA,IAAU;AAAA,MACpB,CAAC,CAAA;AAEH,MAAA,OAAO,CAAA;AAAA,IACT;AAAA;AAEJ;;;;"}
package/dist/tooltip2.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { P as Provider, R as Root3, T as Trigger, a as Portal, C as Content2, A as Arrow2 } from './index12.js';
2
+ import { P as Provider, R as Root3, T as Trigger, a as Portal, C as Content2, A as Arrow2 } from './index13.js';
3
3
  import { forwardRef } from 'react';
4
4
  import { c as cn } from './utils.js';
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"tooltipContext.js","sources":["../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@17.0.2_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/component/Cell.js","../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@17.0.2_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/context/tooltipContext.js"],"sourcesContent":["/**\n * Cell component used to define colors and styles of chart elements.\n *\n * This component is now deprecated and will be removed in Recharts 4.0.\n *\n * Please use the `shape` prop or `content` prop on the respective chart components\n * to customize the rendering of chart elements instead of using `Cell`.\n *\n * @see {@link https://recharts.github.io/en-US/guide/cell/ Guide: Migrate from Cell component to shape prop}\n *\n * @deprecated\n * @consumes CellReader\n */\nexport var Cell = _props => null;\nCell.displayName = 'Cell';","import { useAppDispatch } from '../state/hooks';\nimport { mouseLeaveItem, setActiveClickItemIndex, setActiveMouseOverItemIndex } from '../state/tooltipSlice';\n\n/**\n * Some graphical items choose to provide more information to the tooltip\n * and some do not.\n */\n\nexport var useMouseEnterItemDispatch = (onMouseEnterFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index) => event => {\n onMouseEnterFromProps === null || onMouseEnterFromProps === void 0 || onMouseEnterFromProps(data, index, event);\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: String(index),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n};\nexport var useMouseLeaveItemDispatch = onMouseLeaveFromProps => {\n var dispatch = useAppDispatch();\n return (data, index) => event => {\n onMouseLeaveFromProps === null || onMouseLeaveFromProps === void 0 || onMouseLeaveFromProps(data, index, event);\n dispatch(mouseLeaveItem());\n };\n};\nexport var useMouseClickItemDispatch = (onMouseClickFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index) => event => {\n onMouseClickFromProps === null || onMouseClickFromProps === void 0 || onMouseClickFromProps(data, index, event);\n dispatch(setActiveClickItemIndex({\n activeIndex: String(index),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n};"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACU,IAAC,IAAI,GAAG,MAAM,IAAI;AAC5B,IAAI,CAAC,WAAW,GAAG,MAAM;;ACXzB;AACA;AACA;AACA;;AAEU,IAAC,yBAAyB,GAAG,CAAC,qBAAqB,EAAE,OAAO,EAAE,eAAe,KAAK;AAC5F,EAAE,IAAI,QAAQ,GAAG,cAAc,EAAE;AACjC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI;AACnC,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACnH,IAAI,QAAQ,CAAC,2BAA2B,CAAC;AACzC,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;AAChC,MAAM,aAAa,EAAE,OAAO;AAC5B,MAAM,gBAAgB,EAAE,IAAI,CAAC,eAAe;AAC5C,MAAM,qBAAqB,EAAE;AAC7B,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH;AACU,IAAC,yBAAyB,GAAG,qBAAqB,IAAI;AAChE,EAAE,IAAI,QAAQ,GAAG,cAAc,EAAE;AACjC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI;AACnC,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACnH,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC9B,EAAE,CAAC;AACH;AACU,IAAC,yBAAyB,GAAG,CAAC,qBAAqB,EAAE,OAAO,EAAE,eAAe,KAAK;AAC5F,EAAE,IAAI,QAAQ,GAAG,cAAc,EAAE;AACjC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI;AACnC,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACnH,IAAI,QAAQ,CAAC,uBAAuB,CAAC;AACrC,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;AAChC,MAAM,aAAa,EAAE,OAAO;AAC5B,MAAM,gBAAgB,EAAE,IAAI,CAAC,eAAe;AAC5C,MAAM,qBAAqB,EAAE;AAC7B,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"tooltipContext.js","sources":["../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@18.3.1_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/component/Cell.js","../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@18.3.1_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/context/tooltipContext.js"],"sourcesContent":["/**\n * Cell component used to define colors and styles of chart elements.\n *\n * This component is now deprecated and will be removed in Recharts 4.0.\n *\n * Please use the `shape` prop or `content` prop on the respective chart components\n * to customize the rendering of chart elements instead of using `Cell`.\n *\n * @see {@link https://recharts.github.io/en-US/guide/cell/ Guide: Migrate from Cell component to shape prop}\n *\n * @deprecated\n * @consumes CellReader\n */\nexport var Cell = _props => null;\nCell.displayName = 'Cell';","import { useAppDispatch } from '../state/hooks';\nimport { mouseLeaveItem, setActiveClickItemIndex, setActiveMouseOverItemIndex } from '../state/tooltipSlice';\n\n/**\n * Some graphical items choose to provide more information to the tooltip\n * and some do not.\n */\n\nexport var useMouseEnterItemDispatch = (onMouseEnterFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index) => event => {\n onMouseEnterFromProps === null || onMouseEnterFromProps === void 0 || onMouseEnterFromProps(data, index, event);\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: String(index),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n};\nexport var useMouseLeaveItemDispatch = onMouseLeaveFromProps => {\n var dispatch = useAppDispatch();\n return (data, index) => event => {\n onMouseLeaveFromProps === null || onMouseLeaveFromProps === void 0 || onMouseLeaveFromProps(data, index, event);\n dispatch(mouseLeaveItem());\n };\n};\nexport var useMouseClickItemDispatch = (onMouseClickFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index) => event => {\n onMouseClickFromProps === null || onMouseClickFromProps === void 0 || onMouseClickFromProps(data, index, event);\n dispatch(setActiveClickItemIndex({\n activeIndex: String(index),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n};"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACU,IAAC,IAAI,GAAG,MAAM,IAAI;AAC5B,IAAI,CAAC,WAAW,GAAG,MAAM;;ACXzB;AACA;AACA;AACA;;AAEU,IAAC,yBAAyB,GAAG,CAAC,qBAAqB,EAAE,OAAO,EAAE,eAAe,KAAK;AAC5F,EAAE,IAAI,QAAQ,GAAG,cAAc,EAAE;AACjC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI;AACnC,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACnH,IAAI,QAAQ,CAAC,2BAA2B,CAAC;AACzC,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;AAChC,MAAM,aAAa,EAAE,OAAO;AAC5B,MAAM,gBAAgB,EAAE,IAAI,CAAC,eAAe;AAC5C,MAAM,qBAAqB,EAAE;AAC7B,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH;AACU,IAAC,yBAAyB,GAAG,qBAAqB,IAAI;AAChE,EAAE,IAAI,QAAQ,GAAG,cAAc,EAAE;AACjC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI;AACnC,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACnH,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC9B,EAAE,CAAC;AACH;AACU,IAAC,yBAAyB,GAAG,CAAC,qBAAqB,EAAE,OAAO,EAAE,eAAe,KAAK;AAC5F,EAAE,IAAI,QAAQ,GAAG,cAAc,EAAE;AACjC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI;AACnC,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACnH,IAAI,QAAQ,CAAC,uBAAuB,CAAC;AACrC,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;AAChC,MAAM,aAAa,EAAE,OAAO;AAC5B,MAAM,gBAAgB,EAAE,IAAI,CAAC,eAAe;AAC5C,MAAM,qBAAqB,EAAE;AAC7B,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH;;;;","x_google_ignoreList":[0,1]}
@@ -1,5 +1,8 @@
1
1
  const PLATFORMS = ["web", "mobile"];
2
- const SNAPSHOT_SCHEMA_VERSION = 1;
2
+ function snapshotFeatureKey(code, scope) {
3
+ return `${scope}.${code}`;
4
+ }
5
+ const SNAPSHOT_SCHEMA_VERSION = 2;
3
6
 
4
- export { PLATFORMS, SNAPSHOT_SCHEMA_VERSION };
7
+ export { PLATFORMS, SNAPSHOT_SCHEMA_VERSION, snapshotFeatureKey };
5
8
  //# sourceMappingURL=catalog-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-resolver.js","sources":["../../lib/types/catalog-resolver.ts"],"sourcesContent":["// Frontend mirror of @vritti/api-sdk/catalog-resolver types — keep field-for-field in sync.\n// Web apps import from HERE (quantum-ui), never from the server SDK.\n\nexport type PlatformBucket = 'web' | 'mobile';\n\nexport const PLATFORMS: PlatformBucket[] = ['web', 'mobile'];\n\nexport interface PlatformCodes {\n web?: string[];\n mobile?: string[];\n}\n\nexport interface PlatformDenyCodes {\n web?: string[] | null;\n mobile?: string[] | null;\n}\n\nexport type FeatureUnlocks = Record<string, PlatformCodes>;\n\nexport type BuFeatureLocks = Record<string, PlatformDenyCodes>;\n\nexport interface SnapshotPermission {\n code: string;\n label: string;\n isGlobal: boolean;\n businesses: string[];\n}\n\nexport interface SnapshotMicrofrontendWeb {\n code: string;\n name: string;\n remoteEntry: string;\n exposedModule: string;\n routePrefix: string;\n}\n\nexport interface SnapshotMicrofrontendMobile {\n code: string;\n name: string;\n remoteEntryAndroid: string;\n remoteEntryIos: string;\n exposedModule: string;\n routePrefix: string;\n}\n\nexport interface SnapshotMicrofrontends {\n web?: SnapshotMicrofrontendWeb;\n mobile?: SnapshotMicrofrontendMobile;\n}\n\nexport interface SnapshotFeature {\n code: string;\n name: string;\n lucideIcon: string;\n sfSymbol: string;\n materialSymbol: string;\n permissions: SnapshotPermission[];\n microfrontends: SnapshotMicrofrontends;\n}\n\nexport interface SnapshotApp {\n code: string;\n name: string;\n icon: string;\n sortOrder: number;\n features: string[];\n}\n\nexport interface SnapshotRoleTemplate {\n name: string;\n code: string;\n features: FeatureUnlocks;\n}\n\nexport interface SnapshotPlan {\n code: string;\n name: string;\n isCustom: boolean;\n maxBusinessUnits: number | null;\n unlockedPermissions: FeatureUnlocks;\n}\n\nexport interface SnapshotBusiness {\n name: string;\n apps: SnapshotApp[];\n roleTemplates: Record<string, SnapshotRoleTemplate>;\n plans: Record<string, SnapshotPlan>;\n}\n\nexport interface VersionSnapshot {\n schemaVersion?: number;\n features: Record<string, SnapshotFeature>;\n businesses: Record<string, SnapshotBusiness>;\n}\n\nexport const SNAPSHOT_SCHEMA_VERSION = 1;\n\nexport type LockReason = 'PLAN' | 'BU';\n\nexport interface CatalogPermission {\n code: string;\n locked: boolean;\n lockReason: LockReason | null;\n unlockPlans: string[];\n}\n\nexport interface FeatureCatalogEntry {\n code: string;\n name: string;\n lucideIcon: string | null;\n sfSymbol: string;\n materialSymbol: string;\n web: {\n remoteEntry: string;\n exposedModule: string;\n routePrefix: string;\n } | null;\n mobile: {\n remoteEntryAndroid: string;\n remoteEntryIos: string;\n exposedModule: string;\n routePrefix: string;\n } | null;\n appCode: string;\n appName: string;\n appIcon: string | null;\n appSortOrder: number;\n locked: boolean;\n lockReason: LockReason | null;\n unlockPlans: string[];\n permissions: CatalogPermission[];\n}\n\nexport type RoleItem = SnapshotRoleTemplate;\n\nexport interface BuMatrixCell {\n inPlan: boolean;\n selected: boolean;\n availableIn: string[];\n}\n\nexport interface BuMatrixPermission {\n code: string;\n label: string;\n web: BuMatrixCell | null;\n mobile: BuMatrixCell | null;\n}\n\nexport interface BuMatrixFeature {\n code: string;\n name: string;\n icon: string | null;\n platforms: PlatformBucket[];\n inPlan: boolean;\n availableIn: string[];\n permissions: BuMatrixPermission[];\n}\n\nexport interface BuMatrixApp {\n code: string;\n name: string;\n icon: string | null;\n unlockedCount: number;\n totalCount: number;\n features: BuMatrixFeature[];\n}\n\nexport interface BuMatrix {\n plan: { code: string; name: string };\n apps: BuMatrixApp[];\n locks: BuFeatureLocks;\n}\n\nexport type RevokedGrants = Record<string, PlatformDenyCodes>;\n\nexport type ClientPlatform = 'web' | 'ios' | 'android';\n\nexport interface LockedPermission {\n code: string;\n reason: LockReason | null;\n unlockPlans: string[];\n}\n\nexport interface PermissionFeature {\n code: string;\n name: string;\n lucideIcon: string | null;\n sfSymbol: string;\n materialSymbol: string;\n permissions: string[];\n locked: boolean;\n lockReason: LockReason | null;\n unlockPlans: string[];\n lockedPermissions: LockedPermission[];\n route: {\n remoteEntry: string;\n exposedModule: string;\n routePrefix: string;\n };\n appCode: string;\n appName: string;\n appIcon: string | null;\n appSortOrder: number;\n}\n\nexport interface ResolveUserFeaturesParams {\n snapshot: VersionSnapshot;\n businessCode: string;\n planCode: string | undefined;\n buLocks: BuFeatureLocks | undefined;\n roleFeatures: FeatureUnlocks;\n platform: ClientPlatform;\n}\n\nexport interface ComposeRoleGrantsParams {\n baseFeatures: FeatureUnlocks | undefined;\n additions: FeatureUnlocks;\n revoked: RevokedGrants | undefined;\n}\n"],"names":[],"mappings":"AAKO,MAAM,SAAA,GAA8B,CAAC,KAAA,EAAO,QAAQ;AA0FpD,MAAM,uBAAA,GAA0B;;;;"}
1
+ {"version":3,"file":"catalog-resolver.js","sources":["../../lib/types/catalog-resolver.ts"],"sourcesContent":["// Frontend mirror of @vritti/api-sdk/catalog-resolver types — keep field-for-field in sync\nexport type PlatformBucket = 'web' | 'mobile';\n\nexport const PLATFORMS: PlatformBucket[] = ['web', 'mobile'];\n\nexport interface PlatformCodes {\n web?: string[];\n mobile?: string[];\n}\n\nexport interface PlatformDenyCodes {\n web?: string[] | null;\n mobile?: string[] | null;\n}\n\nexport type FeatureUnlocks = Record<string, PlatformCodes>;\n\nexport type FeatureLocks = Record<string, PlatformDenyCodes>;\nexport type SiteFeatureLocks = FeatureLocks;\n\nexport interface SnapshotPermission {\n code: string;\n label: string;\n isGlobal: boolean;\n businesses: string[];\n dependsOn: string[];\n}\n\nexport interface SnapshotMicrofrontendWeb {\n code: string;\n name: string;\n remoteEntry: string;\n exposedModule: string;\n routePrefix: string;\n}\n\nexport interface SnapshotMicrofrontendMobile {\n code: string;\n name: string;\n remoteEntryAndroid: string;\n remoteEntryIos: string;\n exposedModule: string;\n routePrefix: string;\n}\n\nexport interface SnapshotMicrofrontends {\n web?: SnapshotMicrofrontendWeb;\n mobile?: SnapshotMicrofrontendMobile;\n}\n\nexport type ScopeType = 'ORG' | 'LE' | 'SITE_GROUP' | 'SITE';\nexport type SiteType = 'OUTLET' | 'WAREHOUSE' | 'PRODUCTION';\nexport interface SnapshotFeature {\n code: string;\n name: string;\n lucideIcon: string;\n sfSymbol: string;\n materialSymbol: string;\n scope: ScopeType;\n applicableSiteTypes: SiteType[];\n permissions: SnapshotPermission[];\n microfrontends: SnapshotMicrofrontends;\n}\n\nexport interface SnapshotAppFeatureRef {\n code: string;\n scope: ScopeType;\n}\n\nexport interface SnapshotApp {\n code: string;\n name: string;\n icon: string;\n sortOrder: number;\n features: SnapshotAppFeatureRef[];\n}\n\nexport interface SnapshotRoleTemplate {\n name: string;\n code: string;\n scope: ScopeType;\n siteType: SiteType;\n features: FeatureUnlocks;\n}\n\nexport interface SnapshotPlan {\n code: string;\n name: string;\n isCustom: boolean;\n maxSites: number | null;\n unlockedPermissions: FeatureUnlocks;\n}\n\nexport interface VocabularyEntry {\n singular: string;\n plural: string;\n}\nexport interface BusinessVocabulary {\n site?: VocabularyEntry;\n siteGroup?: VocabularyEntry;\n outlet?: VocabularyEntry;\n warehouse?: VocabularyEntry;\n production?: VocabularyEntry;\n}\nexport interface SnapshotBusiness {\n name: string;\n vocabulary?: BusinessVocabulary;\n apps: SnapshotApp[];\n roleTemplates: Record<string, SnapshotRoleTemplate>;\n plans: Record<string, SnapshotPlan>;\n}\n\nexport interface VersionSnapshot {\n schemaVersion?: number;\n // Flat feature dictionary keyed by `${scope}.${code}` (see snapshotFeatureKey) — same-code features at different scopes stay distinct\n features: Record<string, SnapshotFeature>;\n businesses: Record<string, SnapshotBusiness>;\n}\n\n// Composite key for the snapshot feature dictionary — feature identity is (scope, code)\nexport function snapshotFeatureKey(code: string, scope: ScopeType): string {\n return `${scope}.${code}`;\n}\n\nexport const SNAPSHOT_SCHEMA_VERSION = 2;\n\nexport type LockReason = 'PLAN' | 'SITE';\n\nexport interface CatalogPermission {\n code: string;\n locked: boolean;\n lockReason: LockReason | null;\n unlockPlans: string[];\n}\n\nexport interface FeatureCatalogEntry {\n code: string;\n name: string;\n lucideIcon: string | null;\n sfSymbol: string;\n materialSymbol: string;\n web: {\n remoteEntry: string;\n exposedModule: string;\n routePrefix: string;\n } | null;\n mobile: {\n remoteEntryAndroid: string;\n remoteEntryIos: string;\n exposedModule: string;\n routePrefix: string;\n } | null;\n appCode: string;\n appName: string;\n appIcon: string | null;\n appSortOrder: number;\n locked: boolean;\n lockReason: LockReason | null;\n unlockPlans: string[];\n permissions: CatalogPermission[];\n}\n\nexport type RoleItem = SnapshotRoleTemplate;\n\nexport interface SiteMatrixCell {\n inPlan: boolean;\n selected: boolean;\n availableIn: string[];\n}\n\nexport interface SiteMatrixPermission {\n code: string;\n label: string;\n dependsOn: string[];\n web: SiteMatrixCell | null;\n mobile: SiteMatrixCell | null;\n}\n\nexport interface SiteMatrixFeature {\n code: string;\n name: string;\n icon: string | null;\n scope: ScopeType;\n applicableSiteTypes: SiteType[];\n platforms: PlatformBucket[];\n inPlan: boolean;\n availableIn: string[];\n permissions: SiteMatrixPermission[];\n}\n\nexport interface SiteMatrixApp {\n code: string;\n name: string;\n icon: string | null;\n unlockedCount: number;\n totalCount: number;\n features: SiteMatrixFeature[];\n}\n\nexport interface SiteMatrix {\n plan: { code: string; name: string };\n apps: SiteMatrixApp[];\n locks: SiteFeatureLocks;\n}\n\nexport type RevokedGrants = Record<string, PlatformDenyCodes>;\n\nexport type ClientPlatform = 'web' | 'ios' | 'android';\n\nexport interface LockedPermission {\n code: string;\n reason: LockReason | null;\n unlockPlans: string[];\n}\n\nexport interface PlanUpsell {\n plan: string;\n features: string[];\n}\n\nexport interface PermissionFeature {\n code: string;\n name: string;\n lucideIcon: string | null;\n sfSymbol: string;\n materialSymbol: string;\n permissions: string[];\n locked: boolean;\n lockReason: LockReason | null;\n unlockPlans: string[];\n lockedPermissions: LockedPermission[];\n upsell: PlanUpsell[];\n route: {\n remoteEntry: string;\n exposedModule: string;\n routePrefix: string;\n };\n appCode: string;\n appName: string;\n appIcon: string | null;\n appSortOrder: number;\n}\n\nexport interface ResolveUserFeaturesParams {\n snapshot: VersionSnapshot;\n businessCode: string;\n planCode: string | undefined;\n siteLocks: SiteFeatureLocks | undefined;\n roleFeatures: FeatureUnlocks;\n platform: ClientPlatform;\n}\n\nexport interface ComposeRoleGrantsParams {\n baseFeatures: FeatureUnlocks | undefined;\n additions: FeatureUnlocks;\n revoked: RevokedGrants | undefined;\n}\n"],"names":[],"mappings":"AAGO,MAAM,SAAA,GAA8B,CAAC,KAAA,EAAO,QAAQ;AAqHpD,SAAS,kBAAA,CAAmB,MAAc,KAAA,EAA0B;AACzE,EAAA,OAAO,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA;AACzB;AAEO,MAAM,uBAAA,GAA0B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBUTimezone.js","sources":["../lib/hooks/useBUTimezone.ts"],"sourcesContent":["import { useLocation } from 'react-router-dom';\nimport { resolveTimeZone } from '../utils/timezone';\n\n// Returns the IANA timezone resolved for the current route.\n// Subscribes to route changes so consumers re-render when the active BU changes.\n// Resolution order: host's configured `timeZone.resolveTimeZone` → user timezone → browser timezone.\nexport function useBUTimezone(): string | null {\n // Subscribe to URL changes so we re-resolve when the BU slug in the path changes.\n useLocation();\n return resolveTimeZone();\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,aAAA,GAA+B;AAE7C,EAAA,WAAA,EAAY;AACZ,EAAA,OAAO,eAAA,EAAgB;AACzB;;;;"}
1
+ {"version":3,"file":"useBUTimezone.js","sources":["../lib/hooks/useBUTimezone.ts"],"sourcesContent":["import { useLocation } from 'react-router-dom';\nimport { resolveTimeZone } from '../utils/timezone';\n\n// Returns the IANA timezone resolved for the current route, re-resolving on route change (host resolver → user timezone → browser timezone).\nexport function useBUTimezone(): string | null {\n // Subscribe to URL changes so we re-resolve when the BU slug in the path changes.\n useLocation();\n return resolveTimeZone();\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,aAAA,GAA+B;AAE7C,EAAA,WAAA,EAAY;AACZ,EAAA,OAAO,eAAA,EAAgB;AACzB;;;;"}
@@ -6,7 +6,7 @@ import { a as useDialog, u as useConfirm } from './useConfirm.js';
6
6
  import { B as Button } from './Button.js';
7
7
  import { D as Dialog, a as DialogActions } from './Dialog.js';
8
8
  import { D as DropdownMenu } from './DropdownMenu.js';
9
- import { b as usePermissionGate, l as lockedTip, u as usePermission, a as PermissionLockIcon } from './PermissionGate.js';
9
+ import { c as usePermissionGate, l as lockedTip, u as usePermission, b as PermissionLockIcon } from './PermissionGate.js';
10
10
  import { A as ArrowDown, a as ArrowUp, I as Inbox, S as Settings, C as ChevronsLeft, b as ChevronsRight, c as Columns2, P as Pin, E as EllipsisVertical, F as FileUp, d as FilePlusCorner, R as RefreshCw, e as Equal, f as ArrowLeft, B as BookmarkPlus, L as LayoutList, g as Settings2, h as Funnel, i as ArrowUpFromLine, j as ArrowDownToLine, T as TableProperties } from './table-properties.js';
11
11
  import { useMutation, useQueryClient, useQuery } from '@tanstack/react-query';
12
12
  import * as React from 'react';
@@ -44,7 +44,7 @@ import { P as Pencil, a as Plus, T as Trash2 } from './trash-2.js';
44
44
  import { T as TriangleAlert } from './triangle-alert.js';
45
45
  import { pluralize } from './utils/pluralize.js';
46
46
  import { C as Checkbox } from './Checkbox.js';
47
- import { g as getConfig } from './index7.js';
47
+ import { g as getConfig } from './index8.js';
48
48
 
49
49
  const DEFAULT_COLUMNS = [
50
50
  { headerWidth: "w-20", cellWidth: "w-28" },
@@ -849,9 +849,7 @@ const useDataTableStore = create((set, get) => ({
849
849
  return { tables };
850
850
  });
851
851
  },
852
- // Sets activeState, activeViewId, and activeViewState.
853
- // Merges with EMPTY_TABLE_STATE so old server payloads missing new fields still work.
854
- // skipUpsert defaults to true (page-load); pass false for user-driven tab activation.
852
+ // Sets activeState/viewId/viewState, merging with EMPTY_TABLE_STATE; skipUpsert defaults true (page-load)
855
853
  loadViewState: (slug, state, viewId, skipUpsert = true) => {
856
854
  set((prev) => {
857
855
  const currentTable = prev.tables[slug];
@@ -864,8 +862,7 @@ const useDataTableStore = create((set, get) => ({
864
862
  ...currentTable,
865
863
  activeState: mergedState,
866
864
  activeViewId: viewId,
867
- // On page-load (skipUpsert=true), activeViewState is set later via setActiveViewState
868
- // once the views list loads. On user tab activation, set it immediately.
865
+ // On page-load, activeViewState is set later via setActiveViewState; on user tab activation, set it immediately
869
866
  activeViewState: !skipUpsert && viewId !== null ? mergedState : null,
870
867
  _skipUpsert: skipUpsert,
871
868
  lastAccessed: Date.now()
@@ -21872,19 +21869,7 @@ function DataTable({
21872
21869
  if (!tableGate.granted) {
21873
21870
  return null;
21874
21871
  }
21875
- if (tableGate.locked) {
21876
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-2", className), children: /* @__PURE__ */ jsxs(
21877
- "div",
21878
- {
21879
- className: "flex flex-col items-center justify-center gap-2 rounded-lg border text-center",
21880
- style: { height: MODE_HEIGHTS[mode] },
21881
- children: [
21882
- /* @__PURE__ */ jsx(PermissionLockIcon, { reason: tableGate.reason, className: "size-6" }),
21883
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: lockedTip(tableGate) })
21884
- ]
21885
- }
21886
- ) });
21887
- }
21872
+ const locked = tableGate.locked;
21888
21873
  return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2", className), children: [
21889
21874
  showToolbar && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
21890
21875
  /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1", children: enableViews && slug && /* @__PURE__ */ jsx(DataTableViewTabs, { slug }) }),
@@ -21906,6 +21891,7 @@ function DataTable({
21906
21891
  size: "sm",
21907
21892
  className: cn("h-8 w-8 p-0", (filtersOpen || appliedFilterCount > 0) && "border border-transparent"),
21908
21893
  onClick: () => setFiltersOpen((v) => !v),
21894
+ disabled: locked,
21909
21895
  "aria-label": "Toggle filters",
21910
21896
  children: /* @__PURE__ */ jsx(Funnel, { className: "h-4 w-4" })
21911
21897
  }
@@ -22057,53 +22043,65 @@ function DataTable({
22057
22043
  header.id
22058
22044
  );
22059
22045
  }) }, headerGroup.id)) }),
22060
- (isLoading || table.getRowModel().rows.length > 0) && /* @__PURE__ */ jsx(TableBody, { children: isLoading ? Array.from(
22046
+ !locked && (isLoading || table.getRowModel().rows.length > 0) && /* @__PURE__ */ jsx(TableBody, { children: isLoading ? Array.from(
22061
22047
  { length: table.getState().pagination?.pageSize ?? 20 },
22062
22048
  (_, i) => `skeleton-row-${i}`
22063
- ).map((rowKey) => /* @__PURE__ */ jsx(TableRow, { children: Array.from({ length: columnCount }, (_, i) => `${rowKey}-cell-${i}`).map((cellKey) => /* @__PURE__ */ jsx(TableCell, { className: densityClasses[density], children: /* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-full" }) }, cellKey)) }, rowKey)) : table.getRowModel().rows.map((row) => {
22049
+ ).map((rowKey) => /* @__PURE__ */ jsx(TableRow, { children: Array.from({ length: columnCount }, (_, i) => `${rowKey}-cell-${i}`).map((cellKey) => /* @__PURE__ */ jsx(TableCell, { className: densityClasses[density], children: /* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-full" }) }, cellKey)) }, rowKey)) : table.getRowModel().rows.map((row, index) => {
22064
22050
  const externallySelected = selectedRowId != null && row.id === selectedRowId;
22065
22051
  const isSelected = row.getIsSelected() || externallySelected;
22066
- return /* @__PURE__ */ jsx(TableRow, { "data-state": isSelected ? "selected" : void 0, className: "group", children: row.getVisibleCells().map((cell) => {
22067
- const isActionsCell = cell.column.id === "actions";
22068
- return /* @__PURE__ */ jsxs(
22069
- TableCell,
22070
- {
22071
- className: cn(
22072
- densityClasses[density],
22073
- isActionsCell ? "relative px-2 sticky right-0 z-10" : void 0,
22074
- onRowClick && !isActionsCell ? "cursor-pointer" : void 0
22075
- ),
22076
- onClick: onRowClick && !isActionsCell ? () => onRowClick(row.original) : void 0,
22077
- style: isActionsCell ? { width: "70px" } : {
22078
- width: cell.column.getSize(),
22079
- minWidth: cell.column.getSize(),
22080
- maxWidth: cell.column.getSize()
22081
- },
22082
- children: [
22083
- isActionsCell && /* @__PURE__ */ jsx(
22084
- "div",
22085
- {
22086
- "aria-hidden": true,
22087
- className: "pointer-events-none absolute inset-x-0 top-0 bottom-px bg-background/40 backdrop-blur-sm group-hover:bg-muted/30 group-data-[state=selected]:bg-muted/40"
22088
- }
22089
- ),
22090
- /* @__PURE__ */ jsx(
22091
- "div",
22092
- {
22093
- className: cn(
22094
- isActionsCell ? "relative flex items-center justify-end" : "overflow-hidden text-center"
22052
+ return /* @__PURE__ */ jsx(
22053
+ TableRow,
22054
+ {
22055
+ "data-state": isSelected ? "selected" : void 0,
22056
+ className: "group animate-in fade-in duration-300",
22057
+ style: { animationDelay: `${Math.min(index, 12) * 25}ms`, animationFillMode: "both" },
22058
+ children: row.getVisibleCells().map((cell) => {
22059
+ const isActionsCell = cell.column.id === "actions";
22060
+ return /* @__PURE__ */ jsxs(
22061
+ TableCell,
22062
+ {
22063
+ className: cn(
22064
+ densityClasses[density],
22065
+ isActionsCell ? "px-2 sticky right-0 z-10" : void 0,
22066
+ onRowClick && !isActionsCell ? "cursor-pointer" : void 0
22067
+ ),
22068
+ onClick: onRowClick && !isActionsCell ? () => onRowClick(row.original) : void 0,
22069
+ style: isActionsCell ? { width: "70px" } : {
22070
+ width: cell.column.getSize(),
22071
+ minWidth: cell.column.getSize(),
22072
+ maxWidth: cell.column.getSize()
22073
+ },
22074
+ children: [
22075
+ isActionsCell && /* @__PURE__ */ jsx(
22076
+ "div",
22077
+ {
22078
+ "aria-hidden": true,
22079
+ className: "pointer-events-none absolute inset-x-0 top-0 bottom-px bg-background/40 backdrop-blur-sm group-hover:bg-muted/30 group-data-[state=selected]:bg-muted/40"
22080
+ }
22095
22081
  ),
22096
- children: flexRender(cell.column.columnDef.cell, cell.getContext())
22097
- }
22098
- )
22099
- ]
22100
- },
22101
- cell.id
22102
- );
22103
- }) }, row.id);
22082
+ /* @__PURE__ */ jsx(
22083
+ "div",
22084
+ {
22085
+ className: cn(
22086
+ isActionsCell ? "relative flex items-center justify-end" : "overflow-hidden text-center"
22087
+ ),
22088
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
22089
+ }
22090
+ )
22091
+ ]
22092
+ },
22093
+ cell.id
22094
+ );
22095
+ })
22096
+ },
22097
+ row.id
22098
+ );
22104
22099
  }) })
22105
22100
  ] }),
22106
- !isLoading && table.getRowModel().rows.length === 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center justify-center", children: isFiltered ? /* @__PURE__ */ jsx(
22101
+ (locked || !isLoading && table.getRowModel().rows.length === 0) && /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center justify-center", children: locked ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2 text-center", children: [
22102
+ /* @__PURE__ */ jsx(PermissionLockIcon, { reason: tableGate.reason, className: "size-6" }),
22103
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: lockedTip(tableGate) })
22104
+ ] }) : isFiltered ? /* @__PURE__ */ jsx(
22107
22105
  DataTableEmpty,
22108
22106
  {
22109
22107
  icon: emptyStateConfig?.icon,