@vritti/quantum-ui 0.3.8 → 0.3.11

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 (455) hide show
  1. package/dist/Avatar.js +5 -5
  2. package/dist/BarChart.js +1 -9
  3. package/dist/BarChart.js.map +1 -1
  4. package/dist/Breadcrumb.js +1 -1
  5. package/dist/Breadcrumb.js.map +1 -1
  6. package/dist/Button.js +14 -6
  7. package/dist/Button.js.map +1 -1
  8. package/dist/Checkbox2.js +5 -5
  9. package/dist/CheckboxGroup.js +64 -6
  10. package/dist/CheckboxGroup.js.map +1 -1
  11. package/dist/Collapsible.js +1 -1
  12. package/dist/Collapsible.js.map +1 -1
  13. package/dist/ConfirmHost.js +5 -17
  14. package/dist/ConfirmHost.js.map +1 -1
  15. package/dist/CurrencyField.js +1 -1
  16. package/dist/CurrencyFilter.js.map +1 -1
  17. package/dist/DateRangePicker.js +4 -2
  18. package/dist/DateRangePicker.js.map +1 -1
  19. package/dist/DateTimePicker.js +1 -1
  20. package/dist/DateTimeRangePicker.js +4 -2
  21. package/dist/DateTimeRangePicker.js.map +1 -1
  22. package/dist/DetailSectionSkeleton.js +14 -1
  23. package/dist/DetailSectionSkeleton.js.map +1 -1
  24. package/dist/Dialog.js +1 -1
  25. package/dist/Dialog.js.map +1 -1
  26. package/dist/ErrorBoundary.js +1 -108
  27. package/dist/ErrorBoundary.js.map +1 -1
  28. package/dist/FilePreview.js +1 -145
  29. package/dist/FilePreview.js.map +1 -1
  30. package/dist/HierarchyGraph.js +12 -8
  31. package/dist/HierarchyGraph.js.map +1 -1
  32. package/dist/IconSelect.js +31393 -0
  33. package/dist/IconSelect.js.map +1 -0
  34. package/dist/Kbd.js +11 -19
  35. package/dist/Kbd.js.map +1 -1
  36. package/dist/LocationSelector.js +13 -15
  37. package/dist/LocationSelector.js.map +1 -1
  38. package/dist/OTPField.js +1 -12
  39. package/dist/OTPField.js.map +1 -1
  40. package/dist/PageContent.js.map +1 -1
  41. package/dist/PageHeaderSkeleton.js +1 -1
  42. package/dist/PageHeaderSkeleton.js.map +1 -1
  43. package/dist/PermissionGate.js +31 -0
  44. package/dist/PermissionGate.js.map +1 -0
  45. package/dist/PieChart.js.map +1 -1
  46. package/dist/Progress.js +2 -2
  47. package/dist/QuantSelector.js.map +1 -1
  48. package/dist/RadialChart.js.map +1 -1
  49. package/dist/RadioGroup.js +7 -7
  50. package/dist/Select.js +32 -188
  51. package/dist/Select.js.map +1 -1
  52. package/dist/SerialSelector.js +13 -15
  53. package/dist/SerialSelector.js.map +1 -1
  54. package/dist/Sidebar.js +8 -19
  55. package/dist/Sidebar.js.map +1 -1
  56. package/dist/Sonner.js +2 -17
  57. package/dist/Sonner.js.map +1 -1
  58. package/dist/SupplierItemSelector.js.map +1 -1
  59. package/dist/Switch.js +7 -5
  60. package/dist/Switch.js.map +1 -1
  61. package/dist/TabsSkeleton.js +49 -23
  62. package/dist/TabsSkeleton.js.map +1 -1
  63. package/dist/ThemeToggle.js +1 -41
  64. package/dist/ThemeToggle.js.map +1 -1
  65. package/dist/Toggle.js +1 -1
  66. package/dist/Tooltip.js +19 -0
  67. package/dist/Tooltip.js.map +1 -0
  68. package/dist/UomSelector.js +6 -1
  69. package/dist/UomSelector.js.map +1 -1
  70. package/dist/UploadFile.js +1 -35
  71. package/dist/UploadFile.js.map +1 -1
  72. package/dist/ValueFilter.js.map +1 -1
  73. package/dist/ViewTabs.js +1 -16
  74. package/dist/ViewTabs.js.map +1 -1
  75. package/dist/assets/quantum-ui.css +109 -4
  76. package/dist/calendar2.js +2 -13
  77. package/dist/calendar2.js.map +1 -1
  78. package/dist/check-check.js +18 -0
  79. package/dist/check-check.js.map +1 -0
  80. package/dist/chevron-left.js +15 -0
  81. package/dist/chevron-left.js.map +1 -0
  82. package/dist/circle-question-mark.js +19 -0
  83. package/dist/circle-question-mark.js.map +1 -0
  84. package/dist/circle-x.js +19 -0
  85. package/dist/circle-x.js.map +1 -0
  86. package/dist/circle.js +15 -0
  87. package/dist/circle.js.map +1 -0
  88. package/dist/components/DataTable.js +1 -1
  89. package/dist/components/DetailField.js +1 -1
  90. package/dist/components/FormattedDate.js.map +1 -1
  91. package/dist/components/PermissionGate.js +2 -0
  92. package/dist/components/PermissionGate.js.map +1 -0
  93. package/dist/components/RichTextEditor.js +1 -1
  94. package/dist/components/ScanBarcodeButton.js +1 -20
  95. package/dist/components/ScanBarcodeButton.js.map +1 -1
  96. package/dist/components/Switch.js +1 -1
  97. package/dist/components/Tooltip.js +2 -0
  98. package/dist/components/Tooltip.js.map +1 -0
  99. package/dist/components/TreeView.js +4 -4
  100. package/dist/dot.js +15 -0
  101. package/dist/dot.js.map +1 -0
  102. package/dist/dropdown-menu.js +11 -22
  103. package/dist/dropdown-menu.js.map +1 -1
  104. package/dist/file.js +148 -0
  105. package/dist/file.js.map +1 -0
  106. package/dist/globe.js +19 -0
  107. package/dist/globe.js.map +1 -0
  108. package/dist/icons.js +21 -0
  109. package/dist/icons.js.map +1 -0
  110. package/dist/image-component.js +37 -96
  111. package/dist/image-component.js.map +1 -1
  112. package/dist/index.js +7 -4
  113. package/dist/index.js.map +1 -1
  114. package/dist/index12.js +7 -7
  115. package/dist/index13.js +7 -7
  116. package/dist/index14.js +11 -11
  117. package/dist/index15.js +1 -1
  118. package/dist/index16.js +1 -1
  119. package/dist/index17.js +168 -175
  120. package/dist/index17.js.map +1 -1
  121. package/dist/index18.js +173 -201
  122. package/dist/index18.js.map +1 -1
  123. package/dist/index19.js +203 -69
  124. package/dist/index19.js.map +1 -1
  125. package/dist/index20.js +70 -211
  126. package/dist/index20.js.map +1 -1
  127. package/dist/index21.js +206 -116
  128. package/dist/index21.js.map +1 -1
  129. package/dist/index22.js +122 -70
  130. package/dist/index22.js.map +1 -1
  131. package/dist/index23.js +74 -11
  132. package/dist/index23.js.map +1 -1
  133. package/dist/index24.js +13 -1134
  134. package/dist/index24.js.map +1 -1
  135. package/dist/index25.js +1120 -219
  136. package/dist/index25.js.map +1 -1
  137. package/dist/index26.js +202 -2506
  138. package/dist/index26.js.map +1 -1
  139. package/dist/index27.js +2527 -23
  140. package/dist/index27.js.map +1 -1
  141. package/dist/index28.js +32 -4
  142. package/dist/index28.js.map +1 -1
  143. package/dist/index29.js +3 -1124
  144. package/dist/index29.js.map +1 -1
  145. package/dist/index30.js +1123 -35
  146. package/dist/index30.js.map +1 -1
  147. package/dist/index31.js +36 -310
  148. package/dist/index31.js.map +1 -1
  149. package/dist/index32.js +309 -7
  150. package/dist/index32.js.map +1 -1
  151. package/dist/index33.js +8 -30
  152. package/dist/index33.js.map +1 -1
  153. package/dist/index34.js +29 -59
  154. package/dist/index34.js.map +1 -1
  155. package/dist/index35.js +59 -10
  156. package/dist/index35.js.map +1 -1
  157. package/dist/index36.js +10 -35
  158. package/dist/index36.js.map +1 -1
  159. package/dist/index37.js +27 -36809
  160. package/dist/index37.js.map +1 -1
  161. package/dist/index38.js +35362 -70
  162. package/dist/index38.js.map +1 -1
  163. package/dist/index39.js +72 -187
  164. package/dist/index39.js.map +1 -1
  165. package/dist/index4.js +5 -5
  166. package/dist/index40.js +199 -0
  167. package/dist/index40.js.map +1 -0
  168. package/dist/lib/components/BarChart/BarChart.d.ts.map +1 -1
  169. package/dist/lib/components/Button/Button.d.ts +1 -0
  170. package/dist/lib/components/Button/Button.d.ts.map +1 -1
  171. package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -0
  172. package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  173. package/dist/lib/components/Collapsible/Collapsible.d.ts.map +1 -1
  174. package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts +3 -0
  175. package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts.map +1 -1
  176. package/dist/lib/components/DataTable/components/RowActions.d.ts +1 -0
  177. package/dist/lib/components/DataTable/components/RowActions.d.ts.map +1 -1
  178. package/dist/lib/components/DataTable/index.d.ts +2 -2
  179. package/dist/lib/components/DataTable/index.d.ts.map +1 -1
  180. package/dist/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  181. package/dist/lib/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
  182. package/dist/lib/components/DetailField/DetailHeader.d.ts +10 -0
  183. package/dist/lib/components/DetailField/DetailHeader.d.ts.map +1 -0
  184. package/dist/lib/components/DetailField/index.d.ts +1 -0
  185. package/dist/lib/components/DetailField/index.d.ts.map +1 -1
  186. package/dist/lib/components/Dialog/Dialog.d.ts.map +1 -1
  187. package/dist/lib/components/Editor/context/editor-config-context.d.ts +2 -2
  188. package/dist/lib/components/Editor/context/editor-config-context.d.ts.map +1 -1
  189. package/dist/lib/components/Editor/context/toolbar-context.d.ts +1 -1
  190. package/dist/lib/components/Editor/context/toolbar-context.d.ts.map +1 -1
  191. package/dist/lib/components/Editor/editor-hooks/use-debounce.d.ts.map +1 -1
  192. package/dist/lib/components/Editor/editor-hooks/use-modal.d.ts.map +1 -1
  193. package/dist/lib/components/Editor/editor-hooks/use-update-toolbar.d.ts.map +1 -1
  194. package/dist/lib/components/Editor/editor-ui/button-group.d.ts +3 -3
  195. package/dist/lib/components/Editor/editor-ui/button-group.d.ts.map +1 -1
  196. package/dist/lib/components/Editor/editor-ui/button.d.ts +2 -2
  197. package/dist/lib/components/Editor/editor-ui/button.d.ts.map +1 -1
  198. package/dist/lib/components/Editor/editor-ui/code-button.d.ts.map +1 -1
  199. package/dist/lib/components/Editor/editor-ui/color-picker.d.ts +8 -8
  200. package/dist/lib/components/Editor/editor-ui/color-picker.d.ts.map +1 -1
  201. package/dist/lib/components/Editor/editor-ui/command.d.ts +2 -2
  202. package/dist/lib/components/Editor/editor-ui/command.d.ts.map +1 -1
  203. package/dist/lib/components/Editor/editor-ui/content-editable.d.ts +1 -1
  204. package/dist/lib/components/Editor/editor-ui/content-editable.d.ts.map +1 -1
  205. package/dist/lib/components/Editor/editor-ui/dialog.d.ts +4 -4
  206. package/dist/lib/components/Editor/editor-ui/dialog.d.ts.map +1 -1
  207. package/dist/lib/components/Editor/editor-ui/image-component.d.ts +3 -3
  208. package/dist/lib/components/Editor/editor-ui/image-component.d.ts.map +1 -1
  209. package/dist/lib/components/Editor/editor-ui/image-resizer.d.ts +2 -2
  210. package/dist/lib/components/Editor/editor-ui/image-resizer.d.ts.map +1 -1
  211. package/dist/lib/components/Editor/editor-ui/input.d.ts +2 -2
  212. package/dist/lib/components/Editor/editor-ui/input.d.ts.map +1 -1
  213. package/dist/lib/components/Editor/editor-ui/label.d.ts +2 -2
  214. package/dist/lib/components/Editor/editor-ui/label.d.ts.map +1 -1
  215. package/dist/lib/components/Editor/editor-ui/popover.d.ts +2 -2
  216. package/dist/lib/components/Editor/editor-ui/popover.d.ts.map +1 -1
  217. package/dist/lib/components/Editor/editor-ui/scroll-area.d.ts +2 -2
  218. package/dist/lib/components/Editor/editor-ui/scroll-area.d.ts.map +1 -1
  219. package/dist/lib/components/Editor/editor-ui/select.d.ts +3 -3
  220. package/dist/lib/components/Editor/editor-ui/select.d.ts.map +1 -1
  221. package/dist/lib/components/Editor/editor-ui/separator.d.ts +2 -2
  222. package/dist/lib/components/Editor/editor-ui/separator.d.ts.map +1 -1
  223. package/dist/lib/components/Editor/editor-ui/tabs.d.ts +2 -2
  224. package/dist/lib/components/Editor/editor-ui/tabs.d.ts.map +1 -1
  225. package/dist/lib/components/Editor/editor-ui/toggle-group.d.ts +2 -2
  226. package/dist/lib/components/Editor/editor-ui/toggle-group.d.ts.map +1 -1
  227. package/dist/lib/components/Editor/editor-ui/toggle.d.ts +2 -2
  228. package/dist/lib/components/Editor/editor-ui/toggle.d.ts.map +1 -1
  229. package/dist/lib/components/Editor/editor-ui/tooltip.d.ts +2 -2
  230. package/dist/lib/components/Editor/editor-ui/tooltip.d.ts.map +1 -1
  231. package/dist/lib/components/Editor/index.d.ts.map +1 -1
  232. package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts +2 -2
  233. package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts.map +1 -1
  234. package/dist/lib/components/Editor/nodes/embeds/tweet-node.d.ts +2 -2
  235. package/dist/lib/components/Editor/nodes/embeds/tweet-node.d.ts.map +1 -1
  236. package/dist/lib/components/Editor/nodes/embeds/youtube-node.d.ts +1 -1
  237. package/dist/lib/components/Editor/nodes/embeds/youtube-node.d.ts.map +1 -1
  238. package/dist/lib/components/Editor/nodes/emoji-node.d.ts.map +1 -1
  239. package/dist/lib/components/Editor/nodes/image-node.d.ts +5 -5
  240. package/dist/lib/components/Editor/nodes/image-node.d.ts.map +1 -1
  241. package/dist/lib/components/Editor/nodes/keyword-node.d.ts.map +1 -1
  242. package/dist/lib/components/Editor/nodes/layout-container-node.d.ts.map +1 -1
  243. package/dist/lib/components/Editor/nodes/layout-item-node.d.ts.map +1 -1
  244. package/dist/lib/components/Editor/nodes/mention-node.d.ts +1 -1
  245. package/dist/lib/components/Editor/nodes/mention-node.d.ts.map +1 -1
  246. package/dist/lib/components/Editor/nodes/nodes.d.ts.map +1 -1
  247. package/dist/lib/components/Editor/nodes.d.ts.map +1 -1
  248. package/dist/lib/components/Editor/plugins/actions/character-limit-plugin.d.ts +2 -2
  249. package/dist/lib/components/Editor/plugins/actions/character-limit-plugin.d.ts.map +1 -1
  250. package/dist/lib/components/Editor/plugins/actions/clear-editor-plugin.d.ts.map +1 -1
  251. package/dist/lib/components/Editor/plugins/actions/counter-character-plugin.d.ts +2 -2
  252. package/dist/lib/components/Editor/plugins/actions/counter-character-plugin.d.ts.map +1 -1
  253. package/dist/lib/components/Editor/plugins/actions/edit-mode-toggle-plugin.d.ts.map +1 -1
  254. package/dist/lib/components/Editor/plugins/actions/import-export-plugin.d.ts.map +1 -1
  255. package/dist/lib/components/Editor/plugins/actions/markdown-toggle-plugin.d.ts.map +1 -1
  256. package/dist/lib/components/Editor/plugins/actions/max-length-plugin.d.ts.map +1 -1
  257. package/dist/lib/components/Editor/plugins/actions/share-content-plugin.d.ts.map +1 -1
  258. package/dist/lib/components/Editor/plugins/actions/speech-to-text-plugin.d.ts.map +1 -1
  259. package/dist/lib/components/Editor/plugins/actions/tree-view-plugin.d.ts.map +1 -1
  260. package/dist/lib/components/Editor/plugins/auto-link-plugin.d.ts.map +1 -1
  261. package/dist/lib/components/Editor/plugins/autocomplete-plugin.d.ts.map +1 -1
  262. package/dist/lib/components/Editor/plugins/code-action-menu-plugin.d.ts.map +1 -1
  263. package/dist/lib/components/Editor/plugins/code-highlight-plugin.d.ts.map +1 -1
  264. package/dist/lib/components/Editor/plugins/component-picker-menu-plugin.d.ts +1 -1
  265. package/dist/lib/components/Editor/plugins/component-picker-menu-plugin.d.ts.map +1 -1
  266. package/dist/lib/components/Editor/plugins/context-menu-plugin.d.ts.map +1 -1
  267. package/dist/lib/components/Editor/plugins/drag-drop-paste-plugin.d.ts.map +1 -1
  268. package/dist/lib/components/Editor/plugins/draggable-block-plugin.d.ts +1 -1
  269. package/dist/lib/components/Editor/plugins/draggable-block-plugin.d.ts.map +1 -1
  270. package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts +1 -1
  271. package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts.map +1 -1
  272. package/dist/lib/components/Editor/plugins/embeds/twitter-plugin.d.ts +1 -1
  273. package/dist/lib/components/Editor/plugins/embeds/twitter-plugin.d.ts.map +1 -1
  274. package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts +1 -1
  275. package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts.map +1 -1
  276. package/dist/lib/components/Editor/plugins/emoji-picker-plugin.d.ts.map +1 -1
  277. package/dist/lib/components/Editor/plugins/emojis-plugin.d.ts.map +1 -1
  278. package/dist/lib/components/Editor/plugins/floating-link-editor-plugin.d.ts.map +1 -1
  279. package/dist/lib/components/Editor/plugins/floating-text-format-plugin.d.ts.map +1 -1
  280. package/dist/lib/components/Editor/plugins/images-plugin.d.ts +4 -4
  281. package/dist/lib/components/Editor/plugins/images-plugin.d.ts.map +1 -1
  282. package/dist/lib/components/Editor/plugins/keywords-plugin.d.ts.map +1 -1
  283. package/dist/lib/components/Editor/plugins/layout-plugin.d.ts +1 -1
  284. package/dist/lib/components/Editor/plugins/layout-plugin.d.ts.map +1 -1
  285. package/dist/lib/components/Editor/plugins/link-plugin.d.ts.map +1 -1
  286. package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts +1 -1
  287. package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts.map +1 -1
  288. package/dist/lib/components/Editor/plugins/mentions-plugin.d.ts.map +1 -1
  289. package/dist/lib/components/Editor/plugins/picker/alignment-picker-plugin.d.ts +2 -2
  290. package/dist/lib/components/Editor/plugins/picker/alignment-picker-plugin.d.ts.map +1 -1
  291. package/dist/lib/components/Editor/plugins/picker/bulleted-list-picker-plugin.d.ts.map +1 -1
  292. package/dist/lib/components/Editor/plugins/picker/check-list-picker-plugin.d.ts.map +1 -1
  293. package/dist/lib/components/Editor/plugins/picker/code-picker-plugin.d.ts.map +1 -1
  294. package/dist/lib/components/Editor/plugins/picker/columns-layout-picker-plugin.d.ts.map +1 -1
  295. package/dist/lib/components/Editor/plugins/picker/component-picker-menu-plugin.d.ts.map +1 -1
  296. package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts +1 -1
  297. package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts.map +1 -1
  298. package/dist/lib/components/Editor/plugins/picker/divider-picker-plugin.d.ts.map +1 -1
  299. package/dist/lib/components/Editor/plugins/picker/embeds-picker-plugin.d.ts +2 -2
  300. package/dist/lib/components/Editor/plugins/picker/embeds-picker-plugin.d.ts.map +1 -1
  301. package/dist/lib/components/Editor/plugins/picker/heading-picker-plugin.d.ts.map +1 -1
  302. package/dist/lib/components/Editor/plugins/picker/image-picker-plugin.d.ts.map +1 -1
  303. package/dist/lib/components/Editor/plugins/picker/numbered-list-picker-plugin.d.ts.map +1 -1
  304. package/dist/lib/components/Editor/plugins/picker/paragraph-picker-plugin.d.ts.map +1 -1
  305. package/dist/lib/components/Editor/plugins/picker/quote-picker-plugin.d.ts.map +1 -1
  306. package/dist/lib/components/Editor/plugins/picker/table-picker-plugin.d.ts +1 -1
  307. package/dist/lib/components/Editor/plugins/picker/table-picker-plugin.d.ts.map +1 -1
  308. package/dist/lib/components/Editor/plugins/plugins.d.ts +1 -1
  309. package/dist/lib/components/Editor/plugins/plugins.d.ts.map +1 -1
  310. package/dist/lib/components/Editor/plugins/tab-focus-plugin.d.ts.map +1 -1
  311. package/dist/lib/components/Editor/plugins/table-plugin.d.ts +2 -3
  312. package/dist/lib/components/Editor/plugins/table-plugin.d.ts.map +1 -1
  313. package/dist/lib/components/Editor/plugins/toolbar/block-format/block-format-data.d.ts.map +1 -1
  314. package/dist/lib/components/Editor/plugins/toolbar/block-format/format-heading.d.ts.map +1 -1
  315. package/dist/lib/components/Editor/plugins/toolbar/block-format-toolbar-plugin.d.ts +1 -1
  316. package/dist/lib/components/Editor/plugins/toolbar/block-format-toolbar-plugin.d.ts.map +1 -1
  317. package/dist/lib/components/Editor/plugins/toolbar/block-insert/insert-horizontal-rule.d.ts.map +1 -1
  318. package/dist/lib/components/Editor/plugins/toolbar/block-insert/insert-image.d.ts.map +1 -1
  319. package/dist/lib/components/Editor/plugins/toolbar/block-insert/insert-table.d.ts.map +1 -1
  320. package/dist/lib/components/Editor/plugins/toolbar/block-insert-plugin.d.ts.map +1 -1
  321. package/dist/lib/components/Editor/plugins/toolbar/clear-formatting-toolbar-plugin.d.ts.map +1 -1
  322. package/dist/lib/components/Editor/plugins/toolbar/code-language-toolbar-plugin.d.ts.map +1 -1
  323. package/dist/lib/components/Editor/plugins/toolbar/element-format-toolbar-plugin.d.ts +1 -1
  324. package/dist/lib/components/Editor/plugins/toolbar/element-format-toolbar-plugin.d.ts.map +1 -1
  325. package/dist/lib/components/Editor/plugins/toolbar/font-background-toolbar-plugin.d.ts.map +1 -1
  326. package/dist/lib/components/Editor/plugins/toolbar/font-color-toolbar-plugin.d.ts.map +1 -1
  327. package/dist/lib/components/Editor/plugins/toolbar/font-family-toolbar-plugin.d.ts.map +1 -1
  328. package/dist/lib/components/Editor/plugins/toolbar/font-format-toolbar-plugin.d.ts.map +1 -1
  329. package/dist/lib/components/Editor/plugins/toolbar/font-size-toolbar-plugin.d.ts.map +1 -1
  330. package/dist/lib/components/Editor/plugins/toolbar/history-toolbar-plugin.d.ts.map +1 -1
  331. package/dist/lib/components/Editor/plugins/toolbar/horizontal-rule-toolbar-plugin.d.ts.map +1 -1
  332. package/dist/lib/components/Editor/plugins/toolbar/image-toolbar-plugin.d.ts.map +1 -1
  333. package/dist/lib/components/Editor/plugins/toolbar/link-toolbar-plugin.d.ts +1 -1
  334. package/dist/lib/components/Editor/plugins/toolbar/link-toolbar-plugin.d.ts.map +1 -1
  335. package/dist/lib/components/Editor/plugins/toolbar/subsuper-toolbar-plugin.d.ts.map +1 -1
  336. package/dist/lib/components/Editor/plugins/toolbar/table-toolbar-plugin.d.ts.map +1 -1
  337. package/dist/lib/components/Editor/plugins/toolbar/toolbar-plugin.d.ts +1 -1
  338. package/dist/lib/components/Editor/plugins/toolbar/toolbar-plugin.d.ts.map +1 -1
  339. package/dist/lib/components/Editor/plugins/typing-pref-plugin.d.ts.map +1 -1
  340. package/dist/lib/components/Editor/plugins.d.ts.map +1 -1
  341. package/dist/lib/components/Editor/shared/can-use-dom.d.ts.map +1 -1
  342. package/dist/lib/components/Editor/shared/caret-from-point.d.ts.map +1 -1
  343. package/dist/lib/components/Editor/shared/environment.d.ts.map +1 -1
  344. package/dist/lib/components/Editor/shared/invariant.d.ts +1 -1
  345. package/dist/lib/components/Editor/shared/invariant.d.ts.map +1 -1
  346. package/dist/lib/components/Editor/shared/react-test-utils.d.ts +1 -1
  347. package/dist/lib/components/Editor/shared/react-test-utils.d.ts.map +1 -1
  348. package/dist/lib/components/Editor/shared/simple-diff-with-cursor.d.ts.map +1 -1
  349. package/dist/lib/components/Editor/shared/use-layout-effect.d.ts.map +1 -1
  350. package/dist/lib/components/Editor/themes/editor-theme.d.ts.map +1 -1
  351. package/dist/lib/components/Editor/transformers/index.d.ts +6 -6
  352. package/dist/lib/components/Editor/transformers/index.d.ts.map +1 -1
  353. package/dist/lib/components/Editor/transformers/markdown-emoji-transformer.d.ts.map +1 -1
  354. package/dist/lib/components/Editor/transformers/markdown-hr-transformer.d.ts.map +1 -1
  355. package/dist/lib/components/Editor/transformers/markdown-image-transformer.d.ts.map +1 -1
  356. package/dist/lib/components/Editor/transformers/markdown-table-transformer.d.ts.map +1 -1
  357. package/dist/lib/components/Editor/transformers/markdown-tweet-transformer.d.ts.map +1 -1
  358. package/dist/lib/components/Editor/types.d.ts.map +1 -1
  359. package/dist/lib/components/Editor/utils/can-use-dom.d.ts.map +1 -1
  360. package/dist/lib/components/Editor/utils/doc-serialization.d.ts.map +1 -1
  361. package/dist/lib/components/Editor/utils/emoji-list.d.ts.map +1 -1
  362. package/dist/lib/components/Editor/utils/get-dom-range-rect.d.ts.map +1 -1
  363. package/dist/lib/components/Editor/utils/get-selected-node.d.ts.map +1 -1
  364. package/dist/lib/components/Editor/utils/set-floating-elem-position.d.ts.map +1 -1
  365. package/dist/lib/components/Editor/utils/swipe.d.ts.map +1 -1
  366. package/dist/lib/components/Editor/utils/url.d.ts.map +1 -1
  367. package/dist/lib/components/FormattedDate/FormattedDate.d.ts.map +1 -1
  368. package/dist/lib/components/FormattedDate/index.d.ts +1 -1
  369. package/dist/lib/components/FormattedDate/index.d.ts.map +1 -1
  370. package/dist/lib/components/HierarchyGraph/HierarchyGraph.d.ts.map +1 -1
  371. package/dist/lib/components/Kbd/Kbd.d.ts.map +1 -1
  372. package/dist/lib/components/Kbd/index.d.ts +1 -1
  373. package/dist/lib/components/Kbd/index.d.ts.map +1 -1
  374. package/dist/lib/components/PageContent/PageContent.d.ts.map +1 -1
  375. package/dist/lib/components/PermissionGate/PermissionGate.d.ts +18 -0
  376. package/dist/lib/components/PermissionGate/PermissionGate.d.ts.map +1 -0
  377. package/dist/lib/components/PermissionGate/index.d.ts +2 -0
  378. package/dist/lib/components/PermissionGate/index.d.ts.map +1 -0
  379. package/dist/lib/components/PieChart/PieChart.d.ts.map +1 -1
  380. package/dist/lib/components/RadialChart/RadialChart.d.ts.map +1 -1
  381. package/dist/lib/components/Select/Select.d.ts.map +1 -1
  382. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  383. package/dist/lib/components/Select/hooks/useSelect.d.ts +2 -1
  384. package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -1
  385. package/dist/lib/components/Sidebar/Sidebar.d.ts +2 -0
  386. package/dist/lib/components/Sidebar/Sidebar.d.ts.map +1 -1
  387. package/dist/lib/components/Switch/Switch.d.ts +2 -0
  388. package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
  389. package/dist/lib/components/Switch/index.d.ts +2 -2
  390. package/dist/lib/components/Switch/index.d.ts.map +1 -1
  391. package/dist/lib/components/Tabs/Tabs.d.ts +2 -1
  392. package/dist/lib/components/Tabs/Tabs.d.ts.map +1 -1
  393. package/dist/lib/components/Tooltip/Tooltip.d.ts +12 -0
  394. package/dist/lib/components/Tooltip/Tooltip.d.ts.map +1 -0
  395. package/dist/lib/components/Tooltip/index.d.ts +3 -0
  396. package/dist/lib/components/Tooltip/index.d.ts.map +1 -0
  397. package/dist/lib/components/ValueFilter/ValueFilter.d.ts.map +1 -1
  398. package/dist/lib/components/index.d.ts +5 -3
  399. package/dist/lib/components/index.d.ts.map +1 -1
  400. package/dist/lib/hooks/useFormatters.d.ts.map +1 -1
  401. package/dist/lib/icons/icon-names.json.d.ts +13731 -0
  402. package/dist/lib/icons/index.d.ts +4 -0
  403. package/dist/lib/icons/index.d.ts.map +1 -0
  404. package/dist/lib/selects/currency/CurrencyFilter.d.ts.map +1 -1
  405. package/dist/lib/selects/icon/IconSelect.d.ts +20 -0
  406. package/dist/lib/selects/icon/IconSelect.d.ts.map +1 -0
  407. package/dist/lib/selects/icon/index.d.ts +2 -0
  408. package/dist/lib/selects/icon/index.d.ts.map +1 -0
  409. package/dist/lib/selects/index.d.ts +3 -2
  410. package/dist/lib/selects/index.d.ts.map +1 -1
  411. package/dist/lib/selects/location/LocationSelector.d.ts.map +1 -1
  412. package/dist/lib/selects/location/index.d.ts +1 -1
  413. package/dist/lib/selects/location/index.d.ts.map +1 -1
  414. package/dist/lib/selects/purchase-order-item/PurchaseOrderItemSelector.d.ts.map +1 -1
  415. package/dist/lib/selects/quant/QuantSelector.d.ts.map +1 -1
  416. package/dist/lib/selects/serial/SerialSelector.d.ts.map +1 -1
  417. package/dist/lib/selects/supplier-item/SupplierItemSelector.d.ts.map +1 -1
  418. package/dist/lib/selects/uom/UomSelector.d.ts.map +1 -1
  419. package/dist/lib/utils/format.d.ts.map +1 -1
  420. package/dist/lib/utils/hotkeys.d.ts +1 -1
  421. package/dist/lib/utils/hotkeys.d.ts.map +1 -1
  422. package/dist/lib/utils/zod.d.ts.map +1 -1
  423. package/dist/lock-keyhole.js +19 -0
  424. package/dist/lock-keyhole.js.map +1 -0
  425. package/dist/panel-left.js +18 -0
  426. package/dist/panel-left.js.map +1 -0
  427. package/dist/scan-barcode.js +23 -0
  428. package/dist/scan-barcode.js.map +1 -0
  429. package/dist/selects/icon.js +2 -0
  430. package/dist/selects/icon.js.map +1 -0
  431. package/dist/selects/purchase-order-item.js.map +1 -1
  432. package/dist/shadcn/shadcnMultiSelect/multi-select.d.ts.map +1 -1
  433. package/dist/sun.js +44 -0
  434. package/dist/sun.js.map +1 -0
  435. package/dist/table-properties.js +351 -0
  436. package/dist/table-properties.js.map +1 -0
  437. package/dist/{tooltip.js → tooltip2.js} +1 -1
  438. package/dist/tooltip2.js.map +1 -0
  439. package/dist/{cells.js → useDataTable.js} +45 -381
  440. package/dist/useDataTable.js.map +1 -0
  441. package/dist/useFormatters.js.map +1 -1
  442. package/dist/user.js +38 -0
  443. package/dist/user.js.map +1 -0
  444. package/dist/utils/format.js +1 -0
  445. package/dist/utils/format.js.map +1 -1
  446. package/dist/utils/motion.js +2 -2
  447. package/dist/utils/zod.js.map +1 -1
  448. package/dist/value.js +1 -1
  449. package/dist/wifi-off.js +111 -0
  450. package/dist/wifi-off.js.map +1 -0
  451. package/dist/youtube.js +737 -0
  452. package/dist/youtube.js.map +1 -0
  453. package/package.json +19 -1
  454. package/dist/cells.js.map +0 -1
  455. package/dist/tooltip.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sources":["../lib/icons/index.ts"],"sourcesContent":["import iconNames from './icon-names.json';\n\n// Supported icon families: lucide (web glyphs), sf (Apple SF Symbols), material (Android Material Symbols)\nexport type IconKind = 'lucide' | 'sf' | 'material';\n\n// Pre-generated icon-name lists keyed by family (see scripts/generate-icon-names.mjs)\nexport const ICON_NAMES: Record<IconKind, string[]> = iconNames as Record<IconKind, string[]>;\n\n// Lazily built lookup sets per family for O(1) membership checks\nconst ICON_NAME_SETS: Record<IconKind, Set<string>> = {\n lucide: new Set(ICON_NAMES.lucide),\n sf: new Set(ICON_NAMES.sf),\n material: new Set(ICON_NAMES.material),\n};\n\n// Returns whether the given value is a known icon name within the family\nexport function isIconName(kind: IconKind, value: string): boolean {\n return ICON_NAME_SETS[kind].has(value);\n}\n"],"names":[],"mappings":";;;;;;;;;AAMO,MAAM,UAAA,GAAyC;AAGtD,MAAM,cAAA,GAAgD;AAAA,EACpD,MAAA,EAAQ,IAAI,GAAA,CAAI,UAAA,CAAW,MAAM,CAAA;AAAA,EACjC,EAAA,EAAI,IAAI,GAAA,CAAI,UAAA,CAAW,EAAE,CAAA;AAAA,EACzB,QAAA,EAAU,IAAI,GAAA,CAAI,UAAA,CAAW,QAAQ;AACvC,CAAA;AAGO,SAAS,UAAA,CAAW,MAAgB,KAAA,EAAwB;AACjE,EAAA,OAAO,cAAA,CAAe,IAAI,CAAA,CAAE,GAAA,CAAI,KAAK,CAAA;AACvC;;;;"}
@@ -1,6 +1,6 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { useContext, createContext, useRef, useMemo, useEffect, useState, useCallback, Suspense } from 'react';
3
- import { r, t as t$1, c as co, a as to, b as ct, B as Button, M as Mt, u, o, d as a$1, $ as $r, O as Or, e as $isImageNode, z as zo, w as wr, f as ec, A as Ae, H as Hi, E as Ee, g as Me, P as Pe, h as Re, i as oe, j as re, I as Ii, l as lr, U as Ui, k as o$1, m as a$2, L, n, C as ContentEditable, p as ne, q as Mo } from './index37.js';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { r, t as t$1, c as co, a as to, b as ct, B as Button, M as Mt, u, o, d as a$1, $ as $r, O as Or, e as $isImageNode, z as zo, w as wr, f as ec, A as Ae, H as Hi, E as Ee, g as Me, P as Pe, h as Re, i as oe, j as re, I as Ii, l as lr, U as Ui, k as o$1, m as a$2, L, n, C as ContentEditable, p as ne, q as Mo } from './index38.js';
3
+ import { createContext, useRef, useContext, useMemo, useEffect, useState, useCallback, Suspense } from 'react';
4
4
 
5
5
  /**
6
6
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -10,7 +10,7 @@ import { r, t as t$1, c as co, a as to, b as ct, B as Button, M as Mt, u, o, d a
10
10
  *
11
11
  */
12
12
 
13
- 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=createContext(null);function a(){return {color:i[1],isCollabActive:false,name:i[0],yjsDocMap:new Map}}const g=a();function b(r,n){let o=useContext(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,o}
13
+ 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=createContext(null);function a(){return {color:i[1],isCollabActive:false,name:i[0],yjsDocMap:new Map}}a();
14
14
 
15
15
  /**
16
16
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -69,29 +69,13 @@ function ImageResizer({
69
69
  const nwse = direction & Direction.north && direction & Direction.west || direction & Direction.south && direction & Direction.east;
70
70
  const cursorDir = ew ? "ew" : ns ? "ns" : nwse ? "nwse" : "nesw";
71
71
  if (editorRootElement !== null) {
72
- editorRootElement.style.setProperty(
73
- "cursor",
74
- `${cursorDir}-resize`,
75
- "important"
76
- );
72
+ editorRootElement.style.setProperty("cursor", `${cursorDir}-resize`, "important");
77
73
  }
78
74
  if (document.body !== null) {
79
- document.body.style.setProperty(
80
- "cursor",
81
- `${cursorDir}-resize`,
82
- "important"
83
- );
84
- userSelect.current.value = document.body.style.getPropertyValue(
85
- "-webkit-user-select"
86
- );
87
- userSelect.current.priority = document.body.style.getPropertyPriority(
88
- "-webkit-user-select"
89
- );
90
- document.body.style.setProperty(
91
- "-webkit-user-select",
92
- `none`,
93
- "important"
94
- );
75
+ document.body.style.setProperty("cursor", `${cursorDir}-resize`, "important");
76
+ userSelect.current.value = document.body.style.getPropertyValue("-webkit-user-select");
77
+ userSelect.current.priority = document.body.style.getPropertyPriority("-webkit-user-select");
78
+ document.body.style.setProperty("-webkit-user-select", `none`, "important");
95
79
  }
96
80
  };
97
81
  const setEndCursor = () => {
@@ -100,11 +84,7 @@ function ImageResizer({
100
84
  }
101
85
  if (document.body !== null) {
102
86
  document.body.style.setProperty("cursor", "default");
103
- document.body.style.setProperty(
104
- "-webkit-user-select",
105
- userSelect.current.value,
106
- userSelect.current.priority
107
- );
87
+ document.body.style.setProperty("-webkit-user-select", userSelect.current.value, userSelect.current.priority);
108
88
  }
109
89
  };
110
90
  const handlePointerDown = (event, direction) => {
@@ -146,11 +126,7 @@ function ImageResizer({
146
126
  if (isHorizontal && isVertical) {
147
127
  let diff = Math.floor(positioning.startX - event.clientX / zoom);
148
128
  diff = positioning.direction & Direction.east ? -diff : diff;
149
- const width = clamp(
150
- positioning.startWidth + diff,
151
- minWidth,
152
- maxWidthContainer
153
- );
129
+ const width = clamp(positioning.startWidth + diff, minWidth, maxWidthContainer);
154
130
  const height = width / positioning.ratio;
155
131
  image.style.width = `${width}px`;
156
132
  image.style.height = `${height}px`;
@@ -159,21 +135,13 @@ function ImageResizer({
159
135
  } else if (isVertical) {
160
136
  let diff = Math.floor(positioning.startY - event.clientY / zoom);
161
137
  diff = positioning.direction & Direction.south ? -diff : diff;
162
- const height = clamp(
163
- positioning.startHeight + diff,
164
- minHeight,
165
- maxHeightContainer
166
- );
138
+ const height = clamp(positioning.startHeight + diff, minHeight, maxHeightContainer);
167
139
  image.style.height = `${height}px`;
168
140
  positioning.currentHeight = height;
169
141
  } else {
170
142
  let diff = Math.floor(positioning.startX - event.clientX / zoom);
171
143
  diff = positioning.direction & Direction.east ? -diff : diff;
172
- const width = clamp(
173
- positioning.startWidth + diff,
174
- minWidth,
175
- maxWidthContainer
176
- );
144
+ const width = clamp(positioning.startWidth + diff, minWidth, maxWidthContainer);
177
145
  image.style.width = `${width}px`;
178
146
  positioning.currentWidth = width;
179
147
  }
@@ -339,6 +307,7 @@ function BrokenImage() {
339
307
  "img",
340
308
  {
341
309
  src: "",
310
+ alt: "Broken media",
342
311
  style: {
343
312
  height: 200,
344
313
  opacity: 0.2,
@@ -364,7 +333,6 @@ function ImageComponent({
364
333
  const buttonRef = useRef(null);
365
334
  const [isSelected, setSelected, clearSelection] = u(nodeKey);
366
335
  const [isResizing, setIsResizing] = useState(false);
367
- const { isCollabActive } = b();
368
336
  const [editor] = o();
369
337
  const [selection, setSelection] = useState(null);
370
338
  const activeEditorRef = useRef(null);
@@ -473,16 +441,8 @@ function ImageComponent({
473
441
  },
474
442
  Hi
475
443
  ),
476
- editor.registerCommand(
477
- oe,
478
- onClick,
479
- Hi
480
- ),
481
- editor.registerCommand(
482
- RIGHT_CLICK_IMAGE_COMMAND,
483
- onClick,
484
- Hi
485
- ),
444
+ editor.registerCommand(oe, onClick, Hi),
445
+ editor.registerCommand(RIGHT_CLICK_IMAGE_COMMAND, onClick, Hi),
486
446
  editor.registerCommand(
487
447
  Re,
488
448
  (event) => {
@@ -494,22 +454,10 @@ function ImageComponent({
494
454
  },
495
455
  Hi
496
456
  ),
497
- editor.registerCommand(
498
- Pe,
499
- $onDelete,
500
- Hi
501
- ),
502
- editor.registerCommand(
503
- Me,
504
- $onDelete,
505
- Hi
506
- ),
457
+ editor.registerCommand(Pe, $onDelete, Hi),
458
+ editor.registerCommand(Me, $onDelete, Hi),
507
459
  editor.registerCommand(Ee, $onEnter, Hi),
508
- editor.registerCommand(
509
- Ae,
510
- $onEscape,
511
- Hi
512
- )
460
+ editor.registerCommand(Ae, $onEscape, Hi)
513
461
  );
514
462
  rootElement?.addEventListener("contextmenu", onRightClick);
515
463
  return () => {
@@ -554,7 +502,7 @@ function ImageComponent({
554
502
  };
555
503
  const draggable = isSelected && Or(selection) && !isResizing;
556
504
  const isFocused = (isSelected || isResizing) && isEditable;
557
- return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsxs(Fragment, { children: [
505
+ return /* @__PURE__ */ jsxs(Suspense, { fallback: null, children: [
558
506
  /* @__PURE__ */ jsx("div", { draggable, children: isLoadError ? /* @__PURE__ */ jsx(BrokenImage, {}) : /* @__PURE__ */ jsx(
559
507
  LazyImage,
560
508
  {
@@ -568,31 +516,24 @@ function ImageComponent({
568
516
  onError: () => setIsLoadError(true)
569
517
  }
570
518
  ) }),
571
- showCaption && /* @__PURE__ */ jsx("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", children: /* @__PURE__ */ jsxs(
572
- m,
573
- {
574
- initialEditor: caption,
575
- initialNodes: [Ii, lr, Ui],
576
- children: [
577
- /* @__PURE__ */ jsx(o$1, {}),
578
- /* @__PURE__ */ jsx(a$2, {}),
579
- /* @__PURE__ */ jsx(
580
- L,
519
+ showCaption && /* @__PURE__ */ jsx("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", children: /* @__PURE__ */ jsxs(m, { initialEditor: caption, initialNodes: [Ii, lr, Ui], children: [
520
+ /* @__PURE__ */ jsx(o$1, {}),
521
+ /* @__PURE__ */ jsx(a$2, {}),
522
+ /* @__PURE__ */ jsx(
523
+ L,
524
+ {
525
+ contentEditable: /* @__PURE__ */ jsx(
526
+ ContentEditable,
581
527
  {
582
- contentEditable: /* @__PURE__ */ jsx(
583
- ContentEditable,
584
- {
585
- 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",
586
- 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",
587
- placeholder: "Enter a caption..."
588
- }
589
- ),
590
- ErrorBoundary: n
528
+ 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",
529
+ 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",
530
+ placeholder: "Enter a caption..."
591
531
  }
592
- )
593
- ]
594
- }
595
- ) }),
532
+ ),
533
+ ErrorBoundary: n
534
+ }
535
+ )
536
+ ] }) }),
596
537
  resizable && Or(selection) && isFocused && /* @__PURE__ */ jsx(
597
538
  ImageResizer,
598
539
  {
@@ -607,7 +548,7 @@ function ImageComponent({
607
548
  captionsEnabled: !isLoadError && captionsEnabled
608
549
  }
609
550
  )
610
- ] }) });
551
+ ] });
611
552
  }
612
553
 
613
554
  export { RIGHT_CLICK_IMAGE_COMMAND, ImageComponent as default };
@@ -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\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 * as React from \"react\"\nimport { JSX, useRef } from \"react\"\nimport { calculateZoomLevel } from \"@lexical/utils\"\nimport type { LexicalEditor } from \"lexical\"\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 =\n editorRootElement !== null\n ? editorRootElement.getBoundingClientRect().height - 20\n : 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(\n \"cursor\",\n `${cursorDir}-resize`,\n \"important\"\n )\n }\n if (document.body !== null) {\n document.body.style.setProperty(\n \"cursor\",\n `${cursorDir}-resize`,\n \"important\"\n )\n userSelect.current.value = document.body.style.getPropertyValue(\n \"-webkit-user-select\"\n )\n userSelect.current.priority = document.body.style.getPropertyPriority(\n \"-webkit-user-select\"\n )\n document.body.style.setProperty(\n \"-webkit-user-select\",\n `none`,\n \"important\"\n )\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(\n \"-webkit-user-select\",\n userSelect.current.value,\n userSelect.current.priority\n )\n }\n }\n\n const handlePointerDown = (\n event: React.PointerEvent<HTMLDivElement>,\n direction: number\n ) => {\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 =\n positioning.direction & (Direction.east | Direction.west)\n const isVertical =\n 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(\n positioning.startWidth + diff,\n minWidth,\n maxWidthContainer\n )\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(\n positioning.startHeight + diff,\n minHeight,\n maxHeightContainer\n )\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(\n positioning.startWidth + diff,\n minWidth,\n maxWidthContainer\n )\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\n\n\n\n\n\n\n","\"use client\"\n\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 * as React from \"react\"\nimport { JSX, Suspense, useCallback, useEffect, useRef, useState } from \"react\"\nimport { AutoFocusPlugin } from \"@lexical/react/LexicalAutoFocusPlugin\"\nimport { useCollaborationContext } from \"@lexical/react/LexicalCollaborationContext\"\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 {\n BaseSelection,\n LexicalCommand,\n LexicalEditor,\n NodeKey,\n} 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\"\n\n// import brokenImage from '../images/image-broken.svg';\nimport { ContentEditable } from \"./content-editable\"\nimport { ImageResizer } from \"./image-resizer\"\nimport { $isImageNode } from \"../nodes/image-node\"\n\nconst imageCache = new Set()\n\nexport const RIGHT_CLICK_IMAGE_COMMAND: LexicalCommand<MouseEvent> =\n 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 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] =\n useLexicalNodeSelection(nodeKey)\n const [isResizing, setIsResizing] = useState<boolean>(false)\n const { isCollabActive } = useCollaborationContext()\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 (\n isSelected &&\n $isNodeSelection(latestSelection) &&\n latestSelection.getNodes().length === 1\n ) {\n if (showCaption) {\n // Move focus into nested editor\n $setSelection(null)\n event.preventDefault()\n caption.focus()\n return true\n } else if (\n buttonElem !== null &&\n buttonElem !== document.activeElement\n ) {\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 (\n activeEditorRef.current === caption ||\n buttonRef.current === event.target\n ) {\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>(\n CLICK_COMMAND,\n onClick,\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand<MouseEvent>(\n RIGHT_CLICK_IMAGE_COMMAND,\n onClick,\n COMMAND_PRIORITY_LOW\n ),\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(\n KEY_DELETE_COMMAND,\n $onDelete,\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n $onDelete,\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(KEY_ENTER_COMMAND, $onEnter, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n KEY_ESCAPE_COMMAND,\n $onEscape,\n COMMAND_PRIORITY_LOW\n )\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 = (\n nextWidth: \"inherit\" | number,\n nextHeight: \"inherit\" | number\n ) => {\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 <>\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\n initialEditor={caption}\n initialNodes={[RootNode, TextNode, ParagraphNode]}\n >\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 </>\n </Suspense>\n )\n}\n\n\n\n\n\n"],"names":["r","e","s","a","t","l","o","i","n","c","p","calculateZoomLevel","createCommand","useLexicalNodeSelection","useCollaborationContext","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":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE2G,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACA,aAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAA0F,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAACC,UAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,8GAA8G,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAA0C,CAAC;;ACR7sC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEmb,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAACC,MAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAACC,UAAC,CAACC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,8GAA8G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,OAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAACC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAK,CAAC,GAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,CAAC,CAACC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAACC,EAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAACR,EAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAACQ,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAACR,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACG,UAAC,CAACF,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAOQ,SAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACA,SAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAACN,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;ACQ7/D,SAAS,KAAA,CAAM,KAAA,EAAe,GAAA,EAAa,GAAA,EAAa;AACtD,EAAA,OAAO,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,KAAA,EAAO,GAAG,GAAG,GAAG,CAAA;AAC3C;AAEA,MAAM,SAAA,GAAY;AAAA,EAChB,MAAM,CAAA,IAAK,CAAA;AAAA,EACX,OAAO,CAAA,IAAK,CAAA;AAAA,EACZ,OAAO,CAAA,IAAK,CAAA;AAAA,EACZ,MAAM,CAAA,IAAK;AACb,CAAA;AAEO,SAAS,YAAA,CAAa;AAAA,EAC3B,aAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAUgB;AACd,EAAA,MAAM,iBAAA,GAAoB,OAAuB,IAAI,CAAA;AACrD,EAAA,MAAM,aAAa,MAAA,CAAO;AAAA,IACxB,QAAA,EAAU,EAAA;AAAA,IACV,KAAA,EAAO;AAAA,GACR,CAAA;AACD,EAAA,MAAM,iBAAiB,MAAA,CAUpB;AAAA,IACD,aAAA,EAAe,CAAA;AAAA,IACf,YAAA,EAAc,CAAA;AAAA,IACd,SAAA,EAAW,CAAA;AAAA,IACX,UAAA,EAAY,KAAA;AAAA,IACZ,KAAA,EAAO,CAAA;AAAA,IACP,WAAA,EAAa,CAAA;AAAA,IACb,UAAA,EAAY,CAAA;AAAA,IACZ,MAAA,EAAQ,CAAA;AAAA,IACR,MAAA,EAAQ;AAAA,GACT,CAAA;AACD,EAAA,MAAM,iBAAA,GAAoB,OAAO,cAAA,EAAe;AAEhD,EAAA,MAAM,iBAAA,GAAoB,WACtB,QAAA,GACA,iBAAA,KAAsB,OACpB,iBAAA,CAAkB,qBAAA,EAAsB,CAAE,KAAA,GAAQ,EAAA,GAClD,GAAA;AACN,EAAA,MAAM,qBACJ,iBAAA,KAAsB,IAAA,GAClB,kBAAkB,qBAAA,EAAsB,CAAE,SAAS,EAAA,GACnD,GAAA;AAEN,EAAA,MAAM,QAAA,GAAW,GAAA;AACjB,EAAA,MAAM,SAAA,GAAY,GAAA;AAElB,EAAA,MAAM,cAAA,GAAiB,CAAC,SAAA,KAAsB;AAC5C,IAAA,MAAM,EAAA,GAAK,SAAA,KAAc,SAAA,CAAU,IAAA,IAAQ,cAAc,SAAA,CAAU,IAAA;AACnE,IAAA,MAAM,EAAA,GAAK,SAAA,KAAc,SAAA,CAAU,KAAA,IAAS,cAAc,SAAA,CAAU,KAAA;AACpE,IAAA,MAAM,IAAA,GACH,SAAA,GAAY,SAAA,CAAU,KAAA,IAAS,SAAA,GAAY,SAAA,CAAU,IAAA,IACrD,SAAA,GAAY,SAAA,CAAU,KAAA,IAAS,SAAA,GAAY,SAAA,CAAU,IAAA;AAExD,IAAA,MAAM,YAAY,EAAA,GAAK,IAAA,GAAO,EAAA,GAAK,IAAA,GAAO,OAAO,MAAA,GAAS,MAAA;AAE1D,IAAA,IAAI,sBAAsB,IAAA,EAAM;AAC9B,MAAA,iBAAA,CAAkB,KAAA,CAAM,WAAA;AAAA,QACtB,QAAA;AAAA,QACA,GAAG,SAAS,CAAA,OAAA,CAAA;AAAA,QACZ;AAAA,OACF;AAAA,IACF;AACA,IAAA,IAAI,QAAA,CAAS,SAAS,IAAA,EAAM;AAC1B,MAAA,QAAA,CAAS,KAAK,KAAA,CAAM,WAAA;AAAA,QAClB,QAAA;AAAA,QACA,GAAG,SAAS,CAAA,OAAA,CAAA;AAAA,QACZ;AAAA,OACF;AACA,MAAA,UAAA,CAAW,OAAA,CAAQ,KAAA,GAAQ,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,gBAAA;AAAA,QAC7C;AAAA,OACF;AACA,MAAA,UAAA,CAAW,OAAA,CAAQ,QAAA,GAAW,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,mBAAA;AAAA,QAChD;AAAA,OACF;AACA,MAAA,QAAA,CAAS,KAAK,KAAA,CAAM,WAAA;AAAA,QAClB,qBAAA;AAAA,QACA,CAAA,IAAA,CAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,IAAI,sBAAsB,IAAA,EAAM;AAC9B,MAAA,iBAAA,CAAkB,KAAA,CAAM,WAAA,CAAY,QAAA,EAAU,MAAM,CAAA;AAAA,IACtD;AACA,IAAA,IAAI,QAAA,CAAS,SAAS,IAAA,EAAM;AAC1B,MAAA,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,QAAA,EAAU,SAAS,CAAA;AACnD,MAAA,QAAA,CAAS,KAAK,KAAA,CAAM,WAAA;AAAA,QAClB,qBAAA;AAAA,QACA,WAAW,OAAA,CAAQ,KAAA;AAAA,QACnB,WAAW,OAAA,CAAQ;AAAA,OACrB;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CACxB,KAAA,EACA,SAAA,KACG;AACH,IAAA,IAAI,CAAC,MAAA,CAAO,UAAA,EAAW,EAAG;AACxB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,MAAM,iBAAiB,iBAAA,CAAkB,OAAA;AAEzC,IAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,cAAA,KAAmB,IAAA,EAAM;AAC7C,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAO,GAAI,MAAM,qBAAA,EAAsB;AACtD,MAAA,MAAM,IAAA,GAAOO,GAAmB,KAAK,CAAA;AACrC,MAAA,MAAM,cAAc,cAAA,CAAe,OAAA;AACnC,MAAA,WAAA,CAAY,UAAA,GAAa,KAAA;AACzB,MAAA,WAAA,CAAY,WAAA,GAAc,MAAA;AAC1B,MAAA,WAAA,CAAY,QAAQ,KAAA,GAAQ,MAAA;AAC5B,MAAA,WAAA,CAAY,YAAA,GAAe,KAAA;AAC3B,MAAA,WAAA,CAAY,aAAA,GAAgB,MAAA;AAC5B,MAAA,WAAA,CAAY,MAAA,GAAS,MAAM,OAAA,GAAU,IAAA;AACrC,MAAA,WAAA,CAAY,MAAA,GAAS,MAAM,OAAA,GAAU,IAAA;AACrC,MAAA,WAAA,CAAY,UAAA,GAAa,IAAA;AACzB,MAAA,WAAA,CAAY,SAAA,GAAY,SAAA;AAExB,MAAA,cAAA,CAAe,SAAS,CAAA;AACxB,MAAA,aAAA,EAAc;AAEd,MAAA,cAAA,CAAe,SAAA,CAAU,IAAI,mBAAmB,CAAA;AAChD,MAAA,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,EAAA,CAAA;AAC9B,MAAA,KAAA,CAAM,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA;AAE5B,MAAA,QAAA,CAAS,gBAAA,CAAiB,eAAe,iBAAiB,CAAA;AAC1D,MAAA,QAAA,CAAS,gBAAA,CAAiB,aAAa,eAAe,CAAA;AAAA,IACxD;AAAA,EACF,CAAA;AACA,EAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAwB;AACjD,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,MAAM,cAAc,cAAA,CAAe,OAAA;AAEnC,IAAA,MAAM,YAAA,GACJ,WAAA,CAAY,SAAA,IAAa,SAAA,CAAU,OAAO,SAAA,CAAU,IAAA,CAAA;AACtD,IAAA,MAAM,UAAA,GACJ,WAAA,CAAY,SAAA,IAAa,SAAA,CAAU,QAAQ,SAAA,CAAU,KAAA,CAAA;AAEvD,IAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,WAAA,CAAY,UAAA,EAAY;AAC5C,MAAA,MAAM,IAAA,GAAOA,GAAmB,KAAK,CAAA;AAErC,MAAA,IAAI,gBAAgB,UAAA,EAAY;AAC9B,QAAA,IAAI,OAAO,IAAA,CAAK,KAAA,CAAM,YAAY,MAAA,GAAS,KAAA,CAAM,UAAU,IAAI,CAAA;AAC/D,QAAA,IAAA,GAAO,WAAA,CAAY,SAAA,GAAY,SAAA,CAAU,IAAA,GAAO,CAAC,IAAA,GAAO,IAAA;AAExD,QAAA,MAAM,KAAA,GAAQ,KAAA;AAAA,UACZ,YAAY,UAAA,GAAa,IAAA;AAAA,UACzB,QAAA;AAAA,UACA;AAAA,SACF;AAEA,QAAA,MAAM,MAAA,GAAS,QAAQ,WAAA,CAAY,KAAA;AACnC,QAAA,KAAA,CAAM,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA;AAC5B,QAAA,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,EAAA,CAAA;AAC9B,QAAA,WAAA,CAAY,aAAA,GAAgB,MAAA;AAC5B,QAAA,WAAA,CAAY,YAAA,GAAe,KAAA;AAAA,MAC7B,WAAW,UAAA,EAAY;AACrB,QAAA,IAAI,OAAO,IAAA,CAAK,KAAA,CAAM,YAAY,MAAA,GAAS,KAAA,CAAM,UAAU,IAAI,CAAA;AAC/D,QAAA,IAAA,GAAO,WAAA,CAAY,SAAA,GAAY,SAAA,CAAU,KAAA,GAAQ,CAAC,IAAA,GAAO,IAAA;AAEzD,QAAA,MAAM,MAAA,GAAS,KAAA;AAAA,UACb,YAAY,WAAA,GAAc,IAAA;AAAA,UAC1B,SAAA;AAAA,UACA;AAAA,SACF;AAEA,QAAA,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,EAAA,CAAA;AAC9B,QAAA,WAAA,CAAY,aAAA,GAAgB,MAAA;AAAA,MAC9B,CAAA,MAAO;AACL,QAAA,IAAI,OAAO,IAAA,CAAK,KAAA,CAAM,YAAY,MAAA,GAAS,KAAA,CAAM,UAAU,IAAI,CAAA;AAC/D,QAAA,IAAA,GAAO,WAAA,CAAY,SAAA,GAAY,SAAA,CAAU,IAAA,GAAO,CAAC,IAAA,GAAO,IAAA;AAExD,QAAA,MAAM,KAAA,GAAQ,KAAA;AAAA,UACZ,YAAY,UAAA,GAAa,IAAA;AAAA,UACzB,QAAA;AAAA,UACA;AAAA,SACF;AAEA,QAAA,KAAA,CAAM,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA;AAC5B,QAAA,WAAA,CAAY,YAAA,GAAe,KAAA;AAAA,MAC7B;AAAA,IACF;AAAA,EACF,CAAA;AACA,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,MAAM,cAAc,cAAA,CAAe,OAAA;AACnC,IAAA,MAAM,iBAAiB,iBAAA,CAAkB,OAAA;AACzC,IAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,cAAA,KAAmB,IAAA,IAAQ,YAAY,UAAA,EAAY;AACvE,MAAA,MAAM,QAAQ,WAAA,CAAY,YAAA;AAC1B,MAAA,MAAM,SAAS,WAAA,CAAY,aAAA;AAC3B,MAAA,WAAA,CAAY,UAAA,GAAa,CAAA;AACzB,MAAA,WAAA,CAAY,WAAA,GAAc,CAAA;AAC1B,MAAA,WAAA,CAAY,KAAA,GAAQ,CAAA;AACpB,MAAA,WAAA,CAAY,MAAA,GAAS,CAAA;AACrB,MAAA,WAAA,CAAY,MAAA,GAAS,CAAA;AACrB,MAAA,WAAA,CAAY,YAAA,GAAe,CAAA;AAC3B,MAAA,WAAA,CAAY,aAAA,GAAgB,CAAA;AAC5B,MAAA,WAAA,CAAY,UAAA,GAAa,KAAA;AAEzB,MAAA,cAAA,CAAe,SAAA,CAAU,OAAO,mBAAmB,CAAA;AAEnD,MAAA,YAAA,EAAa;AACb,MAAA,WAAA,CAAY,OAAO,MAAM,CAAA;AAEzB,MAAA,QAAA,CAAS,mBAAA,CAAoB,eAAe,iBAAiB,CAAA;AAC7D,MAAA,QAAA,CAAS,mBAAA,CAAoB,aAAa,eAAe,CAAA;AAAA,IAC3D;AAAA,EACF,CAAA;AACA,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,iBAAA,EACP,QAAA,EAAA;AAAA,IAAA,CAAC,eAAe,eAAA,oBACf,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,kEAAA;AAAA,QACV,GAAA,EAAK,SAAA;AAAA,QACL,OAAA,EAAS,SAAA;AAAA,QACT,SAAS,MAAM;AACb,UAAA,cAAA,CAAe,CAAC,WAAW,CAAA;AAAA,QAC7B,CAAA;AAAA,QACD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEF,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,+GAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,UAAU,KAAK,CAAA;AAAA,QAC1C;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,mGAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,SAAA,CAAU,KAAA,GAAQ,SAAA,CAAU,IAAI,CAAA;AAAA,QAC3D;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,gHAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,UAAU,IAAI,CAAA;AAAA,QACzC;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,sGAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,SAAA,CAAU,KAAA,GAAQ,SAAA,CAAU,IAAI,CAAA;AAAA,QAC3D;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,kHAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,UAAU,KAAK,CAAA;AAAA,QAC1C;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,qGAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,SAAA,CAAU,KAAA,GAAQ,SAAA,CAAU,IAAI,CAAA;AAAA,QAC3D;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,+GAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,UAAU,IAAI,CAAA;AAAA,QACzC;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,kGAAA;AAAA,QACV,aAAA,EAAe,CAAC,KAAA,KAAU;AACxB,UAAA,iBAAA,CAAkB,KAAA,EAAO,SAAA,CAAU,KAAA,GAAQ,SAAA,CAAU,IAAI,CAAA;AAAA,QAC3D;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;;AC3QA,MAAM,UAAA,uBAAiB,GAAA,EAAI;AAEpB,MAAM,yBAAA,GACXC,GAAc,2BAA2B;AAE3C,SAAS,iBAAiB,GAAA,EAAa;AACrC,EAAA,IAAI,CAAC,UAAA,CAAW,GAAA,CAAI,GAAG,CAAA,EAAG;AACxB,IAAA,MAAM,IAAI,OAAA,CAAQ,CAAC,OAAA,KAAY;AAC7B,MAAA,MAAM,GAAA,GAAM,IAAI,KAAA,EAAM;AACtB,MAAA,GAAA,CAAI,GAAA,GAAM,GAAA;AACV,MAAA,GAAA,CAAI,SAAS,MAAM;AACjB,QAAA,UAAA,CAAW,IAAI,GAAG,CAAA;AAClB,QAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,MACd,CAAA;AACA,MAAA,GAAA,CAAI,UAAU,MAAM;AAClB,QAAA,UAAA,CAAW,IAAI,GAAG,CAAA;AAAA,MACpB,CAAA;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AACF;AAEA,SAAS,SAAA,CAAU;AAAA,EACjB,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EASgB;AACd,EAAA,gBAAA,CAAiB,GAAG,CAAA;AACpB,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,SAAA,IAAa,MAAA;AAAA,MACxB,GAAA;AAAA,MACA,GAAA,EAAK,OAAA;AAAA,MACL,GAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACL,MAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACA,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;AAEA,SAAS,WAAA,GAA2B;AAClC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,EAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACL,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,GAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;AAEA,SAAwB,cAAA,CAAe;AAAA,EACrC,GAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAWgB;AACd,EAAA,MAAM,QAAA,GAAW,OAAgC,IAAI,CAAA;AACrD,EAAA,MAAM,SAAA,GAAY,OAAiC,IAAI,CAAA;AACvD,EAAA,MAAM,CAAC,UAAA,EAAY,WAAA,EAAa,cAAc,CAAA,GAC5CC,EAAwB,OAAO,CAAA;AACjC,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAkB,KAAK,CAAA;AAC3D,EAAA,MAAM,EAAE,cAAA,EAAe,GAAIC,CAAA,EAAwB;AACnD,EAAA,MAAM,CAAC,MAAM,CAAA,GAAIC,CAAA,EAA0B;AAC3C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAA+B,IAAI,CAAA;AACrE,EAAA,MAAM,eAAA,GAAkB,OAA6B,IAAI,CAAA;AACzD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAkB,KAAK,CAAA;AAC7D,EAAA,MAAM,aAAaC,GAAA,EAAmB;AAEtC,EAAA,MAAM,SAAA,GAAY,WAAA;AAAA,IAChB,CAAC,OAAA,KAA2B;AAC1B,MAAA,MAAM,kBAAkBC,EAAA,EAAc;AACtC,MAAA,IAAI,UAAA,IAAcC,EAAA,CAAiB,eAAe,CAAA,EAAG;AACnD,QAAA,MAAM,KAAA,GAAuB,OAAA;AAC7B,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAA,CAAO,OAAO,MAAM;AAClB,UAAA,eAAA,CAAgB,QAAA,EAAS,CAAE,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC3C,YAAA,IAAI,YAAA,CAAa,IAAI,CAAA,EAAG;AACtB,cAAA,IAAA,CAAK,MAAA,EAAO;AAAA,YACd;AAAA,UACF,CAAC,CAAA;AAAA,QACH,CAAC,CAAA;AAAA,MACH;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,QAAQ,UAAU;AAAA,GACrB;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,KAAA,KAAyB;AACxB,MAAA,MAAM,kBAAkBD,EAAA,EAAc;AACtC,MAAA,MAAM,aAAa,SAAA,CAAU,OAAA;AAC7B,MAAA,IACE,UAAA,IACAC,GAAiB,eAAe,CAAA,IAChC,gBAAgB,QAAA,EAAS,CAAE,WAAW,CAAA,EACtC;AACA,QAAA,IAAI,WAAA,EAAa;AAEf,UAAAC,EAAA,CAAc,IAAI,CAAA;AAClB,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,OAAA,CAAQ,KAAA,EAAM;AACd,UAAA,OAAO,IAAA;AAAA,QACT,CAAA,MAAA,IACE,UAAA,KAAe,IAAA,IACf,UAAA,KAAe,SAAS,aAAA,EACxB;AACA,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,UAAA,CAAW,KAAA,EAAM;AACjB,UAAA,OAAO,IAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,UAAA,EAAY,WAAW;AAAA,GACnC;AAEA,EAAA,MAAM,SAAA,GAAY,WAAA;AAAA,IAChB,CAAC,KAAA,KAAyB;AACxB,MAAA,IACE,gBAAgB,OAAA,KAAY,OAAA,IAC5B,SAAA,CAAU,OAAA,KAAY,MAAM,MAAA,EAC5B;AACA,QAAAA,EAAA,CAAc,IAAI,CAAA;AAClB,QAAA,MAAA,CAAO,OAAO,MAAM;AAClB,UAAA,WAAA,CAAY,IAAI,CAAA;AAChB,UAAA,MAAM,iBAAA,GAAoB,OAAO,cAAA,EAAe;AAChD,UAAA,IAAI,sBAAsB,IAAA,EAAM;AAC9B,YAAA,iBAAA,CAAkB,KAAA,EAAM;AAAA,UAC1B;AAAA,QACF,CAAC,CAAA;AACD,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,MAAA,EAAQ,WAAW;AAAA,GAC/B;AAEA,EAAA,MAAM,OAAA,GAAU,WAAA;AAAA,IACd,CAAC,OAAA,KAAwB;AACvB,MAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,QAAA,CAAS,OAAA,EAAS;AACrC,QAAA,IAAI,MAAM,QAAA,EAAU;AAClB,UAAA,WAAA,CAAY,CAAC,UAAU,CAAA;AAAA,QACzB,CAAA,MAAO;AACL,UAAA,cAAA,EAAe;AACf,UAAA,WAAA,CAAY,IAAI,CAAA;AAAA,QAClB;AACA,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,UAAA,EAAY,UAAA,EAAY,WAAA,EAAa,cAAc;AAAA,GACtD;AAEA,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,KAAA,KAA4B;AAC3B,MAAA,MAAA,CAAO,cAAA,EAAe,CAAE,IAAA,CAAK,MAAM;AACjC,QAAA,MAAM,kBAAkBF,EAAA,EAAc;AACtC,QAAA,MAAM,aAAa,KAAA,CAAM,MAAA;AACzB,QAAA,IACE,UAAA,CAAW,OAAA,KAAY,KAAA,IACvBG,EAAA,CAAkB,eAAe,KACjC,eAAA,CAAgB,QAAA,EAAS,CAAE,MAAA,KAAW,CAAA,EACtC;AACA,UAAA,MAAA,CAAO,eAAA,CAAgB,2BAA2B,KAAmB,CAAA;AAAA,QACvE;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AAAA,IACA,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,GAAY,IAAA;AAChB,IAAA,MAAM,WAAA,GAAc,OAAO,cAAA,EAAe;AAC1C,IAAA,MAAM,UAAA,GAAaC,EAAA;AAAA,MACjB,MAAA,CAAO,sBAAA,CAAuB,CAAC,EAAE,aAAY,KAAM;AACjD,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,YAAA,CAAa,WAAA,CAAY,IAAA,CAAK,MAAMJ,EAAA,EAAe,CAAC,CAAA;AAAA,QACtD;AAAA,MACF,CAAC,CAAA;AAAA,MACD,MAAA,CAAO,eAAA;AAAA,QACLK,EAAA;AAAA,QACA,CAAC,GAAG,YAAA,KAAiB;AACnB,UAAA,eAAA,CAAgB,OAAA,GAAU,YAAA;AAC1B,UAAA,OAAO,KAAA;AAAA,QACT,CAAA;AAAA,QACAC;AAAA,OACF;AAAA,MACA,MAAA,CAAO,eAAA;AAAA,QACLC,EAAA;AAAA,QACA,OAAA;AAAA,QACAD;AAAA,OACF;AAAA,MACA,MAAA,CAAO,eAAA;AAAA,QACL,yBAAA;AAAA,QACA,OAAA;AAAA,QACAA;AAAA,OACF;AAAA,MACA,MAAA,CAAO,eAAA;AAAA,QACLE,EAAA;AAAA,QACA,CAAC,KAAA,KAAU;AACT,UAAA,IAAI,KAAA,CAAM,MAAA,KAAW,QAAA,CAAS,OAAA,EAAS;AAGrC,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,OAAO,IAAA;AAAA,UACT;AACA,UAAA,OAAO,KAAA;AAAA,QACT,CAAA;AAAA,QACAF;AAAA,OACF;AAAA,MACA,MAAA,CAAO,eAAA;AAAA,QACLG,EAAA;AAAA,QACA,SAAA;AAAA,QACAH;AAAA,OACF;AAAA,MACA,MAAA,CAAO,eAAA;AAAA,QACLI,EAAA;AAAA,QACA,SAAA;AAAA,QACAJ;AAAA,OACF;AAAA,MACA,MAAA,CAAO,eAAA,CAAgBK,EAAA,EAAmB,QAAA,EAAUL,EAAoB,CAAA;AAAA,MACxE,MAAA,CAAO,eAAA;AAAA,QACLM,EAAA;AAAA,QACA,SAAA;AAAA,QACAN;AAAA;AACF,KACF;AAEA,IAAA,WAAA,EAAa,gBAAA,CAAiB,eAAe,YAAY,CAAA;AAEzD,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,KAAA;AACZ,MAAA,UAAA,EAAW;AACX,MAAA,WAAA,EAAa,mBAAA,CAAoB,eAAe,YAAY,CAAA;AAAA,IAC9D,CAAA;AAAA,EACF,CAAA,EAAG;AAAA,IACD,cAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,OAAO,MAAM;AAClB,MAAA,MAAM,IAAA,GAAOO,GAAc,OAAO,CAAA;AAClC,MAAA,IAAI,YAAA,CAAa,IAAI,CAAA,EAAG;AACtB,QAAA,IAAA,CAAK,eAAe,IAAI,CAAA;AAAA,MAC1B;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAClB,SAAA,EACA,UAAA,KACG;AAEH,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,aAAA,CAAc,KAAK,CAAA;AAAA,IACrB,GAAG,GAAG,CAAA;AAEN,IAAA,MAAA,CAAO,OAAO,MAAM;AAClB,MAAA,MAAM,IAAA,GAAOA,GAAc,OAAO,CAAA;AAClC,MAAA,IAAI,YAAA,CAAa,IAAI,CAAA,EAAG;AACtB,QAAA,IAAA,CAAK,iBAAA,CAAkB,WAAW,UAAU,CAAA;AAAA,MAC9C;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,aAAA,CAAc,IAAI,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,UAAA,IAAcZ,EAAA,CAAiB,SAAS,KAAK,CAAC,UAAA;AAChE,EAAA,MAAM,SAAA,GAAA,CAAa,cAAc,UAAA,KAAe,UAAA;AAChD,EAAA,uBACE,GAAA,CAAC,QAAA,EAAA,EAAS,QAAA,EAAU,IAAA,EAClB,QAAA,kBAAA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EACF,QAAA,EAAA,WAAA,mBACC,GAAA,CAAC,eAAY,CAAA,mBAEb,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAA,0BAAA,EACT,SAAA,GACI,CAAA,EAAGA,EAAA,CAAiB,SAAS,CAAA,GAAI,8CAAA,GAAiD,EAAE,CAAA,0CAAA,CAAA,GACpF,IACN,CAAA,CAAA;AAAA,QACA,GAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA,EAAS,MAAM,cAAA,CAAe,IAAI;AAAA;AAAA,KACpC,EAEJ,CAAA;AAAA,IAEC,WAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2HAAA,EACb,QAAA,kBAAA,IAAA;AAAA,MAACa,CAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAe,OAAA;AAAA,QACf,YAAA,EAAc,CAACC,EAAA,EAAUC,EAAA,EAAUC,EAAa,CAAA;AAAA,QAEhD,QAAA,EAAA;AAAA,0BAAA,GAAA,CAACC,GAAA,EAAA,EAAgB,CAAA;AAAA,8BAChBC,GAAA,EAAA,EAAc,CAAA;AAAA,0BACf,GAAA;AAAA,YAACC,CAAA;AAAA,YAAA;AAAA,cACC,eAAA,kBACE,GAAA;AAAA,gBAAC,eAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,4MAAA;AAAA,kBACV,oBAAA,EAAqB,kLAAA;AAAA,kBACrB,WAAA,EAAY;AAAA;AAAA,eACd;AAAA,cAEF,aAAA,EAAeC;AAAA;AAAA;AACjB;AAAA;AAAA,KACF,EACF,CAAA;AAAA,IAED,SAAA,IAAapB,EAAA,CAAiB,SAAS,CAAA,IAAK,SAAA,oBAC3C,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,WAAA;AAAA,QACA,cAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,aAAA;AAAA,QACA,WAAA;AAAA,QACA,eAAA,EAAiB,CAAC,WAAA,IAAe;AAAA;AAAA;AACnC,GAAA,EAEJ,CAAA,EACF,CAAA;AAEJ;;;;","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 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]}
package/dist/index.js CHANGED
@@ -26,7 +26,8 @@ export { C as Checkbox } from './Checkbox.js';
26
26
  export { C as CheckboxGroup } from './CheckboxGroup.js';
27
27
  export { C as CloudProviderFilter, a as CloudProviderSelector } from './CloudProviderSelector.js';
28
28
  export { C as Collapsible } from './Collapsible.js';
29
- 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 './cells.js';
29
+ export { C as CompactSwitch, S as Switch } from './Switch.js';
30
+ 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';
30
31
  export { C as ConfirmHost } from './ConfirmHost.js';
31
32
  export { C as Controller } from './index.esm.js';
32
33
  export { C as CurrencyField } from './CurrencyField.js';
@@ -39,7 +40,7 @@ export { D as DateRangePicker } from './DateRangePicker.js';
39
40
  export { D as DateTimePicker } from './DateTimePicker.js';
40
41
  export { D as DateTimeRangePicker } from './DateTimeRangePicker.js';
41
42
  export { D as DeploymentFilter, a as DeploymentSelector } from './DeploymentSelector.js';
42
- export { D as DetailField, a as DetailSection, b as DetailSectionSkeleton } from './DetailSectionSkeleton.js';
43
+ export { D as DetailField, a as DetailHeader, b as DetailSection, c as DetailSectionSkeleton } from './DetailSectionSkeleton.js';
43
44
  export { D as Dialog, a as DialogActions } from './Dialog.js';
44
45
  export { D as DropdownMenu } from './DropdownMenu.js';
45
46
  export { E as Empty } from './Empty.js';
@@ -50,6 +51,7 @@ export { F as FilePreview } from './FilePreview.js';
50
51
  export { F as Form } from './Form.js';
51
52
  export { F as FormSection } from './FormSection.js';
52
53
  export { H as Handle, a as HierarchyGraph, P as Position } from './HierarchyGraph.js';
54
+ export { I as IconSelect } from './IconSelect.js';
53
55
  export { I as InventoryItemFilter, a as InventoryItemSelector } from './InventoryItemSelector.js';
54
56
  export { L as LineChart } from './LineChart.js';
55
57
  export { L as LocaleFilter, a as LocaleSelector } from './LocaleSelector.js';
@@ -64,6 +66,7 @@ export { O as OTPField } from './OTPField.js';
64
66
  export { P as PageContent, a as PageContentDetails, b as PageContentPanel, c as PanelSkeleton, S as SidePanelListItem } from './PageContent.js';
65
67
  export { P as PageHeader, a as PageHeaderSkeleton } from './PageHeaderSkeleton.js';
66
68
  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';
67
70
  export { P as PhoneField } from './PhoneField.js';
68
71
  export { P as PieChart } from './PieChart.js';
69
72
  export { P as PlanFilter, a as PlanSelector } from './PlanSelector.js';
@@ -74,7 +77,7 @@ export { R as RadarChart } from './RadarChart.js';
74
77
  export { R as RadialChart } from './RadialChart.js';
75
78
  export { R as RadioGroup } from './RadioGroup.js';
76
79
  export { R as RegionFilter, a as RegionSelector } from './RegionSelector.js';
77
- export { R as RichTextEditor } from './index37.js';
80
+ export { R as RichTextEditor } from './index38.js';
78
81
  export { S as SearchBar } from './SearchBar.js';
79
82
  export { S as Separator } from './Separator.js';
80
83
  export { S as SerialFilter, a as SerialSelector } from './SerialSelector.js';
@@ -86,7 +89,6 @@ export { S as Spinner } from './Spinner.js';
86
89
  export { S as StepProgressIndicator } from './StepProgressIndicator.js';
87
90
  export { S as SupplierFilter, a as SupplierSelector } from './SupplierSelector.js';
88
91
  export { S as SupplierItemFilter, a as SupplierItemSelector } from './SupplierItemSelector.js';
89
- export { S as Switch } from './Switch.js';
90
92
  export { T as Tabs, a as TabsContent, b as TabsList, c as TabsSkeleton, d as TabsTrigger } from './TabsSkeleton.js';
91
93
  export { T as TextArea } from './TextArea.js';
92
94
  export { T as TextField } from './TextField.js';
@@ -94,6 +96,7 @@ export { T as ThemeToggle } from './ThemeToggle.js';
94
96
  export { T as TimezoneFilter, a as TimezoneSelector } from './TimezoneSelector.js';
95
97
  export { T as Toaster } from './Sonner.js';
96
98
  export { T as Toggle, t as toggleVariants } from './Toggle.js';
99
+ export { T as Tooltip } from './Tooltip.js';
97
100
  export { T as Typography } from './Typography.js';
98
101
  export { U as UomFilter, a as UomSelector } from './UomSelector.js';
99
102
  export { U as UploadFile } from './UploadFile.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index12.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
- import { u as useControllableState, P as Primitive, c as composeEventHandlers, a as createSlottable } from './index18.js';
2
+ import { u as useControllableState, P as Primitive, c as composeEventHandlers, a as createSlottable } from './index19.js';
3
3
  import { u as useComposedRefs } from './index11.js';
4
- import { c as createContextScope } from './index19.js';
5
- import { P as Portal$1, D as DismissableLayer } from './index25.js';
6
- import { u as useId } from './index23.js';
7
- import { R as Root2, A as Anchor, c as createPopperScope, a as Arrow, C as Content } from './index26.js';
8
- import { P as Presence } from './index21.js';
9
- import { R as Root } from './index27.js';
4
+ import { c as createContextScope } from './index20.js';
5
+ import { P as Portal$1, D as DismissableLayer } from './index26.js';
6
+ import { u as useId } from './index24.js';
7
+ import { R as Root2, A as Anchor, c as createPopperScope, a as Arrow, C as Content } from './index27.js';
8
+ import { P as Presence } from './index22.js';
9
+ import { R as Root } from './index28.js';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
11
11
 
12
12
  var [createTooltipContext] = createContextScope("Tooltip", [
package/dist/index13.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
- import { u as useControllableState, P as Primitive, c as composeEventHandlers, b as createSlot } from './index18.js';
2
+ import { u as useControllableState, P as Primitive, c as composeEventHandlers, b as createSlot } from './index19.js';
3
3
  import { u as useComposedRefs } from './index11.js';
4
- import { c as createContextScope } from './index19.js';
5
- import { P as Portal$1, D as DismissableLayer } from './index25.js';
6
- import { h as hideOthers, R as ReactRemoveScroll, u as useFocusGuards, F as FocusScope } from './index29.js';
7
- import { u as useId } from './index23.js';
8
- import { R as Root2$1, A as Anchor, c as createPopperScope, C as Content, a as Arrow } from './index26.js';
9
- import { P as Presence } from './index21.js';
4
+ import { c as createContextScope } from './index20.js';
5
+ import { P as Portal$1, D as DismissableLayer } from './index26.js';
6
+ import { h as hideOthers, R as ReactRemoveScroll, u as useFocusGuards, F as FocusScope } from './index30.js';
7
+ import { u as useId } from './index24.js';
8
+ import { R as Root2$1, A as Anchor, c as createPopperScope, C as Content, a as Arrow } from './index27.js';
9
+ import { P as Presence } from './index22.js';
10
10
  import { jsx } from 'react/jsx-runtime';
11
11
 
12
12
  var POPOVER_NAME = "Popover";
package/dist/index14.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import * as React from 'react';
2
2
  import * as ReactDOM from 'react-dom';
3
- import { u as useControllableState, P as Primitive, c as composeEventHandlers, b as createSlot } from './index18.js';
4
- import { u as useDirection, c as createCollection } from './index22.js';
3
+ import { u as useControllableState, P as Primitive, c as composeEventHandlers, b as createSlot } from './index19.js';
4
+ import { u as useDirection, c as createCollection } from './index23.js';
5
5
  import { u as useComposedRefs } from './index11.js';
6
- import { c as createContextScope } from './index19.js';
7
- import { P as Portal$1, D as DismissableLayer } from './index25.js';
8
- import { h as hideOthers, u as useFocusGuards, R as ReactRemoveScroll, F as FocusScope } from './index29.js';
9
- import { u as useId } from './index23.js';
10
- import { R as Root2$1, A as Anchor, c as createPopperScope, C as Content, a as Arrow } from './index26.js';
11
- import { u as useCallbackRef } from './index32.js';
12
- import { u as useLayoutEffect2 } from './index28.js';
13
- import { u as usePrevious } from './index35.js';
14
- import { V as VISUALLY_HIDDEN_STYLES } from './index27.js';
6
+ import { c as createContextScope } from './index20.js';
7
+ import { P as Portal$1, D as DismissableLayer } from './index26.js';
8
+ import { h as hideOthers, u as useFocusGuards, R as ReactRemoveScroll, F as FocusScope } from './index30.js';
9
+ import { u as useId } from './index24.js';
10
+ import { R as Root2$1, A as Anchor, c as createPopperScope, C as Content, a as Arrow } from './index27.js';
11
+ import { u as useCallbackRef } from './index33.js';
12
+ import { u as useLayoutEffect2 } from './index29.js';
13
+ import { u as usePrevious } from './index36.js';
14
+ import { V as VISUALLY_HIDDEN_STYLES } from './index28.js';
15
15
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
16
16
 
17
17
  // packages/core/number/src/number.ts
package/dist/index15.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { P as Primitive } from './index30.js';
2
+ import { P as Primitive } from './index31.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  var NAME = "Label";