@forgedevstack/ink 1.1.9 → 1.2.1

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 (247) hide show
  1. package/CHANGELOG.md +16 -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 +1308 -1028
  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.d.ts.map +1 -1
  45. package/dist/components/InkEditor/components/ExcelSheetPanel/ExcelSheetPanel.js +84 -97
  46. package/dist/components/InkEditor/components/FindReplace/FindReplace.cjs +1 -1
  47. package/dist/components/InkEditor/components/FindReplace/FindReplace.js +21 -20
  48. package/dist/components/InkEditor/components/GraphEditModal/GraphEditModal.cjs +1 -1
  49. package/dist/components/InkEditor/components/GraphEditModal/GraphEditModal.js +17 -16
  50. package/dist/components/InkEditor/components/GraphPicker/GraphPicker.cjs +1 -1
  51. package/dist/components/InkEditor/components/GraphPicker/GraphPicker.js +3 -2
  52. package/dist/components/InkEditor/components/HtmlSourcePanel/HtmlSourcePanel.cjs +1 -1
  53. package/dist/components/InkEditor/components/HtmlSourcePanel/HtmlSourcePanel.js +7 -6
  54. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.cjs +1 -0
  55. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.d.ts +8 -0
  56. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.d.ts.map +1 -0
  57. package/dist/components/InkEditor/components/ImageFrame/ImageFrame.js +54 -0
  58. package/dist/components/InkEditor/components/ImageFrame/index.d.ts +3 -0
  59. package/dist/components/InkEditor/components/ImageFrame/index.d.ts.map +1 -0
  60. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.cjs +1 -1
  61. package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.js +11 -10
  62. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.cjs +1 -0
  63. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.d.ts +16 -0
  64. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.d.ts.map +1 -0
  65. package/dist/components/InkEditor/components/MentionMenu/MentionMenu.js +21 -0
  66. package/dist/components/InkEditor/components/MentionMenu/index.d.ts +3 -0
  67. package/dist/components/InkEditor/components/MentionMenu/index.d.ts.map +1 -0
  68. package/dist/components/InkEditor/components/OutlineRail/OutlineRail.cjs +1 -1
  69. package/dist/components/InkEditor/components/OutlineRail/OutlineRail.js +11 -10
  70. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.cjs +1 -1
  71. package/dist/components/InkEditor/components/PresenceStack/PresenceStack.js +3 -2
  72. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.cjs +1 -1
  73. package/dist/components/InkEditor/components/RemoteCursors/RemoteCursors.js +6 -5
  74. package/dist/components/InkEditor/components/SignPad/SignPad.cjs +1 -1
  75. package/dist/components/InkEditor/components/SignPad/SignPad.js +7 -6
  76. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.cjs +1 -1
  77. package/dist/components/InkEditor/components/SlashMenu/SlashMenu.js +7 -6
  78. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.cjs +1 -1
  79. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.const.cjs +1 -1
  80. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.const.js +8 -7
  81. package/dist/components/InkEditor/components/TableSizePicker/TableSizePicker.js +38 -38
  82. package/dist/components/InkEditor/components/ThemePicker/ThemePicker.cjs +1 -1
  83. package/dist/components/InkEditor/components/ThemePicker/ThemePicker.d.ts.map +1 -1
  84. package/dist/components/InkEditor/components/ThemePicker/ThemePicker.js +56 -39
  85. package/dist/components/InkEditor/components/TitleGallery/TitleGallery.cjs +1 -1
  86. package/dist/components/InkEditor/components/TitleGallery/TitleGallery.js +3 -2
  87. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.cjs +1 -1
  88. package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.js +13 -12
  89. package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -1
  90. package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +9 -8
  91. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.cjs +1 -1
  92. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.cjs +1 -1
  93. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.js +9 -8
  94. package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.js +9 -8
  95. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.cjs +1 -1
  96. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.js +19 -18
  97. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.utils.cjs +1 -1
  98. package/dist/components/InkEditor/components/ToolbarDropdown/ToolbarDropdown.utils.js +6 -5
  99. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.cjs +1 -0
  100. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.d.ts +11 -0
  101. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.d.ts.map +1 -0
  102. package/dist/components/InkEditor/components/VersionHistory/VersionHistory.js +22 -0
  103. package/dist/components/InkEditor/components/VersionHistory/index.d.ts +3 -0
  104. package/dist/components/InkEditor/components/VersionHistory/index.d.ts.map +1 -0
  105. package/dist/components/InkEditor/components/index.d.ts +7 -0
  106. package/dist/components/InkEditor/components/index.d.ts.map +1 -1
  107. package/dist/components/InkEditor/helpers/format.utils.cjs +3 -2
  108. package/dist/components/InkEditor/helpers/format.utils.d.ts +1 -0
  109. package/dist/components/InkEditor/helpers/format.utils.d.ts.map +1 -1
  110. package/dist/components/InkEditor/helpers/format.utils.js +106 -84
  111. package/dist/components/InkEditor/helpers/index.d.ts +1 -1
  112. package/dist/components/InkEditor/helpers/index.d.ts.map +1 -1
  113. package/dist/components/InkWorkspace/InkWorkspace.cjs +1 -1
  114. package/dist/components/InkWorkspace/InkWorkspace.d.ts.map +1 -1
  115. package/dist/components/InkWorkspace/InkWorkspace.js +136 -144
  116. package/dist/components/InkWorkspace/hooks/useInkWorkspace.cjs +1 -1
  117. package/dist/components/InkWorkspace/hooks/useInkWorkspace.js +8 -7
  118. package/dist/constants/contextMenu.const.cjs +1 -1
  119. package/dist/constants/contextMenu.const.d.ts +8 -0
  120. package/dist/constants/contextMenu.const.d.ts.map +1 -1
  121. package/dist/constants/contextMenu.const.js +30 -22
  122. package/dist/constants/defaultIcons.cjs +1 -1
  123. package/dist/constants/defaultIcons.js +6 -5
  124. package/dist/constants/defaults.const.cjs +1 -1
  125. package/dist/constants/defaults.const.d.ts.map +1 -1
  126. package/dist/constants/defaults.const.js +150 -138
  127. package/dist/constants/numbers.cjs +1 -1
  128. package/dist/constants/numbers.js +28 -27
  129. package/dist/constants/toolbar.const.cjs +1 -1
  130. package/dist/constants/toolbar.const.d.ts +7 -0
  131. package/dist/constants/toolbar.const.d.ts.map +1 -1
  132. package/dist/constants/toolbar.const.js +16 -9
  133. package/dist/constants/toolbarMenu.const.cjs +1 -1
  134. package/dist/constants/toolbarMenu.const.d.ts.map +1 -1
  135. package/dist/constants/toolbarMenu.const.js +25 -11
  136. package/dist/hooks/useInkCollaboration.cjs +1 -1
  137. package/dist/hooks/useInkCollaboration.js +15 -14
  138. package/dist/hooks/useToolbarOverflow.cjs +1 -1
  139. package/dist/hooks/useToolbarOverflow.js +12 -11
  140. package/dist/index.cjs +1 -1
  141. package/dist/index.js +145 -144
  142. package/dist/plugins/ai/demoProvider.cjs +1 -1
  143. package/dist/plugins/ai/demoProvider.js +3 -2
  144. package/dist/plugins/ai/index.cjs +1 -1
  145. package/dist/plugins/ai/index.js +25 -24
  146. package/dist/plugins/excel/excel.utils.cjs +1 -1
  147. package/dist/plugins/excel/excel.utils.js +17 -16
  148. package/dist/plugins/graph/graph.utils.cjs +1 -1
  149. package/dist/plugins/graph/graph.utils.js +7 -6
  150. package/dist/plugins/theme/inkTheme.cjs +1 -1
  151. package/dist/plugins/theme/inkTheme.js +22 -19
  152. package/dist/plugins/titles/titles.const.cjs +1 -1
  153. package/dist/plugins/titles/titles.const.js +9 -8
  154. package/dist/plugins/titles/titles.utils.cjs +1 -1
  155. package/dist/plugins/titles/titles.utils.js +3 -2
  156. package/dist/styles.css +1 -1
  157. package/dist/types/collab.types.d.ts +0 -1
  158. package/dist/types/collab.types.d.ts.map +1 -1
  159. package/dist/types/features.types.d.ts +1 -1
  160. package/dist/types/features.types.d.ts.map +1 -1
  161. package/dist/types/ink.types.d.ts +1 -3
  162. package/dist/types/ink.types.d.ts.map +1 -1
  163. package/dist/utils/blocks.utils.cjs +1 -1
  164. package/dist/utils/blocks.utils.js +19 -18
  165. package/dist/utils/collab.utils.cjs +1 -1
  166. package/dist/utils/collab.utils.js +7 -6
  167. package/dist/utils/comments.utils.cjs +1 -1
  168. package/dist/utils/comments.utils.d.ts +4 -0
  169. package/dist/utils/comments.utils.d.ts.map +1 -1
  170. package/dist/utils/comments.utils.js +26 -18
  171. package/dist/utils/comments.utils.test.d.ts +2 -0
  172. package/dist/utils/comments.utils.test.d.ts.map +1 -0
  173. package/dist/utils/exportDocument.utils.cjs +2 -0
  174. package/dist/utils/exportDocument.utils.d.ts +16 -0
  175. package/dist/utils/exportDocument.utils.d.ts.map +1 -0
  176. package/dist/utils/exportDocument.utils.js +85 -0
  177. package/dist/utils/exportDocument.utils.test.d.ts +2 -0
  178. package/dist/utils/exportDocument.utils.test.d.ts.map +1 -0
  179. package/dist/utils/formatPainter.utils.cjs +1 -0
  180. package/dist/utils/formatPainter.utils.d.ts +11 -0
  181. package/dist/utils/formatPainter.utils.d.ts.map +1 -0
  182. package/dist/utils/formatPainter.utils.js +20 -0
  183. package/dist/utils/formatPainter.utils.test.d.ts +2 -0
  184. package/dist/utils/formatPainter.utils.test.d.ts.map +1 -0
  185. package/dist/utils/history.utils.cjs +1 -1
  186. package/dist/utils/history.utils.js +3 -2
  187. package/dist/utils/image.utils.cjs +1 -0
  188. package/dist/utils/image.utils.d.ts +14 -0
  189. package/dist/utils/image.utils.d.ts.map +1 -0
  190. package/dist/utils/image.utils.js +33 -0
  191. package/dist/utils/image.utils.test.d.ts +2 -0
  192. package/dist/utils/image.utils.test.d.ts.map +1 -0
  193. package/dist/utils/index.d.ts +10 -3
  194. package/dist/utils/index.d.ts.map +1 -1
  195. package/dist/utils/license.utils.cjs +1 -1
  196. package/dist/utils/license.utils.js +8 -7
  197. package/dist/utils/markdown.utils.cjs +11 -0
  198. package/dist/utils/markdown.utils.d.ts +7 -0
  199. package/dist/utils/markdown.utils.d.ts.map +1 -0
  200. package/dist/utils/markdown.utils.js +87 -0
  201. package/dist/utils/markdown.utils.test.d.ts +2 -0
  202. package/dist/utils/markdown.utils.test.d.ts.map +1 -0
  203. package/dist/utils/mentions.utils.cjs +1 -0
  204. package/dist/utils/mentions.utils.d.ts +13 -0
  205. package/dist/utils/mentions.utils.d.ts.map +1 -0
  206. package/dist/utils/mentions.utils.js +23 -0
  207. package/dist/utils/mentions.utils.test.d.ts +2 -0
  208. package/dist/utils/mentions.utils.test.d.ts.map +1 -0
  209. package/dist/utils/outline.utils.cjs +1 -1
  210. package/dist/utils/outline.utils.js +9 -8
  211. package/dist/utils/paste.utils.cjs +1 -1
  212. package/dist/utils/paste.utils.d.ts +2 -0
  213. package/dist/utils/paste.utils.d.ts.map +1 -1
  214. package/dist/utils/paste.utils.js +53 -19
  215. package/dist/utils/paste.utils.test.d.ts +2 -0
  216. package/dist/utils/paste.utils.test.d.ts.map +1 -0
  217. package/dist/utils/premium.utils.cjs +1 -1
  218. package/dist/utils/premium.utils.js +12 -11
  219. package/dist/utils/selection.utils.cjs +1 -1
  220. package/dist/utils/selection.utils.js +3 -2
  221. package/dist/utils/slash.utils.cjs +1 -1
  222. package/dist/utils/slash.utils.js +10 -9
  223. package/dist/utils/table.utils.cjs +1 -1
  224. package/dist/utils/table.utils.d.ts +8 -0
  225. package/dist/utils/table.utils.d.ts.map +1 -1
  226. package/dist/utils/table.utils.js +78 -54
  227. package/dist/utils/toolbarStorage.utils.cjs +1 -1
  228. package/dist/utils/toolbarStorage.utils.js +15 -14
  229. package/dist/utils/trackChanges.utils.cjs +1 -1
  230. package/dist/utils/trackChanges.utils.js +9 -8
  231. package/dist/utils/typo.utils.cjs +1 -1
  232. package/dist/utils/typo.utils.js +8 -7
  233. package/dist/utils/versions.utils.cjs +1 -0
  234. package/dist/utils/versions.utils.d.ts +11 -0
  235. package/dist/utils/versions.utils.d.ts.map +1 -0
  236. package/dist/utils/versions.utils.js +36 -0
  237. package/dist/utils/versions.utils.test.d.ts +2 -0
  238. package/dist/utils/versions.utils.test.d.ts.map +1 -0
  239. package/dist/utils/words.utils.cjs +1 -1
  240. package/dist/utils/words.utils.js +3 -2
  241. package/package.json +1 -1
  242. package/dist/components/InkEditor/components/ThemePicker/hooks/index.d.ts +0 -3
  243. package/dist/components/InkEditor/components/ThemePicker/hooks/index.d.ts.map +0 -1
  244. package/dist/components/InkEditor/components/ThemePicker/hooks/useThemePickerMenu.cjs +0 -1
  245. package/dist/components/InkEditor/components/ThemePicker/hooks/useThemePickerMenu.d.ts +0 -13
  246. package/dist/components/InkEditor/components/ThemePicker/hooks/useThemePickerMenu.d.ts.map +0 -1
  247. package/dist/components/InkEditor/components/ThemePicker/hooks/useThemePickerMenu.js +0 -39
package/dist/index.js CHANGED
@@ -1,153 +1,154 @@
1
- import { InkEditor as I } from "./components/InkEditor/InkEditor.js";
2
- import { InkTabs as m } from "./components/InkTabs/InkTabs.js";
3
- import { InkWorkspace as T } from "./components/InkWorkspace/InkWorkspace.js";
1
+ import { InkEditor as _ } from "./components/InkEditor/InkEditor.js";
2
+ import { InkTabs as E } from "./components/InkTabs/InkTabs.js";
3
+ import { InkWorkspace as p } from "./components/InkWorkspace/InkWorkspace.js";
4
4
  import "react";
5
- import { TOOLBAR_STORAGE_KEY_HIDDEN as l, TOOLBAR_STORAGE_KEY_ITEMS as O } from "./constants/toolbarMenu.const.js";
6
- import { COLOR_MODE_DARK as A, COLOR_MODE_LIGHT as a, COLOR_MODE_SYSTEM as n, INK_DEFAULT_COLOR_MODE as x } from "./constants/colorMode.const.js";
7
- import { TYPO_DICTIONARY as N } from "./constants/typos.const.js";
8
- import { INK_FONT_OPTIONS as D } from "./constants/fonts.const.js";
9
- import { INK_LIST_OPTIONS as P } from "./constants/lists.const.js";
10
- import { INK_FIND_REPLACE_OPTIONS as s } from "./constants/findReplaceMenu.const.js";
11
- import { INK_CHROME_TOOLBAR as c, INK_COLLAB_TOOLBAR as C, INK_DEFAULT_FEATURES as u, INK_DEFAULT_TOOLBAR as M, INK_HEADING_OPTIONS as b, INK_QUICK_ACTIONS as k, INK_SIMPLE_TOOLBAR as d, INK_SLASH_COMMANDS as H, INK_TRANSLATE_LANGUAGES as G } from "./constants/defaults.const.js";
12
- import { INK_AI_DEMO_MODEL_ID as U, INK_AI_DEMO_PROVIDER_ID as h, INK_AI_MODEL_CATALOG as B } from "./constants/aiModels.const.js";
13
- import { INK_AI_INK_SERVER_PROVIDER_ID as v, INK_AI_OPENAI_MODEL_GPT_4_1 as y, INK_AI_OPENAI_MODEL_GPT_4_1_MINI as V, INK_AI_OPENAI_PROVIDER_ID as Y, INK_AI_OPENAI_PROVIDER_NAME as w } from "./constants/openai.const.js";
14
- import { INK_PREMIUM_FEATURES as W, INK_PREMIUM_LICENSE_PREFIX as X } from "./constants/premium.const.js";
15
- import { INK_DEFAULT_ICONS as j } from "./constants/defaultIcons.js";
16
- import { Box as J } from "./common-components/Box/Box.js";
17
- import { Button as $ } from "./common-components/Button/Button.js";
18
- import { Canvas as oe } from "./common-components/Canvas/Canvas.js";
19
- import { Field as te } from "./common-components/Field/Field.js";
20
- import { ContextMenu as _e } from "./common-components/ContextMenu/ContextMenu.js";
21
- import { UndoIcon as Ee } from "./common-components/icons/UndoIcon.js";
22
- import { RedoIcon as pe } from "./common-components/icons/RedoIcon.js";
5
+ import { TOOLBAR_STORAGE_KEY_HIDDEN as i, TOOLBAR_STORAGE_KEY_ITEMS as O } from "./constants/toolbarMenu.const.js";
6
+ import { COLOR_MODE_DARK as a, COLOR_MODE_LIGHT as n, COLOR_MODE_SYSTEM as x, INK_DEFAULT_COLOR_MODE as f } from "./constants/colorMode.const.js";
7
+ import { TYPO_DICTIONARY as R } from "./constants/typos.const.js";
8
+ import { INK_FONT_OPTIONS as L } from "./constants/fonts.const.js";
9
+ import { INK_LIST_OPTIONS as S } from "./constants/lists.const.js";
10
+ import { INK_FIND_REPLACE_OPTIONS as K } from "./constants/findReplaceMenu.const.js";
11
+ import { INK_CHROME_TOOLBAR as C, INK_COLLAB_TOOLBAR as u, INK_DEFAULT_FEATURES as M, INK_DEFAULT_TOOLBAR as b, INK_HEADING_OPTIONS as k, INK_QUICK_ACTIONS as d, INK_SIMPLE_TOOLBAR as H, INK_SLASH_COMMANDS as G, INK_TRANSLATE_LANGUAGES as F } from "./constants/defaults.const.js";
12
+ import { INK_AI_DEMO_MODEL_ID as h, INK_AI_DEMO_PROVIDER_ID as B, INK_AI_MODEL_CATALOG as g } from "./constants/aiModels.const.js";
13
+ import { INK_AI_INK_SERVER_PROVIDER_ID as y, INK_AI_OPENAI_MODEL_GPT_4_1 as V, INK_AI_OPENAI_MODEL_GPT_4_1_MINI as Y, INK_AI_OPENAI_PROVIDER_ID as w, INK_AI_OPENAI_PROVIDER_NAME as z } from "./constants/openai.const.js";
14
+ import { INK_PREMIUM_FEATURES as X, INK_PREMIUM_LICENSE_PREFIX as Q } from "./constants/premium.const.js";
15
+ import { INK_DEFAULT_ICONS as q } from "./constants/defaultIcons.js";
16
+ import { Box as Z } from "./common-components/Box/Box.js";
17
+ import { Button as ee } from "./common-components/Button/Button.js";
18
+ import { Canvas as re } from "./common-components/Canvas/Canvas.js";
19
+ import { Field as Ie } from "./common-components/Field/Field.js";
20
+ import { ContextMenu as me } from "./common-components/ContextMenu/ContextMenu.js";
21
+ import { UndoIcon as Te } from "./common-components/icons/UndoIcon.js";
22
+ import { RedoIcon as le } from "./common-components/icons/RedoIcon.js";
23
23
  import { GripIcon as Oe } from "./common-components/icons/GripIcon.js";
24
24
  import "react/jsx-runtime";
25
- import { cn as Ae } from "./utils/cn.utils.js";
26
- import { applyTypoAutoFix as ne } from "./utils/typo.utils.js";
27
- import { createInkId as fe } from "./utils/id.utils.js";
28
- import { buildTableHtml as Re, deleteTableColumn as De, deleteTableRow as Le, getTableCellFromSelection as Pe, insertTableColumn as Se, insertTableRow as se, toggleTableHeaderRow as Ke } from "./utils/table.utils.js";
29
- import { createTrackChange as Ce } from "./utils/trackChanges.utils.js";
30
- import { createCommentThread as Me } from "./utils/comments.utils.js";
31
- import { InkHistoryStack as ke } from "./utils/history.utils.js";
32
- import { hasInkPremiumFeature as He, isInkPremiumLicenseKey as Ge, resolveInkPremium as Fe, themeTokensToStyle as Ue } from "./utils/premium.utils.js";
33
- import { mintInkPremiumLicenseKey as Be } from "./utils/license.utils.js";
34
- import { sanitizePastedHtml as ve } from "./utils/paste.utils.js";
35
- import { captureSelectionInRoot as Ve, restoreSelectionInRoot as Ye, withPreservedSelection as we } from "./utils/selection.utils.js";
36
- import { buildVisibleToolbarItems as We, listCustomizableToolbarOptions as Xe, normalizeToolbarItems as Qe } from "./utils/toolbarStorage.utils.js";
37
- import { createDefaultCollaborator as qe, filterActiveCollaborators as Je, getCollaboratorInitials as Ze } from "./utils/collab.utils.js";
38
- import { createDefaultDocument as eo, filterDocuments as oo, sortDocuments as ro } from "./utils/workspace.utils.js";
39
- import { createInkAiPlugin as Io, inkAi as _o } from "./plugins/ai/aiPlugin.js";
40
- import { createDemoAiProvider as Eo } from "./plugins/ai/demoProvider.js";
41
- import { createOpenAiProvider as po } from "./plugins/ai/openaiProvider.js";
25
+ import { cn as ae } from "./utils/cn.utils.js";
26
+ import { applyTypoAutoFix as xe } from "./utils/typo.utils.js";
27
+ import { createInkId as Ne } from "./utils/id.utils.js";
28
+ import { buildTableHtml as De, deleteTableColumn as Le, deleteTableRow as Pe, getTableCellFromSelection as Se, insertTableColumn as se, insertTableRow as Ke, toggleTableHeaderRow as ce } from "./utils/table.utils.js";
29
+ import { createTrackChange as ue } from "./utils/trackChanges.utils.js";
30
+ import { createCommentThread as be } from "./utils/comments.utils.js";
31
+ import { InkHistoryStack as de } from "./utils/history.utils.js";
32
+ import { hasInkPremiumFeature as Ge, isInkPremiumLicenseKey as Fe, resolveInkPremium as Ue, themeTokensToStyle as he } from "./utils/premium.utils.js";
33
+ import { mintInkPremiumLicenseKey as ge } from "./utils/license.utils.js";
34
+ import { sanitizePastedHtml as ye } from "./utils/paste.utils.js";
35
+ import "./utils/exportDocument.utils.js";
36
+ import { captureSelectionInRoot as Ye, restoreSelectionInRoot as we, withPreservedSelection as ze } from "./utils/selection.utils.js";
37
+ import { buildVisibleToolbarItems as Xe, listCustomizableToolbarOptions as Qe, normalizeToolbarItems as je } from "./utils/toolbarStorage.utils.js";
38
+ import { createDefaultCollaborator as Je, filterActiveCollaborators as Ze, getCollaboratorInitials as $e } from "./utils/collab.utils.js";
39
+ import { createDefaultDocument as oo, filterDocuments as ro, sortDocuments as to } from "./utils/workspace.utils.js";
40
+ import { createInkAiPlugin as _o, inkAi as mo } from "./plugins/ai/aiPlugin.js";
41
+ import { createDemoAiProvider as To } from "./plugins/ai/demoProvider.js";
42
+ import { createOpenAiProvider as lo } from "./plugins/ai/openaiProvider.js";
42
43
  import { createInkServerAiProvider as Oo } from "./plugins/ai/inkServerProvider.js";
43
- import { createInkPluginHost as Ao, inkPlugins as ao } from "./plugins/host/inkPlugins.js";
44
- import { TITLE_PREVIEW_TEXT as xo, TITLE_STYLE_DEFAULT as fo, TITLE_STYLE_IDS as No } from "./plugins/titles/titles.const.js";
45
- import { buildTitleHtml as Do } from "./plugins/titles/titles.utils.js";
46
- import { CSV_ACCEPT as Po, createEmptyExcelGrid as So, excelGridToTableHtml as so, parseCsvText as Ko, setExcelCell as co } from "./plugins/excel/excel.utils.js";
47
- import { GRAPH_KINDS as uo, GRAPH_KIND_DEFAULT as Mo, GRAPH_KIND_LABELS as bo, GRAPH_SAMPLE as ko } from "./plugins/graph/graph.const.js";
48
- import { buildGraphHtml as Go, parseGraphColors as Fo } from "./plugins/graph/graph.utils.js";
49
- import { INK_THEMES as ho, THEME_DEFAULT as Bo } from "./plugins/theme/theme.const.js";
50
- import { applyInkTheme as vo, createInkThemePlugin as yo, inkTheme as Vo } from "./plugins/theme/inkTheme.js";
51
- import { useInkCollaboration as wo } from "./hooks/useInkCollaboration.js";
44
+ import { createInkPluginHost as ao, inkPlugins as no } from "./plugins/host/inkPlugins.js";
45
+ import { TITLE_PREVIEW_TEXT as fo, TITLE_STYLE_DEFAULT as No, TITLE_STYLE_IDS as Ro } from "./plugins/titles/titles.const.js";
46
+ import { buildTitleHtml as Lo } from "./plugins/titles/titles.utils.js";
47
+ import { CSV_ACCEPT as So, createEmptyExcelGrid as so, excelGridToTableHtml as Ko, parseCsvText as co, setExcelCell as Co } from "./plugins/excel/excel.utils.js";
48
+ import { GRAPH_KINDS as Mo, GRAPH_KIND_DEFAULT as bo, GRAPH_KIND_LABELS as ko, GRAPH_SAMPLE as Ho } from "./plugins/graph/graph.const.js";
49
+ import { buildGraphHtml as Fo, parseGraphColors as Uo } from "./plugins/graph/graph.utils.js";
50
+ import { INK_THEMES as Bo, THEME_DEFAULT as go } from "./plugins/theme/theme.const.js";
51
+ import { applyInkTheme as yo, createInkThemePlugin as Vo, inkTheme as Yo } from "./plugins/theme/inkTheme.js";
52
+ import { useInkCollaboration as zo } from "./hooks/useInkCollaboration.js";
52
53
  export {
53
- J as Box,
54
- $ as Button,
55
- A as COLOR_MODE_DARK,
56
- a as COLOR_MODE_LIGHT,
57
- n as COLOR_MODE_SYSTEM,
58
- Po as CSV_ACCEPT,
59
- oe as Canvas,
60
- _e as ContextMenu,
61
- te as Field,
62
- uo as GRAPH_KINDS,
63
- Mo as GRAPH_KIND_DEFAULT,
64
- bo as GRAPH_KIND_LABELS,
65
- ko as GRAPH_SAMPLE,
54
+ Z as Box,
55
+ ee as Button,
56
+ a as COLOR_MODE_DARK,
57
+ n as COLOR_MODE_LIGHT,
58
+ x as COLOR_MODE_SYSTEM,
59
+ So as CSV_ACCEPT,
60
+ re as Canvas,
61
+ me as ContextMenu,
62
+ Ie as Field,
63
+ Mo as GRAPH_KINDS,
64
+ bo as GRAPH_KIND_DEFAULT,
65
+ ko as GRAPH_KIND_LABELS,
66
+ Ho as GRAPH_SAMPLE,
66
67
  Oe as GripIcon,
67
- U as INK_AI_DEMO_MODEL_ID,
68
- h as INK_AI_DEMO_PROVIDER_ID,
69
- v as INK_AI_INK_SERVER_PROVIDER_ID,
70
- B as INK_AI_MODEL_CATALOG,
71
- y as INK_AI_OPENAI_MODEL_GPT_4_1,
72
- V as INK_AI_OPENAI_MODEL_GPT_4_1_MINI,
73
- Y as INK_AI_OPENAI_PROVIDER_ID,
74
- w as INK_AI_OPENAI_PROVIDER_NAME,
75
- c as INK_CHROME_TOOLBAR,
76
- C as INK_COLLAB_TOOLBAR,
77
- x as INK_DEFAULT_COLOR_MODE,
78
- u as INK_DEFAULT_FEATURES,
79
- j as INK_DEFAULT_ICONS,
80
- M as INK_DEFAULT_TOOLBAR,
81
- s as INK_FIND_REPLACE_OPTIONS,
82
- D as INK_FONT_OPTIONS,
83
- b as INK_HEADING_OPTIONS,
84
- P as INK_LIST_OPTIONS,
85
- W as INK_PREMIUM_FEATURES,
86
- X as INK_PREMIUM_LICENSE_PREFIX,
87
- k as INK_QUICK_ACTIONS,
88
- d as INK_SIMPLE_TOOLBAR,
89
- H as INK_SLASH_COMMANDS,
90
- ho as INK_THEMES,
91
- G as INK_TRANSLATE_LANGUAGES,
92
- I as InkEditor,
93
- ke as InkHistoryStack,
94
- m as InkTabs,
95
- T as InkWorkspace,
96
- pe as RedoIcon,
97
- Bo as THEME_DEFAULT,
98
- xo as TITLE_PREVIEW_TEXT,
99
- fo as TITLE_STYLE_DEFAULT,
100
- No as TITLE_STYLE_IDS,
101
- l as TOOLBAR_STORAGE_KEY_HIDDEN,
68
+ h as INK_AI_DEMO_MODEL_ID,
69
+ B as INK_AI_DEMO_PROVIDER_ID,
70
+ y as INK_AI_INK_SERVER_PROVIDER_ID,
71
+ g as INK_AI_MODEL_CATALOG,
72
+ V as INK_AI_OPENAI_MODEL_GPT_4_1,
73
+ Y as INK_AI_OPENAI_MODEL_GPT_4_1_MINI,
74
+ w as INK_AI_OPENAI_PROVIDER_ID,
75
+ z as INK_AI_OPENAI_PROVIDER_NAME,
76
+ C as INK_CHROME_TOOLBAR,
77
+ u as INK_COLLAB_TOOLBAR,
78
+ f as INK_DEFAULT_COLOR_MODE,
79
+ M as INK_DEFAULT_FEATURES,
80
+ q as INK_DEFAULT_ICONS,
81
+ b as INK_DEFAULT_TOOLBAR,
82
+ K as INK_FIND_REPLACE_OPTIONS,
83
+ L as INK_FONT_OPTIONS,
84
+ k as INK_HEADING_OPTIONS,
85
+ S as INK_LIST_OPTIONS,
86
+ X as INK_PREMIUM_FEATURES,
87
+ Q as INK_PREMIUM_LICENSE_PREFIX,
88
+ d as INK_QUICK_ACTIONS,
89
+ H as INK_SIMPLE_TOOLBAR,
90
+ G as INK_SLASH_COMMANDS,
91
+ Bo as INK_THEMES,
92
+ F as INK_TRANSLATE_LANGUAGES,
93
+ _ as InkEditor,
94
+ de as InkHistoryStack,
95
+ E as InkTabs,
96
+ p as InkWorkspace,
97
+ le as RedoIcon,
98
+ go as THEME_DEFAULT,
99
+ fo as TITLE_PREVIEW_TEXT,
100
+ No as TITLE_STYLE_DEFAULT,
101
+ Ro as TITLE_STYLE_IDS,
102
+ i as TOOLBAR_STORAGE_KEY_HIDDEN,
102
103
  O as TOOLBAR_STORAGE_KEY_ITEMS,
103
- N as TYPO_DICTIONARY,
104
- Ee as UndoIcon,
105
- vo as applyInkTheme,
106
- ne as applyTypoAutoFix,
107
- Go as buildGraphHtml,
108
- Re as buildTableHtml,
109
- Do as buildTitleHtml,
110
- We as buildVisibleToolbarItems,
111
- Ve as captureSelectionInRoot,
112
- Ae as cn,
113
- Me as createCommentThread,
114
- qe as createDefaultCollaborator,
115
- eo as createDefaultDocument,
116
- Eo as createDemoAiProvider,
117
- So as createEmptyExcelGrid,
118
- Io as createInkAiPlugin,
119
- fe as createInkId,
120
- Ao as createInkPluginHost,
104
+ R as TYPO_DICTIONARY,
105
+ Te as UndoIcon,
106
+ yo as applyInkTheme,
107
+ xe as applyTypoAutoFix,
108
+ Fo as buildGraphHtml,
109
+ De as buildTableHtml,
110
+ Lo as buildTitleHtml,
111
+ Xe as buildVisibleToolbarItems,
112
+ Ye as captureSelectionInRoot,
113
+ ae as cn,
114
+ be as createCommentThread,
115
+ Je as createDefaultCollaborator,
116
+ oo as createDefaultDocument,
117
+ To as createDemoAiProvider,
118
+ so as createEmptyExcelGrid,
119
+ _o as createInkAiPlugin,
120
+ Ne as createInkId,
121
+ ao as createInkPluginHost,
121
122
  Oo as createInkServerAiProvider,
122
- yo as createInkThemePlugin,
123
- po as createOpenAiProvider,
124
- Ce as createTrackChange,
125
- De as deleteTableColumn,
126
- Le as deleteTableRow,
127
- so as excelGridToTableHtml,
128
- Je as filterActiveCollaborators,
129
- oo as filterDocuments,
130
- Ze as getCollaboratorInitials,
131
- Pe as getTableCellFromSelection,
132
- He as hasInkPremiumFeature,
133
- _o as inkAi,
134
- ao as inkPlugins,
135
- Vo as inkTheme,
136
- Se as insertTableColumn,
137
- se as insertTableRow,
138
- Ge as isInkPremiumLicenseKey,
139
- Xe as listCustomizableToolbarOptions,
140
- Be as mintInkPremiumLicenseKey,
141
- Qe as normalizeToolbarItems,
142
- Ko as parseCsvText,
143
- Fo as parseGraphColors,
144
- Fe as resolveInkPremium,
145
- Ye as restoreSelectionInRoot,
146
- ve as sanitizePastedHtml,
147
- co as setExcelCell,
148
- ro as sortDocuments,
149
- Ue as themeTokensToStyle,
150
- Ke as toggleTableHeaderRow,
151
- wo as useInkCollaboration,
152
- we as withPreservedSelection
123
+ Vo as createInkThemePlugin,
124
+ lo as createOpenAiProvider,
125
+ ue as createTrackChange,
126
+ Le as deleteTableColumn,
127
+ Pe as deleteTableRow,
128
+ Ko as excelGridToTableHtml,
129
+ Ze as filterActiveCollaborators,
130
+ ro as filterDocuments,
131
+ $e as getCollaboratorInitials,
132
+ Se as getTableCellFromSelection,
133
+ Ge as hasInkPremiumFeature,
134
+ mo as inkAi,
135
+ no as inkPlugins,
136
+ Yo as inkTheme,
137
+ se as insertTableColumn,
138
+ Ke as insertTableRow,
139
+ Fe as isInkPremiumLicenseKey,
140
+ Qe as listCustomizableToolbarOptions,
141
+ ge as mintInkPremiumLicenseKey,
142
+ je as normalizeToolbarItems,
143
+ co as parseCsvText,
144
+ Uo as parseGraphColors,
145
+ Ue as resolveInkPremium,
146
+ we as restoreSelectionInRoot,
147
+ ye as sanitizePastedHtml,
148
+ Co as setExcelCell,
149
+ to as sortDocuments,
150
+ he as themeTokensToStyle,
151
+ ce as toggleTableHeaderRow,
152
+ zo as useInkCollaboration,
153
+ ze as withPreservedSelection
153
154
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../constants/numbers.cjs"),o=require("../../constants/aiModels.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");const n=require("../../utils/id.utils.cjs");require("../../utils/paste.utils.cjs");require("react");require("react-dom");const g=t=>new Promise(r=>{window.setTimeout(r,t)}),m=t=>t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim(),s=t=>`<p>${t}</p>`,D=async t=>{var l,d;await g(p.INK_DEMO_AI_DELAY_MS);const r=t.selectionHtml||t.html||"",i=m(r)||"your content",c=((l=t.prompt)==null?void 0:l.trim())||"";switch(t.capability){case"chat":{const e=c?`Demo assistant: regarding “${c.slice(0,120)}”, here’s a concise take based on the current document (${i.slice(0,80)}…). Connect your own LLM provider for production answers.`:`Demo assistant ready. Ask a question about: ${i.slice(0,100)}…`;return{text:e,turns:[{id:n.createInkId("turn"),role:"assistant",content:e,timestamp:Date.now(),capability:"chat"}],meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}}case"summarize":{const e=s(`Summary (demo): ${i.slice(0,160)}${i.length>160?"…":""}`);return{html:e,text:m(e),diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo summary of the selection"}}}case"expand":{const e=s(`${i} Additionally, this demo expansion adds clarifying context, examples, and a short closing sentence so you can preview apply/reject flows.`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo expansion"}}}case"tone":{const e=s(`In a clearer, more professional tone: ${i}`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo tone adjustment"}}}case"translate":{const e=((d=t.options)==null?void 0:d.language)||"Spanish",a=s(`[${e} demo] ${i}`);return{html:a,text:m(a),diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:a,summary:`Demo translation to ${e}`}}}case"review":return{text:"Demo review complete",reviewSuggestions:[{id:n.createInkId("rev"),message:"Consider shortening long sentences for clarity.",severity:"info",originalText:i.slice(0,40),suggestedText:i.slice(0,40)},{id:n.createInkId("rev"),message:"Possible passive voice — prefer active constructions.",severity:"warning",originalText:"was processed",suggestedText:"the team processed"}]};case"autocomplete":{const e=(c||i).trim(),u=[{match:/\bhi[,]?\s*how$/i,completion:" are you?"},{match:/\bhow are$/i,completion:" you today?"},{match:/\bthank$/i,completion:" you!"},{match:/\bplease$/i,completion:" review this draft."},{match:/\blet'?s$/i,completion:" continue with the next section."},{match:/\bin conclusion$/i,completion:", the key takeaway is clear."}].find(I=>I.match.test(e));return u?{text:u.completion,meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}:e.length?{text:" — continue with a clear next phrase.",meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}:{text:"Start typing to see a demo completion.",meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}}case"suggestDiff":case"quickAction":case"rewrite":default:{const e=s(`Rewritten (demo): ${i}`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo rewrite suggestion"}}}}},_=()=>({id:o.INK_AI_DEMO_PROVIDER_ID,name:"Ink Demo Provider",models:[{id:o.INK_AI_DEMO_MODEL_ID,provider:"demo",label:"Ink Demo (local)",family:"Demo"}],run:D});exports.createDemoAiProvider=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../constants/numbers.cjs"),o=require("../../constants/aiModels.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");const n=require("../../utils/id.utils.cjs");require("../../utils/paste.utils.cjs");require("../../utils/exportDocument.utils.cjs");require("react");require("react-dom");const g=t=>new Promise(r=>{window.setTimeout(r,t)}),m=t=>t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim(),s=t=>`<p>${t}</p>`,D=async t=>{var l,d;await g(p.INK_DEMO_AI_DELAY_MS);const r=t.selectionHtml||t.html||"",i=m(r)||"your content",c=((l=t.prompt)==null?void 0:l.trim())||"";switch(t.capability){case"chat":{const e=c?`Demo assistant: regarding “${c.slice(0,120)}”, here’s a concise take based on the current document (${i.slice(0,80)}…). Connect your own LLM provider for production answers.`:`Demo assistant ready. Ask a question about: ${i.slice(0,100)}…`;return{text:e,turns:[{id:n.createInkId("turn"),role:"assistant",content:e,timestamp:Date.now(),capability:"chat"}],meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}}case"summarize":{const e=s(`Summary (demo): ${i.slice(0,160)}${i.length>160?"…":""}`);return{html:e,text:m(e),diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo summary of the selection"}}}case"expand":{const e=s(`${i} Additionally, this demo expansion adds clarifying context, examples, and a short closing sentence so you can preview apply/reject flows.`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo expansion"}}}case"tone":{const e=s(`In a clearer, more professional tone: ${i}`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo tone adjustment"}}}case"translate":{const e=((d=t.options)==null?void 0:d.language)||"Spanish",a=s(`[${e} demo] ${i}`);return{html:a,text:m(a),diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:a,summary:`Demo translation to ${e}`}}}case"review":return{text:"Demo review complete",reviewSuggestions:[{id:n.createInkId("rev"),message:"Consider shortening long sentences for clarity.",severity:"info",originalText:i.slice(0,40),suggestedText:i.slice(0,40)},{id:n.createInkId("rev"),message:"Possible passive voice — prefer active constructions.",severity:"warning",originalText:"was processed",suggestedText:"the team processed"}]};case"autocomplete":{const e=(c||i).trim(),u=[{match:/\bhi[,]?\s*how$/i,completion:" are you?"},{match:/\bhow are$/i,completion:" you today?"},{match:/\bthank$/i,completion:" you!"},{match:/\bplease$/i,completion:" review this draft."},{match:/\blet'?s$/i,completion:" continue with the next section."},{match:/\bin conclusion$/i,completion:", the key takeaway is clear."}].find(I=>I.match.test(e));return u?{text:u.completion,meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}:e.length?{text:" — continue with a clear next phrase.",meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}:{text:"Start typing to see a demo completion.",meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}}case"suggestDiff":case"quickAction":case"rewrite":default:{const e=s(`Rewritten (demo): ${i}`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo rewrite suggestion"}}}}},_=()=>({id:o.INK_AI_DEMO_PROVIDER_ID,name:"Ink Demo Provider",models:[{id:o.INK_AI_DEMO_MODEL_ID,provider:"demo",label:"Ink Demo (local)",family:"Demo"}],run:D});exports.createDemoAiProvider=_;
@@ -4,6 +4,7 @@ import "../../constants/openai.const.js";
4
4
  import "react/jsx-runtime";
5
5
  import { createInkId as s } from "../../utils/id.utils.js";
6
6
  import "../../utils/paste.utils.js";
7
+ import "../../utils/exportDocument.utils.js";
7
8
  import "react";
8
9
  import "react-dom";
9
10
  const h = (t) => new Promise((i) => {
@@ -137,7 +138,7 @@ const h = (t) => new Promise((i) => {
137
138
  };
138
139
  }
139
140
  }
140
- }, _ = () => ({
141
+ }, k = () => ({
141
142
  id: a,
142
143
  name: "Ink Demo Provider",
143
144
  models: [
@@ -151,5 +152,5 @@ const h = (t) => new Promise((i) => {
151
152
  run: y
152
153
  });
153
154
  export {
154
- _ as createDemoAiProvider
155
+ k as createDemoAiProvider
155
156
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./aiPlugin.cjs"),o=require("./demoProvider.cjs"),i=require("./openaiProvider.cjs"),t=require("./inkServerProvider.cjs"),e=require("./stubs.cjs"),_=require("../../constants/aiModels.const.cjs"),r=require("../../constants/openai.const.cjs");require("react/jsx-runtime");require("../../utils/paste.utils.cjs");require("react");require("react-dom");exports.createInkAiPlugin=I.createInkAiPlugin;exports.inkAi=I.inkAi;exports.createDemoAiProvider=o.createDemoAiProvider;exports.createOpenAiProvider=i.createOpenAiProvider;exports.createInkServerAiProvider=t.createInkServerAiProvider;exports.createNoopCostControl=e.createNoopCostControl;exports.createNoopExternalKnowledge=e.createNoopExternalKnowledge;exports.createNoopModeration=e.createNoopModeration;exports.createNoopQualityEval=e.createNoopQualityEval;exports.createOpenPermissions=e.createOpenPermissions;exports.INK_AI_DEMO_MODEL_ID=_.INK_AI_DEMO_MODEL_ID;exports.INK_AI_DEMO_PROVIDER_ID=_.INK_AI_DEMO_PROVIDER_ID;exports.INK_AI_MODEL_CATALOG=_.INK_AI_MODEL_CATALOG;exports.INK_AI_INK_SERVER_PROVIDER_ID=r.INK_AI_INK_SERVER_PROVIDER_ID;exports.INK_AI_OPENAI_MODEL_GPT_4_1=r.INK_AI_OPENAI_MODEL_GPT_4_1;exports.INK_AI_OPENAI_MODEL_GPT_4_1_MINI=r.INK_AI_OPENAI_MODEL_GPT_4_1_MINI;exports.INK_AI_OPENAI_PROVIDER_ID=r.INK_AI_OPENAI_PROVIDER_ID;exports.INK_AI_OPENAI_PROVIDER_NAME=r.INK_AI_OPENAI_PROVIDER_NAME;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./aiPlugin.cjs"),o=require("./demoProvider.cjs"),i=require("./openaiProvider.cjs"),t=require("./inkServerProvider.cjs"),e=require("./stubs.cjs"),_=require("../../constants/aiModels.const.cjs"),r=require("../../constants/openai.const.cjs");require("react/jsx-runtime");require("../../utils/paste.utils.cjs");require("../../utils/exportDocument.utils.cjs");require("react");require("react-dom");exports.createInkAiPlugin=I.createInkAiPlugin;exports.inkAi=I.inkAi;exports.createDemoAiProvider=o.createDemoAiProvider;exports.createOpenAiProvider=i.createOpenAiProvider;exports.createInkServerAiProvider=t.createInkServerAiProvider;exports.createNoopCostControl=e.createNoopCostControl;exports.createNoopExternalKnowledge=e.createNoopExternalKnowledge;exports.createNoopModeration=e.createNoopModeration;exports.createNoopQualityEval=e.createNoopQualityEval;exports.createOpenPermissions=e.createOpenPermissions;exports.INK_AI_DEMO_MODEL_ID=_.INK_AI_DEMO_MODEL_ID;exports.INK_AI_DEMO_PROVIDER_ID=_.INK_AI_DEMO_PROVIDER_ID;exports.INK_AI_MODEL_CATALOG=_.INK_AI_MODEL_CATALOG;exports.INK_AI_INK_SERVER_PROVIDER_ID=r.INK_AI_INK_SERVER_PROVIDER_ID;exports.INK_AI_OPENAI_MODEL_GPT_4_1=r.INK_AI_OPENAI_MODEL_GPT_4_1;exports.INK_AI_OPENAI_MODEL_GPT_4_1_MINI=r.INK_AI_OPENAI_MODEL_GPT_4_1_MINI;exports.INK_AI_OPENAI_PROVIDER_ID=r.INK_AI_OPENAI_PROVIDER_ID;exports.INK_AI_OPENAI_PROVIDER_NAME=r.INK_AI_OPENAI_PROVIDER_NAME;
@@ -1,31 +1,32 @@
1
- import { createInkAiPlugin as A, inkAi as E } from "./aiPlugin.js";
2
- import { createDemoAiProvider as i } from "./demoProvider.js";
3
- import { createOpenAiProvider as O } from "./openaiProvider.js";
4
- import { createInkServerAiProvider as P } from "./inkServerProvider.js";
5
- import { createNoopCostControl as m, createNoopExternalKnowledge as n, createNoopModeration as K, createNoopQualityEval as R, createOpenPermissions as c } from "./stubs.js";
6
- import { INK_AI_DEMO_MODEL_ID as x, INK_AI_DEMO_PROVIDER_ID as f, INK_AI_MODEL_CATALOG as l } from "../../constants/aiModels.const.js";
7
- import { INK_AI_INK_SERVER_PROVIDER_ID as v, INK_AI_OPENAI_MODEL_GPT_4_1 as L, INK_AI_OPENAI_MODEL_GPT_4_1_MINI as V, INK_AI_OPENAI_PROVIDER_ID as s, INK_AI_OPENAI_PROVIDER_NAME as k } from "../../constants/openai.const.js";
1
+ import { createInkAiPlugin as i, inkAi as E } from "./aiPlugin.js";
2
+ import { createDemoAiProvider as p } from "./demoProvider.js";
3
+ import { createOpenAiProvider as D } from "./openaiProvider.js";
4
+ import { createInkServerAiProvider as m } from "./inkServerProvider.js";
5
+ import { createNoopCostControl as n, createNoopExternalKnowledge as K, createNoopModeration as R, createNoopQualityEval as c, createOpenPermissions as M } from "./stubs.js";
6
+ import { INK_AI_DEMO_MODEL_ID as f, INK_AI_DEMO_PROVIDER_ID as l, INK_AI_MODEL_CATALOG as d } from "../../constants/aiModels.const.js";
7
+ import { INK_AI_INK_SERVER_PROVIDER_ID as L, INK_AI_OPENAI_MODEL_GPT_4_1 as V, INK_AI_OPENAI_MODEL_GPT_4_1_MINI as s, INK_AI_OPENAI_PROVIDER_ID as k, INK_AI_OPENAI_PROVIDER_NAME as C } from "../../constants/openai.const.js";
8
8
  import "react/jsx-runtime";
9
9
  import "../../utils/paste.utils.js";
10
+ import "../../utils/exportDocument.utils.js";
10
11
  import "react";
11
12
  import "react-dom";
12
13
  export {
13
- x as INK_AI_DEMO_MODEL_ID,
14
- f as INK_AI_DEMO_PROVIDER_ID,
15
- v as INK_AI_INK_SERVER_PROVIDER_ID,
16
- l as INK_AI_MODEL_CATALOG,
17
- L as INK_AI_OPENAI_MODEL_GPT_4_1,
18
- V as INK_AI_OPENAI_MODEL_GPT_4_1_MINI,
19
- s as INK_AI_OPENAI_PROVIDER_ID,
20
- k as INK_AI_OPENAI_PROVIDER_NAME,
21
- i as createDemoAiProvider,
22
- A as createInkAiPlugin,
23
- P as createInkServerAiProvider,
24
- m as createNoopCostControl,
25
- n as createNoopExternalKnowledge,
26
- K as createNoopModeration,
27
- R as createNoopQualityEval,
28
- O as createOpenAiProvider,
29
- c as createOpenPermissions,
14
+ f as INK_AI_DEMO_MODEL_ID,
15
+ l as INK_AI_DEMO_PROVIDER_ID,
16
+ L as INK_AI_INK_SERVER_PROVIDER_ID,
17
+ d as INK_AI_MODEL_CATALOG,
18
+ V as INK_AI_OPENAI_MODEL_GPT_4_1,
19
+ s as INK_AI_OPENAI_MODEL_GPT_4_1_MINI,
20
+ k as INK_AI_OPENAI_PROVIDER_ID,
21
+ C as INK_AI_OPENAI_PROVIDER_NAME,
22
+ p as createDemoAiProvider,
23
+ i as createInkAiPlugin,
24
+ m as createInkServerAiProvider,
25
+ n as createNoopCostControl,
26
+ K as createNoopExternalKnowledge,
27
+ R as createNoopModeration,
28
+ c as createNoopQualityEval,
29
+ D as createOpenAiProvider,
30
+ M as createOpenPermissions,
30
31
  E as inkAi
31
32
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../constants/numbers.cjs"),l=require("../../constants/generals.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");const T=require("../../constants/table.const.cjs");require("../../utils/paste.utils.cjs");require("react");require("react-dom");const a=(e=t.INK_EXCEL_SHEET_ROWS,r=t.INK_EXCEL_SHEET_COLS)=>Array.from({length:e},()=>Array.from({length:r},()=>l.EMPTY_STRING)),u=e=>{const r=e.split(/\r?\n/).filter(E=>E.length>t.NUMBER_ZERO);return r.length===t.NUMBER_ZERO?a():r.map(E=>E.split(","))},C=e=>{const r=e.length>t.NUMBER_ZERO?e:a(),E=Math.max(...r.map(o=>o.length),t.INK_EXCEL_SHEET_COLS),n=r[t.NUMBER_ZERO]??[],c=Array.from({length:E},(o,s)=>`<th contenteditable="true">${n[s]??l.EMPTY_STRING}</th>`).join(l.EMPTY_STRING),_=r.slice(t.NUMBER_ONE).map(o=>`<tr>${Array.from({length:E},(R,N)=>`<td contenteditable="true">${(o[N]??l.EMPTY_STRING)||"<br>"}</td>`).join(l.EMPTY_STRING)}</tr>`).join(l.EMPTY_STRING);return`<table class="${T.TABLE_CLASS_NAME}"><thead><tr>${c}</tr></thead><tbody>${_}</tbody></table><p><br></p>`},M=(e,r,E,n)=>e.map((c,_)=>_===r?c.map((o,s)=>s===E?n:o):c),S=e=>{var E;if(e.length>=t.INK_EXCEL_SHEET_MAX_ROWS)return e;const r=((E=e[t.NUMBER_ZERO])==null?void 0:E.length)??t.INK_EXCEL_SHEET_COLS;return[...e,Array.from({length:r},()=>l.EMPTY_STRING)]},m=e=>{var E;return(((E=e[t.NUMBER_ZERO])==null?void 0:E.length)??t.INK_EXCEL_SHEET_COLS)>=t.INK_EXCEL_SHEET_MAX_COLS?e:e.map(n=>[...n,l.EMPTY_STRING])},i=e=>e.length<=t.NUMBER_ONE?e:e.slice(t.NUMBER_ZERO,-t.NUMBER_ONE),O=e=>{var E;return(((E=e[t.NUMBER_ZERO])==null?void 0:E.length)??t.NUMBER_ZERO)<=t.NUMBER_ONE?e:e.map(n=>n.slice(t.NUMBER_ZERO,-t.NUMBER_ONE))},h=e=>e.map(r=>r.map(()=>l.EMPTY_STRING)),x=".csv,text/csv";exports.CSV_ACCEPT=x;exports.addExcelCol=m;exports.addExcelRow=S;exports.clearExcelGrid=h;exports.createEmptyExcelGrid=a;exports.excelGridToTableHtml=C;exports.parseCsvText=u;exports.removeExcelCol=O;exports.removeExcelRow=i;exports.setExcelCell=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../constants/numbers.cjs"),l=require("../../constants/generals.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");const T=require("../../constants/table.const.cjs");require("../../utils/paste.utils.cjs");require("../../utils/exportDocument.utils.cjs");require("react");require("react-dom");const a=(e=t.INK_EXCEL_SHEET_ROWS,r=t.INK_EXCEL_SHEET_COLS)=>Array.from({length:e},()=>Array.from({length:r},()=>l.EMPTY_STRING)),u=e=>{const r=e.split(/\r?\n/).filter(E=>E.length>t.NUMBER_ZERO);return r.length===t.NUMBER_ZERO?a():r.map(E=>E.split(","))},C=e=>{const r=e.length>t.NUMBER_ZERO?e:a(),E=Math.max(...r.map(o=>o.length),t.INK_EXCEL_SHEET_COLS),n=r[t.NUMBER_ZERO]??[],c=Array.from({length:E},(o,s)=>`<th contenteditable="true">${n[s]??l.EMPTY_STRING}</th>`).join(l.EMPTY_STRING),_=r.slice(t.NUMBER_ONE).map(o=>`<tr>${Array.from({length:E},(R,N)=>`<td contenteditable="true">${(o[N]??l.EMPTY_STRING)||"<br>"}</td>`).join(l.EMPTY_STRING)}</tr>`).join(l.EMPTY_STRING);return`<table class="${T.TABLE_CLASS_NAME}"><thead><tr>${c}</tr></thead><tbody>${_}</tbody></table><p><br></p>`},M=(e,r,E,n)=>e.map((c,_)=>_===r?c.map((o,s)=>s===E?n:o):c),S=e=>{var E;if(e.length>=t.INK_EXCEL_SHEET_MAX_ROWS)return e;const r=((E=e[t.NUMBER_ZERO])==null?void 0:E.length)??t.INK_EXCEL_SHEET_COLS;return[...e,Array.from({length:r},()=>l.EMPTY_STRING)]},i=e=>{var E;return(((E=e[t.NUMBER_ZERO])==null?void 0:E.length)??t.INK_EXCEL_SHEET_COLS)>=t.INK_EXCEL_SHEET_MAX_COLS?e:e.map(n=>[...n,l.EMPTY_STRING])},m=e=>e.length<=t.NUMBER_ONE?e:e.slice(t.NUMBER_ZERO,-t.NUMBER_ONE),O=e=>{var E;return(((E=e[t.NUMBER_ZERO])==null?void 0:E.length)??t.NUMBER_ZERO)<=t.NUMBER_ONE?e:e.map(n=>n.slice(t.NUMBER_ZERO,-t.NUMBER_ONE))},h=e=>e.map(r=>r.map(()=>l.EMPTY_STRING)),x=".csv,text/csv";exports.CSV_ACCEPT=x;exports.addExcelCol=i;exports.addExcelRow=S;exports.clearExcelGrid=h;exports.createEmptyExcelGrid=a;exports.excelGridToTableHtml=C;exports.parseCsvText=u;exports.removeExcelCol=O;exports.removeExcelRow=m;exports.setExcelCell=M;
@@ -4,37 +4,38 @@ import "../../constants/openai.const.js";
4
4
  import "react/jsx-runtime";
5
5
  import { TABLE_CLASS_NAME as x } from "../../constants/table.const.js";
6
6
  import "../../utils/paste.utils.js";
7
+ import "../../utils/exportDocument.utils.js";
7
8
  import "react";
8
9
  import "react-dom";
9
- const _ = (t = i, r = m) => Array.from({ length: t }, () => Array.from({ length: r }, () => n)), R = (t) => {
10
+ const _ = (t = i, r = m) => Array.from({ length: t }, () => Array.from({ length: r }, () => n)), M = (t) => {
10
11
  const r = t.split(/\r?\n/).filter((e) => e.length > o);
11
12
  return r.length === o ? _() : r.map((e) => e.split(","));
12
- }, M = (t) => {
13
+ }, O = (t) => {
13
14
  const r = t.length > o ? t : _(), e = Math.max(...r.map((c) => c.length), m), l = r[o] ?? [], a = Array.from({ length: e }, (c, E) => `<th contenteditable="true">${l[E] ?? n}</th>`).join(n), p = r.slice(s).map((c) => `<tr>${Array.from({ length: e }, (h, u) => `<td contenteditable="true">${(c[u] ?? n) || "<br>"}</td>`).join(n)}</tr>`).join(n);
14
15
  return `<table class="${x}"><thead><tr>${a}</tr></thead><tbody>${p}</tbody></table><p><br></p>`;
15
- }, O = (t, r, e, l) => t.map(
16
+ }, X = (t, r, e, l) => t.map(
16
17
  (a, p) => p === r ? a.map((c, E) => E === e ? l : c) : a
17
- ), X = (t) => {
18
+ ), $ = (t) => {
18
19
  var e;
19
20
  if (t.length >= C) return t;
20
21
  const r = ((e = t[o]) == null ? void 0 : e.length) ?? m;
21
22
  return [...t, Array.from({ length: r }, () => n)];
22
- }, $ = (t) => {
23
+ }, H = (t) => {
23
24
  var e;
24
25
  return (((e = t[o]) == null ? void 0 : e.length) ?? m) >= f ? t : t.map((l) => [...l, n]);
25
- }, H = (t) => t.length <= s ? t : t.slice(o, -s), I = (t) => {
26
+ }, I = (t) => t.length <= s ? t : t.slice(o, -s), g = (t) => {
26
27
  var e;
27
28
  return (((e = t[o]) == null ? void 0 : e.length) ?? o) <= s ? t : t.map((l) => l.slice(o, -s));
28
- }, g = (t) => t.map((r) => r.map(() => n)), G = ".csv,text/csv";
29
+ }, G = (t) => t.map((r) => r.map(() => n)), K = ".csv,text/csv";
29
30
  export {
30
- G as CSV_ACCEPT,
31
- $ as addExcelCol,
32
- X as addExcelRow,
33
- g as clearExcelGrid,
31
+ K as CSV_ACCEPT,
32
+ H as addExcelCol,
33
+ $ as addExcelRow,
34
+ G as clearExcelGrid,
34
35
  _ as createEmptyExcelGrid,
35
- M as excelGridToTableHtml,
36
- R as parseCsvText,
37
- I as removeExcelCol,
38
- H as removeExcelRow,
39
- O as setExcelCell
36
+ O as excelGridToTableHtml,
37
+ M as parseCsvText,
38
+ g as removeExcelCol,
39
+ I as removeExcelRow,
40
+ X as setExcelCell
40
41
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../constants/numbers.cjs"),h=require("../../constants/generals.const.cjs"),l=require("../../constants/defaults.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");require("../../utils/paste.utils.cjs");require("react");require("react-dom");const r=require("./graph.const.cjs"),u=t=>Math.max(...t.map(_=>_.value),e.NUMBER_ONE),i=(t,_)=>t[_%t.length]??r.GRAPH_COLORS[_%r.GRAPH_COLORS.length]??r.GRAPH_COLORS[e.NUMBER_ZERO],$=t=>t&&t.length>e.NUMBER_ZERO?t:r.GRAPH_COLORS,S=(t,_=r.GRAPH_COLORS)=>{const n=$(_),R=e.INK_GRAPH_WIDTH-e.INK_GRAPH_PAD*2,c=e.INK_GRAPH_HEIGHT-e.INK_GRAPH_PAD*2,A=u(t),o=(R-r.GRAPH_BAR_GAP_PX*(t.length-e.NUMBER_ONE))/t.length,a=t.map((I,P)=>{const G=I.value/A*c,s=e.INK_GRAPH_PAD+P*(o+r.GRAPH_BAR_GAP_PX),H=e.INK_GRAPH_PAD+c-G,N=i(n,P);return`<rect x="${s}" y="${H}" width="${o}" height="${G}" fill="${N}" rx="${r.GRAPH_CORNER}"/><text x="${s+o/2}" y="${e.INK_GRAPH_HEIGHT-r.GRAPH_LABEL_OFFSET}" text-anchor="middle" font-size="${r.GRAPH_LABEL_SIZE}" fill="#5C5E56">${I.label}</text>`}).join(h.EMPTY_STRING);return`<svg class="${l.INK_CLASS_GRAPH_WRAP}" viewBox="0 0 ${e.INK_GRAPH_WIDTH} ${e.INK_GRAPH_HEIGHT}" width="${e.INK_GRAPH_WIDTH}" height="${e.INK_GRAPH_HEIGHT}">${a}</svg>`},T=(t,_=r.GRAPH_COLORS)=>{const n=$(_),R=i(n,e.NUMBER_ZERO),c=e.INK_GRAPH_WIDTH-e.INK_GRAPH_PAD*2,A=e.INK_GRAPH_HEIGHT-e.INK_GRAPH_PAD*2,o=u(t),a=t.length>e.NUMBER_ONE?c/(t.length-e.NUMBER_ONE):c,I=t.map((s,H)=>{const N=e.INK_GRAPH_PAD+H*a,E=e.INK_GRAPH_PAD+A-s.value/o*A;return{x:N,y:E,label:s.label}}),P=I.map((s,H)=>`${H===0?"M":"L"}${s.x} ${s.y}`).join(" "),G=I.map((s,H)=>`<circle cx="${s.x}" cy="${s.y}" r="${r.GRAPH_DOT_RADIUS}" fill="${i(n,H)}"/><text x="${s.x}" y="${e.INK_GRAPH_HEIGHT-r.GRAPH_LABEL_OFFSET}" text-anchor="middle" font-size="${r.GRAPH_LABEL_SIZE}" fill="#5C5E56">${s.label}</text>`).join(h.EMPTY_STRING);return`<svg class="${l.INK_CLASS_GRAPH_WRAP}" viewBox="0 0 ${e.INK_GRAPH_WIDTH} ${e.INK_GRAPH_HEIGHT}" width="${e.INK_GRAPH_WIDTH}" height="${e.INK_GRAPH_HEIGHT}"><path d="${P}" fill="none" stroke="${R}" stroke-width="${r.GRAPH_STROKE_PX}"/>${G}</svg>`},g=(t,_=r.GRAPH_COLORS)=>{const n=$(_),R=t.reduce((P,G)=>P+G.value,e.NUMBER_ZERO)||e.NUMBER_ONE,c=e.INK_GRAPH_WIDTH/2,A=e.INK_GRAPH_HEIGHT/2,o=r.GRAPH_PIE_RADIUS;let a=-Math.PI/2;const I=t.map((P,G)=>{const s=P.value/R*Math.PI*2,H=a;a+=s;const N=c+o*Math.cos(H),E=A+o*Math.sin(H),L=c+o*Math.cos(a),d=A+o*Math.sin(a),B=s>Math.PI?e.NUMBER_ONE:e.NUMBER_ZERO;return`<path d="M ${c} ${A} L ${N} ${E} A ${o} ${o} 0 ${B} 1 ${L} ${d} Z" fill="${i(n,G)}"/>`}).join(h.EMPTY_STRING);return`<svg class="${l.INK_CLASS_GRAPH_WRAP}" viewBox="0 0 ${e.INK_GRAPH_WIDTH} ${e.INK_GRAPH_HEIGHT}" width="${e.INK_GRAPH_WIDTH}" height="${e.INK_GRAPH_HEIGHT}">${I}</svg>`},O=t=>encodeURIComponent(JSON.stringify(t)),C=t=>{if(!t)return[];try{const _=JSON.parse(decodeURIComponent(t));return Array.isArray(_)?_.filter(n=>!!n&&typeof n=="object"&&typeof n.label=="string"&&typeof n.value=="number"):[]}catch{return[]}},K=t=>{if(!t)return[...r.GRAPH_COLORS];try{const _=JSON.parse(decodeURIComponent(t));if(!Array.isArray(_))return[...r.GRAPH_COLORS];const n=_.filter(R=>typeof R=="string"&&R.length>e.NUMBER_ZERO);return n.length>e.NUMBER_ZERO?n:[...r.GRAPH_COLORS]}catch{return[...r.GRAPH_COLORS]}},p=(t,_,n=r.GRAPH_COLORS)=>{const R=$(n),c=t==="line"?T(_,R):t==="pie"?g(_,R):S(_,R);return`<p class="${l.INK_CLASS_GRAPH_BLOCK}" ${l.INK_ATTR_GRAPH}="${t}" ${l.INK_ATTR_GRAPH_POINTS}="${O(_)}" ${l.INK_ATTR_GRAPH_COLORS}="${O(R)}">${c}</p><p><br></p>`},M=(t,_,n,R)=>{const c=R??K(t.getAttribute(l.INK_ATTR_GRAPH_COLORS)),A=document.createElement("div");A.innerHTML=p(_,n,c);const o=A.firstElementChild;o&&t.replaceWith(o)},f=t=>{if(!(t instanceof Node))return null;const _=t instanceof HTMLElement?t:t.parentElement;return(_==null?void 0:_.closest(`[${l.INK_ATTR_GRAPH}]`))??null};exports.buildBarSvg=S;exports.buildGraphHtml=p;exports.buildLineSvg=T;exports.buildPieSvg=g;exports.getGraphBlock=f;exports.parseGraphColors=K;exports.parseGraphPoints=C;exports.replaceGraphBlock=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../constants/numbers.cjs"),h=require("../../constants/generals.const.cjs"),l=require("../../constants/defaults.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");require("../../utils/paste.utils.cjs");require("../../utils/exportDocument.utils.cjs");require("react");require("react-dom");const r=require("./graph.const.cjs"),O=e=>Math.max(...e.map(_=>_.value),t.NUMBER_ONE),i=(e,_)=>e[_%e.length]??r.GRAPH_COLORS[_%r.GRAPH_COLORS.length]??r.GRAPH_COLORS[t.NUMBER_ZERO],$=e=>e&&e.length>t.NUMBER_ZERO?e:r.GRAPH_COLORS,S=(e,_=r.GRAPH_COLORS)=>{const n=$(_),R=t.INK_GRAPH_WIDTH-t.INK_GRAPH_PAD*2,c=t.INK_GRAPH_HEIGHT-t.INK_GRAPH_PAD*2,A=O(e),o=(R-r.GRAPH_BAR_GAP_PX*(e.length-t.NUMBER_ONE))/e.length,a=e.map((I,P)=>{const G=I.value/A*c,s=t.INK_GRAPH_PAD+P*(o+r.GRAPH_BAR_GAP_PX),H=t.INK_GRAPH_PAD+c-G,N=i(n,P);return`<rect x="${s}" y="${H}" width="${o}" height="${G}" fill="${N}" rx="${r.GRAPH_CORNER}"/><text x="${s+o/2}" y="${t.INK_GRAPH_HEIGHT-r.GRAPH_LABEL_OFFSET}" text-anchor="middle" font-size="${r.GRAPH_LABEL_SIZE}" fill="#5C5E56">${I.label}</text>`}).join(h.EMPTY_STRING);return`<svg class="${l.INK_CLASS_GRAPH_WRAP}" viewBox="0 0 ${t.INK_GRAPH_WIDTH} ${t.INK_GRAPH_HEIGHT}" width="${t.INK_GRAPH_WIDTH}" height="${t.INK_GRAPH_HEIGHT}">${a}</svg>`},T=(e,_=r.GRAPH_COLORS)=>{const n=$(_),R=i(n,t.NUMBER_ZERO),c=t.INK_GRAPH_WIDTH-t.INK_GRAPH_PAD*2,A=t.INK_GRAPH_HEIGHT-t.INK_GRAPH_PAD*2,o=O(e),a=e.length>t.NUMBER_ONE?c/(e.length-t.NUMBER_ONE):c,I=e.map((s,H)=>{const N=t.INK_GRAPH_PAD+H*a,E=t.INK_GRAPH_PAD+A-s.value/o*A;return{x:N,y:E,label:s.label}}),P=I.map((s,H)=>`${H===0?"M":"L"}${s.x} ${s.y}`).join(" "),G=I.map((s,H)=>`<circle cx="${s.x}" cy="${s.y}" r="${r.GRAPH_DOT_RADIUS}" fill="${i(n,H)}"/><text x="${s.x}" y="${t.INK_GRAPH_HEIGHT-r.GRAPH_LABEL_OFFSET}" text-anchor="middle" font-size="${r.GRAPH_LABEL_SIZE}" fill="#5C5E56">${s.label}</text>`).join(h.EMPTY_STRING);return`<svg class="${l.INK_CLASS_GRAPH_WRAP}" viewBox="0 0 ${t.INK_GRAPH_WIDTH} ${t.INK_GRAPH_HEIGHT}" width="${t.INK_GRAPH_WIDTH}" height="${t.INK_GRAPH_HEIGHT}"><path d="${P}" fill="none" stroke="${R}" stroke-width="${r.GRAPH_STROKE_PX}"/>${G}</svg>`},g=(e,_=r.GRAPH_COLORS)=>{const n=$(_),R=e.reduce((P,G)=>P+G.value,t.NUMBER_ZERO)||t.NUMBER_ONE,c=t.INK_GRAPH_WIDTH/2,A=t.INK_GRAPH_HEIGHT/2,o=r.GRAPH_PIE_RADIUS;let a=-Math.PI/2;const I=e.map((P,G)=>{const s=P.value/R*Math.PI*2,H=a;a+=s;const N=c+o*Math.cos(H),E=A+o*Math.sin(H),L=c+o*Math.cos(a),d=A+o*Math.sin(a),B=s>Math.PI?t.NUMBER_ONE:t.NUMBER_ZERO;return`<path d="M ${c} ${A} L ${N} ${E} A ${o} ${o} 0 ${B} 1 ${L} ${d} Z" fill="${i(n,G)}"/>`}).join(h.EMPTY_STRING);return`<svg class="${l.INK_CLASS_GRAPH_WRAP}" viewBox="0 0 ${t.INK_GRAPH_WIDTH} ${t.INK_GRAPH_HEIGHT}" width="${t.INK_GRAPH_WIDTH}" height="${t.INK_GRAPH_HEIGHT}">${I}</svg>`},u=e=>encodeURIComponent(JSON.stringify(e)),C=e=>{if(!e)return[];try{const _=JSON.parse(decodeURIComponent(e));return Array.isArray(_)?_.filter(n=>!!n&&typeof n=="object"&&typeof n.label=="string"&&typeof n.value=="number"):[]}catch{return[]}},K=e=>{if(!e)return[...r.GRAPH_COLORS];try{const _=JSON.parse(decodeURIComponent(e));if(!Array.isArray(_))return[...r.GRAPH_COLORS];const n=_.filter(R=>typeof R=="string"&&R.length>t.NUMBER_ZERO);return n.length>t.NUMBER_ZERO?n:[...r.GRAPH_COLORS]}catch{return[...r.GRAPH_COLORS]}},p=(e,_,n=r.GRAPH_COLORS)=>{const R=$(n),c=e==="line"?T(_,R):e==="pie"?g(_,R):S(_,R);return`<p class="${l.INK_CLASS_GRAPH_BLOCK}" ${l.INK_ATTR_GRAPH}="${e}" ${l.INK_ATTR_GRAPH_POINTS}="${u(_)}" ${l.INK_ATTR_GRAPH_COLORS}="${u(R)}">${c}</p><p><br></p>`},M=(e,_,n,R)=>{const c=R??K(e.getAttribute(l.INK_ATTR_GRAPH_COLORS)),A=document.createElement("div");A.innerHTML=p(_,n,c);const o=A.firstElementChild;o&&e.replaceWith(o)},f=e=>{if(!(e instanceof Node))return null;const _=e instanceof HTMLElement?e:e.parentElement;return(_==null?void 0:_.closest(`[${l.INK_ATTR_GRAPH}]`))??null};exports.buildBarSvg=S;exports.buildGraphHtml=p;exports.buildLineSvg=T;exports.buildPieSvg=g;exports.getGraphBlock=f;exports.parseGraphColors=K;exports.parseGraphPoints=C;exports.replaceGraphBlock=M;
@@ -4,6 +4,7 @@ import { INK_CLASS_GRAPH_BLOCK as b, INK_ATTR_GRAPH as v, INK_ATTR_GRAPH_POINTS
4
4
  import "../../constants/openai.const.js";
5
5
  import "react/jsx-runtime";
6
6
  import "../../utils/paste.utils.js";
7
+ import "../../utils/exportDocument.utils.js";
7
8
  import "react";
8
9
  import "react-dom";
9
10
  import { GRAPH_COLORS as l, GRAPH_DOT_RADIUS as B, GRAPH_LABEL_SIZE as S, GRAPH_LABEL_OFFSET as N, GRAPH_STROKE_PX as K, GRAPH_PIE_RADIUS as w, GRAPH_BAR_GAP_PX as y, GRAPH_CORNER as U } from "./graph.const.js";
@@ -31,7 +32,7 @@ const T = (t) => Math.max(...t.map((e) => e.value), m), P = (t, e) => t[e % t.le
31
32
  return `<path d="M ${c} ${a} L ${f} ${d} A ${s} ${s} 0 ${O} 1 ${C} ${M} Z" fill="${P(n, A)}"/>`;
32
33
  }).join(G);
33
34
  return `<svg class="${H}" viewBox="0 0 ${h} ${$}" width="${h}" height="${$}">${u}</svg>`;
34
- }, I = (t) => encodeURIComponent(JSON.stringify(t)), et = (t) => {
35
+ }, I = (t) => encodeURIComponent(JSON.stringify(t)), nt = (t) => {
35
36
  if (!t) return [];
36
37
  try {
37
38
  const e = JSON.parse(decodeURIComponent(t));
@@ -54,12 +55,12 @@ const T = (t) => Math.max(...t.map((e) => e.value), m), P = (t, e) => t[e % t.le
54
55
  }, J = (t, e, n = l) => {
55
56
  const o = x(n), c = t === "line" ? j(e, o) : t === "pie" ? D(e, o) : W(e, o);
56
57
  return `<p class="${b}" ${v}="${t}" ${L}="${I(e)}" ${E}="${I(o)}">${c}</p><p><br></p>`;
57
- }, nt = (t, e, n, o) => {
58
+ }, rt = (t, e, n, o) => {
58
59
  const c = o ?? k(t.getAttribute(E)), a = document.createElement("div");
59
60
  a.innerHTML = J(e, n, c);
60
61
  const s = a.firstElementChild;
61
62
  s && t.replaceWith(s);
62
- }, rt = (t) => {
63
+ }, ot = (t) => {
63
64
  if (!(t instanceof Node)) return null;
64
65
  const e = t instanceof HTMLElement ? t : t.parentElement;
65
66
  return (e == null ? void 0 : e.closest(`[${v}]`)) ?? null;
@@ -69,8 +70,8 @@ export {
69
70
  J as buildGraphHtml,
70
71
  j as buildLineSvg,
71
72
  D as buildPieSvg,
72
- rt as getGraphBlock,
73
+ ot as getGraphBlock,
73
74
  k as parseGraphColors,
74
- et as parseGraphPoints,
75
- nt as replaceGraphBlock
75
+ nt as parseGraphPoints,
76
+ rt as replaceGraphBlock
76
77
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../constants/plugins.const.cjs"),c=require("../host/inkPlugins.cjs"),e=require("./theme.const.cjs");let s=e.THEME_DEFAULT;const l=(t,n)=>{if(s=n,!t)return;t.setAttribute(e.THEME_ATTR,n);const r=t.closest(".ink-workspace-root");r&&r.setAttribute(e.THEME_ATTR,n)},T=()=>({install:()=>{c.inkPlugins.install({id:i.PLUGIN_ID_THEME,label:"Theme",color:i.PLUGIN_COLOR_THEME,hint:"Paper theme for the editor"})},apply:l,list:()=>e.INK_THEMES,current:()=>s}),o=T();exports.applyInkTheme=l;exports.createInkThemePlugin=T;exports.inkTheme=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../constants/plugins.const.cjs"),s=require("../host/inkPlugins.cjs"),e=require("./theme.const.cjs");let i=e.THEME_DEFAULT;const T=(t,n)=>{if(i=n,!!t){if(n===e.THEME_ID_PAPER){t.removeAttribute(e.THEME_ATTR);return}t.setAttribute(e.THEME_ATTR,n)}},l=()=>({install:()=>{s.inkPlugins.install({id:r.PLUGIN_ID_THEME,label:"Theme",color:r.PLUGIN_COLOR_THEME,hint:"Paper theme for the editor"})},apply:T,list:()=>e.INK_THEMES,current:()=>i}),u=l();exports.applyInkTheme=T;exports.createInkThemePlugin=l;exports.inkTheme=u;