@forgedevstack/ink 1.1.8 → 1.2.0

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 (306) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/dist/common-components/Box/Box.cjs +1 -1
  3. package/dist/common-components/Box/Box.js +7 -6
  4. package/dist/common-components/Button/Button.cjs +1 -1
  5. package/dist/common-components/Button/Button.js +9 -8
  6. package/dist/common-components/Canvas/Canvas.cjs +1 -1
  7. package/dist/common-components/Canvas/Canvas.js +3 -2
  8. package/dist/common-components/ContextMenu/ContextMenu.cjs +1 -1
  9. package/dist/common-components/ContextMenu/ContextMenu.js +3 -2
  10. package/dist/common-components/Field/Field.cjs +1 -1
  11. package/dist/common-components/Field/Field.js +11 -10
  12. package/dist/common-components/icons/GripIcon.cjs +1 -1
  13. package/dist/common-components/icons/GripIcon.js +3 -2
  14. package/dist/components/InkEditor/InkEditor.cjs +1 -1
  15. package/dist/components/InkEditor/InkEditor.d.ts.map +1 -1
  16. package/dist/components/InkEditor/InkEditor.js +1301 -1006
  17. package/dist/components/InkEditor/components/AiPanel/AiPanel.cjs +1 -1
  18. package/dist/components/InkEditor/components/AiPanel/AiPanel.js +13 -12
  19. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.cjs +1 -0
  20. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.const.cjs +1 -0
  21. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.const.d.ts +20 -0
  22. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.const.d.ts.map +1 -0
  23. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.const.js +25 -0
  24. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.d.ts +4 -0
  25. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.d.ts.map +1 -0
  26. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.js +61 -0
  27. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.types.d.ts +11 -0
  28. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.types.d.ts.map +1 -0
  29. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.utils.cjs +1 -0
  30. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.utils.d.ts +19 -0
  31. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.utils.d.ts.map +1 -0
  32. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.utils.js +30 -0
  33. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.utils.test.d.ts +2 -0
  34. package/dist/components/InkEditor/components/AiSelectionBubble/AiSelectionBubble.utils.test.d.ts.map +1 -0
  35. package/dist/components/InkEditor/components/AiSelectionBubble/index.d.ts +4 -0
  36. package/dist/components/InkEditor/components/AiSelectionBubble/index.d.ts.map +1 -0
  37. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.cjs +1 -1
  38. package/dist/components/InkEditor/components/BlockHandles/BlockHandles.js +7 -6
  39. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.cjs +1 -1
  40. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.d.ts +2 -0
  41. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.d.ts.map +1 -1
  42. package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.js +16 -15
  43. package/dist/components/InkEditor/components/ExcelSheetPanel/ExcelSheetPanel.cjs +1 -1
  44. package/dist/components/InkEditor/components/ExcelSheetPanel/ExcelSheetPanel.js +14 -13
  45. package/dist/components/InkEditor/components/FindReplace/FindReplace.cjs +1 -1
  46. package/dist/components/InkEditor/components/FindReplace/FindReplace.js +21 -20
  47. package/dist/components/InkEditor/components/GraphEditModal/GraphEditModal.cjs +1 -1
  48. package/dist/components/InkEditor/components/GraphEditModal/GraphEditModal.js +17 -16
  49. package/dist/components/InkEditor/components/GraphPicker/GraphPicker.cjs +1 -1
  50. package/dist/components/InkEditor/components/GraphPicker/GraphPicker.js +3 -2
  51. package/dist/components/InkEditor/components/HtmlSourcePanel/HtmlSourcePanel.cjs +1 -1
  52. package/dist/components/InkEditor/components/HtmlSourcePanel/HtmlSourcePanel.js +7 -6
  53. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.cjs +1 -0
  54. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.d.ts +8 -0
  55. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.d.ts.map +1 -0
  56. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.js +54 -0
  57. package/dist/components/InkEditor/components/ImageFrame/index.d.ts +3 -0
  58. package/dist/components/InkEditor/components/ImageFrame/index.d.ts.map +1 -0
  59. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.cjs +1 -1
  60. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.js +11 -10
  61. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.cjs +1 -0
  62. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.d.ts +16 -0
  63. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.d.ts.map +1 -0
  64. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.js +21 -0
  65. package/dist/components/InkEditor/components/MentionMenu/index.d.ts +3 -0
  66. package/dist/components/InkEditor/components/MentionMenu/index.d.ts.map +1 -0
  67. package/dist/components/InkEditor/components/OutlineRail/OutlineRail.cjs +1 -1
  68. package/dist/components/InkEditor/components/OutlineRail/OutlineRail.js +11 -10
  69. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.cjs +1 -0
  70. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.const.cjs +1 -0
  71. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.const.d.ts +7 -0
  72. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.const.d.ts.map +1 -0
  73. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.const.js +9 -0
  74. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.d.ts +4 -0
  75. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.d.ts.map +1 -0
  76. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.js +83 -0
  77. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.types.d.ts +8 -0
  78. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.types.d.ts.map +1 -0
  79. package/dist/components/InkEditor/components/PresenceStack/index.d.ts +3 -0
  80. package/dist/components/InkEditor/components/PresenceStack/index.d.ts.map +1 -0
  81. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.cjs +1 -0
  82. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.const.cjs +1 -0
  83. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.const.d.ts +7 -0
  84. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.const.d.ts.map +1 -0
  85. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.const.js +10 -0
  86. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.d.ts +4 -0
  87. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.d.ts.map +1 -0
  88. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.js +66 -0
  89. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.types.d.ts +6 -0
  90. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.types.d.ts.map +1 -0
  91. package/dist/components/InkEditor/components/RemoteCursors/index.d.ts +3 -0
  92. package/dist/components/InkEditor/components/RemoteCursors/index.d.ts.map +1 -0
  93. package/dist/components/InkEditor/components/SignPad/SignPad.cjs +1 -1
  94. package/dist/components/InkEditor/components/SignPad/SignPad.js +7 -6
  95. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.cjs +1 -1
  96. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.js +7 -6
  97. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.cjs +1 -1
  98. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.const.cjs +1 -1
  99. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.const.js +8 -7
  100. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.js +7 -6
  101. package/dist/components/InkEditor/components/ThemePicker/ThemePicker.cjs +1 -1
  102. package/dist/components/InkEditor/components/ThemePicker/ThemePicker.js +7 -6
  103. package/dist/components/InkEditor/components/TitleGallery/TitleGallery.cjs +1 -1
  104. package/dist/components/InkEditor/components/TitleGallery/TitleGallery.js +3 -2
  105. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.cjs +1 -1
  106. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.js +13 -12
  107. package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -1
  108. package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +9 -8
  109. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.cjs +1 -1
  110. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.cjs +1 -1
  111. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.js +9 -8
  112. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.js +9 -8
  113. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.cjs +1 -1
  114. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.js +19 -18
  115. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.utils.cjs +1 -1
  116. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.utils.js +6 -5
  117. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.cjs +1 -0
  118. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.d.ts +11 -0
  119. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.d.ts.map +1 -0
  120. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.js +22 -0
  121. package/dist/components/InkEditor/components/VersionHistory/index.d.ts +3 -0
  122. package/dist/components/InkEditor/components/VersionHistory/index.d.ts.map +1 -0
  123. package/dist/components/InkEditor/components/index.d.ts +11 -0
  124. package/dist/components/InkEditor/components/index.d.ts.map +1 -1
  125. package/dist/components/InkEditor/helpers/format.utils.cjs +3 -2
  126. package/dist/components/InkEditor/helpers/format.utils.d.ts +1 -0
  127. package/dist/components/InkEditor/helpers/format.utils.d.ts.map +1 -1
  128. package/dist/components/InkEditor/helpers/format.utils.js +106 -84
  129. package/dist/components/InkEditor/helpers/index.d.ts +1 -1
  130. package/dist/components/InkEditor/helpers/index.d.ts.map +1 -1
  131. package/dist/components/InkTabs/InkTabs.cjs +1 -0
  132. package/dist/components/InkTabs/InkTabs.d.ts +4 -0
  133. package/dist/components/InkTabs/InkTabs.d.ts.map +1 -0
  134. package/dist/components/InkTabs/InkTabs.js +104 -0
  135. package/dist/components/InkTabs/index.d.ts +2 -0
  136. package/dist/components/InkTabs/index.d.ts.map +1 -0
  137. package/dist/components/InkWorkspace/InkWorkspace.cjs +1 -0
  138. package/dist/components/InkWorkspace/InkWorkspace.d.ts +4 -0
  139. package/dist/components/InkWorkspace/InkWorkspace.d.ts.map +1 -0
  140. package/dist/components/InkWorkspace/InkWorkspace.js +309 -0
  141. package/dist/components/InkWorkspace/components/WorkspaceIcons.cjs +1 -0
  142. package/dist/components/InkWorkspace/components/WorkspaceIcons.d.ts +11 -0
  143. package/dist/components/InkWorkspace/components/WorkspaceIcons.d.ts.map +1 -0
  144. package/dist/components/InkWorkspace/components/WorkspaceIcons.js +39 -0
  145. package/dist/components/InkWorkspace/hooks/useInkWorkspace.cjs +1 -0
  146. package/dist/components/InkWorkspace/hooks/useInkWorkspace.d.ts +30 -0
  147. package/dist/components/InkWorkspace/hooks/useInkWorkspace.d.ts.map +1 -0
  148. package/dist/components/InkWorkspace/hooks/useInkWorkspace.js +73 -0
  149. package/dist/components/InkWorkspace/index.d.ts +4 -0
  150. package/dist/components/InkWorkspace/index.d.ts.map +1 -0
  151. package/dist/components/index.d.ts +2 -0
  152. package/dist/components/index.d.ts.map +1 -1
  153. package/dist/constants/collab.const.cjs +1 -0
  154. package/dist/constants/collab.const.d.ts +20 -0
  155. package/dist/constants/collab.const.d.ts.map +1 -0
  156. package/dist/constants/collab.const.js +54 -0
  157. package/dist/constants/contextMenu.const.cjs +1 -1
  158. package/dist/constants/contextMenu.const.d.ts +8 -0
  159. package/dist/constants/contextMenu.const.d.ts.map +1 -1
  160. package/dist/constants/contextMenu.const.js +30 -22
  161. package/dist/constants/defaultIcons.cjs +1 -1
  162. package/dist/constants/defaultIcons.js +6 -5
  163. package/dist/constants/defaults.const.cjs +1 -1
  164. package/dist/constants/defaults.const.d.ts.map +1 -1
  165. package/dist/constants/defaults.const.js +150 -138
  166. package/dist/constants/index.d.ts +2 -0
  167. package/dist/constants/index.d.ts.map +1 -1
  168. package/dist/constants/numbers.cjs +1 -1
  169. package/dist/constants/numbers.js +43 -37
  170. package/dist/constants/toolbar.const.cjs +1 -1
  171. package/dist/constants/toolbar.const.d.ts +7 -0
  172. package/dist/constants/toolbar.const.d.ts.map +1 -1
  173. package/dist/constants/toolbar.const.js +16 -9
  174. package/dist/constants/toolbarMenu.const.cjs +1 -1
  175. package/dist/constants/toolbarMenu.const.d.ts.map +1 -1
  176. package/dist/constants/toolbarMenu.const.js +25 -11
  177. package/dist/constants/workspace.const.cjs +1 -0
  178. package/dist/constants/workspace.const.d.ts +24 -0
  179. package/dist/constants/workspace.const.d.ts.map +1 -0
  180. package/dist/constants/workspace.const.js +23 -0
  181. package/dist/hooks/index.d.ts +2 -0
  182. package/dist/hooks/index.d.ts.map +1 -1
  183. package/dist/hooks/useInkCollaboration.cjs +1 -0
  184. package/dist/hooks/useInkCollaboration.d.ts +4 -0
  185. package/dist/hooks/useInkCollaboration.d.ts.map +1 -0
  186. package/dist/hooks/useInkCollaboration.js +87 -0
  187. package/dist/hooks/useToolbarOverflow.cjs +1 -1
  188. package/dist/hooks/useToolbarOverflow.js +12 -11
  189. package/dist/index.cjs +1 -1
  190. package/dist/index.d.ts +5 -3
  191. package/dist/index.d.ts.map +1 -1
  192. package/dist/index.js +151 -135
  193. package/dist/plugins/ai/demoProvider.cjs +1 -1
  194. package/dist/plugins/ai/demoProvider.js +3 -2
  195. package/dist/plugins/ai/index.cjs +1 -1
  196. package/dist/plugins/ai/index.js +25 -24
  197. package/dist/plugins/excel/excel.utils.cjs +1 -1
  198. package/dist/plugins/excel/excel.utils.js +17 -16
  199. package/dist/plugins/graph/graph.utils.cjs +1 -1
  200. package/dist/plugins/graph/graph.utils.js +7 -6
  201. package/dist/plugins/titles/titles.const.cjs +1 -1
  202. package/dist/plugins/titles/titles.const.js +9 -8
  203. package/dist/plugins/titles/titles.utils.cjs +1 -1
  204. package/dist/plugins/titles/titles.utils.js +3 -2
  205. package/dist/styles.css +1 -1
  206. package/dist/types/collab.types.d.ts +54 -0
  207. package/dist/types/collab.types.d.ts.map +1 -0
  208. package/dist/types/features.types.d.ts +1 -1
  209. package/dist/types/features.types.d.ts.map +1 -1
  210. package/dist/types/index.d.ts +2 -0
  211. package/dist/types/index.d.ts.map +1 -1
  212. package/dist/types/ink.types.d.ts +3 -1
  213. package/dist/types/ink.types.d.ts.map +1 -1
  214. package/dist/types/workspace.types.d.ts +54 -0
  215. package/dist/types/workspace.types.d.ts.map +1 -0
  216. package/dist/utils/blocks.utils.cjs +1 -1
  217. package/dist/utils/blocks.utils.js +19 -18
  218. package/dist/utils/collab.utils.cjs +1 -0
  219. package/dist/utils/collab.utils.d.ts +5 -0
  220. package/dist/utils/collab.utils.d.ts.map +1 -0
  221. package/dist/utils/collab.utils.js +33 -0
  222. package/dist/utils/collab.utils.test.d.ts +2 -0
  223. package/dist/utils/collab.utils.test.d.ts.map +1 -0
  224. package/dist/utils/comments.utils.cjs +1 -1
  225. package/dist/utils/comments.utils.d.ts +4 -0
  226. package/dist/utils/comments.utils.d.ts.map +1 -1
  227. package/dist/utils/comments.utils.js +26 -18
  228. package/dist/utils/comments.utils.test.d.ts +2 -0
  229. package/dist/utils/comments.utils.test.d.ts.map +1 -0
  230. package/dist/utils/exportDocument.utils.cjs +2 -0
  231. package/dist/utils/exportDocument.utils.d.ts +16 -0
  232. package/dist/utils/exportDocument.utils.d.ts.map +1 -0
  233. package/dist/utils/exportDocument.utils.js +85 -0
  234. package/dist/utils/exportDocument.utils.test.d.ts +2 -0
  235. package/dist/utils/exportDocument.utils.test.d.ts.map +1 -0
  236. package/dist/utils/formatPainter.utils.cjs +1 -0
  237. package/dist/utils/formatPainter.utils.d.ts +11 -0
  238. package/dist/utils/formatPainter.utils.d.ts.map +1 -0
  239. package/dist/utils/formatPainter.utils.js +20 -0
  240. package/dist/utils/formatPainter.utils.test.d.ts +2 -0
  241. package/dist/utils/formatPainter.utils.test.d.ts.map +1 -0
  242. package/dist/utils/history.utils.cjs +1 -1
  243. package/dist/utils/history.utils.js +3 -2
  244. package/dist/utils/image.utils.cjs +1 -0
  245. package/dist/utils/image.utils.d.ts +14 -0
  246. package/dist/utils/image.utils.d.ts.map +1 -0
  247. package/dist/utils/image.utils.js +33 -0
  248. package/dist/utils/image.utils.test.d.ts +2 -0
  249. package/dist/utils/image.utils.test.d.ts.map +1 -0
  250. package/dist/utils/index.d.ts +12 -3
  251. package/dist/utils/index.d.ts.map +1 -1
  252. package/dist/utils/ink.brand.test.d.ts +2 -0
  253. package/dist/utils/ink.brand.test.d.ts.map +1 -0
  254. package/dist/utils/license.utils.cjs +1 -1
  255. package/dist/utils/license.utils.js +8 -7
  256. package/dist/utils/markdown.utils.cjs +11 -0
  257. package/dist/utils/markdown.utils.d.ts +7 -0
  258. package/dist/utils/markdown.utils.d.ts.map +1 -0
  259. package/dist/utils/markdown.utils.js +87 -0
  260. package/dist/utils/markdown.utils.test.d.ts +2 -0
  261. package/dist/utils/markdown.utils.test.d.ts.map +1 -0
  262. package/dist/utils/mentions.utils.cjs +1 -0
  263. package/dist/utils/mentions.utils.d.ts +13 -0
  264. package/dist/utils/mentions.utils.d.ts.map +1 -0
  265. package/dist/utils/mentions.utils.js +23 -0
  266. package/dist/utils/mentions.utils.test.d.ts +2 -0
  267. package/dist/utils/mentions.utils.test.d.ts.map +1 -0
  268. package/dist/utils/outline.utils.cjs +1 -1
  269. package/dist/utils/outline.utils.js +9 -8
  270. package/dist/utils/paste.utils.cjs +1 -1
  271. package/dist/utils/paste.utils.d.ts +2 -0
  272. package/dist/utils/paste.utils.d.ts.map +1 -1
  273. package/dist/utils/paste.utils.js +53 -19
  274. package/dist/utils/paste.utils.test.d.ts +2 -0
  275. package/dist/utils/paste.utils.test.d.ts.map +1 -0
  276. package/dist/utils/premium.utils.cjs +1 -1
  277. package/dist/utils/premium.utils.js +12 -11
  278. package/dist/utils/selection.utils.cjs +1 -1
  279. package/dist/utils/selection.utils.js +3 -2
  280. package/dist/utils/slash.utils.cjs +1 -1
  281. package/dist/utils/slash.utils.js +10 -9
  282. package/dist/utils/table.utils.cjs +1 -1
  283. package/dist/utils/table.utils.d.ts +8 -0
  284. package/dist/utils/table.utils.d.ts.map +1 -1
  285. package/dist/utils/table.utils.js +78 -54
  286. package/dist/utils/toolbarStorage.utils.cjs +1 -1
  287. package/dist/utils/toolbarStorage.utils.js +15 -14
  288. package/dist/utils/trackChanges.utils.cjs +1 -1
  289. package/dist/utils/trackChanges.utils.js +9 -8
  290. package/dist/utils/typo.utils.cjs +1 -1
  291. package/dist/utils/typo.utils.js +8 -7
  292. package/dist/utils/versions.utils.cjs +1 -0
  293. package/dist/utils/versions.utils.d.ts +11 -0
  294. package/dist/utils/versions.utils.d.ts.map +1 -0
  295. package/dist/utils/versions.utils.js +36 -0
  296. package/dist/utils/versions.utils.test.d.ts +2 -0
  297. package/dist/utils/versions.utils.test.d.ts.map +1 -0
  298. package/dist/utils/words.utils.cjs +1 -1
  299. package/dist/utils/words.utils.js +3 -2
  300. package/dist/utils/workspace.utils.cjs +1 -0
  301. package/dist/utils/workspace.utils.d.ts +5 -0
  302. package/dist/utils/workspace.utils.d.ts.map +1 -0
  303. package/dist/utils/workspace.utils.js +26 -0
  304. package/dist/utils/workspace.utils.test.d.ts +2 -0
  305. package/dist/utils/workspace.utils.test.d.ts.map +1 -0
  306. package/package.json +1 -1
@@ -4,10 +4,11 @@ import { TOOLBAR_OPTION_DIVIDER as e, TOOLBAR_STORAGE_KEY_ITEMS as u, TOOLBAR_ST
4
4
  import "../constants/openai.const.js";
5
5
  import "react/jsx-runtime";
6
6
  import "./paste.utils.js";
7
- import { isLocalStorageAvailable as T } from "./storage.utils.js";
7
+ import { isLocalStorageAvailable as p } from "./storage.utils.js";
8
+ import "./exportDocument.utils.js";
8
9
  import "react";
9
10
  import "react-dom";
10
- const p = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r, l = (r) => r ? T() ? localStorage : null : p() ? sessionStorage : null, y = (r, t) => {
11
+ const T = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r, l = (r) => r ? p() ? localStorage : null : T() ? sessionStorage : null, B = (r, t) => {
11
12
  const o = l(r);
12
13
  if (!o) return null;
13
14
  try {
@@ -16,7 +17,7 @@ const p = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r,
16
17
  } catch {
17
18
  return null;
18
19
  }
19
- }, B = (r, t, o) => {
20
+ }, N = (r, t, o) => {
20
21
  const n = l(t);
21
22
  if (n)
22
23
  try {
@@ -37,7 +38,7 @@ const p = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r,
37
38
  } catch {
38
39
  return null;
39
40
  }
40
- }, N = (r, t) => {
41
+ }, G = (r, t) => {
41
42
  const o = l(r);
42
43
  if (!o) return null;
43
44
  try {
@@ -46,7 +47,7 @@ const p = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r,
46
47
  } catch {
47
48
  return null;
48
49
  }
49
- }, G = (r, t, o) => {
50
+ }, w = (r, t, o) => {
50
51
  const n = l(t);
51
52
  if (n)
52
53
  try {
@@ -70,9 +71,9 @@ const p = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r,
70
71
  for (; t.length > s && t[t.length - 1] === e; )
71
72
  t.pop();
72
73
  return t;
73
- }, w = (r, t) => S(
74
+ }, D = (r, t) => S(
74
75
  r.filter((o) => o === e || t.has(o))
75
- ), D = (r) => {
76
+ ), U = (r) => {
76
77
  const t = /* @__PURE__ */ new Set(), o = [];
77
78
  for (const n of r)
78
79
  n !== e && (t.has(n) || (t.add(n), o.push(n)));
@@ -80,13 +81,13 @@ const p = () => typeof sessionStorage < "u", i = (r, t) => t ? `${r}:${t}` : r,
80
81
  };
81
82
  export {
82
83
  i as buildToolbarStorageKey,
83
- w as buildVisibleToolbarItems,
84
- p as isSessionStorageAvailable,
85
- D as listCustomizableToolbarOptions,
84
+ D as buildVisibleToolbarItems,
85
+ T as isSessionStorageAvailable,
86
+ U as listCustomizableToolbarOptions,
86
87
  S as normalizeToolbarItems,
87
88
  O as parseToolbarItems,
88
- y as readToolbarHidden,
89
- N as readToolbarItems,
90
- B as writeToolbarHidden,
91
- G as writeToolbarItems
89
+ B as readToolbarHidden,
90
+ G as readToolbarItems,
91
+ N as writeToolbarHidden,
92
+ w as writeToolbarItems
92
93
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../constants/defaults.const.cjs");require("../constants/openai.const.cjs");require("react/jsx-runtime");const s=require("./id.utils.cjs");require("./paste.utils.cjs");require("react");require("react-dom");const l=(e,t)=>`<ins class="${n.INK_CLASS_TC_INSERT}" data-ink-tc="${t}">${e}</ins>`,o=(e,t)=>`<del class="${n.INK_CLASS_TC_DELETE}" data-ink-tc="${t}">${e}</del>`,m=(e,t,c)=>({id:s.createInkId("tc"),type:e,html:t,author:c,timestamp:Date.now()}),d=(e,t)=>{const a=new DOMParser().parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return a?(a.querySelectorAll(`[data-ink-tc="${t}"]`).forEach(r=>{if(r.tagName==="INS"){r.replaceWith(...Array.from(r.childNodes));return}r.tagName==="DEL"&&r.remove()}),a.innerHTML):e},u=(e,t)=>{const a=new DOMParser().parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return a?(a.querySelectorAll(`[data-ink-tc="${t}"]`).forEach(r=>{if(r.tagName==="INS"){r.remove();return}r.tagName==="DEL"&&r.replaceWith(...Array.from(r.childNodes))}),a.innerHTML):e};exports.acceptTrackChangeInHtml=d;exports.createTrackChange=m;exports.rejectTrackChangeInHtml=u;exports.wrapDeleteHtml=o;exports.wrapInsertHtml=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../constants/defaults.const.cjs");require("../constants/openai.const.cjs");require("react/jsx-runtime");const s=require("./id.utils.cjs");require("./paste.utils.cjs");require("./exportDocument.utils.cjs");require("react");require("react-dom");const l=(e,t)=>`<ins class="${n.INK_CLASS_TC_INSERT}" data-ink-tc="${t}">${e}</ins>`,o=(e,t)=>`<del class="${n.INK_CLASS_TC_DELETE}" data-ink-tc="${t}">${e}</del>`,m=(e,t,c)=>({id:s.createInkId("tc"),type:e,html:t,author:c,timestamp:Date.now()}),u=(e,t)=>{const a=new DOMParser().parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return a?(a.querySelectorAll(`[data-ink-tc="${t}"]`).forEach(r=>{if(r.tagName==="INS"){r.replaceWith(...Array.from(r.childNodes));return}r.tagName==="DEL"&&r.remove()}),a.innerHTML):e},d=(e,t)=>{const a=new DOMParser().parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return a?(a.querySelectorAll(`[data-ink-tc="${t}"]`).forEach(r=>{if(r.tagName==="INS"){r.remove();return}r.tagName==="DEL"&&r.replaceWith(...Array.from(r.childNodes))}),a.innerHTML):e};exports.acceptTrackChangeInHtml=u;exports.createTrackChange=m;exports.rejectTrackChangeInHtml=d;exports.wrapDeleteHtml=o;exports.wrapInsertHtml=l;
@@ -3,15 +3,16 @@ import "../constants/openai.const.js";
3
3
  import "react/jsx-runtime";
4
4
  import { createInkId as s } from "./id.utils.js";
5
5
  import "./paste.utils.js";
6
+ import "./exportDocument.utils.js";
6
7
  import "react";
7
8
  import "react-dom";
8
- const S = (r, e) => `<ins class="${o}" data-ink-tc="${e}">${r}</ins>`, E = (r, e) => `<del class="${n}" data-ink-tc="${e}">${r}</del>`, I = (r, e, c) => ({
9
+ const E = (r, e) => `<ins class="${o}" data-ink-tc="${e}">${r}</ins>`, I = (r, e) => `<del class="${n}" data-ink-tc="${e}">${r}</del>`, $ = (r, e, c) => ({
9
10
  id: s("tc"),
10
11
  type: r,
11
12
  html: e,
12
13
  author: c,
13
14
  timestamp: Date.now()
14
- }), $ = (r, e) => {
15
+ }), g = (r, e) => {
15
16
  const a = new DOMParser().parseFromString(`<div>${r}</div>`, "text/html").body.firstElementChild;
16
17
  return a ? (a.querySelectorAll(`[data-ink-tc="${e}"]`).forEach((t) => {
17
18
  if (t.tagName === "INS") {
@@ -20,7 +21,7 @@ const S = (r, e) => `<ins class="${o}" data-ink-tc="${e}">${r}</ins>`, E = (r, e
20
21
  }
21
22
  t.tagName === "DEL" && t.remove();
22
23
  }), a.innerHTML) : r;
23
- }, g = (r, e) => {
24
+ }, C = (r, e) => {
24
25
  const a = new DOMParser().parseFromString(`<div>${r}</div>`, "text/html").body.firstElementChild;
25
26
  return a ? (a.querySelectorAll(`[data-ink-tc="${e}"]`).forEach((t) => {
26
27
  if (t.tagName === "INS") {
@@ -31,9 +32,9 @@ const S = (r, e) => `<ins class="${o}" data-ink-tc="${e}">${r}</ins>`, E = (r, e
31
32
  }), a.innerHTML) : r;
32
33
  };
33
34
  export {
34
- $ as acceptTrackChangeInHtml,
35
- I as createTrackChange,
36
- g as rejectTrackChangeInHtml,
37
- E as wrapDeleteHtml,
38
- S as wrapInsertHtml
35
+ g as acceptTrackChangeInHtml,
36
+ $ as createTrackChange,
37
+ C as rejectTrackChangeInHtml,
38
+ I as wrapDeleteHtml,
39
+ E as wrapInsertHtml
39
40
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../constants/typos.const.cjs");require("../constants/openai.const.cjs");require("react/jsx-runtime");require("./paste.utils.cjs");require("react");require("react-dom");const p=e=>{var i;const r=e.toLowerCase(),t=u.TYPO_DICTIONARY[r];return t?e===e.toUpperCase()?t.toUpperCase():e[0]===((i=e[0])==null?void 0:i.toUpperCase())?t.charAt(0).toUpperCase()+t.slice(1):t:e},c=e=>{let r=0;return{html:e.split(/(<[^>]+>)/g).map(n=>!n||n.startsWith("<")?n:n.replace(u.TYPO_WORD_BOUNDARY,o=>{const s=p(o);return s!==o&&(r+=1),s})).join(""),fixedCount:r}};exports.applyTypoAutoFix=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../constants/typos.const.cjs");require("../constants/openai.const.cjs");require("react/jsx-runtime");require("./paste.utils.cjs");require("./exportDocument.utils.cjs");require("react");require("react-dom");const p=e=>{var n;const r=e.toLowerCase(),t=u.TYPO_DICTIONARY[r];return t?e===e.toUpperCase()?t.toUpperCase():e[0]===((n=e[0])==null?void 0:n.toUpperCase())?t.charAt(0).toUpperCase()+t.slice(1):t:e},c=e=>{let r=0;return{html:e.split(/(<[^>]+>)/g).map(i=>!i||i.startsWith("<")?i:i.replace(u.TYPO_WORD_BOUNDARY,o=>{const s=p(o);return s!==o&&(r+=1),s})).join(""),fixedCount:r}};exports.applyTypoAutoFix=c;
@@ -2,19 +2,20 @@ import { TYPO_WORD_BOUNDARY as s, TYPO_DICTIONARY as m } from "../constants/typo
2
2
  import "../constants/openai.const.js";
3
3
  import "react/jsx-runtime";
4
4
  import "./paste.utils.js";
5
+ import "./exportDocument.utils.js";
5
6
  import "react";
6
7
  import "react-dom";
7
8
  const c = (t) => {
8
- var n;
9
+ var i;
9
10
  const r = t.toLowerCase(), e = m[r];
10
- return e ? t === t.toUpperCase() ? e.toUpperCase() : t[0] === ((n = t[0]) == null ? void 0 : n.toUpperCase()) ? e.charAt(0).toUpperCase() + e.slice(1) : e : t;
11
- }, O = (t) => {
11
+ return e ? t === t.toUpperCase() ? e.toUpperCase() : t[0] === ((i = t[0]) == null ? void 0 : i.toUpperCase()) ? e.charAt(0).toUpperCase() + e.slice(1) : e : t;
12
+ }, U = (t) => {
12
13
  let r = 0;
13
- return { html: t.split(/(<[^>]+>)/g).map((o) => !o || o.startsWith("<") ? o : o.replace(s, (i) => {
14
- const p = c(i);
15
- return p !== i && (r += 1), p;
14
+ return { html: t.split(/(<[^>]+>)/g).map((o) => !o || o.startsWith("<") ? o : o.replace(s, (n) => {
15
+ const p = c(n);
16
+ return p !== n && (r += 1), p;
16
17
  })).join(""), fixedCount: r };
17
18
  };
18
19
  export {
19
- O as applyTypoAutoFix
20
+ U as applyTypoAutoFix
20
21
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../constants/generals.const.cjs"),S=require("../constants/numbers.cjs"),n=require("./storage.utils.cjs"),I=require("./id.utils.cjs"),o="ink-versions:",i=S.NUMBER_TWENTY,a=e=>`${o}${e||u.DEFAULT_MEMORY_KEY}`,c=e=>{if(!n.isLocalStorageAvailable())return[];try{const t=localStorage.getItem(a(e));if(!t)return[];const r=JSON.parse(t);return Array.isArray(r)?r:[]}catch{return[]}},_=(e,t)=>{if(n.isLocalStorageAvailable())try{localStorage.setItem(a(e),JSON.stringify(t))}catch{return}},E=(e,t,r)=>{const s={id:I.createInkId("ver"),name:new Date().toLocaleString(),html:t,savedAt:Date.now()},l=[s,...c(e)].slice(0,i);return _(e,l),s};exports.VERSION_HISTORY_LIMIT=i;exports.VERSION_STORAGE_PREFIX=o;exports.listVersions=c;exports.saveVersion=E;
@@ -0,0 +1,11 @@
1
+ export declare const VERSION_STORAGE_PREFIX = "ink-versions:";
2
+ export declare const VERSION_HISTORY_LIMIT = 20;
3
+ export interface InkDocumentVersion {
4
+ id: string;
5
+ name: string;
6
+ html: string;
7
+ savedAt: number;
8
+ }
9
+ export declare const listVersions: (memoryKey?: string) => InkDocumentVersion[];
10
+ export declare const saveVersion: (memoryKey: string | undefined, html: string, name?: string) => InkDocumentVersion;
11
+ //# sourceMappingURL=versions.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.utils.d.ts","sourceRoot":"","sources":["../../src/utils/versions.utils.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,qBAAqB,KAAgB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,KAAG,kBAAkB,EAUnE,CAAC;AAWF,eAAO,MAAM,WAAW,GACtB,WAAW,MAAM,GAAG,SAAS,EAC7B,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,kBAUF,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { DEFAULT_MEMORY_KEY as i } from "../constants/generals.const.js";
2
+ import { NUMBER_TWENTY as c } from "../constants/numbers.js";
3
+ import { isLocalStorageAvailable as n } from "./storage.utils.js";
4
+ import { createInkId as l } from "./id.utils.js";
5
+ const m = "ink-versions:", I = c, s = (r) => `${m}${r || i}`, S = (r) => {
6
+ if (!n()) return [];
7
+ try {
8
+ const t = localStorage.getItem(s(r));
9
+ if (!t) return [];
10
+ const e = JSON.parse(t);
11
+ return Array.isArray(e) ? e : [];
12
+ } catch {
13
+ return [];
14
+ }
15
+ }, E = (r, t) => {
16
+ if (n())
17
+ try {
18
+ localStorage.setItem(s(r), JSON.stringify(t));
19
+ } catch {
20
+ return;
21
+ }
22
+ }, O = (r, t, e) => {
23
+ const o = {
24
+ id: l("ver"),
25
+ name: (/* @__PURE__ */ new Date()).toLocaleString(),
26
+ html: t,
27
+ savedAt: Date.now()
28
+ }, a = [o, ...S(r)].slice(0, I);
29
+ return E(r, a), o;
30
+ };
31
+ export {
32
+ I as VERSION_HISTORY_LIMIT,
33
+ m as VERSION_STORAGE_PREFIX,
34
+ S as listVersions,
35
+ O as saveVersion
36
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=versions.utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/versions.utils.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../constants/numbers.cjs"),i=require("../constants/generals.const.cjs");require("../constants/openai.const.cjs");require("react/jsx-runtime");require("./paste.utils.cjs");require("react");require("react-dom");const n=r=>{const e=r.trim();return e?e.split(i.INK_WORD_SPLIT).filter(Boolean).length:t.NUMBER_ZERO};exports.countWords=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../constants/numbers.cjs"),i=require("../constants/generals.const.cjs");require("../constants/openai.const.cjs");require("react/jsx-runtime");require("./paste.utils.cjs");require("./exportDocument.utils.cjs");require("react");require("react-dom");const u=r=>{const e=r.trim();return e?e.split(i.INK_WORD_SPLIT).filter(Boolean).length:t.NUMBER_ZERO};exports.countWords=u;
@@ -3,12 +3,13 @@ import { INK_WORD_SPLIT as i } from "../constants/generals.const.js";
3
3
  import "../constants/openai.const.js";
4
4
  import "react/jsx-runtime";
5
5
  import "./paste.utils.js";
6
+ import "./exportDocument.utils.js";
6
7
  import "react";
7
8
  import "react-dom";
8
- const c = (t) => {
9
+ const u = (t) => {
9
10
  const r = t.trim();
10
11
  return r ? r.split(i).filter(Boolean).length : o;
11
12
  };
12
13
  export {
13
- c as countWords
14
+ u as countWords
14
15
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=(e="Untitled Document",r="<p>Start typing...</p>")=>{const t=Date.now();return{id:`doc-${t}-${Math.random().toString(36).slice(2,7)}`,title:e,content:r,isDirty:!1,createdAt:t,updatedAt:t,tags:[]}},i=(e,r)=>{if(!r.trim())return e;const t=r.toLowerCase();return e.filter(o=>{var n;return o.title.toLowerCase().includes(t)||((n=o.tags)==null?void 0:n.some(s=>s.toLowerCase().includes(t)))})},u=(e,r="updatedAt")=>[...e].sort((t,o)=>r==="title"?t.title.localeCompare(o.title):(o.updatedAt||0)-(t.updatedAt||0));exports.createDefaultDocument=a;exports.filterDocuments=i;exports.sortDocuments=u;
@@ -0,0 +1,5 @@
1
+ import { InkDocument } from '../types/workspace.types';
2
+ export declare const createDefaultDocument: (title?: string, content?: string) => InkDocument;
3
+ export declare const filterDocuments: (documents: InkDocument[], query: string) => InkDocument[];
4
+ export declare const sortDocuments: (documents: InkDocument[], sortBy?: "title" | "updatedAt") => InkDocument[];
5
+ //# sourceMappingURL=workspace.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.utils.d.ts","sourceRoot":"","sources":["../../src/utils/workspace.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,qBAAqB,GAChC,cAA2B,EAC3B,gBAAkC,KACjC,WAWF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,WAAW,WAAW,EAAE,EACxB,OAAO,MAAM,KACZ,WAAW,EAQb,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,WAAW,WAAW,EAAE,EACxB,SAAQ,OAAO,GAAG,WAAyB,KAC1C,WAAW,EAOb,CAAC"}
@@ -0,0 +1,26 @@
1
+ const a = (e = "Untitled Document", r = "<p>Start typing...</p>") => {
2
+ const t = Date.now();
3
+ return {
4
+ id: `doc-${t}-${Math.random().toString(36).slice(2, 7)}`,
5
+ title: e,
6
+ content: r,
7
+ isDirty: !1,
8
+ createdAt: t,
9
+ updatedAt: t,
10
+ tags: []
11
+ };
12
+ }, i = (e, r) => {
13
+ if (!r.trim()) return e;
14
+ const t = r.toLowerCase();
15
+ return e.filter(
16
+ (o) => {
17
+ var n;
18
+ return o.title.toLowerCase().includes(t) || ((n = o.tags) == null ? void 0 : n.some((s) => s.toLowerCase().includes(t)));
19
+ }
20
+ );
21
+ }, c = (e, r = "updatedAt") => [...e].sort((t, o) => r === "title" ? t.title.localeCompare(o.title) : (o.updatedAt || 0) - (t.updatedAt || 0));
22
+ export {
23
+ a as createDefaultDocument,
24
+ i as filterDocuments,
25
+ c as sortDocuments
26
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workspace.utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/workspace.utils.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgedevstack/ink",
3
- "version": "1.1.8",
3
+ "version": "1.2.0",
4
4
  "description": "ForgeStack rich text editor for React — WYSIWYG with tables, track changes, comments, block handles, sign pad, and pluggable Ink AI (BYO LLM). The writing layer of ForgeStack.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",