@vritti/quantum-ui 0.3.11 → 0.3.13

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 (484) hide show
  1. package/dist/Alert.js +1 -1
  2. package/dist/Alert.js.map +1 -1
  3. package/dist/Avatar.js +1 -1
  4. package/dist/Avatar.js.map +1 -1
  5. package/dist/Badge2.js +2 -2
  6. package/dist/BillingCycleSelector.js +37 -0
  7. package/dist/BillingCycleSelector.js.map +1 -0
  8. package/dist/Breadcrumb.js +1 -1
  9. package/dist/Breadcrumb.js.map +1 -1
  10. package/dist/Button.js +1 -1
  11. package/dist/Button.js.map +1 -1
  12. package/dist/Button2.js +2 -2
  13. package/dist/CardSkeleton.js.map +1 -1
  14. package/dist/CategoryFilter.js +6 -4
  15. package/dist/CategoryFilter.js.map +1 -1
  16. package/dist/Checkbox.js.map +1 -1
  17. package/dist/Checkbox2.js +4 -4
  18. package/dist/CheckboxGroup.js.map +1 -1
  19. package/dist/Collapsible.js.map +1 -1
  20. package/dist/Combination.js +1129 -0
  21. package/dist/Combination.js.map +1 -0
  22. package/dist/CompanySelector.js +20 -0
  23. package/dist/CompanySelector.js.map +1 -0
  24. package/dist/ConfirmHost.js.map +1 -1
  25. package/dist/CountrySelector.js +37 -0
  26. package/dist/CountrySelector.js.map +1 -0
  27. package/dist/CurrencyField.js +1 -0
  28. package/dist/CurrencyField.js.map +1 -1
  29. package/dist/CustomerSelector.js +2 -2
  30. package/dist/CustomerSelector.js.map +1 -1
  31. package/dist/DangerZoneSkeleton.js +21 -3
  32. package/dist/DangerZoneSkeleton.js.map +1 -1
  33. package/dist/DatePicker.js +3 -3
  34. package/dist/DatePicker.js.map +1 -1
  35. package/dist/DateTimePicker.js +2 -2
  36. package/dist/DetailSectionSkeleton.js.map +1 -1
  37. package/dist/Dialog.js.map +1 -1
  38. package/dist/DropdownMenu.js.map +1 -1
  39. package/dist/FeaturePermissionSelector.js +37 -0
  40. package/dist/FeaturePermissionSelector.js.map +1 -0
  41. package/dist/Form.js.map +1 -1
  42. package/dist/FormSection.js +4 -4
  43. package/dist/FormSection.js.map +1 -1
  44. package/dist/HierarchyGraph.js +5 -10621
  45. package/dist/HierarchyGraph.js.map +1 -1
  46. package/dist/ISOCountrySelect.js +283 -0
  47. package/dist/ISOCountrySelect.js.map +1 -0
  48. package/dist/IconSelect.js +1 -1
  49. package/dist/IconSelect.js.map +1 -1
  50. package/dist/InventoryItemSelector.js +2 -2
  51. package/dist/InventoryItemSelector.js.map +1 -1
  52. package/dist/Kbd.js +1 -1
  53. package/dist/Kbd.js.map +1 -1
  54. package/dist/Label.js +1 -1
  55. package/dist/LayoutModeContext.js.map +1 -1
  56. package/dist/LegalEntitySelector.js +37 -0
  57. package/dist/LegalEntitySelector.js.map +1 -0
  58. package/dist/LocationSelector.js +2 -2
  59. package/dist/LocationSelector.js.map +1 -1
  60. package/dist/LotSelector.js +2 -2
  61. package/dist/LotSelector.js.map +1 -1
  62. package/dist/OTPField.js.map +1 -1
  63. package/dist/PageContent.js.map +1 -1
  64. package/dist/PageHeaderSkeleton.js +21 -10
  65. package/dist/PageHeaderSkeleton.js.map +1 -1
  66. package/dist/PasswordField.js.map +1 -1
  67. package/dist/PermissionGate.js +49 -5
  68. package/dist/PermissionGate.js.map +1 -1
  69. package/dist/PersonSelector.js +20 -0
  70. package/dist/PersonSelector.js.map +1 -0
  71. package/dist/PhoneField.js.map +1 -1
  72. package/dist/PurchaseOrderSelector.js +2 -2
  73. package/dist/PurchaseOrderSelector.js.map +1 -1
  74. package/dist/QuantSelector.js +2 -2
  75. package/dist/QuantSelector.js.map +1 -1
  76. package/dist/RadioGroup.js +6 -6
  77. package/dist/RadioGroup.js.map +1 -1
  78. package/dist/RoleSelector.js +20 -0
  79. package/dist/RoleSelector.js.map +1 -0
  80. package/dist/Select.js +4 -1
  81. package/dist/Select.js.map +1 -1
  82. package/dist/SelectFilter.js.map +1 -1
  83. package/dist/Separator.js.map +1 -1
  84. package/dist/SerialSelector.js +2 -2
  85. package/dist/SerialSelector.js.map +1 -1
  86. package/dist/Sidebar.js +2 -2
  87. package/dist/Sidebar.js.map +1 -1
  88. package/dist/SingleSelect.js +2 -2
  89. package/dist/SingleSelect.js.map +1 -1
  90. package/dist/SiteGroupSelector.js +37 -0
  91. package/dist/SiteGroupSelector.js.map +1 -0
  92. package/dist/SiteSelector.js +37 -0
  93. package/dist/SiteSelector.js.map +1 -0
  94. package/dist/Sonner.js +1 -1
  95. package/dist/Sonner.js.map +1 -1
  96. package/dist/Sortable.js +4 -4417
  97. package/dist/Sortable.js.map +1 -1
  98. package/dist/StepProgressIndicator.js.map +1 -1
  99. package/dist/SupplierItemSelector.js +2 -2
  100. package/dist/SupplierItemSelector.js.map +1 -1
  101. package/dist/SupplierSelector.js +2 -2
  102. package/dist/SupplierSelector.js.map +1 -1
  103. package/dist/Switch.js +3 -3
  104. package/dist/Switch.js.map +1 -1
  105. package/dist/TabsSkeleton.js +101 -49
  106. package/dist/TabsSkeleton.js.map +1 -1
  107. package/dist/TaxClassSelector.js +20 -0
  108. package/dist/TaxClassSelector.js.map +1 -0
  109. package/dist/TextField.js.map +1 -1
  110. package/dist/ThemeContext.js.map +1 -1
  111. package/dist/ThemeToggle.js.map +1 -1
  112. package/dist/Toggle.js +1 -1
  113. package/dist/Toggle.js.map +1 -1
  114. package/dist/Tooltip.js.map +1 -1
  115. package/dist/Typography.js.map +1 -1
  116. package/dist/UomSelector.js +2 -2
  117. package/dist/UomSelector.js.map +1 -1
  118. package/dist/UploadFile.js.map +1 -1
  119. package/dist/assets/quantum-ui.css +25 -13
  120. package/dist/calendar2.js +1 -1
  121. package/dist/collapsible2.js +1 -1
  122. package/dist/components/CompanySelector.js +2 -0
  123. package/dist/components/CompanySelector.js.map +1 -0
  124. package/dist/components/FormattedDate.js +2 -2
  125. package/dist/components/HierarchyGraph.js +2 -1
  126. package/dist/components/HierarchyGraph.js.map +1 -1
  127. package/dist/components/PermissionGate.js +1 -1
  128. package/dist/components/PersonSelector.js +2 -0
  129. package/dist/components/PersonSelector.js.map +1 -0
  130. package/dist/components/ScanBarcodeButton.js.map +1 -1
  131. package/dist/components/TreeView.js +7 -7
  132. package/dist/components/TreeView.js.map +1 -1
  133. package/dist/core.esm.js +4025 -0
  134. package/dist/core.esm.js.map +1 -0
  135. package/dist/dropdown-menu.js +10 -10
  136. package/dist/field.js +1 -1
  137. package/dist/image-component.js.map +1 -1
  138. package/dist/index.js +15 -3
  139. package/dist/index.js.map +1 -1
  140. package/dist/index10.js +102 -1499
  141. package/dist/index10.js.map +1 -1
  142. package/dist/index11.js +1499 -37
  143. package/dist/index11.js.map +1 -1
  144. package/dist/index12.js +29 -477
  145. package/dist/index12.js.map +1 -1
  146. package/dist/index13.js +427 -231
  147. package/dist/index13.js.map +1 -1
  148. package/dist/index14.js +215 -1074
  149. package/dist/index14.js.map +1 -1
  150. package/dist/index15.js +1140 -14
  151. package/dist/index15.js.map +1 -1
  152. package/dist/index16.js +13 -19
  153. package/dist/index16.js.map +1 -1
  154. package/dist/index17.js +24 -172
  155. package/dist/index17.js.map +1 -1
  156. package/dist/index18.js +168 -175
  157. package/dist/index18.js.map +1 -1
  158. package/dist/index19.js +173 -201
  159. package/dist/index19.js.map +1 -1
  160. package/dist/index20.js +203 -69
  161. package/dist/index20.js.map +1 -1
  162. package/dist/index21.js +70 -211
  163. package/dist/index21.js.map +1 -1
  164. package/dist/index22.js +207 -117
  165. package/dist/index22.js.map +1 -1
  166. package/dist/index23.js +123 -71
  167. package/dist/index23.js.map +1 -1
  168. package/dist/index24.js +74 -11
  169. package/dist/index24.js.map +1 -1
  170. package/dist/index25.js +13 -1134
  171. package/dist/index25.js.map +1 -1
  172. package/dist/index26.js +1120 -219
  173. package/dist/index26.js.map +1 -1
  174. package/dist/index27.js +202 -2506
  175. package/dist/index27.js.map +1 -1
  176. package/dist/index28.js +2527 -23
  177. package/dist/index28.js.map +1 -1
  178. package/dist/index29.js +32 -4
  179. package/dist/index29.js.map +1 -1
  180. package/dist/index3.js +11543 -267
  181. package/dist/index3.js.map +1 -1
  182. package/dist/index30.js +3 -1124
  183. package/dist/index30.js.map +1 -1
  184. package/dist/index31.js +1 -1
  185. package/dist/index32.js +7 -7
  186. package/dist/index34.js +1 -1
  187. package/dist/index37.js +1 -1
  188. package/dist/index38.js +21 -42
  189. package/dist/index38.js.map +1 -1
  190. package/dist/index4.js +272 -132
  191. package/dist/index4.js.map +1 -1
  192. package/dist/index5.js +138 -388
  193. package/dist/index5.js.map +1 -1
  194. package/dist/index6.js +386 -7
  195. package/dist/index6.js.map +1 -1
  196. package/dist/index7.js +13 -92
  197. package/dist/index7.js.map +1 -1
  198. package/dist/index8.js +92 -43
  199. package/dist/index8.js.map +1 -1
  200. package/dist/index9.js +42 -102
  201. package/dist/index9.js.map +1 -1
  202. package/dist/lib/components/Alert/Alert.d.ts.map +1 -1
  203. package/dist/lib/components/Avatar/Avatar.d.ts.map +1 -1
  204. package/dist/lib/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  205. package/dist/lib/components/Button/Button.d.ts.map +1 -1
  206. package/dist/lib/components/Card/CardSkeleton.d.ts.map +1 -1
  207. package/dist/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  208. package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  209. package/dist/lib/components/Collapsible/Collapsible.d.ts.map +1 -1
  210. package/dist/lib/components/CompanySelector/CompanySelector.d.ts +4 -0
  211. package/dist/lib/components/CompanySelector/CompanySelector.d.ts.map +1 -0
  212. package/dist/lib/components/CompanySelector/index.d.ts +2 -0
  213. package/dist/lib/components/CompanySelector/index.d.ts.map +1 -0
  214. package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts.map +1 -1
  215. package/dist/lib/components/CurrencyField/CurrencyField.d.ts.map +1 -1
  216. package/dist/lib/components/DangerZone/DangerZone.d.ts +3 -1
  217. package/dist/lib/components/DangerZone/DangerZone.d.ts.map +1 -1
  218. package/dist/lib/components/DataTable/CompactTableSkeleton.d.ts.map +1 -1
  219. package/dist/lib/components/DataTable/DataTable.d.ts +1 -1
  220. package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -1
  221. package/dist/lib/components/DataTable/cells/cells.d.ts.map +1 -1
  222. package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts +3 -1
  223. package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts.map +1 -1
  224. package/dist/lib/components/DataTable/components/RowActions.d.ts.map +1 -1
  225. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -1
  226. package/dist/lib/components/DataTable/store/store.d.ts.map +1 -1
  227. package/dist/lib/components/DataTable/types.d.ts +3 -0
  228. package/dist/lib/components/DataTable/types.d.ts.map +1 -1
  229. package/dist/lib/components/DatePicker/DatePicker.d.ts +2 -2
  230. package/dist/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
  231. package/dist/lib/components/DetailField/DetailField.d.ts.map +1 -1
  232. package/dist/lib/components/DetailField/DetailHeader.d.ts.map +1 -1
  233. package/dist/lib/components/DetailField/DetailSectionSkeleton.d.ts.map +1 -1
  234. package/dist/lib/components/Dialog/Dialog.d.ts.map +1 -1
  235. package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  236. package/dist/lib/components/DropdownMenu/types.d.ts.map +1 -1
  237. package/dist/lib/components/Editor/editor-ui/color-picker.d.ts.map +1 -1
  238. package/dist/lib/components/Editor/editor-ui/image-component.d.ts.map +1 -1
  239. package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts.map +1 -1
  240. package/dist/lib/components/Editor/plugins/actions/max-length-plugin.d.ts.map +1 -1
  241. package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts.map +1 -1
  242. package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts.map +1 -1
  243. package/dist/lib/components/Editor/plugins/emojis-plugin.d.ts.map +1 -1
  244. package/dist/lib/components/Editor/plugins/floating-link-editor-plugin.d.ts.map +1 -1
  245. package/dist/lib/components/Editor/plugins/floating-text-format-plugin.d.ts.map +1 -1
  246. package/dist/lib/components/Editor/plugins/images-plugin.d.ts.map +1 -1
  247. package/dist/lib/components/Editor/plugins/keywords-plugin.d.ts.map +1 -1
  248. package/dist/lib/components/Editor/plugins/layout-plugin.d.ts.map +1 -1
  249. package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts.map +1 -1
  250. package/dist/lib/components/Editor/plugins/mentions-plugin.d.ts.map +1 -1
  251. package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts.map +1 -1
  252. package/dist/lib/components/Editor/plugins/tab-focus-plugin.d.ts.map +1 -1
  253. package/dist/lib/components/Editor/plugins/table-plugin.d.ts.map +1 -1
  254. package/dist/lib/components/Editor/plugins/toolbar/clear-formatting-toolbar-plugin.d.ts.map +1 -1
  255. package/dist/lib/components/Editor/plugins/typing-pref-plugin.d.ts.map +1 -1
  256. package/dist/lib/components/Editor/shared/invariant.d.ts.map +1 -1
  257. package/dist/lib/components/Editor/shared/react-patches.d.ts.map +1 -1
  258. package/dist/lib/components/Editor/shared/react-test-utils.d.ts.map +1 -1
  259. package/dist/lib/components/Editor/shared/simple-diff-with-cursor.d.ts.map +1 -1
  260. package/dist/lib/components/Editor/shared/use-layout-effect.d.ts.map +1 -1
  261. package/dist/lib/components/Editor/transformers/markdown-table-transformer.d.ts.map +1 -1
  262. package/dist/lib/components/Editor/utils/collapsible.d.ts.map +1 -1
  263. package/dist/lib/components/Editor/utils/doc-serialization.d.ts.map +1 -1
  264. package/dist/lib/components/Editor/utils/emoji-list.d.ts.map +1 -1
  265. package/dist/lib/components/Editor/utils/get-dom-range-rect.d.ts.map +1 -1
  266. package/dist/lib/components/Editor/utils/get-selected-node.d.ts.map +1 -1
  267. package/dist/lib/components/Editor/utils/guard.d.ts.map +1 -1
  268. package/dist/lib/components/Editor/utils/set-floating-elem-position-for-link-editor.d.ts.map +1 -1
  269. package/dist/lib/components/Editor/utils/set-floating-elem-position.d.ts.map +1 -1
  270. package/dist/lib/components/Editor/utils/swipe.d.ts.map +1 -1
  271. package/dist/lib/components/Editor/utils/url.d.ts.map +1 -1
  272. package/dist/lib/components/Form/Form.d.ts.map +1 -1
  273. package/dist/lib/components/OTPField/OTPField.d.ts.map +1 -1
  274. package/dist/lib/components/PageContent/PageContent.d.ts.map +1 -1
  275. package/dist/lib/components/PageHeader/PageHeader.d.ts.map +1 -1
  276. package/dist/lib/components/PasswordField/PasswordField.d.ts.map +1 -1
  277. package/dist/lib/components/PermissionGate/PermissionGate.d.ts +15 -4
  278. package/dist/lib/components/PermissionGate/PermissionGate.d.ts.map +1 -1
  279. package/dist/lib/components/PermissionGate/index.d.ts +1 -1
  280. package/dist/lib/components/PermissionGate/index.d.ts.map +1 -1
  281. package/dist/lib/components/PersonSelector/PersonSelector.d.ts +4 -0
  282. package/dist/lib/components/PersonSelector/PersonSelector.d.ts.map +1 -0
  283. package/dist/lib/components/PersonSelector/index.d.ts +2 -0
  284. package/dist/lib/components/PersonSelector/index.d.ts.map +1 -0
  285. package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
  286. package/dist/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  287. package/dist/lib/components/ScanBarcodeButton/ScanBarcodeButton.d.ts.map +1 -1
  288. package/dist/lib/components/Select/SelectFilter.d.ts.map +1 -1
  289. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  290. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -1
  291. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -1
  292. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -1
  293. package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -1
  294. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -1
  295. package/dist/lib/components/Select/types.d.ts +1 -1
  296. package/dist/lib/components/Select/types.d.ts.map +1 -1
  297. package/dist/lib/components/Separator/Separator.d.ts.map +1 -1
  298. package/dist/lib/components/Sidebar/Sidebar.d.ts.map +1 -1
  299. package/dist/lib/components/Sonner/Sonner.d.ts.map +1 -1
  300. package/dist/lib/components/Sonner/toast.d.ts.map +1 -1
  301. package/dist/lib/components/StepProgressIndicator/StepProgressIndicator.d.ts.map +1 -1
  302. package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
  303. package/dist/lib/components/Tabs/Tabs.d.ts +2 -0
  304. package/dist/lib/components/Tabs/Tabs.d.ts.map +1 -1
  305. package/dist/lib/components/Tabs/TabsSkeleton.d.ts.map +1 -1
  306. package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
  307. package/dist/lib/components/ThemeToggle/ThemeToggle.d.ts.map +1 -1
  308. package/dist/lib/components/Toggle/Toggle.d.ts.map +1 -1
  309. package/dist/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  310. package/dist/lib/components/TreeView/TreeView.d.ts.map +1 -1
  311. package/dist/lib/components/Typography/Typography.d.ts.map +1 -1
  312. package/dist/lib/components/UploadFile/UploadFile.d.ts.map +1 -1
  313. package/dist/lib/components/index.d.ts +2 -0
  314. package/dist/lib/components/index.d.ts.map +1 -1
  315. package/dist/lib/config/index.d.ts.map +1 -1
  316. package/dist/lib/context/LayoutModeContext.d.ts.map +1 -1
  317. package/dist/lib/context/ThemeContext.d.ts.map +1 -1
  318. package/dist/lib/hooks/useBUCurrency.d.ts.map +1 -1
  319. package/dist/lib/hooks/useBUTimezone.d.ts.map +1 -1
  320. package/dist/lib/hooks/useBarcodeScanner.d.ts.map +1 -1
  321. package/dist/lib/hooks/useFormatters.d.ts.map +1 -1
  322. package/dist/lib/hooks/useSSE.d.ts.map +1 -1
  323. package/dist/lib/hooks/useTheme.d.ts.map +1 -1
  324. package/dist/lib/index.d.ts.map +1 -1
  325. package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts +12 -0
  326. package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts.map +1 -0
  327. package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts +4 -0
  328. package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts.map +1 -0
  329. package/dist/lib/selects/billing-cycle/index.d.ts +3 -0
  330. package/dist/lib/selects/billing-cycle/index.d.ts.map +1 -0
  331. package/dist/lib/selects/category/CategoryFilter.d.ts.map +1 -1
  332. package/dist/lib/selects/category/CategorySelector.d.ts.map +1 -1
  333. package/dist/lib/selects/cost-category/CostCategorySelector.d.ts.map +1 -1
  334. package/dist/lib/selects/country/CountryFilter.d.ts +12 -0
  335. package/dist/lib/selects/country/CountryFilter.d.ts.map +1 -0
  336. package/dist/lib/selects/country/CountrySelector.d.ts +4 -0
  337. package/dist/lib/selects/country/CountrySelector.d.ts.map +1 -0
  338. package/dist/lib/selects/country/index.d.ts +3 -0
  339. package/dist/lib/selects/country/index.d.ts.map +1 -0
  340. package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts +12 -0
  341. package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts.map +1 -0
  342. package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts +4 -0
  343. package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts.map +1 -0
  344. package/dist/lib/selects/feature-permission/index.d.ts +3 -0
  345. package/dist/lib/selects/feature-permission/index.d.ts.map +1 -0
  346. package/dist/lib/selects/icon/IconSelect.d.ts.map +1 -1
  347. package/dist/lib/selects/index.d.ts +9 -0
  348. package/dist/lib/selects/index.d.ts.map +1 -1
  349. package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts +2 -2
  350. package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts.map +1 -1
  351. package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts +15 -0
  352. package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts.map +1 -0
  353. package/dist/lib/selects/iso-country/index.d.ts +3 -0
  354. package/dist/lib/selects/iso-country/index.d.ts.map +1 -0
  355. package/dist/lib/selects/iso-country/iso-countries.d.ts +7 -0
  356. package/dist/lib/selects/iso-country/iso-countries.d.ts.map +1 -0
  357. package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts +12 -0
  358. package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts.map +1 -0
  359. package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts +4 -0
  360. package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts.map +1 -0
  361. package/dist/lib/selects/legal-entity/index.d.ts +3 -0
  362. package/dist/lib/selects/legal-entity/index.d.ts.map +1 -0
  363. package/dist/lib/selects/location/LocationSelector.d.ts.map +1 -1
  364. package/dist/lib/selects/purchase-order/PurchaseOrderSelector.d.ts.map +1 -1
  365. package/dist/lib/selects/purchase-order-item/PurchaseOrderItemSelector.d.ts.map +1 -1
  366. package/dist/lib/selects/role/RoleSelector.d.ts +4 -0
  367. package/dist/lib/selects/role/RoleSelector.d.ts.map +1 -0
  368. package/dist/lib/selects/role/index.d.ts +2 -0
  369. package/dist/lib/selects/role/index.d.ts.map +1 -0
  370. package/dist/lib/selects/serial/SerialSelector.d.ts.map +1 -1
  371. package/dist/lib/selects/site/SiteFilter.d.ts +12 -0
  372. package/dist/lib/selects/site/SiteFilter.d.ts.map +1 -0
  373. package/dist/lib/selects/site/SiteSelector.d.ts +4 -0
  374. package/dist/lib/selects/site/SiteSelector.d.ts.map +1 -0
  375. package/dist/lib/selects/site/index.d.ts +3 -0
  376. package/dist/lib/selects/site/index.d.ts.map +1 -0
  377. package/dist/lib/selects/site-group/SiteGroupFilter.d.ts +12 -0
  378. package/dist/lib/selects/site-group/SiteGroupFilter.d.ts.map +1 -0
  379. package/dist/lib/selects/site-group/SiteGroupSelector.d.ts +4 -0
  380. package/dist/lib/selects/site-group/SiteGroupSelector.d.ts.map +1 -0
  381. package/dist/lib/selects/site-group/index.d.ts +3 -0
  382. package/dist/lib/selects/site-group/index.d.ts.map +1 -0
  383. package/dist/lib/selects/supplier/SupplierSelector.d.ts.map +1 -1
  384. package/dist/lib/selects/supplier-item/SupplierItemFilter.d.ts.map +1 -1
  385. package/dist/lib/selects/supplier-item/SupplierItemSelector.d.ts.map +1 -1
  386. package/dist/lib/selects/tax-class/TaxClassSelector.d.ts +4 -0
  387. package/dist/lib/selects/tax-class/TaxClassSelector.d.ts.map +1 -0
  388. package/dist/lib/selects/tax-class/index.d.ts +2 -0
  389. package/dist/lib/selects/tax-class/index.d.ts.map +1 -0
  390. package/dist/lib/theme/index.d.ts.map +1 -1
  391. package/dist/lib/types/catalog-resolver.d.ts +222 -0
  392. package/dist/lib/types/catalog-resolver.d.ts.map +1 -0
  393. package/dist/lib/utils/axios.d.ts.map +1 -1
  394. package/dist/lib/utils/cn.d.ts +3 -0
  395. package/dist/lib/utils/cn.d.ts.map +1 -0
  396. package/dist/lib/utils/dagre.d.ts +2 -0
  397. package/dist/lib/utils/dagre.d.ts.map +1 -0
  398. package/dist/lib/utils/dnd-kit/core.d.ts +2 -0
  399. package/dist/lib/utils/dnd-kit/core.d.ts.map +1 -0
  400. package/dist/lib/utils/dnd-kit/sortable.d.ts +2 -0
  401. package/dist/lib/utils/dnd-kit/sortable.d.ts.map +1 -0
  402. package/dist/lib/utils/dnd-kit/utilities.d.ts +2 -0
  403. package/dist/lib/utils/dnd-kit/utilities.d.ts.map +1 -0
  404. package/dist/lib/utils/formHelpers.d.ts.map +1 -1
  405. package/dist/lib/utils/format.d.ts.map +1 -1
  406. package/dist/lib/utils/permission-deps.d.ts +9 -0
  407. package/dist/lib/utils/permission-deps.d.ts.map +1 -0
  408. package/dist/lib/utils/react-flow.d.ts +2 -0
  409. package/dist/lib/utils/react-flow.d.ts.map +1 -0
  410. package/dist/lib/utils/zod.d.ts +9 -0
  411. package/dist/lib/utils/zod.d.ts.map +1 -1
  412. package/dist/popover.js +1 -1
  413. package/dist/select2.js +1 -1
  414. package/dist/selects/billing-cycle.js +2 -0
  415. package/dist/selects/billing-cycle.js.map +1 -0
  416. package/dist/selects/cost-category.js +2 -2
  417. package/dist/selects/cost-category.js.map +1 -1
  418. package/dist/selects/country.js +2 -0
  419. package/dist/selects/country.js.map +1 -0
  420. package/dist/selects/feature-permission.js +2 -0
  421. package/dist/selects/feature-permission.js.map +1 -0
  422. package/dist/selects/iso-country.js +2 -0
  423. package/dist/selects/iso-country.js.map +1 -0
  424. package/dist/selects/legal-entity.js +2 -0
  425. package/dist/selects/legal-entity.js.map +1 -0
  426. package/dist/selects/purchase-order-item.js +1 -1
  427. package/dist/selects/purchase-order-item.js.map +1 -1
  428. package/dist/selects/role.js +2 -0
  429. package/dist/selects/role.js.map +1 -0
  430. package/dist/selects/site-group.js +2 -0
  431. package/dist/selects/site-group.js.map +1 -0
  432. package/dist/selects/site.js +2 -0
  433. package/dist/selects/site.js.map +1 -0
  434. package/dist/selects/tax-class.js +2 -0
  435. package/dist/selects/tax-class.js.map +1 -0
  436. package/dist/selects/tax-group.js +2 -2
  437. package/dist/selects/tax-group.js.map +1 -1
  438. package/dist/separator2.js +1 -1
  439. package/dist/sortable.esm.js +780 -0
  440. package/dist/sortable.esm.js.map +1 -0
  441. package/dist/theme/index.js.map +1 -1
  442. package/dist/toast.js +2 -26
  443. package/dist/toast.js.map +1 -1
  444. package/dist/tooltip2.js +1 -1
  445. package/dist/types/api-response.js +2 -0
  446. package/dist/types/api-response.js.map +1 -0
  447. package/dist/types/catalog-resolver.js +8 -0
  448. package/dist/types/catalog-resolver.js.map +1 -0
  449. package/dist/types/table-filter.js +17 -0
  450. package/dist/types/table-filter.js.map +1 -0
  451. package/dist/useBUTimezone.js.map +1 -1
  452. package/dist/useDataTable.js +152 -119
  453. package/dist/useDataTable.js.map +1 -1
  454. package/dist/useFormatters.js.map +1 -1
  455. package/dist/useTheme.js.map +1 -1
  456. package/dist/useTimer.js +2 -2
  457. package/dist/useTimer.js.map +1 -1
  458. package/dist/utilities.esm.js +333 -0
  459. package/dist/utilities.esm.js.map +1 -0
  460. package/dist/utils/axios.js +1 -1
  461. package/dist/utils/axios.js.map +1 -1
  462. package/dist/utils/cn.js +6 -0
  463. package/dist/utils/cn.js.map +1 -0
  464. package/dist/utils/currency.js +2 -2
  465. package/dist/utils/dagre.js +4 -0
  466. package/dist/utils/dagre.js.map +1 -0
  467. package/dist/utils/dnd-kit/core.js +2 -0
  468. package/dist/utils/dnd-kit/core.js.map +1 -0
  469. package/dist/utils/dnd-kit/sortable.js +2 -0
  470. package/dist/utils/dnd-kit/sortable.js.map +1 -0
  471. package/dist/utils/dnd-kit/utilities.js +2 -0
  472. package/dist/utils/dnd-kit/utilities.js.map +1 -0
  473. package/dist/utils/format.js +2 -2
  474. package/dist/utils/format.js.map +1 -1
  475. package/dist/utils/hotkeys.js +1 -1
  476. package/dist/utils/money.js +1 -1
  477. package/dist/utils/permission-deps.js +64 -0
  478. package/dist/utils/permission-deps.js.map +1 -0
  479. package/dist/utils/react-flow.js +2 -0
  480. package/dist/utils/react-flow.js.map +1 -0
  481. package/dist/utils/timezone.js +1 -1
  482. package/dist/utils/zod.js +11 -1
  483. package/dist/utils/zod.js.map +1 -1
  484. package/package.json +79 -3
@@ -1 +1 @@
1
- {"version":3,"file":"image-component.js","sources":["../node_modules/.pnpm/@lexical+react@0.41.0_react-dom@19.2.3_react@19.2.3__react@19.2.3_yjs@13.6.29/node_modules/@lexical/react/LexicalCollaborationContext.prod.mjs","../node_modules/.pnpm/@lexical+react@0.41.0_react-dom@19.2.3_react@19.2.3__react@19.2.3_yjs@13.6.29/node_modules/@lexical/react/LexicalNestedComposer.prod.mjs","../lib/components/Editor/editor-ui/image-resizer.tsx","../lib/components/Editor/editor-ui/image-component.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createContext as r,useMemo as n,useContext as e}from\"react\";import{jsx as o}from\"react/jsx-runtime\";const t=[[\"Cat\",\"rgb(125, 50, 0)\"],[\"Dog\",\"rgb(100, 0, 0)\"],[\"Rabbit\",\"rgb(150, 0, 0)\"],[\"Frog\",\"rgb(200, 0, 0)\"],[\"Fox\",\"rgb(200, 75, 0)\"],[\"Hedgehog\",\"rgb(0, 75, 0)\"],[\"Pigeon\",\"rgb(0, 125, 0)\"],[\"Squirrel\",\"rgb(75, 100, 0)\"],[\"Bear\",\"rgb(125, 100, 0)\"],[\"Tiger\",\"rgb(0, 0, 150)\"],[\"Leopard\",\"rgb(0, 0, 200)\"],[\"Zebra\",\"rgb(0, 0, 250)\"],[\"Wolf\",\"rgb(0, 100, 150)\"],[\"Owl\",\"rgb(0, 100, 100)\"],[\"Gull\",\"rgb(100, 0, 100)\"],[\"Squid\",\"rgb(150, 0, 150)\"]],i=t[Math.floor(Math.random()*t.length)],l=r(null);function a(){return{color:i[1],isCollabActive:!1,name:i[0],yjsDocMap:new Map}}const g=a();function c({children:r}){const e=n(()=>a(),[]);return o(l.Provider,{value:e,children:r})}function b(r,n){let o=e(l);return null==o&&function(r,...n){const e=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",r);for(const r of n)o.append(\"v\",r);e.search=o.toString(),console.warn(`Minified Lexical warning #${r}; visit ${e.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(319),o=o??g,null!=r&&(o.name=r),null!=n&&(o.color=n),o}export{l as CollaborationContext,c as LexicalCollaboration,b as useCollaborationContext};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{CollaborationContext as e}from\"@lexical/react/LexicalCollaborationContext\";import{LexicalComposerContext as t,createLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{getTransformSetFromKlass as r,createSharedNodeState as n,getRegisteredNode as i}from\"lexical\";import{useRef as s,useContext as a,useMemo as l,useEffect as c}from\"react\";import{jsx as p}from\"react/jsx-runtime\";const d=()=>{},f=()=>{};function m({initialEditor:m,children:h,initialNodes:u,initialTheme:g,skipCollabChecks:x,skipEditableListener:_}){const v=s(!1),E=a(t);null==E&&function(e,...t){const o=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",e);for(const e of t)r.append(\"v\",e);throw o.search=r.toString(),Error(`Minified Lexical error #${e}; visit ${o.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(9);const[k,{getTheme:b}]=E,w=l(()=>{const e=g||b()||void 0,t=o(E,e);void 0!==e&&(m._config.theme=e),m._parentEditor=m._parentEditor||k;const s=m._createEditorArgs,a=s&&s.namespace;if(u){d(),a||(f(),m._config.namespace=k._config.namespace);for(let e of u){let t=null,o=null;if(\"function\"!=typeof e){const r=e;e=r.replace,t=r.with,o=r.withKlass||null}const s=i(m,e.getType());m._nodes.set(e.getType(),{exportDOM:s?s.exportDOM:void 0,klass:e,replace:t,replaceWithKlass:o,sharedNodeState:n(e),transforms:r(e)})}}else if(s&&s.nodes)a||(f(),m._config.namespace=k._config.namespace);else{const e=m._nodes=new Map(k._nodes);a||(m._config.namespace=k._config.namespace);for(const[t,o]of e)m._nodes.set(t,{exportDOM:o.exportDOM,klass:o.klass,replace:o.replace,replaceWithKlass:o.replaceWithKlass,sharedNodeState:n(o.klass),transforms:r(o.klass)})}return[m,t]},[]),C=a(e),{isCollabActive:L,yjsDocMap:M}=C??{},y=x||v.current||M&&M.has(m.getKey());return c(()=>{y&&(v.current=!0)},[y]),c(()=>{if(!_){const e=e=>m.setEditable(e);return e(k.isEditable()),k.registerEditableListener(e)}},[m,k,_]),p(t.Provider,{value:w,children:!L||y?h:null})}export{m as LexicalNestedComposer};\n","'use client';\n\nimport { calculateZoomLevel } from '@lexical/utils';\nimport type { LexicalEditor } from 'lexical';\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nimport type * as React from 'react';\nimport { type JSX, useRef } from 'react';\n\nimport { Button } from './button';\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nconst Direction = {\n east: 1 << 0,\n north: 1 << 3,\n south: 1 << 1,\n west: 1 << 2,\n};\n\nexport function ImageResizer({\n onResizeStart,\n onResizeEnd,\n buttonRef,\n imageRef,\n maxWidth,\n editor,\n showCaption,\n setShowCaption,\n captionsEnabled,\n}: {\n editor: LexicalEditor;\n buttonRef: { current: null | HTMLButtonElement };\n imageRef: { current: null | HTMLElement };\n maxWidth?: number;\n onResizeEnd: (width: 'inherit' | number, height: 'inherit' | number) => void;\n onResizeStart: () => void;\n setShowCaption: (show: boolean) => void;\n showCaption: boolean;\n captionsEnabled: boolean;\n}): JSX.Element {\n const controlWrapperRef = useRef<HTMLDivElement>(null);\n const userSelect = useRef({\n priority: '',\n value: 'default',\n });\n const positioningRef = useRef<{\n currentHeight: 'inherit' | number;\n currentWidth: 'inherit' | number;\n direction: number;\n isResizing: boolean;\n ratio: number;\n startHeight: number;\n startWidth: number;\n startX: number;\n startY: number;\n }>({\n currentHeight: 0,\n currentWidth: 0,\n direction: 0,\n isResizing: false,\n ratio: 0,\n startHeight: 0,\n startWidth: 0,\n startX: 0,\n startY: 0,\n });\n const editorRootElement = editor.getRootElement();\n // Find max width, accounting for editor padding.\n const maxWidthContainer = maxWidth\n ? maxWidth\n : editorRootElement !== null\n ? editorRootElement.getBoundingClientRect().width - 20\n : 100;\n const maxHeightContainer = editorRootElement !== null ? editorRootElement.getBoundingClientRect().height - 20 : 100;\n\n const minWidth = 100;\n const minHeight = 100;\n\n const setStartCursor = (direction: number) => {\n const ew = direction === Direction.east || direction === Direction.west;\n const ns = direction === Direction.north || direction === Direction.south;\n const nwse =\n (direction & Direction.north && direction & Direction.west) ||\n (direction & Direction.south && direction & Direction.east);\n\n const cursorDir = ew ? 'ew' : ns ? 'ns' : nwse ? 'nwse' : 'nesw';\n\n if (editorRootElement !== null) {\n editorRootElement.style.setProperty('cursor', `${cursorDir}-resize`, 'important');\n }\n if (document.body !== null) {\n document.body.style.setProperty('cursor', `${cursorDir}-resize`, 'important');\n userSelect.current.value = document.body.style.getPropertyValue('-webkit-user-select');\n userSelect.current.priority = document.body.style.getPropertyPriority('-webkit-user-select');\n document.body.style.setProperty('-webkit-user-select', `none`, 'important');\n }\n };\n\n const setEndCursor = () => {\n if (editorRootElement !== null) {\n editorRootElement.style.setProperty('cursor', 'text');\n }\n if (document.body !== null) {\n document.body.style.setProperty('cursor', 'default');\n document.body.style.setProperty('-webkit-user-select', userSelect.current.value, userSelect.current.priority);\n }\n };\n\n const handlePointerDown = (event: React.PointerEvent<HTMLDivElement>, direction: number) => {\n if (!editor.isEditable()) {\n return;\n }\n\n const image = imageRef.current;\n const controlWrapper = controlWrapperRef.current;\n\n if (image !== null && controlWrapper !== null) {\n event.preventDefault();\n const { width, height } = image.getBoundingClientRect();\n const zoom = calculateZoomLevel(image);\n const positioning = positioningRef.current;\n positioning.startWidth = width;\n positioning.startHeight = height;\n positioning.ratio = width / height;\n positioning.currentWidth = width;\n positioning.currentHeight = height;\n positioning.startX = event.clientX / zoom;\n positioning.startY = event.clientY / zoom;\n positioning.isResizing = true;\n positioning.direction = direction;\n\n setStartCursor(direction);\n onResizeStart();\n\n controlWrapper.classList.add('touch-action-none');\n image.style.height = `${height}px`;\n image.style.width = `${width}px`;\n\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp);\n }\n };\n const handlePointerMove = (event: PointerEvent) => {\n const image = imageRef.current;\n const positioning = positioningRef.current;\n\n const isHorizontal = positioning.direction & (Direction.east | Direction.west);\n const isVertical = positioning.direction & (Direction.south | Direction.north);\n\n if (image !== null && positioning.isResizing) {\n const zoom = calculateZoomLevel(image);\n // Corner cursor\n if (isHorizontal && isVertical) {\n let diff = Math.floor(positioning.startX - event.clientX / zoom);\n diff = positioning.direction & Direction.east ? -diff : diff;\n\n const width = clamp(positioning.startWidth + diff, minWidth, maxWidthContainer);\n\n const height = width / positioning.ratio;\n image.style.width = `${width}px`;\n image.style.height = `${height}px`;\n positioning.currentHeight = height;\n positioning.currentWidth = width;\n } else if (isVertical) {\n let diff = Math.floor(positioning.startY - event.clientY / zoom);\n diff = positioning.direction & Direction.south ? -diff : diff;\n\n const height = clamp(positioning.startHeight + diff, minHeight, maxHeightContainer);\n\n image.style.height = `${height}px`;\n positioning.currentHeight = height;\n } else {\n let diff = Math.floor(positioning.startX - event.clientX / zoom);\n diff = positioning.direction & Direction.east ? -diff : diff;\n\n const width = clamp(positioning.startWidth + diff, minWidth, maxWidthContainer);\n\n image.style.width = `${width}px`;\n positioning.currentWidth = width;\n }\n }\n };\n const handlePointerUp = () => {\n const image = imageRef.current;\n const positioning = positioningRef.current;\n const controlWrapper = controlWrapperRef.current;\n if (image !== null && controlWrapper !== null && positioning.isResizing) {\n const width = positioning.currentWidth;\n const height = positioning.currentHeight;\n positioning.startWidth = 0;\n positioning.startHeight = 0;\n positioning.ratio = 0;\n positioning.startX = 0;\n positioning.startY = 0;\n positioning.currentWidth = 0;\n positioning.currentHeight = 0;\n positioning.isResizing = false;\n\n controlWrapper.classList.remove('touch-action-none');\n\n setEndCursor();\n onResizeEnd(width, height);\n\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp);\n }\n };\n return (\n <div ref={controlWrapperRef}>\n {!showCaption && captionsEnabled && (\n <Button\n className=\"image-caption-button absolute bottom-1 left-1/2 -translate-x-1/2\"\n ref={buttonRef}\n variant={'outline'}\n onClick={() => {\n setShowCaption(!showCaption);\n }}\n >\n Add Caption\n </Button>\n )}\n <div\n className=\"image-resizer image-resizer-n bg-primary absolute -top-2.5 left-1/2 h-2 w-2 -translate-x-1/2 cursor-ns-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.north);\n }}\n />\n <div\n className=\"image-resizer image-resizer-ne bg-primary absolute -top-2.5 -right-2.5 h-2 w-2 cursor-nesw-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.north | Direction.east);\n }}\n />\n <div\n className=\"image-resizer image-resizer-e bg-primary absolute top-1/2 -right-2.5 h-2 w-2 -translate-y-1/2 cursor-ew-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.east);\n }}\n />\n <div\n className=\"image-resizer image-resizer-se bg-primary absolute -right-2.5 -bottom-2.5 h-2 w-2 cursor-nwse-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.south | Direction.east);\n }}\n />\n <div\n className=\"image-resizer image-resizer-s bg-primary absolute -bottom-2.5 left-1/2 h-2 w-2 -translate-x-1/2 cursor-ns-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.south);\n }}\n />\n <div\n className=\"image-resizer image-resizer-sw bg-primary absolute -bottom-2.5 -left-2.5 h-2 w-2 cursor-nesw-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.south | Direction.west);\n }}\n />\n <div\n className=\"image-resizer image-resizer-w bg-primary absolute top-1/2 -left-2.5 h-2 w-2 -translate-y-1/2 cursor-ew-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.west);\n }}\n />\n <div\n className=\"image-resizer image-resizer-nw bg-primary absolute -top-2.5 -left-2.5 h-2 w-2 cursor-nwse-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.north | Direction.west);\n }}\n />\n </div>\n );\n}\n","'use client';\n\nimport { AutoFocusPlugin } from '@lexical/react/LexicalAutoFocusPlugin';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';\nimport { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';\nimport { LexicalNestedComposer } from '@lexical/react/LexicalNestedComposer';\nimport { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable';\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';\nimport { mergeRegister } from '@lexical/utils';\nimport type { BaseSelection, LexicalCommand, LexicalEditor, NodeKey } from 'lexical';\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n $isRangeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n createCommand,\n DRAGSTART_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND,\n KEY_ESCAPE_COMMAND,\n ParagraphNode,\n RootNode,\n SELECTION_CHANGE_COMMAND,\n TextNode,\n} from 'lexical';\nimport { type JSX, Suspense, useCallback, useEffect, useRef, useState } from 'react';\nimport { $isImageNode } from '../nodes/image-node';\n// import brokenImage from '../images/image-broken.svg';\nimport { ContentEditable } from './content-editable';\nimport { ImageResizer } from './image-resizer';\n\nconst imageCache = new Set();\n\nexport const RIGHT_CLICK_IMAGE_COMMAND: LexicalCommand<MouseEvent> = createCommand('RIGHT_CLICK_IMAGE_COMMAND');\n\nfunction useSuspenseImage(src: string) {\n if (!imageCache.has(src)) {\n throw new Promise((resolve) => {\n const img = new Image();\n img.src = src;\n img.onload = () => {\n imageCache.add(src);\n resolve(null);\n };\n img.onerror = () => {\n imageCache.add(src);\n };\n });\n }\n}\n\nfunction LazyImage({\n altText,\n className,\n imageRef,\n src,\n width,\n height,\n maxWidth,\n onError,\n}: {\n altText: string;\n className: string | null;\n height: 'inherit' | number;\n imageRef: { current: null | HTMLImageElement };\n maxWidth: number;\n src: string;\n width: 'inherit' | number;\n onError: () => void;\n}): JSX.Element {\n useSuspenseImage(src);\n return (\n <img\n className={className || undefined}\n src={src}\n alt={altText}\n ref={imageRef}\n style={{\n height,\n maxWidth,\n width,\n }}\n onError={onError}\n draggable=\"false\"\n />\n );\n}\n\nfunction BrokenImage(): JSX.Element {\n return (\n <img\n src={''}\n alt=\"Broken media\"\n style={{\n height: 200,\n opacity: 0.2,\n width: 200,\n }}\n draggable=\"false\"\n />\n );\n}\n\nexport default function ImageComponent({\n src,\n altText,\n nodeKey,\n width,\n height,\n maxWidth,\n resizable,\n showCaption,\n caption,\n captionsEnabled,\n}: {\n altText: string;\n caption: LexicalEditor;\n height: 'inherit' | number;\n maxWidth: number;\n nodeKey: NodeKey;\n resizable: boolean;\n showCaption: boolean;\n src: string;\n width: 'inherit' | number;\n captionsEnabled: boolean;\n}): JSX.Element {\n const imageRef = useRef<null | HTMLImageElement>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);\n const [isResizing, setIsResizing] = useState<boolean>(false);\n const [editor] = useLexicalComposerContext();\n const [selection, setSelection] = useState<BaseSelection | null>(null);\n const activeEditorRef = useRef<LexicalEditor | null>(null);\n const [isLoadError, setIsLoadError] = useState<boolean>(false);\n const isEditable = useLexicalEditable();\n\n const $onDelete = useCallback(\n (payload: KeyboardEvent) => {\n const deleteSelection = $getSelection();\n if (isSelected && $isNodeSelection(deleteSelection)) {\n const event: KeyboardEvent = payload;\n event.preventDefault();\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isImageNode(node)) {\n node.remove();\n }\n });\n });\n }\n return false;\n },\n [editor, isSelected],\n );\n\n const $onEnter = useCallback(\n (event: KeyboardEvent) => {\n const latestSelection = $getSelection();\n const buttonElem = buttonRef.current;\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n if (showCaption) {\n // Move focus into nested editor\n $setSelection(null);\n event.preventDefault();\n caption.focus();\n return true;\n } else if (buttonElem !== null && buttonElem !== document.activeElement) {\n event.preventDefault();\n buttonElem.focus();\n return true;\n }\n }\n return false;\n },\n [caption, isSelected, showCaption],\n );\n\n const $onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (activeEditorRef.current === caption || buttonRef.current === event.target) {\n $setSelection(null);\n editor.update(() => {\n setSelected(true);\n const parentRootElement = editor.getRootElement();\n if (parentRootElement !== null) {\n parentRootElement.focus();\n }\n });\n return true;\n }\n return false;\n },\n [caption, editor, setSelected],\n );\n\n const onClick = useCallback(\n (payload: MouseEvent) => {\n const event = payload;\n\n if (isResizing) {\n return true;\n }\n if (event.target === imageRef.current) {\n if (event.shiftKey) {\n setSelected(!isSelected);\n } else {\n clearSelection();\n setSelected(true);\n }\n return true;\n }\n\n return false;\n },\n [isResizing, isSelected, setSelected, clearSelection],\n );\n\n const onRightClick = useCallback(\n (event: MouseEvent): void => {\n editor.getEditorState().read(() => {\n const latestSelection = $getSelection();\n const domElement = event.target as HTMLElement;\n if (\n domElement.tagName === 'IMG' &&\n $isRangeSelection(latestSelection) &&\n latestSelection.getNodes().length === 1\n ) {\n editor.dispatchCommand(RIGHT_CLICK_IMAGE_COMMAND, event as MouseEvent);\n }\n });\n },\n [editor],\n );\n\n useEffect(() => {\n let isMounted = true;\n const rootElement = editor.getRootElement();\n const unregister = mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n if (isMounted) {\n setSelection(editorState.read(() => $getSelection()));\n }\n }),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n (_, activeEditor) => {\n activeEditorRef.current = activeEditor;\n return false;\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand<MouseEvent>(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n editor.registerCommand<MouseEvent>(RIGHT_CLICK_IMAGE_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n DRAGSTART_COMMAND,\n (event) => {\n if (event.target === imageRef.current) {\n // TODO This is just a temporary workaround for FF to behave like other browsers.\n // Ideally, this handles drag & drop too (and all browsers).\n event.preventDefault();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_ENTER_COMMAND, $onEnter, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_ESCAPE_COMMAND, $onEscape, COMMAND_PRIORITY_LOW),\n );\n\n rootElement?.addEventListener('contextmenu', onRightClick);\n\n return () => {\n isMounted = false;\n unregister();\n rootElement?.removeEventListener('contextmenu', onRightClick);\n };\n }, [\n clearSelection,\n editor,\n isResizing,\n isSelected,\n nodeKey,\n $onDelete,\n $onEnter,\n $onEscape,\n onClick,\n onRightClick,\n setSelected,\n ]);\n\n const setShowCaption = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isImageNode(node)) {\n node.setShowCaption(true);\n }\n });\n };\n\n const onResizeEnd = (nextWidth: 'inherit' | number, nextHeight: 'inherit' | number) => {\n // Delay hiding the resize bars for click case\n setTimeout(() => {\n setIsResizing(false);\n }, 200);\n\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isImageNode(node)) {\n node.setWidthAndHeight(nextWidth, nextHeight);\n }\n });\n };\n\n const onResizeStart = () => {\n setIsResizing(true);\n };\n\n const draggable = isSelected && $isNodeSelection(selection) && !isResizing;\n const isFocused = (isSelected || isResizing) && isEditable;\n return (\n <Suspense fallback={null}>\n <div draggable={draggable}>\n {isLoadError ? (\n <BrokenImage />\n ) : (\n <LazyImage\n className={`max-w-full cursor-default ${\n isFocused\n ? `${$isNodeSelection(selection) ? 'draggable cursor-grab active:cursor-grabbing' : ''} focused ring-primary ring-2 ring-offset-2`\n : null\n }`}\n src={src}\n altText={altText}\n imageRef={imageRef}\n width={width}\n height={height}\n maxWidth={maxWidth}\n onError={() => setIsLoadError(true)}\n />\n )}\n </div>\n\n {showCaption && (\n <div className=\"image-caption-container absolute right-0 bottom-1 left-0 m-0 block min-w-[100px] overflow-hidden border-t bg-white/90 p-0\">\n <LexicalNestedComposer initialEditor={caption} initialNodes={[RootNode, TextNode, ParagraphNode]}>\n <AutoFocusPlugin />\n <HistoryPlugin />\n <RichTextPlugin\n contentEditable={\n <ContentEditable\n className=\"ImageNode__contentEditable user-select-text word-break-break-word caret-primary relative block min-h-5 w-[calc(100%-20px)] cursor-text resize-none border-0 p-2.5 text-sm whitespace-pre-wrap outline-none\"\n placeholderClassName=\"ImageNode__placeholder text-sm text-muted-foreground overflow-hidden absolute top-2.5 left-2.5 pointer-events-none text-ellipsis user-select-none whitespace-nowrap inline-block\"\n placeholder=\"Enter a caption...\"\n />\n }\n ErrorBoundary={LexicalErrorBoundary}\n />\n </LexicalNestedComposer>\n </div>\n )}\n {resizable && $isNodeSelection(selection) && isFocused && (\n <ImageResizer\n showCaption={showCaption}\n setShowCaption={setShowCaption}\n editor={editor}\n buttonRef={buttonRef}\n imageRef={imageRef}\n maxWidth={maxWidth}\n onResizeStart={onResizeStart}\n onResizeEnd={onResizeEnd}\n captionsEnabled={!isLoadError && captionsEnabled}\n />\n )}\n </Suspense>\n );\n}\n"],"names":["r","s","a","t","l","o","i","n","e","c","p","calculateZoomLevel","createCommand","useLexicalNodeSelection","useLexicalComposerContext","useLexicalEditable","$getSelection","$isNodeSelection","$setSelection","$isRangeSelection","mergeRegister","SELECTION_CHANGE_COMMAND","COMMAND_PRIORITY_LOW","CLICK_COMMAND","DRAGSTART_COMMAND","KEY_DELETE_COMMAND","KEY_BACKSPACE_COMMAND","KEY_ENTER_COMMAND","KEY_ESCAPE_COMMAND","$getNodeByKey","LexicalNestedComposer","RootNode","TextNode","ParagraphNode","AutoFocusPlugin","HistoryPlugin","RichTextPlugin","LexicalErrorBoundary"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"image-component.js","sources":["../node_modules/.pnpm/@lexical+react@0.41.0_react-dom@19.2.3_react@19.2.3__react@19.2.3_yjs@13.6.29/node_modules/@lexical/react/LexicalCollaborationContext.prod.mjs","../node_modules/.pnpm/@lexical+react@0.41.0_react-dom@19.2.3_react@19.2.3__react@19.2.3_yjs@13.6.29/node_modules/@lexical/react/LexicalNestedComposer.prod.mjs","../lib/components/Editor/editor-ui/image-resizer.tsx","../lib/components/Editor/editor-ui/image-component.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createContext as r,useMemo as n,useContext as e}from\"react\";import{jsx as o}from\"react/jsx-runtime\";const t=[[\"Cat\",\"rgb(125, 50, 0)\"],[\"Dog\",\"rgb(100, 0, 0)\"],[\"Rabbit\",\"rgb(150, 0, 0)\"],[\"Frog\",\"rgb(200, 0, 0)\"],[\"Fox\",\"rgb(200, 75, 0)\"],[\"Hedgehog\",\"rgb(0, 75, 0)\"],[\"Pigeon\",\"rgb(0, 125, 0)\"],[\"Squirrel\",\"rgb(75, 100, 0)\"],[\"Bear\",\"rgb(125, 100, 0)\"],[\"Tiger\",\"rgb(0, 0, 150)\"],[\"Leopard\",\"rgb(0, 0, 200)\"],[\"Zebra\",\"rgb(0, 0, 250)\"],[\"Wolf\",\"rgb(0, 100, 150)\"],[\"Owl\",\"rgb(0, 100, 100)\"],[\"Gull\",\"rgb(100, 0, 100)\"],[\"Squid\",\"rgb(150, 0, 150)\"]],i=t[Math.floor(Math.random()*t.length)],l=r(null);function a(){return{color:i[1],isCollabActive:!1,name:i[0],yjsDocMap:new Map}}const g=a();function c({children:r}){const e=n(()=>a(),[]);return o(l.Provider,{value:e,children:r})}function b(r,n){let o=e(l);return null==o&&function(r,...n){const e=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",r);for(const r of n)o.append(\"v\",r);e.search=o.toString(),console.warn(`Minified Lexical warning #${r}; visit ${e.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(319),o=o??g,null!=r&&(o.name=r),null!=n&&(o.color=n),o}export{l as CollaborationContext,c as LexicalCollaboration,b as useCollaborationContext};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{CollaborationContext as e}from\"@lexical/react/LexicalCollaborationContext\";import{LexicalComposerContext as t,createLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{getTransformSetFromKlass as r,createSharedNodeState as n,getRegisteredNode as i}from\"lexical\";import{useRef as s,useContext as a,useMemo as l,useEffect as c}from\"react\";import{jsx as p}from\"react/jsx-runtime\";const d=()=>{},f=()=>{};function m({initialEditor:m,children:h,initialNodes:u,initialTheme:g,skipCollabChecks:x,skipEditableListener:_}){const v=s(!1),E=a(t);null==E&&function(e,...t){const o=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",e);for(const e of t)r.append(\"v\",e);throw o.search=r.toString(),Error(`Minified Lexical error #${e}; visit ${o.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(9);const[k,{getTheme:b}]=E,w=l(()=>{const e=g||b()||void 0,t=o(E,e);void 0!==e&&(m._config.theme=e),m._parentEditor=m._parentEditor||k;const s=m._createEditorArgs,a=s&&s.namespace;if(u){d(),a||(f(),m._config.namespace=k._config.namespace);for(let e of u){let t=null,o=null;if(\"function\"!=typeof e){const r=e;e=r.replace,t=r.with,o=r.withKlass||null}const s=i(m,e.getType());m._nodes.set(e.getType(),{exportDOM:s?s.exportDOM:void 0,klass:e,replace:t,replaceWithKlass:o,sharedNodeState:n(e),transforms:r(e)})}}else if(s&&s.nodes)a||(f(),m._config.namespace=k._config.namespace);else{const e=m._nodes=new Map(k._nodes);a||(m._config.namespace=k._config.namespace);for(const[t,o]of e)m._nodes.set(t,{exportDOM:o.exportDOM,klass:o.klass,replace:o.replace,replaceWithKlass:o.replaceWithKlass,sharedNodeState:n(o.klass),transforms:r(o.klass)})}return[m,t]},[]),C=a(e),{isCollabActive:L,yjsDocMap:M}=C??{},y=x||v.current||M&&M.has(m.getKey());return c(()=>{y&&(v.current=!0)},[y]),c(()=>{if(!_){const e=e=>m.setEditable(e);return e(k.isEditable()),k.registerEditableListener(e)}},[m,k,_]),p(t.Provider,{value:w,children:!L||y?h:null})}export{m as LexicalNestedComposer};\n","'use client';\n\nimport { calculateZoomLevel } from '@lexical/utils';\nimport type { LexicalEditor } from 'lexical';\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nimport type * as React from 'react';\nimport { type JSX, useRef } from 'react';\n\nimport { Button } from './button';\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nconst Direction = {\n east: 1 << 0,\n north: 1 << 3,\n south: 1 << 1,\n west: 1 << 2,\n};\n\nexport function ImageResizer({\n onResizeStart,\n onResizeEnd,\n buttonRef,\n imageRef,\n maxWidth,\n editor,\n showCaption,\n setShowCaption,\n captionsEnabled,\n}: {\n editor: LexicalEditor;\n buttonRef: { current: null | HTMLButtonElement };\n imageRef: { current: null | HTMLElement };\n maxWidth?: number;\n onResizeEnd: (width: 'inherit' | number, height: 'inherit' | number) => void;\n onResizeStart: () => void;\n setShowCaption: (show: boolean) => void;\n showCaption: boolean;\n captionsEnabled: boolean;\n}): JSX.Element {\n const controlWrapperRef = useRef<HTMLDivElement>(null);\n const userSelect = useRef({\n priority: '',\n value: 'default',\n });\n const positioningRef = useRef<{\n currentHeight: 'inherit' | number;\n currentWidth: 'inherit' | number;\n direction: number;\n isResizing: boolean;\n ratio: number;\n startHeight: number;\n startWidth: number;\n startX: number;\n startY: number;\n }>({\n currentHeight: 0,\n currentWidth: 0,\n direction: 0,\n isResizing: false,\n ratio: 0,\n startHeight: 0,\n startWidth: 0,\n startX: 0,\n startY: 0,\n });\n const editorRootElement = editor.getRootElement();\n // Find max width, accounting for editor padding.\n const maxWidthContainer = maxWidth\n ? maxWidth\n : editorRootElement !== null\n ? editorRootElement.getBoundingClientRect().width - 20\n : 100;\n const maxHeightContainer = editorRootElement !== null ? editorRootElement.getBoundingClientRect().height - 20 : 100;\n\n const minWidth = 100;\n const minHeight = 100;\n\n const setStartCursor = (direction: number) => {\n const ew = direction === Direction.east || direction === Direction.west;\n const ns = direction === Direction.north || direction === Direction.south;\n const nwse =\n (direction & Direction.north && direction & Direction.west) ||\n (direction & Direction.south && direction & Direction.east);\n\n const cursorDir = ew ? 'ew' : ns ? 'ns' : nwse ? 'nwse' : 'nesw';\n\n if (editorRootElement !== null) {\n editorRootElement.style.setProperty('cursor', `${cursorDir}-resize`, 'important');\n }\n if (document.body !== null) {\n document.body.style.setProperty('cursor', `${cursorDir}-resize`, 'important');\n userSelect.current.value = document.body.style.getPropertyValue('-webkit-user-select');\n userSelect.current.priority = document.body.style.getPropertyPriority('-webkit-user-select');\n document.body.style.setProperty('-webkit-user-select', `none`, 'important');\n }\n };\n\n const setEndCursor = () => {\n if (editorRootElement !== null) {\n editorRootElement.style.setProperty('cursor', 'text');\n }\n if (document.body !== null) {\n document.body.style.setProperty('cursor', 'default');\n document.body.style.setProperty('-webkit-user-select', userSelect.current.value, userSelect.current.priority);\n }\n };\n\n const handlePointerDown = (event: React.PointerEvent<HTMLDivElement>, direction: number) => {\n if (!editor.isEditable()) {\n return;\n }\n\n const image = imageRef.current;\n const controlWrapper = controlWrapperRef.current;\n\n if (image !== null && controlWrapper !== null) {\n event.preventDefault();\n const { width, height } = image.getBoundingClientRect();\n const zoom = calculateZoomLevel(image);\n const positioning = positioningRef.current;\n positioning.startWidth = width;\n positioning.startHeight = height;\n positioning.ratio = width / height;\n positioning.currentWidth = width;\n positioning.currentHeight = height;\n positioning.startX = event.clientX / zoom;\n positioning.startY = event.clientY / zoom;\n positioning.isResizing = true;\n positioning.direction = direction;\n\n setStartCursor(direction);\n onResizeStart();\n\n controlWrapper.classList.add('touch-action-none');\n image.style.height = `${height}px`;\n image.style.width = `${width}px`;\n\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp);\n }\n };\n const handlePointerMove = (event: PointerEvent) => {\n const image = imageRef.current;\n const positioning = positioningRef.current;\n\n const isHorizontal = positioning.direction & (Direction.east | Direction.west);\n const isVertical = positioning.direction & (Direction.south | Direction.north);\n\n if (image !== null && positioning.isResizing) {\n const zoom = calculateZoomLevel(image);\n // Corner cursor\n if (isHorizontal && isVertical) {\n let diff = Math.floor(positioning.startX - event.clientX / zoom);\n diff = positioning.direction & Direction.east ? -diff : diff;\n\n const width = clamp(positioning.startWidth + diff, minWidth, maxWidthContainer);\n\n const height = width / positioning.ratio;\n image.style.width = `${width}px`;\n image.style.height = `${height}px`;\n positioning.currentHeight = height;\n positioning.currentWidth = width;\n } else if (isVertical) {\n let diff = Math.floor(positioning.startY - event.clientY / zoom);\n diff = positioning.direction & Direction.south ? -diff : diff;\n\n const height = clamp(positioning.startHeight + diff, minHeight, maxHeightContainer);\n\n image.style.height = `${height}px`;\n positioning.currentHeight = height;\n } else {\n let diff = Math.floor(positioning.startX - event.clientX / zoom);\n diff = positioning.direction & Direction.east ? -diff : diff;\n\n const width = clamp(positioning.startWidth + diff, minWidth, maxWidthContainer);\n\n image.style.width = `${width}px`;\n positioning.currentWidth = width;\n }\n }\n };\n const handlePointerUp = () => {\n const image = imageRef.current;\n const positioning = positioningRef.current;\n const controlWrapper = controlWrapperRef.current;\n if (image !== null && controlWrapper !== null && positioning.isResizing) {\n const width = positioning.currentWidth;\n const height = positioning.currentHeight;\n positioning.startWidth = 0;\n positioning.startHeight = 0;\n positioning.ratio = 0;\n positioning.startX = 0;\n positioning.startY = 0;\n positioning.currentWidth = 0;\n positioning.currentHeight = 0;\n positioning.isResizing = false;\n\n controlWrapper.classList.remove('touch-action-none');\n\n setEndCursor();\n onResizeEnd(width, height);\n\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp);\n }\n };\n return (\n <div ref={controlWrapperRef}>\n {!showCaption && captionsEnabled && (\n <Button\n className=\"image-caption-button absolute bottom-1 left-1/2 -translate-x-1/2\"\n ref={buttonRef}\n variant={'outline'}\n onClick={() => {\n setShowCaption(!showCaption);\n }}\n >\n Add Caption\n </Button>\n )}\n <div\n className=\"image-resizer image-resizer-n bg-primary absolute -top-2.5 left-1/2 h-2 w-2 -translate-x-1/2 cursor-ns-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.north);\n }}\n />\n <div\n className=\"image-resizer image-resizer-ne bg-primary absolute -top-2.5 -right-2.5 h-2 w-2 cursor-nesw-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.north | Direction.east);\n }}\n />\n <div\n className=\"image-resizer image-resizer-e bg-primary absolute top-1/2 -right-2.5 h-2 w-2 -translate-y-1/2 cursor-ew-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.east);\n }}\n />\n <div\n className=\"image-resizer image-resizer-se bg-primary absolute -right-2.5 -bottom-2.5 h-2 w-2 cursor-nwse-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.south | Direction.east);\n }}\n />\n <div\n className=\"image-resizer image-resizer-s bg-primary absolute -bottom-2.5 left-1/2 h-2 w-2 -translate-x-1/2 cursor-ns-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.south);\n }}\n />\n <div\n className=\"image-resizer image-resizer-sw bg-primary absolute -bottom-2.5 -left-2.5 h-2 w-2 cursor-nesw-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.south | Direction.west);\n }}\n />\n <div\n className=\"image-resizer image-resizer-w bg-primary absolute top-1/2 -left-2.5 h-2 w-2 -translate-y-1/2 cursor-ew-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.west);\n }}\n />\n <div\n className=\"image-resizer image-resizer-nw bg-primary absolute -top-2.5 -left-2.5 h-2 w-2 cursor-nwse-resize\"\n onPointerDown={(event) => {\n handlePointerDown(event, Direction.north | Direction.west);\n }}\n />\n </div>\n );\n}\n","'use client';\n\nimport { AutoFocusPlugin } from '@lexical/react/LexicalAutoFocusPlugin';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';\nimport { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';\nimport { LexicalNestedComposer } from '@lexical/react/LexicalNestedComposer';\nimport { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable';\nimport { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';\nimport { mergeRegister } from '@lexical/utils';\nimport type { BaseSelection, LexicalCommand, LexicalEditor, NodeKey } from 'lexical';\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n $isRangeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n createCommand,\n DRAGSTART_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND,\n KEY_ESCAPE_COMMAND,\n ParagraphNode,\n RootNode,\n SELECTION_CHANGE_COMMAND,\n TextNode,\n} from 'lexical';\nimport { type JSX, Suspense, useCallback, useEffect, useRef, useState } from 'react';\nimport { $isImageNode } from '../nodes/image-node';\n// import brokenImage from '../images/image-broken.svg';\nimport { ContentEditable } from './content-editable';\nimport { ImageResizer } from './image-resizer';\n\nconst imageCache = new Set();\n\nexport const RIGHT_CLICK_IMAGE_COMMAND: LexicalCommand<MouseEvent> = createCommand('RIGHT_CLICK_IMAGE_COMMAND');\n\nfunction useSuspenseImage(src: string) {\n if (!imageCache.has(src)) {\n throw new Promise((resolve) => {\n const img = new Image();\n img.src = src;\n img.onload = () => {\n imageCache.add(src);\n resolve(null);\n };\n img.onerror = () => {\n imageCache.add(src);\n };\n });\n }\n}\n\nfunction LazyImage({\n altText,\n className,\n imageRef,\n src,\n width,\n height,\n maxWidth,\n onError,\n}: {\n altText: string;\n className: string | null;\n height: 'inherit' | number;\n imageRef: { current: null | HTMLImageElement };\n maxWidth: number;\n src: string;\n width: 'inherit' | number;\n onError: () => void;\n}): JSX.Element {\n useSuspenseImage(src);\n return (\n <img\n className={className || undefined}\n src={src}\n alt={altText}\n ref={imageRef}\n style={{\n height,\n maxWidth,\n width,\n }}\n onError={onError}\n draggable=\"false\"\n />\n );\n}\n\nfunction BrokenImage(): JSX.Element {\n return (\n <img\n src={''}\n alt=\"Broken media\"\n style={{\n height: 200,\n opacity: 0.2,\n width: 200,\n }}\n draggable=\"false\"\n />\n );\n}\n\nexport default function ImageComponent({\n src,\n altText,\n nodeKey,\n width,\n height,\n maxWidth,\n resizable,\n showCaption,\n caption,\n captionsEnabled,\n}: {\n altText: string;\n caption: LexicalEditor;\n height: 'inherit' | number;\n maxWidth: number;\n nodeKey: NodeKey;\n resizable: boolean;\n showCaption: boolean;\n src: string;\n width: 'inherit' | number;\n captionsEnabled: boolean;\n}): JSX.Element {\n const imageRef = useRef<null | HTMLImageElement>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);\n const [isResizing, setIsResizing] = useState<boolean>(false);\n const [editor] = useLexicalComposerContext();\n const [selection, setSelection] = useState<BaseSelection | null>(null);\n const activeEditorRef = useRef<LexicalEditor | null>(null);\n const [isLoadError, setIsLoadError] = useState<boolean>(false);\n const isEditable = useLexicalEditable();\n\n const $onDelete = useCallback(\n (payload: KeyboardEvent) => {\n const deleteSelection = $getSelection();\n if (isSelected && $isNodeSelection(deleteSelection)) {\n const event: KeyboardEvent = payload;\n event.preventDefault();\n editor.update(() => {\n deleteSelection.getNodes().forEach((node) => {\n if ($isImageNode(node)) {\n node.remove();\n }\n });\n });\n }\n return false;\n },\n [editor, isSelected],\n );\n\n const $onEnter = useCallback(\n (event: KeyboardEvent) => {\n const latestSelection = $getSelection();\n const buttonElem = buttonRef.current;\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n if (showCaption) {\n // Move focus into nested editor\n $setSelection(null);\n event.preventDefault();\n caption.focus();\n return true;\n } else if (buttonElem !== null && buttonElem !== document.activeElement) {\n event.preventDefault();\n buttonElem.focus();\n return true;\n }\n }\n return false;\n },\n [caption, isSelected, showCaption],\n );\n\n const $onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (activeEditorRef.current === caption || buttonRef.current === event.target) {\n $setSelection(null);\n editor.update(() => {\n setSelected(true);\n const parentRootElement = editor.getRootElement();\n if (parentRootElement !== null) {\n parentRootElement.focus();\n }\n });\n return true;\n }\n return false;\n },\n [caption, editor, setSelected],\n );\n\n const onClick = useCallback(\n (payload: MouseEvent) => {\n const event = payload;\n\n if (isResizing) {\n return true;\n }\n if (event.target === imageRef.current) {\n if (event.shiftKey) {\n setSelected(!isSelected);\n } else {\n clearSelection();\n setSelected(true);\n }\n return true;\n }\n\n return false;\n },\n [isResizing, isSelected, setSelected, clearSelection],\n );\n\n const onRightClick = useCallback(\n (event: MouseEvent): void => {\n editor.getEditorState().read(() => {\n const latestSelection = $getSelection();\n const domElement = event.target as HTMLElement;\n if (\n domElement.tagName === 'IMG' &&\n $isRangeSelection(latestSelection) &&\n latestSelection.getNodes().length === 1\n ) {\n editor.dispatchCommand(RIGHT_CLICK_IMAGE_COMMAND, event as MouseEvent);\n }\n });\n },\n [editor],\n );\n\n useEffect(() => {\n let isMounted = true;\n const rootElement = editor.getRootElement();\n const unregister = mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n if (isMounted) {\n setSelection(editorState.read(() => $getSelection()));\n }\n }),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n (_, activeEditor) => {\n activeEditorRef.current = activeEditor;\n return false;\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand<MouseEvent>(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n editor.registerCommand<MouseEvent>(RIGHT_CLICK_IMAGE_COMMAND, onClick, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n DRAGSTART_COMMAND,\n (event) => {\n if (event.target === imageRef.current) {\n // TODO temporary FF workaround; ideally handles drag & drop for all browsers too\n event.preventDefault();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_ENTER_COMMAND, $onEnter, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_ESCAPE_COMMAND, $onEscape, COMMAND_PRIORITY_LOW),\n );\n\n rootElement?.addEventListener('contextmenu', onRightClick);\n\n return () => {\n isMounted = false;\n unregister();\n rootElement?.removeEventListener('contextmenu', onRightClick);\n };\n }, [\n clearSelection,\n editor,\n isResizing,\n isSelected,\n nodeKey,\n $onDelete,\n $onEnter,\n $onEscape,\n onClick,\n onRightClick,\n setSelected,\n ]);\n\n const setShowCaption = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isImageNode(node)) {\n node.setShowCaption(true);\n }\n });\n };\n\n const onResizeEnd = (nextWidth: 'inherit' | number, nextHeight: 'inherit' | number) => {\n // Delay hiding the resize bars for click case\n setTimeout(() => {\n setIsResizing(false);\n }, 200);\n\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isImageNode(node)) {\n node.setWidthAndHeight(nextWidth, nextHeight);\n }\n });\n };\n\n const onResizeStart = () => {\n setIsResizing(true);\n };\n\n const draggable = isSelected && $isNodeSelection(selection) && !isResizing;\n const isFocused = (isSelected || isResizing) && isEditable;\n return (\n <Suspense fallback={null}>\n <div draggable={draggable}>\n {isLoadError ? (\n <BrokenImage />\n ) : (\n <LazyImage\n className={`max-w-full cursor-default ${\n isFocused\n ? `${$isNodeSelection(selection) ? 'draggable cursor-grab active:cursor-grabbing' : ''} focused ring-primary ring-2 ring-offset-2`\n : null\n }`}\n src={src}\n altText={altText}\n imageRef={imageRef}\n width={width}\n height={height}\n maxWidth={maxWidth}\n onError={() => setIsLoadError(true)}\n />\n )}\n </div>\n\n {showCaption && (\n <div className=\"image-caption-container absolute right-0 bottom-1 left-0 m-0 block min-w-[100px] overflow-hidden border-t bg-white/90 p-0\">\n <LexicalNestedComposer initialEditor={caption} initialNodes={[RootNode, TextNode, ParagraphNode]}>\n <AutoFocusPlugin />\n <HistoryPlugin />\n <RichTextPlugin\n contentEditable={\n <ContentEditable\n className=\"ImageNode__contentEditable user-select-text word-break-break-word caret-primary relative block min-h-5 w-[calc(100%-20px)] cursor-text resize-none border-0 p-2.5 text-sm whitespace-pre-wrap outline-none\"\n placeholderClassName=\"ImageNode__placeholder text-sm text-muted-foreground overflow-hidden absolute top-2.5 left-2.5 pointer-events-none text-ellipsis user-select-none whitespace-nowrap inline-block\"\n placeholder=\"Enter a caption...\"\n />\n }\n ErrorBoundary={LexicalErrorBoundary}\n />\n </LexicalNestedComposer>\n </div>\n )}\n {resizable && $isNodeSelection(selection) && isFocused && (\n <ImageResizer\n showCaption={showCaption}\n setShowCaption={setShowCaption}\n editor={editor}\n buttonRef={buttonRef}\n imageRef={imageRef}\n maxWidth={maxWidth}\n onResizeStart={onResizeStart}\n onResizeEnd={onResizeEnd}\n captionsEnabled={!isLoadError && captionsEnabled}\n />\n )}\n </Suspense>\n );\n}\n"],"names":["r","s","a","t","l","o","i","n","e","c","p","calculateZoomLevel","createCommand","useLexicalNodeSelection","useLexicalComposerContext","useLexicalEditable","$getSelection","$isNodeSelection","$setSelection","$isRangeSelection","mergeRegister","SELECTION_CHANGE_COMMAND","COMMAND_PRIORITY_LOW","CLICK_COMMAND","DRAGSTART_COMMAND","KEY_DELETE_COMMAND","KEY_BACKSPACE_COMMAND","KEY_ENTER_COMMAND","KEY_ESCAPE_COMMAND","$getNodeByKey","LexicalNestedComposer","RootNode","TextNode","ParagraphNode","AutoFocusPlugin","HistoryPlugin","RichTextPlugin","LexicalErrorBoundary"],"mappings":"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","x_google_ignoreList":[0,1]}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { c as cn } from './utils.js';
2
- export { c as configureQuantumUI, d as defineConfig, g as getConfig, r as resetConfig } from './index7.js';
2
+ export { c as configureQuantumUI, d as defineConfig, g as getConfig, r as resetConfig } from './index8.js';
3
3
  export { L as LayoutModeProvider, u as useLayoutMode } from './LayoutModeContext.js';
4
4
  export { T as ThemeContext, a as ThemeProvider } from './ThemeContext.js';
5
5
  export { u as useBarcodeScanner, a as useSSE, b as useSlugParams, c as useTimer } from './useTimer.js';
@@ -16,6 +16,7 @@ export { A as AreaChart } from './AreaChart.js';
16
16
  export { A as Avatar, a as AvatarBadge, b as AvatarFallback, c as AvatarGroup, d as AvatarGroupCount, e as AvatarImage } from './Avatar.js';
17
17
  export { B as Badge } from './Badge.js';
18
18
  export { B as BarChart } from './BarChart.js';
19
+ export { B as BillingCycleFilter, a as BillingCycleSelector } from './BillingCycleSelector.js';
19
20
  export { B as Breadcrumb, a as BreadcrumbEllipsis, b as BreadcrumbItem, c as BreadcrumbLink, d as BreadcrumbList, e as BreadcrumbPage, f as BreadcrumbRoot, g as BreadcrumbSeparator } from './Breadcrumb.js';
20
21
  export { B as BusinessFilter, a as BusinessSelector } from './BusinessSelector.js';
21
22
  export { B as Button } from './Button.js';
@@ -28,8 +29,10 @@ export { C as CloudProviderFilter, a as CloudProviderSelector } from './CloudPro
28
29
  export { C as Collapsible } from './Collapsible.js';
29
30
  export { C as CompactSwitch, S as Switch } from './Switch.js';
30
31
  export { C as CompactTableSkeleton, a as CurrencyCell, D as DataTable, b as DataTableColumnHeader, c as DataTableEmpty, d as DataTableFilters, e as DataTablePagination, f as DataTableRowDensity, g as DataTableSearch, h as DataTableSelectionBar, i as DataTableViewOptions, j as DateCell, k as DateTimeCell, N as NumberCell, R as RowActions, S as StringCell, l as exportToCSV, m as getSelectionColumn, u as useDataTable, n as useDataTableStore } from './useDataTable.js';
32
+ export { C as CompanySelector } from './CompanySelector.js';
31
33
  export { C as ConfirmHost } from './ConfirmHost.js';
32
34
  export { C as Controller } from './index.esm.js';
35
+ export { C as CountryFilter, a as CountrySelector } from './CountrySelector.js';
33
36
  export { C as CurrencyField } from './CurrencyField.js';
34
37
  export { C as CurrencyFilter } from './CurrencyFilter.js';
35
38
  export { C as CurrencySelector } from './CurrencySelector.js';
@@ -46,13 +49,17 @@ export { D as DropdownMenu } from './DropdownMenu.js';
46
49
  export { E as Empty } from './Empty.js';
47
50
  export { E as ErrorPage, F as ForbiddenErrorPage, N as NetworkErrorPage, a as NotFoundErrorPage, Q as QueryErrorBoundary, b as QueryErrorFallback, S as ServerErrorPage, U as UnauthorizedErrorPage, c as UnknownErrorPage, g as getErrorPagePreset, r as resolveErrorScreen } from './ErrorBoundary.js';
48
51
  export { F as FeatureFilter, a as FeatureSelector } from './FeatureSelector.js';
52
+ export { F as FeaturePermissionFilter, a as FeaturePermissionSelector } from './FeaturePermissionSelector.js';
49
53
  export { F as Field, a as FieldContent, b as FieldDescription, c as FieldError, d as FieldGroup, e as FieldLabel, f as FieldLegend, g as FieldSeparator, h as FieldSet, i as FieldTitle } from './field.js';
50
54
  export { F as FilePreview } from './FilePreview.js';
51
55
  export { F as Form } from './Form.js';
52
56
  export { F as FormSection } from './FormSection.js';
53
- export { H as Handle, a as HierarchyGraph, P as Position } from './HierarchyGraph.js';
57
+ export { H as Handle, P as Position } from './index3.js';
58
+ export { H as HierarchyGraph } from './HierarchyGraph.js';
59
+ export { I as ISOCountryFilter, a as ISOCountrySelect, b as ISO_COUNTRIES, c as countryFlag } from './ISOCountrySelect.js';
54
60
  export { I as IconSelect } from './IconSelect.js';
55
61
  export { I as InventoryItemFilter, a as InventoryItemSelector } from './InventoryItemSelector.js';
62
+ export { L as LegalEntityFilter, a as LegalEntitySelector } from './LegalEntitySelector.js';
56
63
  export { L as LineChart } from './LineChart.js';
57
64
  export { L as LocaleFilter, a as LocaleSelector } from './LocaleSelector.js';
58
65
  export { L as LocationFilter, a as LocationSelector, f as formatLocationPath } from './LocationSelector.js';
@@ -66,7 +73,8 @@ export { O as OTPField } from './OTPField.js';
66
73
  export { P as PageContent, a as PageContentDetails, b as PageContentPanel, c as PanelSkeleton, S as SidePanelListItem } from './PageContent.js';
67
74
  export { P as PageHeader, a as PageHeaderSkeleton } from './PageHeaderSkeleton.js';
68
75
  export { P as PasswordField } from './PasswordField.js';
69
- export { P as PermissionGateProvider, a as PermissionLockIcon, l as lockedTip, u as usePermission, b as usePermissionGate } from './PermissionGate.js';
76
+ export { P as PermissionGate, a as PermissionGateProvider, b as PermissionLockIcon, l as lockedTip, u as usePermission, c as usePermissionGate } from './PermissionGate.js';
77
+ export { P as PersonSelector } from './PersonSelector.js';
70
78
  export { P as PhoneField } from './PhoneField.js';
71
79
  export { P as PieChart } from './PieChart.js';
72
80
  export { P as PlanFilter, a as PlanSelector } from './PlanSelector.js';
@@ -78,11 +86,14 @@ export { R as RadialChart } from './RadialChart.js';
78
86
  export { R as RadioGroup } from './RadioGroup.js';
79
87
  export { R as RegionFilter, a as RegionSelector } from './RegionSelector.js';
80
88
  export { R as RichTextEditor } from './index38.js';
89
+ export { R as RoleSelector } from './RoleSelector.js';
81
90
  export { S as SearchBar } from './SearchBar.js';
82
91
  export { S as Separator } from './Separator.js';
83
92
  export { S as SerialFilter, a as SerialSelector } from './SerialSelector.js';
84
93
  export { S as Sidebar, a as SidebarInset, b as SidebarProvider } from './Sidebar.js';
85
94
  export { j as SingleSelect } from './SingleSelect.js';
95
+ export { S as SiteFilter, a as SiteSelector } from './SiteSelector.js';
96
+ export { S as SiteGroupFilter, a as SiteGroupSelector } from './SiteGroupSelector.js';
86
97
  export { S as Skeleton } from './Skeleton.js';
87
98
  export { S as SortableDragHandle, a as SortableItem, b as SortableList } from './Sortable.js';
88
99
  export { S as Spinner } from './Spinner.js';
@@ -90,6 +101,7 @@ export { S as StepProgressIndicator } from './StepProgressIndicator.js';
90
101
  export { S as SupplierFilter, a as SupplierSelector } from './SupplierSelector.js';
91
102
  export { S as SupplierItemFilter, a as SupplierItemSelector } from './SupplierItemSelector.js';
92
103
  export { T as Tabs, a as TabsContent, b as TabsList, c as TabsSkeleton, d as TabsTrigger } from './TabsSkeleton.js';
104
+ export { T as TaxClassSelector } from './TaxClassSelector.js';
93
105
  export { T as TextArea } from './TextArea.js';
94
106
  export { T as TextField } from './TextField.js';
95
107
  export { T as ThemeToggle } from './ThemeToggle.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}