@forgedevstack/ink 1.1.2 → 1.1.4

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 (333) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/README.md +1 -1
  3. package/dist/common-components/Box/Box.cjs +1 -0
  4. package/dist/common-components/Box/Box.const.cjs +1 -0
  5. package/dist/common-components/Box/Box.const.d.ts +3 -0
  6. package/dist/common-components/Box/Box.const.d.ts.map +1 -0
  7. package/dist/common-components/Box/Box.const.js +5 -0
  8. package/dist/common-components/Box/Box.d.ts +4 -0
  9. package/dist/common-components/Box/Box.d.ts.map +1 -0
  10. package/dist/common-components/Box/Box.js +14 -0
  11. package/dist/common-components/Box/Box.types.d.ts +6 -0
  12. package/dist/common-components/Box/Box.types.d.ts.map +1 -0
  13. package/dist/common-components/Box/index.d.ts +3 -0
  14. package/dist/common-components/Box/index.d.ts.map +1 -0
  15. package/dist/common-components/Button/Button.cjs +1 -0
  16. package/dist/common-components/Button/Button.const.cjs +1 -0
  17. package/dist/common-components/Button/Button.const.d.ts +5 -0
  18. package/dist/common-components/Button/Button.const.d.ts.map +1 -0
  19. package/dist/common-components/Button/Button.const.js +7 -0
  20. package/dist/common-components/Button/Button.d.ts +4 -0
  21. package/dist/common-components/Button/Button.d.ts.map +1 -0
  22. package/dist/common-components/Button/Button.js +28 -0
  23. package/dist/common-components/Button/Button.types.d.ts +6 -0
  24. package/dist/common-components/Button/Button.types.d.ts.map +1 -0
  25. package/dist/common-components/Button/index.d.ts +3 -0
  26. package/dist/common-components/Button/index.d.ts.map +1 -0
  27. package/dist/common-components/Canvas/Canvas.cjs +1 -0
  28. package/dist/common-components/Canvas/Canvas.const.cjs +1 -0
  29. package/dist/common-components/Canvas/Canvas.const.d.ts +2 -0
  30. package/dist/common-components/Canvas/Canvas.const.d.ts.map +1 -0
  31. package/dist/common-components/Canvas/Canvas.const.js +4 -0
  32. package/dist/common-components/Canvas/Canvas.d.ts +4 -0
  33. package/dist/common-components/Canvas/Canvas.d.ts.map +1 -0
  34. package/dist/common-components/Canvas/Canvas.js +14 -0
  35. package/dist/common-components/Canvas/Canvas.types.d.ts +5 -0
  36. package/dist/common-components/Canvas/Canvas.types.d.ts.map +1 -0
  37. package/dist/common-components/Canvas/index.d.ts +3 -0
  38. package/dist/common-components/Canvas/index.d.ts.map +1 -0
  39. package/dist/common-components/ContextMenu/ContextMenu.cjs +1 -0
  40. package/dist/common-components/ContextMenu/ContextMenu.const.cjs +1 -0
  41. package/dist/common-components/ContextMenu/ContextMenu.const.d.ts +11 -0
  42. package/dist/common-components/ContextMenu/ContextMenu.const.d.ts.map +1 -0
  43. package/dist/common-components/ContextMenu/ContextMenu.const.js +14 -0
  44. package/dist/common-components/ContextMenu/ContextMenu.d.ts +4 -0
  45. package/dist/common-components/ContextMenu/ContextMenu.d.ts.map +1 -0
  46. package/dist/common-components/ContextMenu/ContextMenu.js +69 -0
  47. package/dist/common-components/ContextMenu/ContextMenu.types.d.ts +33 -0
  48. package/dist/common-components/ContextMenu/ContextMenu.types.d.ts.map +1 -0
  49. package/dist/common-components/ContextMenu/ContextMenu.utils.cjs +1 -0
  50. package/dist/common-components/ContextMenu/ContextMenu.utils.d.ts +3 -0
  51. package/dist/common-components/ContextMenu/ContextMenu.utils.d.ts.map +1 -0
  52. package/dist/common-components/ContextMenu/ContextMenu.utils.js +11 -0
  53. package/dist/common-components/ContextMenu/ContextMenu.utils.test.d.ts +2 -0
  54. package/dist/common-components/ContextMenu/ContextMenu.utils.test.d.ts.map +1 -0
  55. package/dist/common-components/ContextMenu/index.d.ts +5 -0
  56. package/dist/common-components/ContextMenu/index.d.ts.map +1 -0
  57. package/dist/common-components/Field/Field.cjs +1 -0
  58. package/dist/common-components/Field/Field.const.cjs +1 -0
  59. package/dist/common-components/Field/Field.const.d.ts +3 -0
  60. package/dist/common-components/Field/Field.const.d.ts.map +1 -0
  61. package/dist/common-components/Field/Field.const.js +5 -0
  62. package/dist/common-components/Field/Field.d.ts +4 -0
  63. package/dist/common-components/Field/Field.d.ts.map +1 -0
  64. package/dist/common-components/Field/Field.js +26 -0
  65. package/dist/common-components/Field/Field.types.d.ts +10 -0
  66. package/dist/common-components/Field/Field.types.d.ts.map +1 -0
  67. package/dist/common-components/Field/index.d.ts +3 -0
  68. package/dist/common-components/Field/index.d.ts.map +1 -0
  69. package/dist/common-components/icons/GripIcon.cjs +1 -0
  70. package/dist/common-components/icons/GripIcon.d.ts +3 -0
  71. package/dist/common-components/icons/GripIcon.d.ts.map +1 -0
  72. package/dist/common-components/icons/GripIcon.js +13 -0
  73. package/dist/common-components/icons/Icon.const.cjs +1 -0
  74. package/dist/common-components/icons/Icon.const.d.ts +7 -0
  75. package/dist/common-components/icons/Icon.const.d.ts.map +1 -0
  76. package/dist/common-components/icons/Icon.const.js +10 -0
  77. package/dist/common-components/icons/RedoIcon.cjs +1 -0
  78. package/dist/common-components/icons/RedoIcon.d.ts +3 -0
  79. package/dist/common-components/icons/RedoIcon.d.ts.map +1 -0
  80. package/dist/common-components/icons/RedoIcon.js +9 -0
  81. package/dist/common-components/icons/UndoIcon.cjs +1 -0
  82. package/dist/common-components/icons/UndoIcon.d.ts +3 -0
  83. package/dist/common-components/icons/UndoIcon.d.ts.map +1 -0
  84. package/dist/common-components/icons/UndoIcon.js +9 -0
  85. package/dist/common-components/icons/index.d.ts +4 -0
  86. package/dist/common-components/icons/index.d.ts.map +1 -0
  87. package/dist/common-components/index.d.ts +12 -0
  88. package/dist/common-components/index.d.ts.map +1 -0
  89. package/dist/components/InkEditor/InkEditor.cjs +1 -1
  90. package/dist/components/InkEditor/InkEditor.d.ts.map +1 -1
  91. package/dist/components/InkEditor/InkEditor.js +923 -435
  92. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.cjs +1 -0
  93. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.cjs +1 -0
  94. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.d.ts +7 -0
  95. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.d.ts.map +1 -0
  96. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.js +10 -0
  97. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.d.ts +4 -0
  98. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.d.ts.map +1 -0
  99. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.js +17 -0
  100. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.types.d.ts +12 -0
  101. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.types.d.ts.map +1 -0
  102. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.cjs +1 -0
  103. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.d.ts +4 -0
  104. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.d.ts.map +1 -0
  105. package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.js +25 -0
  106. package/dist/components/InkEditor/components/AiAutocomplete/index.d.ts +5 -0
  107. package/dist/components/InkEditor/components/AiAutocomplete/index.d.ts.map +1 -0
  108. package/dist/components/InkEditor/components/AiPanel/AiPanel.cjs +1 -1
  109. package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts +1 -0
  110. package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts.map +1 -1
  111. package/dist/components/InkEditor/components/AiPanel/AiPanel.js +53 -49
  112. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.cjs +1 -1
  113. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.cjs +1 -0
  114. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.d.ts +15 -0
  115. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.d.ts.map +1 -0
  116. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.js +18 -0
  117. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts +1 -6
  118. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts.map +1 -1
  119. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.js +53 -8
  120. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.types.d.ts +9 -0
  121. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.types.d.ts.map +1 -0
  122. package/dist/components/InkEditor/components/BlockHandles/index.d.ts +2 -1
  123. package/dist/components/InkEditor/components/BlockHandles/index.d.ts.map +1 -1
  124. package/dist/components/InkEditor/components/FindReplace/FindReplace.cjs +1 -1
  125. package/dist/components/InkEditor/components/FindReplace/FindReplace.d.ts.map +1 -1
  126. package/dist/components/InkEditor/components/FindReplace/FindReplace.js +63 -44
  127. package/dist/components/InkEditor/components/FindReplace/FindReplace.types.d.ts +2 -0
  128. package/dist/components/InkEditor/components/FindReplace/FindReplace.types.d.ts.map +1 -1
  129. package/dist/components/InkEditor/components/FindReplace/index.d.ts +1 -1
  130. package/dist/components/InkEditor/components/FindReplace/index.d.ts.map +1 -1
  131. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.cjs +1 -0
  132. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.cjs +1 -0
  133. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.d.ts +25 -0
  134. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.d.ts.map +1 -0
  135. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.js +28 -0
  136. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.d.ts +4 -0
  137. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.d.ts.map +1 -0
  138. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.js +140 -0
  139. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.types.d.ts +32 -0
  140. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.types.d.ts.map +1 -0
  141. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.cjs +1 -0
  142. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.d.ts +4 -0
  143. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.d.ts.map +1 -0
  144. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.js +16 -0
  145. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.test.d.ts +2 -0
  146. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.test.d.ts.map +1 -0
  147. package/dist/components/InkEditor/components/InlineToolbar/index.d.ts +5 -0
  148. package/dist/components/InkEditor/components/InlineToolbar/index.d.ts.map +1 -0
  149. package/dist/components/InkEditor/components/SignPad/SignPad.cjs +1 -1
  150. package/dist/components/InkEditor/components/SignPad/SignPad.const.cjs +1 -1
  151. package/dist/components/InkEditor/components/SignPad/SignPad.const.d.ts +7 -0
  152. package/dist/components/InkEditor/components/SignPad/SignPad.const.d.ts.map +1 -1
  153. package/dist/components/InkEditor/components/SignPad/SignPad.const.js +15 -17
  154. package/dist/components/InkEditor/components/SignPad/SignPad.d.ts.map +1 -1
  155. package/dist/components/InkEditor/components/SignPad/SignPad.js +57 -58
  156. package/dist/components/InkEditor/components/SignPad/SignPad.utils.cjs +1 -1
  157. package/dist/components/InkEditor/components/SignPad/SignPad.utils.d.ts.map +1 -1
  158. package/dist/components/InkEditor/components/SignPad/SignPad.utils.js +5 -14
  159. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.cjs +1 -1
  160. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.d.ts.map +1 -1
  161. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.js +20 -16
  162. package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -1
  163. package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +16 -12
  164. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.cjs +1 -0
  165. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.cjs +1 -0
  166. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.d.ts +10 -0
  167. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.d.ts.map +1 -0
  168. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.js +18 -0
  169. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.d.ts +4 -0
  170. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.d.ts.map +1 -0
  171. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.js +43 -0
  172. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.types.d.ts +12 -0
  173. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.types.d.ts.map +1 -0
  174. package/dist/components/InkEditor/components/ToolbarCustomize/index.d.ts +4 -0
  175. package/dist/components/InkEditor/components/ToolbarCustomize/index.d.ts.map +1 -0
  176. package/dist/components/InkEditor/components/index.d.ts +7 -1
  177. package/dist/components/InkEditor/components/index.d.ts.map +1 -1
  178. package/dist/components/InkEditor/helpers/format.utils.cjs +2 -1
  179. package/dist/components/InkEditor/helpers/format.utils.d.ts +9 -0
  180. package/dist/components/InkEditor/helpers/format.utils.d.ts.map +1 -1
  181. package/dist/components/InkEditor/helpers/format.utils.js +113 -20
  182. package/dist/components/InkEditor/helpers/index.d.ts +1 -1
  183. package/dist/components/InkEditor/helpers/index.d.ts.map +1 -1
  184. package/dist/constants/blocks.const.cjs +1 -0
  185. package/dist/constants/blocks.const.d.ts +11 -0
  186. package/dist/constants/blocks.const.d.ts.map +1 -0
  187. package/dist/constants/blocks.const.js +14 -0
  188. package/dist/constants/colorMode.const.cjs +1 -0
  189. package/dist/constants/colorMode.const.d.ts +6 -0
  190. package/dist/constants/colorMode.const.d.ts.map +1 -0
  191. package/dist/constants/colorMode.const.js +7 -0
  192. package/dist/constants/contextMenu.const.cjs +1 -0
  193. package/dist/constants/contextMenu.const.d.ts +37 -0
  194. package/dist/constants/contextMenu.const.d.ts.map +1 -0
  195. package/dist/constants/contextMenu.const.js +39 -0
  196. package/dist/constants/defaultIcons.cjs +1 -0
  197. package/dist/constants/defaultIcons.d.ts +4 -0
  198. package/dist/constants/defaultIcons.d.ts.map +1 -0
  199. package/dist/constants/defaultIcons.js +42 -0
  200. package/dist/constants/defaults.const.cjs +1 -1
  201. package/dist/constants/defaults.const.d.ts +4 -0
  202. package/dist/constants/defaults.const.d.ts.map +1 -1
  203. package/dist/constants/defaults.const.js +56 -48
  204. package/dist/constants/findReplaceMenu.const.cjs +1 -0
  205. package/dist/constants/findReplaceMenu.const.d.ts +10 -0
  206. package/dist/constants/findReplaceMenu.const.d.ts.map +1 -0
  207. package/dist/constants/findReplaceMenu.const.js +14 -0
  208. package/dist/constants/fonts.const.cjs +1 -0
  209. package/dist/constants/fonts.const.d.ts +25 -0
  210. package/dist/constants/fonts.const.d.ts.map +1 -0
  211. package/dist/constants/fonts.const.js +40 -0
  212. package/dist/constants/generals.const.cjs +1 -1
  213. package/dist/constants/generals.const.d.ts +1 -0
  214. package/dist/constants/generals.const.d.ts.map +1 -1
  215. package/dist/constants/generals.const.js +4 -3
  216. package/dist/constants/index.d.ts +11 -0
  217. package/dist/constants/index.d.ts.map +1 -1
  218. package/dist/constants/keyboard.const.cjs +1 -0
  219. package/dist/constants/keyboard.const.d.ts +5 -0
  220. package/dist/constants/keyboard.const.d.ts.map +1 -0
  221. package/dist/constants/keyboard.const.js +7 -0
  222. package/dist/constants/lists.const.cjs +1 -0
  223. package/dist/constants/lists.const.d.ts +24 -0
  224. package/dist/constants/lists.const.d.ts.map +1 -0
  225. package/dist/constants/lists.const.js +28 -0
  226. package/dist/constants/numbers.cjs +1 -1
  227. package/dist/constants/numbers.d.ts +2 -0
  228. package/dist/constants/numbers.d.ts.map +1 -1
  229. package/dist/constants/numbers.js +30 -17
  230. package/dist/constants/openai.const.cjs +1 -0
  231. package/dist/constants/openai.const.d.ts +42 -0
  232. package/dist/constants/openai.const.d.ts.map +1 -0
  233. package/dist/constants/openai.const.js +58 -0
  234. package/dist/constants/premium.const.cjs +1 -1
  235. package/dist/constants/premium.const.d.ts +1 -2
  236. package/dist/constants/premium.const.d.ts.map +1 -1
  237. package/dist/constants/premium.const.js +6 -34
  238. package/dist/constants/table.const.cjs +1 -0
  239. package/dist/constants/table.const.d.ts +8 -0
  240. package/dist/constants/table.const.d.ts.map +1 -0
  241. package/dist/constants/table.const.js +10 -0
  242. package/dist/constants/toolbar.const.cjs +1 -1
  243. package/dist/constants/toolbar.const.d.ts +7 -0
  244. package/dist/constants/toolbar.const.d.ts.map +1 -1
  245. package/dist/constants/toolbar.const.js +11 -4
  246. package/dist/constants/toolbarMenu.const.cjs +1 -0
  247. package/dist/constants/toolbarMenu.const.d.ts +19 -0
  248. package/dist/constants/toolbarMenu.const.d.ts.map +1 -0
  249. package/dist/constants/toolbarMenu.const.js +65 -0
  250. package/dist/index.cjs +1 -1
  251. package/dist/index.d.ts +7 -4
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +103 -47
  254. package/dist/plugins/ai/demoProvider.cjs +1 -1
  255. package/dist/plugins/ai/demoProvider.d.ts.map +1 -1
  256. package/dist/plugins/ai/demoProvider.js +47 -37
  257. package/dist/plugins/ai/index.cjs +1 -1
  258. package/dist/plugins/ai/index.d.ts +3 -1
  259. package/dist/plugins/ai/index.d.ts.map +1 -1
  260. package/dist/plugins/ai/index.js +28 -14
  261. package/dist/plugins/ai/inkServerProvider.cjs +1 -0
  262. package/dist/plugins/ai/inkServerProvider.d.ts +4 -0
  263. package/dist/plugins/ai/inkServerProvider.d.ts.map +1 -0
  264. package/dist/plugins/ai/inkServerProvider.js +52 -0
  265. package/dist/plugins/ai/inkServerProvider.types.d.ts +15 -0
  266. package/dist/plugins/ai/inkServerProvider.types.d.ts.map +1 -0
  267. package/dist/plugins/ai/openaiProvider.cjs +1 -0
  268. package/dist/plugins/ai/openaiProvider.d.ts +4 -0
  269. package/dist/plugins/ai/openaiProvider.d.ts.map +1 -0
  270. package/dist/plugins/ai/openaiProvider.js +128 -0
  271. package/dist/plugins/ai/openaiProvider.types.d.ts +32 -0
  272. package/dist/plugins/ai/openaiProvider.types.d.ts.map +1 -0
  273. package/dist/plugins/ai/openaiProvider.utils.cjs +5 -0
  274. package/dist/plugins/ai/openaiProvider.utils.d.ts +14 -0
  275. package/dist/plugins/ai/openaiProvider.utils.d.ts.map +1 -0
  276. package/dist/plugins/ai/openaiProvider.utils.js +57 -0
  277. package/dist/styles.css +1 -721
  278. package/dist/types/ai.types.d.ts +2 -1
  279. package/dist/types/ai.types.d.ts.map +1 -1
  280. package/dist/types/features.types.d.ts +2 -0
  281. package/dist/types/features.types.d.ts.map +1 -1
  282. package/dist/types/index.d.ts +1 -1
  283. package/dist/types/index.d.ts.map +1 -1
  284. package/dist/types/ink.types.d.ts +7 -2
  285. package/dist/types/ink.types.d.ts.map +1 -1
  286. package/dist/types/premium.types.d.ts +1 -1
  287. package/dist/types/premium.types.d.ts.map +1 -1
  288. package/dist/utils/blocks.utils.cjs +1 -1
  289. package/dist/utils/blocks.utils.d.ts +8 -0
  290. package/dist/utils/blocks.utils.d.ts.map +1 -1
  291. package/dist/utils/blocks.utils.js +61 -19
  292. package/dist/utils/blocks.utils.test.d.ts +2 -0
  293. package/dist/utils/blocks.utils.test.d.ts.map +1 -0
  294. package/dist/utils/comments.utils.cjs +1 -1
  295. package/dist/utils/comments.utils.js +23 -18
  296. package/dist/utils/history.utils.cjs +1 -1
  297. package/dist/utils/history.utils.js +7 -2
  298. package/dist/utils/index.d.ts +6 -2
  299. package/dist/utils/index.d.ts.map +1 -1
  300. package/dist/utils/license.utils.cjs +1 -1
  301. package/dist/utils/license.utils.js +15 -10
  302. package/dist/utils/memory.utils.cjs +1 -1
  303. package/dist/utils/memory.utils.d.ts.map +1 -1
  304. package/dist/utils/memory.utils.js +17 -5
  305. package/dist/utils/paste.utils.cjs +1 -1
  306. package/dist/utils/paste.utils.js +27 -23
  307. package/dist/utils/premium.utils.cjs +1 -1
  308. package/dist/utils/premium.utils.js +23 -18
  309. package/dist/utils/selection.utils.cjs +1 -0
  310. package/dist/utils/selection.utils.d.ts +10 -0
  311. package/dist/utils/selection.utils.d.ts.map +1 -0
  312. package/dist/utils/selection.utils.js +58 -0
  313. package/dist/utils/selection.utils.test.d.ts +2 -0
  314. package/dist/utils/selection.utils.test.d.ts.map +1 -0
  315. package/dist/utils/slash.utils.cjs +1 -1
  316. package/dist/utils/slash.utils.js +13 -8
  317. package/dist/utils/table.utils.cjs +1 -1
  318. package/dist/utils/table.utils.d.ts +5 -0
  319. package/dist/utils/table.utils.d.ts.map +1 -1
  320. package/dist/utils/table.utils.js +69 -10
  321. package/dist/utils/table.utils.test.d.ts +2 -0
  322. package/dist/utils/table.utils.test.d.ts.map +1 -0
  323. package/dist/utils/toolbarStorage.utils.cjs +1 -0
  324. package/dist/utils/toolbarStorage.utils.d.ts +12 -0
  325. package/dist/utils/toolbarStorage.utils.d.ts.map +1 -0
  326. package/dist/utils/toolbarStorage.utils.js +92 -0
  327. package/dist/utils/toolbarStorage.utils.test.d.ts +2 -0
  328. package/dist/utils/toolbarStorage.utils.test.d.ts.map +1 -0
  329. package/dist/utils/trackChanges.utils.cjs +1 -1
  330. package/dist/utils/trackChanges.utils.js +14 -9
  331. package/dist/utils/typo.utils.cjs +1 -1
  332. package/dist/utils/typo.utils.js +15 -10
  333. package/package.json +2 -1
@@ -0,0 +1,13 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { ICON_VIEWBOX as m, GRIP_DOT_ROWS as p, GRIP_DOT_COLS as t, GRIP_DOT_RADIUS as I, ICON_CLASS_GRIP as _, ICON_CLASS as O } from "./Icon.const.js";
3
+ import { cn as a } from "../../utils/cn.utils.js";
4
+ import "../../constants/openai.const.js";
5
+ import "react";
6
+ import "react-dom";
7
+ import "../../utils/paste.utils.js";
8
+ const l = () => /* @__PURE__ */ r("span", { className: a(O, _), "aria-hidden": "true", children: /* @__PURE__ */ r("svg", { viewBox: m, children: p.flatMap(
9
+ (i) => t.map((o) => /* @__PURE__ */ r("circle", { cx: o, cy: i, r: I }, `${o}-${i}`))
10
+ ) }) });
11
+ export {
12
+ l as GripIcon
13
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../constants/numbers.cjs"),I="Ink-Icon",O="Ink-Icon--grip",E="0 0 24 24",S=1.35,N=[_.NUMBER_NINE,_.NUMBER_FIFTEEN],R=[_.NUMBER_SEVEN,_.NUMBER_TWELVE,_.NUMBER_SEVENTEEN];exports.GRIP_DOT_COLS=N;exports.GRIP_DOT_RADIUS=S;exports.GRIP_DOT_ROWS=R;exports.ICON_CLASS=I;exports.ICON_CLASS_GRIP=O;exports.ICON_VIEWBOX=E;
@@ -0,0 +1,7 @@
1
+ export declare const ICON_CLASS = "Ink-Icon";
2
+ export declare const ICON_CLASS_GRIP = "Ink-Icon--grip";
3
+ export declare const ICON_VIEWBOX = "0 0 24 24";
4
+ export declare const GRIP_DOT_RADIUS = 1.35;
5
+ export declare const GRIP_DOT_COLS: readonly [9, 15];
6
+ export declare const GRIP_DOT_ROWS: readonly [7, 12, 17];
7
+ //# sourceMappingURL=Icon.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.const.d.ts","sourceRoot":"","sources":["../../../src/common-components/icons/Icon.const.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,aAAa,CAAC;AACrC,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,aAAa,kBAAyC,CAAC;AACpE,eAAO,MAAM,aAAa,sBAA2D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { NUMBER_SEVEN as E, NUMBER_TWELVE as I, NUMBER_SEVENTEEN as _, NUMBER_NINE as N, NUMBER_FIFTEEN as o } from "../../constants/numbers.js";
2
+ const n = "Ink-Icon", O = "Ink-Icon--grip", S = "0 0 24 24", c = 1.35, t = [N, o], s = [E, I, _];
3
+ export {
4
+ t as GRIP_DOT_COLS,
5
+ c as GRIP_DOT_RADIUS,
6
+ s as GRIP_DOT_ROWS,
7
+ n as ICON_CLASS,
8
+ O as ICON_CLASS_GRIP,
9
+ S as ICON_VIEWBOX
10
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("./Icon.const.cjs"),n=()=>e.jsx("span",{className:s.ICON_CLASS,"aria-hidden":"true",children:e.jsxs("svg",{viewBox:s.ICON_VIEWBOX,children:[e.jsx("path",{d:"M15 14l5-5-5-5"}),e.jsx("path",{d:"M20 9H9.5a5.5 5.5 0 1 0 0 11H11"})]})});exports.RedoIcon=n;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ export declare const RedoIcon: FC;
3
+ //# sourceMappingURL=RedoIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedoIcon.d.ts","sourceRoot":"","sources":["../../../src/common-components/icons/RedoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,eAAO,MAAM,QAAQ,EAAE,EAOtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as o, jsxs as r } from "react/jsx-runtime";
2
+ import { ICON_CLASS as a, ICON_VIEWBOX as e } from "./Icon.const.js";
3
+ const i = () => /* @__PURE__ */ o("span", { className: a, "aria-hidden": "true", children: /* @__PURE__ */ r("svg", { viewBox: e, children: [
4
+ /* @__PURE__ */ o("path", { d: "M15 14l5-5-5-5" }),
5
+ /* @__PURE__ */ o("path", { d: "M20 9H9.5a5.5 5.5 0 1 0 0 11H11" })
6
+ ] }) });
7
+ export {
8
+ i as RedoIcon
9
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("./Icon.const.cjs"),s=()=>e.jsx("span",{className:n.ICON_CLASS,"aria-hidden":"true",children:e.jsxs("svg",{viewBox:n.ICON_VIEWBOX,children:[e.jsx("path",{d:"M9 14L4 9l5-5"}),e.jsx("path",{d:"M4 9h10.5a5.5 5.5 0 1 1 0 11H13"})]})});exports.UndoIcon=s;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ export declare const UndoIcon: FC;
3
+ //# sourceMappingURL=UndoIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UndoIcon.d.ts","sourceRoot":"","sources":["../../../src/common-components/icons/UndoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,eAAO,MAAM,QAAQ,EAAE,EAOtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as o, jsxs as r } from "react/jsx-runtime";
2
+ import { ICON_CLASS as a, ICON_VIEWBOX as s } from "./Icon.const.js";
3
+ const i = () => /* @__PURE__ */ o("span", { className: a, "aria-hidden": "true", children: /* @__PURE__ */ r("svg", { viewBox: s, children: [
4
+ /* @__PURE__ */ o("path", { d: "M9 14L4 9l5-5" }),
5
+ /* @__PURE__ */ o("path", { d: "M4 9h10.5a5.5 5.5 0 1 1 0 11H13" })
6
+ ] }) });
7
+ export {
8
+ i as UndoIcon
9
+ };
@@ -0,0 +1,4 @@
1
+ export { UndoIcon } from './UndoIcon';
2
+ export { RedoIcon } from './RedoIcon';
3
+ export { GripIcon } from './GripIcon';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common-components/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { Box } from './Box';
2
+ export type { BoxProps } from './Box';
3
+ export { Button } from './Button';
4
+ export type { ButtonProps } from './Button';
5
+ export { Canvas } from './Canvas';
6
+ export type { CanvasProps } from './Canvas';
7
+ export { Field } from './Field';
8
+ export type { FieldProps } from './Field';
9
+ export { ContextMenu } from './ContextMenu';
10
+ export type { ContextMenuItem, ContextMenuProps } from './ContextMenu';
11
+ export { UndoIcon, RedoIcon, GripIcon } from './icons';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),u=require("react"),ee=require("../../constants/numbers.cjs"),O=require("../../constants/toolbar.const.cjs"),f=require("../../constants/defaults.const.cjs"),Pe=require("../../constants/premium.const.cjs"),qt=require("../../utils/cn.utils.cjs"),Kt=require("../../utils/typo.utils.cjs"),ve=require("../../utils/id.utils.cjs"),Vt=require("../../utils/table.utils.cjs"),q=require("../../utils/blocks.utils.cjs"),b=require("../../utils/trackChanges.utils.cjs"),te=require("../../utils/comments.utils.cjs"),je=require("../../utils/history.utils.cjs"),Fe=require("../../utils/slash.utils.cjs"),L=require("../../utils/premium.utils.cjs"),ne=require("../../utils/paste.utils.cjs"),Ue=require("../../utils/memory.utils.cjs"),Gt=require("../../utils/findReplace.utils.cjs"),a=require("./helpers/format.utils.cjs"),C=require("./components/ToolbarButton/ToolbarButton.cjs"),Wt=require("./components/ToolbarDropdown/ToolbarDropdown.cjs"),Me=require("./components/ToolbarColorPicker/ToolbarColorPicker.cjs"),$t=require("./components/CommentsPanel/CommentsPanel.cjs"),zt=require("./components/AiPanel/AiPanel.cjs"),Xt=require("./components/BlockHandles/BlockHandles.cjs"),Zt=require("./components/SlashMenu/SlashMenu.cjs"),Qt=require("./components/TrackChangesBar/TrackChangesBar.cjs"),Yt=require("./components/SignPad/SignPad.cjs"),Jt=require("./components/FindReplace/FindReplace.cjs"),re=()=>{const N=window.getSelection();if(!N||N.rangeCount===0)return"";const T=N.getRangeAt(0),y=document.createElement("div");return y.appendChild(T.cloneContents()),y.innerHTML},en=N=>{var Be;const{value:T,defaultValue:y="",onChange:S,placeholder:oe=f.INK_PLACEHOLDER_DEFAULT,disabled:c=!1,readOnly:i=!1,minHeight:K=ee.INK_MIN_HEIGHT,maxHeight:V,toolbar:De=f.INK_DEFAULT_TOOLBAR,className:qe="",testId:Ke,allowImagePaste:se=!0,showCharCount:ce=!1,charCountMax:ae,typoAutoFix:Ve=!0,variant:Ge=f.INK_DEFAULT_VARIANT,features:We,author:x=f.INK_DEFAULT_AUTHOR,trackChanges:w,onTrackChangesChange:G,trackChangesEnabled:F,onTrackChangesEnabledChange:W,comments:R,onCommentsChange:$,showCommentsPanel:E,onShowCommentsPanelChange:z,ai:h,slashCommands:$e,tableRows:ze=f.INK_TABLE_DEFAULT_ROWS,tableCols:Xe=f.INK_TABLE_DEFAULT_COLS,premium:Ze,theme:Qe,icons:ie,pasteMode:Ye="plain",onImageUpload:le,wysiwyg:Je=!1,keepInMemory:ue=!1,memoryKey:de,style:et,...tt}=N,m={...f.INK_DEFAULT_FEATURES,...We},A=L.resolveInkPremium(Ze),nt=L.hasInkPremiumFeature(A,"icons"),rt=L.hasInkPremiumFeature(A,"theme"),ot=L.hasInkPremiumFeature(A,"richPaste"),st=L.hasInkPremiumFeature(A,"imageUpload"),ct=L.hasInkPremiumFeature(A,"wysiwyg")&&Je,p=nt&&ie?{...Pe.INK_DEFAULT_ICONS,...ie}:Pe.INK_DEFAULT_ICONS,at=rt?L.themeTokensToStyle(Qe):{},it=ot&&Ye==="rich",r=u.useRef(null),U=u.useRef(new je.InkHistoryStack(T??y)),[lt,ut]=u.useState(new Set),[dt,me]=u.useState("p"),[mt,ft]=u.useState(0),[ht,pt]=u.useState(ee.INK_DEFAULT_TEXT_COLOR),[gt,Ct]=u.useState(ee.INK_DEFAULT_HIGHLIGHT_COLOR),[H,fe]=u.useState(F??!1),[Tt,he]=u.useState(w??[]),[kt,pe]=u.useState(R??[]),[It,ge]=u.useState(E??!1),[Ce,X]=u.useState(!!(h!=null&&h.enabled&&h.openOnInit)),[Te,bt]=u.useState(""),[_t,Lt]=u.useState(0),[St,ke]=u.useState(!1),[xt,M]=u.useState([]),[Ie,At]=u.useState({top:0,left:0}),[be,_e]=u.useState(!1),[Le,Se]=u.useState(!1),k=w??Tt,B=R??kt,Z=E??It,xe=$e??m.slash;u.useEffect(()=>{F!==void 0&&fe(F)},[F]),u.useEffect(()=>{w&&he(w)},[w]),u.useEffect(()=>{R&&pe(R)},[R]),u.useEffect(()=>{E!==void 0&&ge(E)},[E]),u.useEffect(()=>{!r.current||T===void 0||r.current.innerHTML!==T&&(r.current.innerHTML=T)},[T]),u.useEffect(()=>{if(!r.current||T!==void 0)return;const t=(ue?Ue.readInkMemory(de):"")||y;t&&(r.current.innerHTML=t,U.current=new je.InkHistoryStack(t),S==null||S(t))},[]);const Q=e=>{var t;U.current.push(e),S==null||S(e),ue&&Ue.writeInkMemory(e,de),ce&&r.current&&ft(((t=r.current.textContent)==null?void 0:t.length)??0)},_=e=>{r.current&&(r.current.innerHTML=e,Q(e))},P=e=>{he(e),G==null||G(e)},Y=e=>{pe(e),$==null||$(e)},J=e=>{ge(e),z==null||z(e)},Ht=e=>{fe(e),W==null||W(e)},D=()=>{ut(a.getActiveFormats());const e=a.queryCommandValue("formatBlock");if(e&&me(e.toLowerCase().replace(/[<>]/g,"")),bt(re()),!r.current||!m.blocks)return;const t=window.getSelection(),n=(t==null?void 0:t.anchorNode)??null,o=q.getBlockElement(n,r.current);if(q.markActiveBlock(r.current,o),o){const l=r.current.getBoundingClientRect(),g=o.getBoundingClientRect();Lt(g.top-l.top+r.current.scrollTop),ke(!0)}else ke(!1)},d=()=>{var t,n,o;if(!r.current)return;let e=r.current.innerHTML;if(H&&m.trackChanges){const l=window.getSelection();if(l&&!l.isCollapsed){const g=re();if(g){const I=b.createTrackChange("delete",g,x);P([...k,I]),Ot(I.id),e=r.current.innerHTML}}}if(Q(e),D(),xe&&r.current){const l=((n=(t=window.getSelection())==null?void 0:t.anchorNode)==null?void 0:n.textContent)??"",g=Fe.extractSlashQuery(l);if(g!==null){M(Fe.filterSlashCommands(g));const I=(o=window.getSelection())==null?void 0:o.getRangeAt(0);if(I&&r.current){const v=I.getBoundingClientRect(),j=r.current.getBoundingClientRect();At({top:v.bottom-j.top+8,left:v.left-j.left})}}else M([])}},Ot=e=>{const t=window.getSelection();if(!t||t.rangeCount===0)return;const n=re();n&&a.insertHTML(b.wrapDeleteHtml(n,e))},Nt=()=>{if(!r.current||!Ve||!m.typoAutoFix||c||i)return;const e=r.current.innerHTML,t=Kt.applyTypoAutoFix(e);t.html!==e&&(r.current.innerHTML=t.html,Q(t.html))},yt=e=>{var n;if(c||i)return;(n=r.current)==null||n.focus();const t=f.INK_BUTTON_CONFIG[e];t&&(t.value?a.execCommand(t.command,t.value):a.execCommand(t.command),d())},wt=e=>{var t;c||i||((t=r.current)==null||t.focus(),a.execCommand("formatBlock",e),me(e),d())},Rt=()=>{var t;if(c||i)return;const e=window.prompt("Enter URL:","https://");e&&((t=r.current)==null||t.focus(),a.insertLink(e),d())},Ae=async e=>st&&le?le(e):a.fileToDataUrl(e),Et=async()=>{if(c||i)return;const e=document.createElement("input");e.type="file",e.accept="image/*",e.onchange=async()=>{var o,l;const t=(o=e.files)==null?void 0:o[0];if(!t)return;const n=await Ae(t);(l=r.current)==null||l.focus(),a.insertImage(n,t.name),d()},e.click()},He=()=>{var t;if(c||i||!m.table)return;(t=r.current)==null||t.focus();const e=Vt.buildTableHtml(ze,Xe);if(H&&m.trackChanges){const n=b.createTrackChange("insert",e,x);P([...k,n]),a.insertHTML(b.wrapInsertHtml(e,n.id))}else a.insertHTML(e);d()},Oe=()=>{const e=U.current.undo();if(e===null||!r.current){a.execCommand("undo"),d();return}_(e)},Ne=()=>{const e=U.current.redo();if(e===null||!r.current){a.execCommand("redo"),d();return}_(e)},Bt=()=>{var l;if(c||i||!m.comments)return;const e=window.prompt("Comment:");if(!(e!=null&&e.trim()))return;const t=ve.createInkId("hl");if((l=r.current)==null||l.focus(),!te.wrapSelectionAsComment(t))return;const o=te.createCommentThread(x,e.trim(),t);Y([o,...B]),J(!0),d()},ye=e=>{if(!r.current)return;const t=b.acceptTrackChangeInHtml(r.current.innerHTML,e);_(t),P(k.map(n=>n.id===e?{...n,accepted:!0}:n))},we=e=>{if(!r.current)return;const t=b.rejectTrackChangeInHtml(r.current.innerHTML,e);_(t),P(k.map(n=>n.id===e?{...n,rejected:!0}:n))},Re=async e=>{const t=await Ae(e),n=`<img src="${t}" alt="" style="max-width:100%;height:auto;" />`;if(H&&m.trackChanges){const o=b.createTrackChange("insert",n,x);P([...k,o]),a.insertHTML(b.wrapInsertHtml(n,o.id))}else a.insertImage(t);d()},Pt=async e=>{if(c||i)return;const t=e.clipboardData;if(!t)return;if(it){const o=ne.extractClipboardHtml(t);if(o){e.preventDefault();const g=ne.sanitizePastedHtml(o);g&&(a.insertHTML(g),d());const I=t.items;if(se&&I)for(const v of Array.from(I)){if(!v.type.startsWith("image/"))continue;const j=v.getAsFile();j&&await Re(j)}return}const l=ne.extractClipboardText(t);if(l){e.preventDefault(),a.insertHTML(l.replace(/\n/g,"<br />")),d();return}}if(!se)return;const n=t.items;if(n)for(const o of Array.from(n)){if(!o.type.startsWith("image/"))continue;e.preventDefault();const l=o.getAsFile();l&&await Re(l)}},vt=e=>{e.key==="Escape"&&M([]),(e.metaKey||e.ctrlKey)&&e.key==="z"&&(e.preventDefault(),e.shiftKey?Ne():Oe())},jt=e=>{var n,o;(n=r.current)==null||n.focus();const t=window.getSelection();if((o=t==null?void 0:t.anchorNode)!=null&&o.textContent){const g=t.anchorNode.textContent.replace(/(?:^|\s)\/[^\s]*$/," ");t.anchorNode.nodeType===Node.TEXT_NODE&&(t.anchorNode.textContent=g)}switch(M([]),e.insert){case"heading1":a.execCommand("formatBlock","h1");break;case"heading2":a.execCommand("formatBlock","h2");break;case"bulletList":a.execCommand("insertUnorderedList");break;case"orderedList":a.execCommand("insertOrderedList");break;case"table":He();return;case"ai":X(!0);break}d()},Ee=e=>{if(!r.current)return;const t=window.getSelection(),n=q.getBlockElement((t==null?void 0:t.anchorNode)??null,r.current);n&&q.moveBlock(n,e)&&(d(),D())},Ft=(e,t)=>{if(e==="divider")return s.jsx("span",{className:f.INK_CLASS_DIVIDER},`divider-${t}`);if(e==="headingDropdown")return s.jsx(Wt.ToolbarDropdown,{title:"Heading",options:f.INK_HEADING_OPTIONS,value:dt||"p",disabled:c||i,onChange:wt},"heading");if(e==="textColor")return s.jsx(Me.ToolbarColorPicker,{title:"Text color",type:"text",value:ht,disabled:c||i,onChange:o=>{var l;(l=r.current)==null||l.focus(),a.setTextColor(o),pt(o),d()}},"textColor");if(e==="highlightColor")return s.jsx(Me.ToolbarColorPicker,{title:"Highlight color",type:"highlight",value:gt,disabled:c||i,onChange:o=>{var l;(l=r.current)==null||l.focus(),a.setHighlightColor(o),Ct(o),d()}},"highlightColor");if(e==="link")return s.jsx(C.ToolbarButton,{icon:p.link,title:"Insert link",disabled:c||i,onClick:Rt},"link");if(e==="image")return s.jsx(C.ToolbarButton,{icon:p.image,title:"Insert image",disabled:c||i,onClick:()=>{Et()}},"image");if(e==="table")return m.table?s.jsx(C.ToolbarButton,{icon:p.table,title:"Insert table",disabled:c||i,onClick:He},"table"):null;if(e===O.TOOLBAR_OPTION_SIGNATURE)return m.signature?s.jsx(C.ToolbarButton,{icon:p.signature,title:"Sign pad",active:be,disabled:c||i,onClick:()=>_e(!0)},O.TOOLBAR_OPTION_SIGNATURE):null;if(e===O.TOOLBAR_OPTION_FIND_REPLACE)return m.findReplace?s.jsx(C.ToolbarButton,{icon:p.findReplace,title:"Find and replace",active:Le,disabled:c||i,onClick:()=>Se(o=>!o)},O.TOOLBAR_OPTION_FIND_REPLACE):null;if(e===O.TOOLBAR_OPTION_HORIZONTAL_RULE)return m.horizontalRule?s.jsx(C.ToolbarButton,{icon:p.horizontalRule,title:"Horizontal rule",disabled:c||i,onClick:()=>{var o;(o=r.current)==null||o.focus(),a.insertHTML("<hr />"),d()}},O.TOOLBAR_OPTION_HORIZONTAL_RULE):null;if(e==="undo")return s.jsx(C.ToolbarButton,{icon:p.undo,title:"Undo",disabled:c||i,onClick:Oe},"undo");if(e==="redo")return s.jsx(C.ToolbarButton,{icon:p.redo,title:"Redo",disabled:c||i,onClick:Ne},"redo");if(e==="trackChanges")return m.trackChanges?s.jsx(C.ToolbarButton,{icon:p.trackChanges,title:"Track changes",active:H,disabled:c||i,onClick:()=>Ht(!H)},"trackChanges"):null;if(e==="comments")return m.comments?s.jsx(C.ToolbarButton,{icon:p.comments,title:"Comments",active:Z,disabled:c||i,onClick:()=>{Z?J(!1):Bt()}},"comments"):null;if(e==="ai")return!m.ai||!(h!=null&&h.enabled)?null:s.jsx(C.ToolbarButton,{icon:p.ai,title:"Ink AI",active:Ce,disabled:c||i,onClick:()=>X(o=>!o)},"ai");const n=f.INK_BUTTON_CONFIG[e];return n?s.jsx(C.ToolbarButton,{icon:p[e]??e.slice(0,1).toUpperCase(),title:n.title,active:lt.has(e),disabled:c||i,onClick:()=>yt(e)},e):null},Ut=typeof K=="number"?`${K}px`:K,Mt=typeof V=="number"?`${V}px`:V,Dt=!!(h!=null&&h.enabled&&Ce);return s.jsxs("div",{className:qt.cn(f.INK_CLASS_ROOT,qe),"data-testid":Ke,"data-disabled":c||void 0,"data-variant":Ge,"data-premium":A.active||void 0,"data-wysiwyg":ct||void 0,style:{...at,...et},...tt,children:[s.jsx("div",{className:f.INK_CLASS_TOOLBAR,role:"toolbar","aria-label":"Ink formatting toolbar",children:De.map(Ft)}),s.jsx(Yt.SignPad,{open:be,onClose:()=>_e(!1),onConfirm:e=>{var t;(t=r.current)==null||t.focus(),a.insertImage(e),d()}}),s.jsx(Jt.FindReplace,{open:Le,onClose:()=>Se(!1),onReplace:(e,t,n)=>{if(!r.current)return;const o=Gt.replaceInHtml(r.current.innerHTML,e,t,n);_(o)}}),H&&m.trackChanges?s.jsx(Qt.TrackChangesBar,{changes:k,onAccept:ye,onReject:we,onAcceptAll:()=>k.forEach(e=>ye(e.id)),onRejectAll:()=>k.forEach(e=>we(e.id))}):null,s.jsxs("div",{className:f.INK_CLASS_SHELL,children:[s.jsxs("div",{className:f.INK_CLASS_BODY,children:[m.blocks?s.jsx(Xt.BlockHandles,{visible:St&&!c&&!i,top:_t,onMoveUp:()=>Ee("up"),onMoveDown:()=>Ee("down")}):null,s.jsx("div",{ref:r,className:f.INK_CLASS_CONTENT,contentEditable:!c&&!i,role:"textbox","aria-multiline":"true","aria-placeholder":oe,"data-placeholder":oe,suppressContentEditableWarning:!0,style:{minHeight:Ut,maxHeight:Mt},onInput:d,onBlur:Nt,onKeyUp:D,onKeyDown:vt,onMouseUp:D,onPaste:e=>{Pt(e)}}),xe?s.jsx(Zt.SlashMenu,{items:xt,top:Ie.top,left:Ie.left,onSelect:jt}):null]}),Z&&m.comments?s.jsx($t.CommentsPanel,{comments:B,author:x,onClose:()=>J(!1),onResolve:e=>{const t=B.find(n=>n.id===e);Y(B.map(n=>n.id===e?{...n,resolved:!0}:n)),t&&r.current&&_(te.removeCommentMark(r.current.innerHTML,t.highlightId))},onAddReply:(e,t)=>{Y(B.map(n=>n.id===e?{...n,replies:[...n.replies,{id:ve.createInkId("reply"),author:x,body:t,timestamp:Date.now()}]}:n))}}):null,Dt&&h?s.jsx(zt.AiPanel,{config:h,documentHtml:((Be=r.current)==null?void 0:Be.innerHTML)??T??"",selectionHtml:Te,onClose:()=>X(!1),onApplyHtml:e=>{var t;if((t=r.current)==null||t.focus(),Te)a.insertHTML(e);else{_(e);return}d()}}):null]}),ce?s.jsxs("div",{className:f.INK_CLASS_FOOTER,children:[mt,ae?` / ${ae}`:""]}):null]})};exports.InkEditor=en;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),r=require("react"),O=require("../../constants/numbers.cjs"),I=require("../../constants/toolbar.const.cjs"),A=require("../../constants/toolbarMenu.const.cjs"),yt=require("../../constants/colorMode.const.cjs"),_e=require("../../constants/keyboard.const.cjs"),Ke=require("../../constants/fonts.const.cjs"),Xe=require("../../constants/lists.const.cjs"),x=require("../../constants/findReplaceMenu.const.cjs"),je=require("../../constants/blocks.const.cjs"),f=require("../../constants/defaults.const.cjs"),Io=require("../../constants/aiModels.const.cjs");require("../../constants/openai.const.cjs");const vt=require("../../constants/defaultIcons.cjs"),a=require("../../constants/contextMenu.const.cjs"),go=require("../../utils/cn.utils.cjs"),Ro=require("../../utils/typo.utils.cjs"),qt=require("../../utils/id.utils.cjs"),M=require("../../utils/table.utils.cjs"),m=require("../../utils/blocks.utils.cjs"),H=require("../../utils/trackChanges.utils.cjs"),We=require("../../utils/comments.utils.cjs"),Ve=require("../../utils/history.utils.cjs"),Kt=require("../../utils/slash.utils.cjs"),v=require("../../utils/premium.utils.cjs"),Ge=require("../../utils/paste.utils.cjs"),Xt=require("../../utils/memory.utils.cjs"),bo=require("../../utils/findReplace.utils.cjs"),Ze=require("../../utils/selection.utils.cjs"),$=require("../../utils/toolbarStorage.utils.cjs"),Ao=require("../../common-components/Button/Button.cjs"),jt=require("../../common-components/ContextMenu/ContextMenu.cjs"),d=require("./helpers/format.utils.cjs"),ho=require("../../plugins/ai/aiPlugin.cjs"),g=require("./components/ToolbarButton/ToolbarButton.cjs"),Te=require("./components/ToolbarDropdown/ToolbarDropdown.cjs"),Wt=require("./components/ToolbarColorPicker/ToolbarColorPicker.cjs"),Bo=require("./components/CommentsPanel/CommentsPanel.cjs"),So=require("./components/AiPanel/AiPanel.cjs"),Do=require("./components/AiAutocomplete/AiAutocomplete.cjs"),Vt=require("./components/AiAutocomplete/AiAutocomplete.const.cjs"),Ye=require("./components/AiAutocomplete/AiAutocomplete.utils.cjs"),Mo=require("./components/BlockHandles/BlockHandles.cjs"),Ee=require("./components/BlockHandles/BlockHandles.const.cjs"),ko=require("./components/InlineToolbar/InlineToolbar.cjs"),fe=require("./components/InlineToolbar/InlineToolbar.const.cjs"),Gt=require("./components/InlineToolbar/InlineToolbar.utils.cjs"),Uo=require("./components/SlashMenu/SlashMenu.cjs"),Po=require("./components/TrackChangesBar/TrackChangesBar.cjs"),xo=require("./components/SignPad/SignPad.cjs"),Ho=require("./components/FindReplace/FindReplace.cjs"),wo=require("./components/ToolbarCustomize/ToolbarCustomize.cjs"),ze=()=>{const h=window.getSelection();if(!h||h.rangeCount===O.NUMBER_ZERO)return"";const N=h.getRangeAt(O.NUMBER_ZERO),B=document.createElement("div");return B.appendChild(N.cloneContents()),B.innerHTML},p=h=>{h==null||h.focus({preventScroll:!0})},Fo=h=>{var Ht;const{value:N,defaultValue:B="",onChange:S,placeholder:$e=f.INK_PLACEHOLDER_DEFAULT,disabled:i=!1,readOnly:c=!1,minHeight:Oe=O.INK_MIN_HEIGHT,maxHeight:Ce,toolbar:ie=f.INK_DEFAULT_TOOLBAR,className:Zt="",testId:Yt,allowImagePaste:Qe=!0,showCharCount:Je=!1,charCountMax:et,typoAutoFix:zt=!0,variant:$t=f.INK_DEFAULT_VARIANT,chrome:Qt=f.INK_DEFAULT_CHROME,colorMode:tt=yt.INK_DEFAULT_COLOR_MODE,features:Jt,author:q=f.INK_DEFAULT_AUTHOR,trackChanges:Q,onTrackChangesChange:me,trackChangesEnabled:ce,onTrackChangesEnabledChange:pe,comments:J,onCommentsChange:Le,showCommentsPanel:ee,onShowCommentsPanelChange:Ne,ai:E,slashCommands:en,tableRows:tn=f.INK_TABLE_DEFAULT_ROWS,tableCols:nn=f.INK_TABLE_DEFAULT_COLS,premium:on,theme:rn,icons:nt,pasteMode:sn="plain",onImageUpload:ot,wysiwyg:ln=!1,keepInMemory:K=!1,memoryKey:X,onToolbarChange:Ie,toolbarHidden:j,onToolbarHiddenChange:ge,style:cn,...an}=h,T={...f.INK_DEFAULT_FEATURES,...Jt},W=v.resolveInkPremium(on),un=v.hasInkPremiumFeature(W,"icons"),dn=v.hasInkPremiumFeature(W,"theme"),_n=v.hasInkPremiumFeature(W,"richPaste"),Tn=v.hasInkPremiumFeature(W,"imageUpload"),En=v.hasInkPremiumFeature(W,"wysiwyg")&&ln,C=un&&nt?{...vt.INK_DEFAULT_ICONS,...nt}:vt.INK_DEFAULT_ICONS,fn=dn?v.themeTokensToStyle(rn):{},On=_n&&sn==="rich",n=r.useRef(null),te=r.useRef(new Ve.InkHistoryStack(N??B)),V=r.useRef(null),w=r.useRef(null),[rt,Cn]=r.useState(new Set),[mn,st]=r.useState("p"),[pn,Ln]=r.useState(0),[Nn,In]=r.useState(O.INK_DEFAULT_TEXT_COLOR),[gn,Rn]=r.useState(O.INK_DEFAULT_HIGHLIGHT_COLOR),[G,lt]=r.useState(ce??!1),[bn,it]=r.useState(Q??[]),[An,ct]=r.useState(J??[]),[hn,at]=r.useState(ee??!1),[ut,Re]=r.useState(!!(E!=null&&E.enabled&&E.openOnInit)),[ae,Bn]=r.useState(!1),dt=r.useRef(!1),[k,ne]=r.useState({visible:!1,suggestion:"",top:O.NUMBER_ZERO,left:O.NUMBER_ZERO}),oe=r.useRef(null),Z=r.useRef(O.NUMBER_ZERO),[_t,Sn]=r.useState(""),[Dn,Mn]=r.useState(0),[kn,Tt]=r.useState(!1),[Un,ue]=r.useState([]),[Et,Pn]=r.useState({top:0,left:0}),[ft,be]=r.useState(!1),[Ae,de]=r.useState(!1),[xn,Hn]=r.useState(x.FIND_REPLACE_FOCUS_FIND),[wn,Fn]=r.useState(Ke.FONT_VALUE_SYSTEM),[yn,Ot]=r.useState(Xe.LIST_VALUE_BULLET),[vn,qn]=r.useState(x.FIND_REPLACE_FOCUS_FIND),[he,Be]=r.useState({open:!1,x:O.NUMBER_ZERO,y:O.NUMBER_ZERO}),[Kn,Ct]=r.useState(!1),[Se,De]=r.useState({open:!1,x:O.NUMBER_ZERO,y:O.NUMBER_ZERO}),[Me,Y]=r.useState({open:!1,top:O.NUMBER_ZERO,left:O.NUMBER_ZERO}),[ke,mt]=r.useState(()=>$.readToolbarItems(K,X)??ie),[Xn,pt]=r.useState(()=>j!==void 0?j:$.readToolbarHidden(K,X)??!1),[jn,Lt]=r.useState(!1),Nt=r.useRef(!0),Wn=ie.join(","),U=Q??bn,re=J??An,Ue=ee??hn,It=en??T.slash,gt=j??Xn,Rt=ie,Vn=$.listCustomizableToolbarOptions(Rt),Pe=tt===yt.COLOR_MODE_SYSTEM?void 0:tt,xe=!!(T.ai&&(E!=null&&E.enabled)&&E.autocomplete!==!1&&!i&&!c),He=()=>{oe.current!==null&&(window.clearTimeout(oe.current),oe.current=null)},D=()=>{He(),Z.current+=1,ne(e=>e.visible||e.suggestion?{visible:!1,suggestion:"",top:O.NUMBER_ZERO,left:O.NUMBER_ZERO}:e)},Gn=()=>{if(!xe||ae||!n.current){D();return}const e=window.getSelection();if(!e||!e.isCollapsed){D();return}He(),ne(o=>o.visible||o.suggestion?{...o,visible:!1,suggestion:""}:o);const t=(E==null?void 0:E.providerId)||Io.INK_AI_DEMO_PROVIDER_ID;oe.current=window.setTimeout(()=>{if(oe.current=null,!n.current||dt.current)return;const o=window.getSelection();if(!o||!o.isCollapsed)return;const s=Ye.getTextBeforeCaret(n.current),u=Ye.getCaretPositionInRoot(n.current);if(!s.trim()||!u)return;const L=Z.current+1;Z.current=L;const b=n.current.innerHTML;ho.inkAi.runProvider(t,{capability:"autocomplete",html:b,prompt:s,modelId:E==null?void 0:E.modelId}).then(y=>{var Ft;if(L!==Z.current)return;const P=((Ft=y.text)==null?void 0:Ft.trim())||"";if(!P){ne({visible:!1,suggestion:"",top:O.NUMBER_ZERO,left:O.NUMBER_ZERO});return}const wt=n.current&&Ye.getCaretPositionInRoot(n.current)||u;ne({visible:!0,suggestion:P,top:wt.top,left:wt.left})}).catch(()=>{L===Z.current&&ne({visible:!1,suggestion:"",top:O.NUMBER_ZERO,left:O.NUMBER_ZERO})})},Vt.AI_AUTOCOMPLETE_DEBOUNCE_MS)};r.useEffect(()=>()=>{He(),Z.current+=1},[]),r.useEffect(()=>{dt.current=ae,ae&&D()},[ae]),r.useEffect(()=>{ce!==void 0&&lt(ce)},[ce]),r.useEffect(()=>{Q&&it(Q)},[Q]),r.useEffect(()=>{J&&ct(J)},[J]),r.useEffect(()=>{ee!==void 0&&at(ee)},[ee]),r.useEffect(()=>{j!==void 0&&pt(j)},[j]),r.useEffect(()=>{if(Nt.current){Nt.current=!1;return}mt(ie)},[Wn]),r.useEffect(()=>{if(!n.current||N===void 0||N===V.current)return;if(n.current.innerHTML===N){V.current=N;return}const e=document.activeElement===n.current;Ze.withPreservedSelection(e?n.current:null,()=>{n.current&&(n.current.innerHTML=N)}),V.current=N},[N]),r.useEffect(()=>{if(!n.current)return;const e=K?Xt.readInkMemory(X):"";if(e){n.current.innerHTML=e,V.current=e,te.current=new Ve.InkHistoryStack(e),S==null||S(e);return}N===void 0&&B&&(n.current.innerHTML=B,V.current=B,te.current=new Ve.InkHistoryStack(B),S==null||S(B))},[]);const we=e=>{var t;te.current.push(e),V.current=e,S==null||S(e),K&&Xt.writeInkMemory(e,X),Je&&n.current&&Ln(((t=n.current.textContent)==null?void 0:t.length)??0)},F=e=>{n.current&&(Ze.withPreservedSelection(n.current,()=>{n.current&&(n.current.innerHTML=e)}),we(e))},Fe=e=>{pt(e),ge==null||ge(e),$.writeToolbarHidden(e,K,X)},Zn=e=>{mt(e),Ie==null||Ie(e),$.writeToolbarItems(e,K,X)},Yn=(e,t)=>{if(e===A.TOOLBAR_OPTION_DIVIDER)return;const o=new Set(ke.filter(s=>s!==A.TOOLBAR_OPTION_DIVIDER));t?o.add(e):o.delete(e),Zn($.buildVisibleToolbarItems(Rt,o))},se=e=>{it(e),me==null||me(e)},ye=e=>{ct(e),Le==null||Le(e)},ve=e=>{at(e),Ne==null||Ne(e)},zn=e=>{lt(e),pe==null||pe(e)},$n=()=>{if(i||c){Y(u=>u.open?{...u,open:!1}:u);return}const e=window.getSelection();if(!e||e.isCollapsed||e.rangeCount===0||!Gt.selectionIsInsideElement(e,n.current)){Y(u=>u.open?{...u,open:!1}:u);return}const o=e.getRangeAt(0).getBoundingClientRect();if(o.width===0&&o.height===0){Y(u=>u.open?{...u,open:!1}:u);return}const s=Gt.clampInlineToolbarPosition({selectionRect:o,toolbarWidth:fe.INLINE_TOOLBAR_ESTIMATED_WIDTH_PX,toolbarHeight:fe.INLINE_TOOLBAR_ESTIMATED_HEIGHT_PX,viewport:{width:window.innerWidth,height:window.innerHeight},gap:fe.INLINE_TOOLBAR_GAP_PX,edgePadding:fe.INLINE_TOOLBAR_EDGE_PADDING_PX});Y({open:!0,top:s.top,left:s.left})},le=()=>{Cn(d.getActiveFormats());const e=d.queryCommandValue("formatBlock");if(e&&st(e.toLowerCase().replace(/[<>]/g,"")),Ot(d.detectListType()),Sn(ze()),$n(),!n.current||!T.blocks)return;const t=window.getSelection(),o=(t==null?void 0:t.anchorNode)??null,s=m.getBlockElement(o,n.current);if(m.markActiveBlock(n.current,s),s){const u=n.current.getBoundingClientRect(),L=s.getBoundingClientRect();Mn(L.top-u.top+n.current.scrollTop),Tt(!0)}else Tt(!1)},_=()=>{var t,o,s;if(!n.current)return;let e=n.current.innerHTML;if(G&&T.trackChanges){const u=window.getSelection();if(u&&!u.isCollapsed){const L=ze();if(L){const b=H.createTrackChange("delete",L,q);se([...U,b]),Qn(b.id),e=n.current.innerHTML}}}if(we(e),le(),It&&n.current){const u=((o=(t=window.getSelection())==null?void 0:t.anchorNode)==null?void 0:o.textContent)??"",L=Kt.extractSlashQuery(u);if(L!==null){ue(Kt.filterSlashCommands(L));const b=(s=window.getSelection())==null?void 0:s.getRangeAt(0);if(b&&n.current){const y=b.getBoundingClientRect(),P=n.current.getBoundingClientRect();Pn({top:y.bottom-P.top+8,left:y.left-P.left})}}else ue([])}xe?Gn():D()},bt=()=>{const e=k.suggestion;if(!e){D();return}p(n.current),d.execCommand(Vt.AI_AUTOCOMPLETE_COMMAND_INSERT_TEXT,e),D(),_()},Qn=e=>{const t=window.getSelection();if(!t||t.rangeCount===0)return;const o=ze();o&&d.insertHTML(H.wrapDeleteHtml(o,e))},Jn=()=>{if(!n.current||!zt||!T.typoAutoFix||i||c)return;const e=n.current.innerHTML,t=Ro.applyTypoAutoFix(e);t.html!==e&&(Ze.withPreservedSelection(n.current,()=>{n.current&&(n.current.innerHTML=t.html)}),we(t.html))},R=e=>{if(i||c)return;if(p(n.current),e==="clearFormat"){d.clearFormatDeep(),_();return}if(e==="directionLtr"&&n.current){d.setBlockDirection(n.current,je.DIR_LTR),_();return}if(e==="directionRtl"&&n.current){d.setBlockDirection(n.current,je.DIR_RTL),_();return}if(e==="superscript"||e==="subscript"){d.execCommand(e),_();return}const t=f.INK_BUTTON_CONFIG[e];t&&(t.value?d.execCommand(t.command,t.value):d.execCommand(t.command),_())},eo=e=>{i||c||(p(n.current),d.execCommand("formatBlock",e),st(e),_())},to=e=>{i||c||(p(n.current),d.applyFontFamily(e),Fn(e),_())},no=e=>{i||c||(p(n.current),d.applyListType(e),Ot(e),_())},At=e=>{Hn(e),qn(e),de(!0)},oo=e=>{if(i||c)return;const t=e===x.FIND_REPLACE_VALUE_REPLACE?x.FIND_REPLACE_FOCUS_REPLACE:x.FIND_REPLACE_FOCUS_FIND;At(t)},qe=()=>{if(i||c)return;const e=window.prompt("Enter URL:","https://");e&&(p(n.current),d.insertLink(e),_())},ht=async e=>Tn&&ot?ot(e):d.fileToDataUrl(e),ro=async()=>{if(i||c)return;const e=document.createElement("input");e.type="file",e.accept="image/*",e.onchange=async()=>{var s;const t=(s=e.files)==null?void 0:s[0];if(!t)return;const o=await ht(t);p(n.current),d.insertImage(o,t.name),_()},e.click()},Bt=()=>{if(i||c||!T.table)return;p(n.current);const e=M.buildTableHtml(tn,nn);if(G&&T.trackChanges){const t=H.createTrackChange("insert",e,q);se([...U,t]),d.insertHTML(H.wrapInsertHtml(e,t.id))}else d.insertHTML(e);_()},St=()=>{const e=te.current.undo();if(e===null||!n.current){d.execCommand("undo"),_();return}F(e)},Dt=()=>{const e=te.current.redo();if(e===null||!n.current){d.execCommand("redo"),_();return}F(e)},so=e=>{i||c||(e.preventDefault(),De(t=>t.open?{...t,open:!1}:t),Ct(!!(T.table&&M.getTableCellFromSelection())),Be({open:!0,x:e.clientX,y:e.clientY}))},lo=e=>{i||c||(e.preventDefault(),Be(t=>t.open?{...t,open:!1}:t),De({open:!0,x:e.clientX,y:e.clientY}))},Mt=()=>{if(i||c||!T.comments)return;const e=window.prompt("Comment:");if(!(e!=null&&e.trim()))return;const t=qt.createInkId("hl");if(p(n.current),!We.wrapSelectionAsComment(t))return;const s=We.createCommentThread(q,e.trim(),t);ye([s,...re]),ve(!0),_()},io=[{id:A.TOOLBAR_CONTEXT_MENU_ID_CUSTOMIZE,label:A.TOOLBAR_CONTEXT_MENU_LABEL_CUSTOMIZE,onSelect:()=>Lt(!0)},{id:A.TOOLBAR_CONTEXT_MENU_ID_HIDE,label:A.TOOLBAR_CONTEXT_MENU_LABEL_HIDE,onSelect:()=>Fe(!0)}],z=e=>{const t=M.getTableCellFromSelection();!t||!T.table||e(t)&&_()},co=[...T.table&&Kn?[{id:a.CONTEXT_MENU_ID_TABLE_ROW_ABOVE,label:a.CONTEXT_MENU_LABEL_TABLE_ROW_ABOVE,onSelect:()=>z(e=>M.insertTableRow(e,"before"))},{id:a.CONTEXT_MENU_ID_TABLE_ROW_BELOW,label:a.CONTEXT_MENU_LABEL_TABLE_ROW_BELOW,onSelect:()=>z(e=>M.insertTableRow(e,"after"))},{id:a.CONTEXT_MENU_ID_TABLE_COL_LEFT,label:a.CONTEXT_MENU_LABEL_TABLE_COL_LEFT,onSelect:()=>z(e=>M.insertTableColumn(e,"before"))},{id:a.CONTEXT_MENU_ID_TABLE_COL_RIGHT,label:a.CONTEXT_MENU_LABEL_TABLE_COL_RIGHT,onSelect:()=>z(e=>M.insertTableColumn(e,"after"))},{id:a.CONTEXT_MENU_ID_TABLE_DELETE_ROW,label:a.CONTEXT_MENU_LABEL_TABLE_DELETE_ROW,onSelect:()=>z(e=>M.deleteTableRow(e))},{id:a.CONTEXT_MENU_ID_TABLE_DELETE_COL,label:a.CONTEXT_MENU_LABEL_TABLE_DELETE_COL,onSelect:()=>z(e=>M.deleteTableColumn(e))}]:[],{id:a.CONTEXT_MENU_ID_BOLD,label:a.CONTEXT_MENU_LABEL_BOLD,onSelect:()=>R("bold")},{id:a.CONTEXT_MENU_ID_ITALIC,label:a.CONTEXT_MENU_LABEL_ITALIC,onSelect:()=>R("italic")},{id:a.CONTEXT_MENU_ID_UNDERLINE,label:a.CONTEXT_MENU_LABEL_UNDERLINE,onSelect:()=>R("underline")},{id:a.CONTEXT_MENU_ID_STRIKE,label:a.CONTEXT_MENU_LABEL_STRIKE,onSelect:()=>R("strikethrough")},{id:a.CONTEXT_MENU_ID_HEADING,label:a.CONTEXT_MENU_LABEL_HEADING,onSelect:()=>R("heading2")},{id:a.CONTEXT_MENU_ID_BULLET,label:a.CONTEXT_MENU_LABEL_BULLET,onSelect:()=>R("bulletList")},{id:a.CONTEXT_MENU_ID_ORDERED,label:a.CONTEXT_MENU_LABEL_ORDERED,onSelect:()=>R("orderedList")},{id:a.CONTEXT_MENU_ID_LINK,label:a.CONTEXT_MENU_LABEL_LINK,onSelect:()=>qe()},{id:a.CONTEXT_MENU_ID_CLEAR,label:a.CONTEXT_MENU_LABEL_CLEAR,onSelect:()=>R("clearFormat")},{id:a.CONTEXT_MENU_ID_FIND,label:a.CONTEXT_MENU_LABEL_FIND,disabled:!T.findReplace,onSelect:()=>de(!0)},{id:a.CONTEXT_MENU_ID_SIGNATURE,label:a.CONTEXT_MENU_LABEL_SIGNATURE,disabled:!T.signature,onSelect:()=>be(!0)},{id:a.CONTEXT_MENU_ID_COMMENT,label:a.CONTEXT_MENU_LABEL_COMMENT,disabled:!T.comments,onSelect:()=>Mt()},...gt?[{id:A.CONTEXT_MENU_ID_SHOW_TOOLBAR,label:A.CONTEXT_MENU_LABEL_SHOW_TOOLBAR,onSelect:()=>Fe(!1)}]:[]],kt=e=>{if(!n.current)return;const t=H.acceptTrackChangeInHtml(n.current.innerHTML,e);F(t),se(U.map(o=>o.id===e?{...o,accepted:!0}:o))},Ut=e=>{if(!n.current)return;const t=H.rejectTrackChangeInHtml(n.current.innerHTML,e);F(t),se(U.map(o=>o.id===e?{...o,rejected:!0}:o))},Pt=async e=>{const t=await ht(e),o=`<img src="${t}" alt="" style="max-width:100%;height:auto;" />`;if(G&&T.trackChanges){const s=H.createTrackChange("insert",o,q);se([...U,s]),d.insertHTML(H.wrapInsertHtml(o,s.id))}else d.insertImage(t);_()},ao=async e=>{if(i||c)return;const t=e.clipboardData;if(!t)return;if(On){const s=Ge.extractClipboardHtml(t);if(s){e.preventDefault();const L=Ge.sanitizePastedHtml(s);L&&(d.insertHTML(L),_());const b=t.items;if(Qe&&b)for(const y of Array.from(b)){if(!y.type.startsWith("image/"))continue;const P=y.getAsFile();P&&await Pt(P)}return}const u=Ge.extractClipboardText(t);if(u){e.preventDefault(),d.insertHTML(u.replace(/\n/g,"<br />")),_();return}}if(!Qe)return;const o=t.items;if(o)for(const s of Array.from(o)){if(!s.type.startsWith("image/"))continue;e.preventDefault();const u=s.getAsFile();u&&await Pt(u)}},uo=e=>{R(e)},_o=e=>{if(e.key===_e.KEY_TAB&&k.visible&&k.suggestion){e.preventDefault(),bt();return}if(e.key===_e.KEY_ENTER){D();return}if(d.tryConvertMarkdownListPrefix(e.nativeEvent)){_();return}if(e.key===_e.KEY_ESCAPE){if(k.visible){e.preventDefault(),D();return}ue([]),Y(t=>t.open?{...t,open:!1}:t)}(e.metaKey||e.ctrlKey)&&e.key===_e.KEY_Z&&(e.preventDefault(),e.shiftKey?Dt():St())},To=e=>{var o;p(n.current);const t=window.getSelection();if((o=t==null?void 0:t.anchorNode)!=null&&o.textContent){const u=t.anchorNode.textContent.replace(/(?:^|\s)\/[^\s]*$/," ");t.anchorNode.nodeType===Node.TEXT_NODE&&(t.anchorNode.textContent=u)}switch(ue([]),e.insert){case"heading1":d.execCommand("formatBlock","h1");break;case"heading2":d.execCommand("formatBlock","h2");break;case"bulletList":d.execCommand("insertUnorderedList");break;case"orderedList":d.execCommand("insertOrderedList");break;case"table":Bt();return;case"ai":Re(!0);break}_()},xt=e=>{if(!n.current)return;const t=window.getSelection(),o=m.getBlockElement((t==null?void 0:t.anchorNode)??null,n.current);o&&m.moveBlock(o,e)&&(_(),le())},Eo=e=>{if(!n.current)return;const t=window.getSelection(),o=m.getBlockElement((t==null?void 0:t.anchorNode)??null,n.current),s=n.current.querySelector(`.${f.INK_CLASS_BLOCK_ACTIVE}`),u=o??(s instanceof HTMLElement?s:null);if(!u){e.preventDefault();return}w.current=u,m.clearBlockDragClasses(n.current),m.markActiveBlock(n.current,u),m.markDraggingBlock(u),e.dataTransfer.setData(Ee.BLOCK_HANDLES_DRAG_MIME,Ee.BLOCK_HANDLES_DRAG_PAYLOAD),e.dataTransfer.effectAllowed=Ee.BLOCK_HANDLES_DRAG_EFFECT_MOVE},fo=e=>{if(!n.current||!w.current)return;e.preventDefault(),e.dataTransfer.dropEffect=Ee.BLOCK_HANDLES_DRAG_EFFECT_MOVE;const t=m.getBlockElement(e.target,n.current);if(!t||t===w.current){m.markDropTarget(n.current,null,null);return}const o=m.resolveDropPosition(e.clientY,t);m.markDropTarget(n.current,t,o)},Oo=e=>{if(!n.current||!w.current)return;e.preventDefault();const t=m.getBlockElement(e.target,n.current),o=w.current;t&&t!==o&&(m.resolveDropPosition(e.clientY,t)===je.BLOCK_DROP_POSITION_BEFORE?m.reorderBlockBefore(o,t):m.reorderBlockAfter(o,t))&&(_(),le()),m.clearBlockDragClasses(n.current),w.current=null},Co=()=>{n.current&&m.clearBlockDragClasses(n.current),w.current=null},mo=(e,t)=>{if(e==="divider")return l.jsx("span",{className:f.INK_CLASS_DIVIDER},`divider-${t}`);if(e==="headingDropdown")return l.jsx(Te.ToolbarDropdown,{title:"Heading",options:f.INK_HEADING_OPTIONS,value:mn||"p",disabled:i||c,onChange:eo},"heading");if(e===I.TOOLBAR_OPTION_FONT_DROPDOWN)return l.jsx(Te.ToolbarDropdown,{title:Ke.FONT_DROPDOWN_TITLE,options:Ke.INK_FONT_OPTIONS,value:wn,disabled:i||c,onChange:to},I.TOOLBAR_OPTION_FONT_DROPDOWN);if(e===I.TOOLBAR_OPTION_LIST_DROPDOWN)return l.jsx(Te.ToolbarDropdown,{title:Xe.LIST_DROPDOWN_TITLE,options:Xe.INK_LIST_OPTIONS,value:yn,disabled:i||c,onChange:no},I.TOOLBAR_OPTION_LIST_DROPDOWN);if(e==="textColor")return l.jsx(Wt.ToolbarColorPicker,{title:"Text color",type:"text",value:Nn,disabled:i||c,onChange:s=>{p(n.current),d.setTextColor(s),In(s),_()}},"textColor");if(e==="highlightColor")return l.jsx(Wt.ToolbarColorPicker,{title:"Highlight color",type:"highlight",value:gn,disabled:i||c,onChange:s=>{p(n.current),d.setHighlightColor(s),Rn(s),_()}},"highlightColor");if(e==="link")return l.jsx(g.ToolbarButton,{icon:C.link,title:"Insert link",disabled:i||c,onClick:qe},"link");if(e==="image")return l.jsx(g.ToolbarButton,{icon:C.image,title:"Insert image",disabled:i||c,onClick:()=>{ro()}},"image");if(e==="table")return T.table?l.jsx(g.ToolbarButton,{icon:C.table,title:"Insert table",disabled:i||c,onClick:Bt},"table"):null;if(e===I.TOOLBAR_OPTION_SIGNATURE)return T.signature?l.jsx(g.ToolbarButton,{icon:C.signature,title:"Sign pad",active:ft,disabled:i||c,onClick:()=>be(!0)},I.TOOLBAR_OPTION_SIGNATURE):null;if(e===I.TOOLBAR_OPTION_FIND_REPLACE)return T.findReplace?l.jsx(g.ToolbarButton,{icon:C.findReplace,title:"Find and replace",active:Ae,disabled:i||c,onClick:()=>{Ae?de(!1):At(x.FIND_REPLACE_FOCUS_FIND)}},I.TOOLBAR_OPTION_FIND_REPLACE):null;if(e===I.TOOLBAR_OPTION_FIND_REPLACE_DROPDOWN)return T.findReplace?l.jsx(Te.ToolbarDropdown,{title:x.FIND_REPLACE_DROPDOWN_TITLE,options:x.INK_FIND_REPLACE_OPTIONS,value:vn,disabled:i||c,onChange:oo},I.TOOLBAR_OPTION_FIND_REPLACE_DROPDOWN):null;if(e===I.TOOLBAR_OPTION_HORIZONTAL_RULE)return T.horizontalRule?l.jsx(g.ToolbarButton,{icon:C.horizontalRule,title:"Horizontal rule",disabled:i||c,onClick:()=>{p(n.current),d.insertHTML("<hr />"),_()}},I.TOOLBAR_OPTION_HORIZONTAL_RULE):null;if(e==="undo")return l.jsx(g.ToolbarButton,{icon:C.undo,title:"Undo",disabled:i||c,onClick:St},"undo");if(e==="redo")return l.jsx(g.ToolbarButton,{icon:C.redo,title:"Redo",disabled:i||c,onClick:Dt},"redo");if(e==="trackChanges")return T.trackChanges?l.jsx(g.ToolbarButton,{icon:C.trackChanges,title:"Track changes",active:G,disabled:i||c,onClick:()=>zn(!G)},"trackChanges"):null;if(e==="comments")return T.comments?l.jsx(g.ToolbarButton,{icon:C.comments,title:"Comments",active:Ue,disabled:i||c,onClick:()=>{Ue?ve(!1):Mt()}},"comments"):null;if(e==="ai")return!T.ai||!(E!=null&&E.enabled)?null:l.jsx(g.ToolbarButton,{icon:C.ai,title:"Ink AI",active:ut,disabled:i||c,onClick:()=>Re(s=>!s)},"ai");const o=f.INK_BUTTON_CONFIG[e];return o?l.jsx(g.ToolbarButton,{icon:C[e]??e.slice(0,1).toUpperCase(),title:o.title,active:rt.has(e),disabled:i||c,onClick:()=>R(e)},e):null},po=typeof Oe=="number"?`${Oe}px`:Oe,Lo=typeof Ce=="number"?`${Ce}px`:Ce,No=!!(E!=null&&E.enabled&&ut);return l.jsxs("div",{className:go.cn(f.INK_CLASS_ROOT,Zt),"data-testid":Yt,"data-disabled":i||void 0,"data-variant":$t,"data-chrome":Qt,"data-color-mode":Pe,"data-premium":W.active||void 0,"data-wysiwyg":En||void 0,style:{...fn,...cn},...an,children:[gt?l.jsx("div",{className:f.INK_CLASS_TOOLBAR_SHOW,children:l.jsx(Ao.Button,{type:"button","aria-label":A.TOOLBAR_SHOW_CONTROL_ARIA_LABEL,onClick:()=>Fe(!1),children:A.TOOLBAR_SHOW_CONTROL_LABEL})}):l.jsx("div",{className:f.INK_CLASS_TOOLBAR,role:"toolbar","aria-label":"Ink formatting toolbar",onContextMenu:lo,children:ke.map(mo)}),l.jsx(wo.ToolbarCustomize,{open:jn,options:Vn,visibleItems:ke,onToggle:Yn,onClose:()=>Lt(!1)}),l.jsx(xo.SignPad,{open:ft,onClose:()=>be(!1),onConfirm:e=>{p(n.current),d.insertImage(e),_()}}),l.jsx(Ho.FindReplace,{open:Ae,focusField:xn,onClose:()=>de(!1),onReplace:(e,t,o)=>{if(!n.current)return;const s=bo.replaceInHtml(n.current.innerHTML,e,t,o);F(s)}}),G&&T.trackChanges?l.jsx(Po.TrackChangesBar,{changes:U,onAccept:kt,onReject:Ut,onAcceptAll:()=>U.forEach(e=>kt(e.id)),onRejectAll:()=>U.forEach(e=>Ut(e.id))}):null,l.jsxs("div",{className:f.INK_CLASS_SHELL,children:[l.jsxs("div",{className:f.INK_CLASS_BODY,children:[T.blocks?l.jsx(Mo.BlockHandles,{visible:kn&&!i&&!c,top:Dn,onMoveUp:()=>xt("up"),onMoveDown:()=>xt("down"),onDragStart:Eo}):null,l.jsx("div",{ref:n,className:f.INK_CLASS_CONTENT,contentEditable:!i&&!c,role:"textbox","aria-multiline":"true","aria-placeholder":$e,"data-placeholder":$e,suppressContentEditableWarning:!0,style:{minHeight:po,maxHeight:Lo},onInput:_,onBlur:Jn,onKeyUp:le,onKeyDown:_o,onMouseUp:le,onContextMenu:so,onDragOver:fo,onDrop:Oo,onDragEnd:Co,onPaste:e=>{ao(e)}}),It?l.jsx(Uo.SlashMenu,{items:Un,top:Et.top,left:Et.left,onSelect:To}):null,xe?l.jsx(Do.AiAutocomplete,{suggestion:k.suggestion,position:{top:k.top,left:k.left},visible:k.visible,onAccept:bt,onDismiss:D}):null,l.jsx(ko.InlineToolbar,{open:Me.open,top:Me.top,left:Me.left,icons:{bold:C.bold,italic:C.italic,underline:C.underline,code:C.code,link:C.link,clearFormat:C.clearFormat},activeFormats:rt,disabled:i||c,onFormat:uo,onLink:qe,onClose:()=>Y(e=>({...e,open:!1}))}),l.jsx(jt.ContextMenu,{open:he.open,x:he.x,y:he.y,items:co,colorMode:Pe,onClose:()=>{Ct(!1),Be(e=>({...e,open:!1}))}}),l.jsx(jt.ContextMenu,{open:Se.open,x:Se.x,y:Se.y,items:io,colorMode:Pe,onClose:()=>De(e=>({...e,open:!1}))})]}),Ue&&T.comments?l.jsx(Bo.CommentsPanel,{comments:re,author:q,onClose:()=>ve(!1),onResolve:e=>{const t=re.find(o=>o.id===e);ye(re.map(o=>o.id===e?{...o,resolved:!0}:o)),t&&n.current&&F(We.removeCommentMark(n.current.innerHTML,t.highlightId))},onAddReply:(e,t)=>{ye(re.map(o=>o.id===e?{...o,replies:[...o.replies,{id:qt.createInkId("reply"),author:q,body:t,timestamp:Date.now()}]}:o))}}):null,No&&E?l.jsx(So.AiPanel,{config:E,documentHtml:((Ht=n.current)==null?void 0:Ht.innerHTML)??N??"",selectionHtml:_t,onBusyChange:Bn,onClose:()=>Re(!1),onApplyHtml:e=>{if(p(n.current),_t)d.insertHTML(e);else{F(e);return}_()}}):null]}),Je?l.jsxs("div",{className:f.INK_CLASS_FOOTER,children:[pn,et?` / ${et}`:""]}):null]})};exports.InkEditor=Fo;
@@ -1 +1 @@
1
- {"version":3,"file":"InkEditor.d.ts","sourceRoot":"","sources":["../../../src/components/InkEditor/InkEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAEV,cAAc,EAIf,MAAM,aAAa,CAAC;AAwFrB,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA6yBxC,CAAC"}
1
+ {"version":3,"file":"InkEditor.d.ts","sourceRoot":"","sources":["../../../src/components/InkEditor/InkEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAEV,cAAc,EAIf,MAAM,aAAa,CAAC;AAiNrB,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA87CxC,CAAC"}