@forgedevstack/ink 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -1
- package/README.md +1 -1
- package/dist/common-components/Box/Box.cjs +1 -0
- package/dist/common-components/Box/Box.const.cjs +1 -0
- package/dist/common-components/Box/Box.const.d.ts +3 -0
- package/dist/common-components/Box/Box.const.d.ts.map +1 -0
- package/dist/common-components/Box/Box.const.js +5 -0
- package/dist/common-components/Box/Box.d.ts +4 -0
- package/dist/common-components/Box/Box.d.ts.map +1 -0
- package/dist/common-components/Box/Box.js +14 -0
- package/dist/common-components/Box/Box.types.d.ts +6 -0
- package/dist/common-components/Box/Box.types.d.ts.map +1 -0
- package/dist/common-components/Box/index.d.ts +3 -0
- package/dist/common-components/Box/index.d.ts.map +1 -0
- package/dist/common-components/Button/Button.cjs +1 -0
- package/dist/common-components/Button/Button.const.cjs +1 -0
- package/dist/common-components/Button/Button.const.d.ts +5 -0
- package/dist/common-components/Button/Button.const.d.ts.map +1 -0
- package/dist/common-components/Button/Button.const.js +7 -0
- package/dist/common-components/Button/Button.d.ts +4 -0
- package/dist/common-components/Button/Button.d.ts.map +1 -0
- package/dist/common-components/Button/Button.js +28 -0
- package/dist/common-components/Button/Button.types.d.ts +6 -0
- package/dist/common-components/Button/Button.types.d.ts.map +1 -0
- package/dist/common-components/Button/index.d.ts +3 -0
- package/dist/common-components/Button/index.d.ts.map +1 -0
- package/dist/common-components/Canvas/Canvas.cjs +1 -0
- package/dist/common-components/Canvas/Canvas.const.cjs +1 -0
- package/dist/common-components/Canvas/Canvas.const.d.ts +2 -0
- package/dist/common-components/Canvas/Canvas.const.d.ts.map +1 -0
- package/dist/common-components/Canvas/Canvas.const.js +4 -0
- package/dist/common-components/Canvas/Canvas.d.ts +4 -0
- package/dist/common-components/Canvas/Canvas.d.ts.map +1 -0
- package/dist/common-components/Canvas/Canvas.js +14 -0
- package/dist/common-components/Canvas/Canvas.types.d.ts +5 -0
- package/dist/common-components/Canvas/Canvas.types.d.ts.map +1 -0
- package/dist/common-components/Canvas/index.d.ts +3 -0
- package/dist/common-components/Canvas/index.d.ts.map +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.cjs +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.const.cjs +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.const.d.ts +11 -0
- package/dist/common-components/ContextMenu/ContextMenu.const.d.ts.map +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.const.js +14 -0
- package/dist/common-components/ContextMenu/ContextMenu.d.ts +4 -0
- package/dist/common-components/ContextMenu/ContextMenu.d.ts.map +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.js +69 -0
- package/dist/common-components/ContextMenu/ContextMenu.types.d.ts +33 -0
- package/dist/common-components/ContextMenu/ContextMenu.types.d.ts.map +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.utils.cjs +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.utils.d.ts +3 -0
- package/dist/common-components/ContextMenu/ContextMenu.utils.d.ts.map +1 -0
- package/dist/common-components/ContextMenu/ContextMenu.utils.js +11 -0
- package/dist/common-components/ContextMenu/ContextMenu.utils.test.d.ts +2 -0
- package/dist/common-components/ContextMenu/ContextMenu.utils.test.d.ts.map +1 -0
- package/dist/common-components/ContextMenu/index.d.ts +5 -0
- package/dist/common-components/ContextMenu/index.d.ts.map +1 -0
- package/dist/common-components/Field/Field.cjs +1 -0
- package/dist/common-components/Field/Field.const.cjs +1 -0
- package/dist/common-components/Field/Field.const.d.ts +3 -0
- package/dist/common-components/Field/Field.const.d.ts.map +1 -0
- package/dist/common-components/Field/Field.const.js +5 -0
- package/dist/common-components/Field/Field.d.ts +4 -0
- package/dist/common-components/Field/Field.d.ts.map +1 -0
- package/dist/common-components/Field/Field.js +26 -0
- package/dist/common-components/Field/Field.types.d.ts +10 -0
- package/dist/common-components/Field/Field.types.d.ts.map +1 -0
- package/dist/common-components/Field/index.d.ts +3 -0
- package/dist/common-components/Field/index.d.ts.map +1 -0
- package/dist/common-components/icons/GripIcon.cjs +1 -0
- package/dist/common-components/icons/GripIcon.d.ts +3 -0
- package/dist/common-components/icons/GripIcon.d.ts.map +1 -0
- package/dist/common-components/icons/GripIcon.js +13 -0
- package/dist/common-components/icons/Icon.const.cjs +1 -0
- package/dist/common-components/icons/Icon.const.d.ts +7 -0
- package/dist/common-components/icons/Icon.const.d.ts.map +1 -0
- package/dist/common-components/icons/Icon.const.js +10 -0
- package/dist/common-components/icons/RedoIcon.cjs +1 -0
- package/dist/common-components/icons/RedoIcon.d.ts +3 -0
- package/dist/common-components/icons/RedoIcon.d.ts.map +1 -0
- package/dist/common-components/icons/RedoIcon.js +9 -0
- package/dist/common-components/icons/UndoIcon.cjs +1 -0
- package/dist/common-components/icons/UndoIcon.d.ts +3 -0
- package/dist/common-components/icons/UndoIcon.d.ts.map +1 -0
- package/dist/common-components/icons/UndoIcon.js +9 -0
- package/dist/common-components/icons/index.d.ts +4 -0
- package/dist/common-components/icons/index.d.ts.map +1 -0
- package/dist/common-components/index.d.ts +12 -0
- package/dist/common-components/index.d.ts.map +1 -0
- package/dist/components/InkEditor/InkEditor.cjs +1 -1
- package/dist/components/InkEditor/InkEditor.d.ts.map +1 -1
- package/dist/components/InkEditor/InkEditor.js +923 -435
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.cjs +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.cjs +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.d.ts +7 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.d.ts.map +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.const.js +10 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.d.ts +4 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.d.ts.map +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.js +17 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.types.d.ts +12 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.types.d.ts.map +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.cjs +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.d.ts +4 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.d.ts.map +1 -0
- package/dist/components/InkEditor/components/AiAutocomplete/AiAutocomplete.utils.js +25 -0
- package/dist/components/InkEditor/components/AiAutocomplete/index.d.ts +5 -0
- package/dist/components/InkEditor/components/AiAutocomplete/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/AiPanel/AiPanel.cjs +1 -1
- package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts +1 -0
- package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts.map +1 -1
- package/dist/components/InkEditor/components/AiPanel/AiPanel.js +53 -49
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.cjs +1 -1
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.cjs +1 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.d.ts +15 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.d.ts.map +1 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.const.js +18 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts +1 -6
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts.map +1 -1
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.js +53 -8
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.types.d.ts +9 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.types.d.ts.map +1 -0
- package/dist/components/InkEditor/components/BlockHandles/index.d.ts +2 -1
- package/dist/components/InkEditor/components/BlockHandles/index.d.ts.map +1 -1
- package/dist/components/InkEditor/components/FindReplace/FindReplace.cjs +1 -1
- package/dist/components/InkEditor/components/FindReplace/FindReplace.d.ts.map +1 -1
- package/dist/components/InkEditor/components/FindReplace/FindReplace.js +63 -44
- package/dist/components/InkEditor/components/FindReplace/FindReplace.types.d.ts +2 -0
- package/dist/components/InkEditor/components/FindReplace/FindReplace.types.d.ts.map +1 -1
- package/dist/components/InkEditor/components/FindReplace/index.d.ts +1 -1
- package/dist/components/InkEditor/components/FindReplace/index.d.ts.map +1 -1
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.cjs +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.cjs +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.d.ts +25 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.d.ts.map +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.const.js +28 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.d.ts +4 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.d.ts.map +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.js +140 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.types.d.ts +32 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.types.d.ts.map +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.cjs +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.d.ts +4 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.d.ts.map +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.js +16 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.test.d.ts +2 -0
- package/dist/components/InkEditor/components/InlineToolbar/InlineToolbar.utils.test.d.ts.map +1 -0
- package/dist/components/InkEditor/components/InlineToolbar/index.d.ts +5 -0
- package/dist/components/InkEditor/components/InlineToolbar/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/SignPad/SignPad.cjs +1 -1
- package/dist/components/InkEditor/components/SignPad/SignPad.const.cjs +1 -1
- package/dist/components/InkEditor/components/SignPad/SignPad.const.d.ts +7 -0
- package/dist/components/InkEditor/components/SignPad/SignPad.const.d.ts.map +1 -1
- package/dist/components/InkEditor/components/SignPad/SignPad.const.js +15 -17
- package/dist/components/InkEditor/components/SignPad/SignPad.d.ts.map +1 -1
- package/dist/components/InkEditor/components/SignPad/SignPad.js +57 -58
- package/dist/components/InkEditor/components/SignPad/SignPad.utils.cjs +1 -1
- package/dist/components/InkEditor/components/SignPad/SignPad.utils.d.ts.map +1 -1
- package/dist/components/InkEditor/components/SignPad/SignPad.utils.js +5 -14
- package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.cjs +1 -1
- package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.d.ts.map +1 -1
- package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.js +20 -16
- package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -1
- package/dist/components/InkEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +16 -12
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.cjs +1 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.cjs +1 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.d.ts +10 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.d.ts.map +1 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.const.js +18 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.d.ts +4 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.d.ts.map +1 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.js +43 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.types.d.ts +12 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/ToolbarCustomize.types.d.ts.map +1 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/index.d.ts +4 -0
- package/dist/components/InkEditor/components/ToolbarCustomize/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/index.d.ts +7 -1
- package/dist/components/InkEditor/components/index.d.ts.map +1 -1
- package/dist/components/InkEditor/helpers/format.utils.cjs +2 -1
- package/dist/components/InkEditor/helpers/format.utils.d.ts +9 -0
- package/dist/components/InkEditor/helpers/format.utils.d.ts.map +1 -1
- package/dist/components/InkEditor/helpers/format.utils.js +113 -20
- package/dist/components/InkEditor/helpers/index.d.ts +1 -1
- package/dist/components/InkEditor/helpers/index.d.ts.map +1 -1
- package/dist/constants/blocks.const.cjs +1 -0
- package/dist/constants/blocks.const.d.ts +11 -0
- package/dist/constants/blocks.const.d.ts.map +1 -0
- package/dist/constants/blocks.const.js +14 -0
- package/dist/constants/colorMode.const.cjs +1 -0
- package/dist/constants/colorMode.const.d.ts +6 -0
- package/dist/constants/colorMode.const.d.ts.map +1 -0
- package/dist/constants/colorMode.const.js +7 -0
- package/dist/constants/contextMenu.const.cjs +1 -0
- package/dist/constants/contextMenu.const.d.ts +37 -0
- package/dist/constants/contextMenu.const.d.ts.map +1 -0
- package/dist/constants/contextMenu.const.js +39 -0
- package/dist/constants/defaultIcons.cjs +1 -0
- package/dist/constants/defaultIcons.d.ts +4 -0
- package/dist/constants/defaultIcons.d.ts.map +1 -0
- package/dist/constants/defaultIcons.js +42 -0
- package/dist/constants/defaults.const.cjs +1 -1
- package/dist/constants/defaults.const.d.ts +4 -0
- package/dist/constants/defaults.const.d.ts.map +1 -1
- package/dist/constants/defaults.const.js +56 -48
- package/dist/constants/findReplaceMenu.const.cjs +1 -0
- package/dist/constants/findReplaceMenu.const.d.ts +10 -0
- package/dist/constants/findReplaceMenu.const.d.ts.map +1 -0
- package/dist/constants/findReplaceMenu.const.js +14 -0
- package/dist/constants/fonts.const.cjs +1 -0
- package/dist/constants/fonts.const.d.ts +25 -0
- package/dist/constants/fonts.const.d.ts.map +1 -0
- package/dist/constants/fonts.const.js +40 -0
- package/dist/constants/generals.const.cjs +1 -1
- package/dist/constants/generals.const.d.ts +1 -0
- package/dist/constants/generals.const.d.ts.map +1 -1
- package/dist/constants/generals.const.js +4 -3
- package/dist/constants/index.d.ts +11 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/keyboard.const.cjs +1 -0
- package/dist/constants/keyboard.const.d.ts +5 -0
- package/dist/constants/keyboard.const.d.ts.map +1 -0
- package/dist/constants/keyboard.const.js +7 -0
- package/dist/constants/lists.const.cjs +1 -0
- package/dist/constants/lists.const.d.ts +24 -0
- package/dist/constants/lists.const.d.ts.map +1 -0
- package/dist/constants/lists.const.js +28 -0
- package/dist/constants/numbers.cjs +1 -1
- package/dist/constants/numbers.d.ts +2 -0
- package/dist/constants/numbers.d.ts.map +1 -1
- package/dist/constants/numbers.js +30 -17
- package/dist/constants/openai.const.cjs +1 -0
- package/dist/constants/openai.const.d.ts +42 -0
- package/dist/constants/openai.const.d.ts.map +1 -0
- package/dist/constants/openai.const.js +58 -0
- package/dist/constants/premium.const.cjs +1 -1
- package/dist/constants/premium.const.d.ts +1 -2
- package/dist/constants/premium.const.d.ts.map +1 -1
- package/dist/constants/premium.const.js +6 -34
- package/dist/constants/table.const.cjs +1 -0
- package/dist/constants/table.const.d.ts +8 -0
- package/dist/constants/table.const.d.ts.map +1 -0
- package/dist/constants/table.const.js +10 -0
- package/dist/constants/toolbar.const.cjs +1 -1
- package/dist/constants/toolbar.const.d.ts +7 -0
- package/dist/constants/toolbar.const.d.ts.map +1 -1
- package/dist/constants/toolbar.const.js +11 -4
- package/dist/constants/toolbarMenu.const.cjs +1 -0
- package/dist/constants/toolbarMenu.const.d.ts +19 -0
- package/dist/constants/toolbarMenu.const.d.ts.map +1 -0
- package/dist/constants/toolbarMenu.const.js +65 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -47
- package/dist/plugins/ai/demoProvider.cjs +1 -1
- package/dist/plugins/ai/demoProvider.d.ts.map +1 -1
- package/dist/plugins/ai/demoProvider.js +47 -37
- package/dist/plugins/ai/index.cjs +1 -1
- package/dist/plugins/ai/index.d.ts +3 -1
- package/dist/plugins/ai/index.d.ts.map +1 -1
- package/dist/plugins/ai/index.js +28 -14
- package/dist/plugins/ai/inkServerProvider.cjs +1 -0
- package/dist/plugins/ai/inkServerProvider.d.ts +4 -0
- package/dist/plugins/ai/inkServerProvider.d.ts.map +1 -0
- package/dist/plugins/ai/inkServerProvider.js +52 -0
- package/dist/plugins/ai/inkServerProvider.types.d.ts +15 -0
- package/dist/plugins/ai/inkServerProvider.types.d.ts.map +1 -0
- package/dist/plugins/ai/openaiProvider.cjs +1 -0
- package/dist/plugins/ai/openaiProvider.d.ts +4 -0
- package/dist/plugins/ai/openaiProvider.d.ts.map +1 -0
- package/dist/plugins/ai/openaiProvider.js +128 -0
- package/dist/plugins/ai/openaiProvider.types.d.ts +32 -0
- package/dist/plugins/ai/openaiProvider.types.d.ts.map +1 -0
- package/dist/plugins/ai/openaiProvider.utils.cjs +5 -0
- package/dist/plugins/ai/openaiProvider.utils.d.ts +14 -0
- package/dist/plugins/ai/openaiProvider.utils.d.ts.map +1 -0
- package/dist/plugins/ai/openaiProvider.utils.js +57 -0
- package/dist/styles.css +1 -721
- package/dist/types/ai.types.d.ts +2 -1
- package/dist/types/ai.types.d.ts.map +1 -1
- package/dist/types/features.types.d.ts +2 -0
- package/dist/types/features.types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ink.types.d.ts +7 -2
- package/dist/types/ink.types.d.ts.map +1 -1
- package/dist/types/premium.types.d.ts +1 -1
- package/dist/types/premium.types.d.ts.map +1 -1
- package/dist/utils/blocks.utils.cjs +1 -1
- package/dist/utils/blocks.utils.d.ts +8 -0
- package/dist/utils/blocks.utils.d.ts.map +1 -1
- package/dist/utils/blocks.utils.js +61 -19
- package/dist/utils/blocks.utils.test.d.ts +2 -0
- package/dist/utils/blocks.utils.test.d.ts.map +1 -0
- package/dist/utils/comments.utils.cjs +1 -1
- package/dist/utils/comments.utils.js +23 -18
- package/dist/utils/history.utils.cjs +1 -1
- package/dist/utils/history.utils.js +7 -2
- package/dist/utils/index.d.ts +6 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/license.utils.cjs +1 -1
- package/dist/utils/license.utils.js +15 -10
- package/dist/utils/memory.utils.cjs +1 -1
- package/dist/utils/memory.utils.d.ts.map +1 -1
- package/dist/utils/memory.utils.js +17 -5
- package/dist/utils/paste.utils.cjs +1 -1
- package/dist/utils/paste.utils.js +27 -23
- package/dist/utils/premium.utils.cjs +1 -1
- package/dist/utils/premium.utils.js +23 -18
- package/dist/utils/selection.utils.cjs +1 -0
- package/dist/utils/selection.utils.d.ts +10 -0
- package/dist/utils/selection.utils.d.ts.map +1 -0
- package/dist/utils/selection.utils.js +58 -0
- package/dist/utils/selection.utils.test.d.ts +2 -0
- package/dist/utils/selection.utils.test.d.ts.map +1 -0
- package/dist/utils/slash.utils.cjs +1 -1
- package/dist/utils/slash.utils.js +13 -8
- package/dist/utils/table.utils.cjs +1 -1
- package/dist/utils/table.utils.d.ts +5 -0
- package/dist/utils/table.utils.d.ts.map +1 -1
- package/dist/utils/table.utils.js +69 -10
- package/dist/utils/table.utils.test.d.ts +2 -0
- package/dist/utils/table.utils.test.d.ts.map +1 -0
- package/dist/utils/toolbarStorage.utils.cjs +1 -0
- package/dist/utils/toolbarStorage.utils.d.ts +12 -0
- package/dist/utils/toolbarStorage.utils.d.ts.map +1 -0
- package/dist/utils/toolbarStorage.utils.js +92 -0
- package/dist/utils/toolbarStorage.utils.test.d.ts +2 -0
- package/dist/utils/toolbarStorage.utils.test.d.ts.map +1 -0
- package/dist/utils/trackChanges.utils.cjs +1 -1
- package/dist/utils/trackChanges.utils.js +14 -9
- package/dist/utils/typo.utils.cjs +1 -1
- package/dist/utils/typo.utils.js +15 -10
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,61 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 1.1.4
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- OpenAI AI provider (`createOpenAiProvider`) with Chat Completions + capability system prompts
|
|
7
|
+
- Ink server AI bridge (`createInkServerAiProvider`) posting to `/api/ai/complete`
|
|
8
|
+
- `autocomplete` capability on `InkAiCapability` and `ai.autocomplete` config (default on when AI enabled)
|
|
9
|
+
- Inline AI autocomplete ghost suggestions (Tab accept, Escape dismiss) while typing
|
|
10
|
+
- Table context menu: insert/delete row and column (right-click inside a cell)
|
|
11
|
+
- Table helpers: `insertTableRow`, `insertTableColumn`, `deleteTableRow`, `deleteTableColumn`, `getTableCellFromSelection`
|
|
12
|
+
- Common components: `Button`, `Box`, `Field`, `Canvas`, `ContextMenu`, undo/redo SVG icons, `GripIcon`
|
|
13
|
+
- Path aliases: `@common-components`, `@utils`, `@const`
|
|
14
|
+
- SCSS pipeline (`_vars.scss`, `_mixins.scss`, `ink.scss`) with shared theme tokens
|
|
15
|
+
- Right-click context menu (format, lists, link, heading, sign pad, comment, find)
|
|
16
|
+
- Floating Inline Toolbar on text selection (Bold, Italic, Underline, Code, Link, Clear)
|
|
17
|
+
- Theming docs (`docs/theming.md`)
|
|
18
|
+
- `chrome` prop (`boxed` | `borderless`) for Editor.js-style borderless chrome
|
|
19
|
+
- Block drag-and-drop reorder via block handle grip (`reorderBlockBefore` / `reorderBlockAfter`)
|
|
20
|
+
- Toolbar right-click menu: Customize toolbar / Hide toolbar (session or `keepInMemory` persistence via `ink-toolbar-items` / `ink-toolbar-hidden`)
|
|
21
|
+
- `colorMode` prop (`light` | `dark` | `system`) sets `data-color-mode` for forced light/dark tokens
|
|
22
|
+
- `onToolbarChange`, `toolbarHidden`, `onToolbarHiddenChange` for toolbar visibility/customization
|
|
23
|
+
- Selection helpers: `captureSelectionInRoot`, `restoreSelectionInRoot`, `withPreservedSelection`
|
|
24
|
+
- Toolbar dropdowns: `fontDropdown` (System UI, Georgia, Times New Roman, Arial, Courier New, Verdana), `listDropdown` (bullet / dash / numbers / letters), `findReplaceDropdown` (Find / Replace)
|
|
25
|
+
- Word-like toolbar options: `directionLtr`, `directionRtl`, `superscript`, `subscript`
|
|
26
|
+
- Markdown list heuristic: typing `- ` or `* ` at line start converts to a bullet list
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- SignPad / FindReplace / ToolbarButton reuse common Button, Field, Canvas, Box
|
|
30
|
+
- Default undo/redo icons are stroke SVGs (premium `icons` override still works)
|
|
31
|
+
- Styles build compiles SCSS → `dist/styles.css` (CSS source removed)
|
|
32
|
+
- Slash menu uses a lighter shadow / tighter radius
|
|
33
|
+
- Block handles use circular + control and SVG six-dot grip (drag)
|
|
34
|
+
- Context menu portals to `document.body` and clamps to the viewport
|
|
35
|
+
- Dark OS preference applies only when `data-color-mode` is omitted (`system`)
|
|
36
|
+
- Default toolbar uses `listDropdown` + `findReplaceDropdown` (+ font / direction / super-subscript); legacy `bulletList` / `orderedList` / `findReplace` still work when referenced
|
|
37
|
+
- Portaled ContextMenu uses solid opaque light/dark fallbacks and higher z-index; inherits `data-color-mode` from the editor
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
- Controlled `value` sync no longer resets the caret to the top on Enter while focused
|
|
41
|
+
- List markers visible again (`ul`/`ol` list-style + indent under `.Ink-Editor__content`)
|
|
42
|
+
- Toolbar buttons preserve contenteditable selection (`onMouseDown` preventDefault)
|
|
43
|
+
- Table header cells use `--ink-table-header` (dark mode no longer flashes a light gray header)
|
|
44
|
+
- Context menu outside-click close ignores clicks inside the portaled menu
|
|
45
|
+
- Enter / HTML replace while focused restores selection range; editor focus uses `preventScroll`
|
|
46
|
+
- Clear format (`clearFormat`) also strips color / background styles from the selection
|
|
47
|
+
- Block DnD drop target follows pointer Y (before/after midpoint) with dragging opacity + drop indicator
|
|
48
|
+
|
|
49
|
+
## 1.1.3
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- `keepInMemory` restores drafts on mount in controlled mode via `onChange`
|
|
53
|
+
- SignPad clears drawing state when closed; Insert relies on stroke state only
|
|
54
|
+
- `canvasHasInk` ignores white fill (RGB), not alpha alone
|
|
55
|
+
- localStorage read/write/clear wrapped in try/catch
|
|
56
|
+
- Default memory key moved to `DEFAULT_MEMORY_KEY` const
|
|
57
|
+
|
|
58
|
+
## 1.1.2 — 2026-08-04
|
|
4
59
|
|
|
5
60
|
### Added
|
|
6
61
|
- Sign pad toolbar (`signature`) — canvas draw → insert PNG image
|
package/README.md
CHANGED
|
@@ -113,7 +113,7 @@ export function ContractEditor() {
|
|
|
113
113
|
2. Click the **✍** toolbar button.
|
|
114
114
|
3. Draw with mouse/touch on the canvas.
|
|
115
115
|
4. Click **Insert** — a PNG image is inserted into the document.
|
|
116
|
-
5. Refresh with `keepInMemory` + `memoryKey` — draft HTML restores.
|
|
116
|
+
5. Refresh with `keepInMemory` + `memoryKey` — draft HTML restores (memory wins on mount for controlled `value` / `onChange` too).
|
|
117
117
|
|
|
118
118
|
### Find and replace
|
|
119
119
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("../../utils/cn.utils.cjs");require("../../constants/openai.const.cjs");const e=require("./Box.const.cjs");require("react");require("react-dom");require("../../utils/paste.utils.cjs");const u=r=>{const{as:s=e.BOX_DEFAULT_AS,className:t,children:c,...i}=r;return n.jsx(s,{className:o.cn(e.BOX_CLASS,t),...i,children:c})};exports.Box=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t="span",S="Ink-Box";exports.BOX_CLASS=S;exports.BOX_DEFAULT_AS=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Box.const.d.ts","sourceRoot":"","sources":["../../../src/common-components/Box/Box.const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAG,MAAe,CAAC;AAC9C,eAAO,MAAM,SAAS,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/common-components/Box/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CAO5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { cn as p } from "../../utils/cn.utils.js";
|
|
3
|
+
import "../../constants/openai.const.js";
|
|
4
|
+
import { BOX_DEFAULT_AS as a, BOX_CLASS as c } from "./Box.const.js";
|
|
5
|
+
import "react";
|
|
6
|
+
import "react-dom";
|
|
7
|
+
import "../../utils/paste.utils.js";
|
|
8
|
+
const S = (r) => {
|
|
9
|
+
const { as: o = a, className: m, children: t, ...s } = r;
|
|
10
|
+
return /* @__PURE__ */ i(o, { className: p(c, m), ...s, children: t });
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
S as Box
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Box.types.d.ts","sourceRoot":"","sources":["../../../src/common-components/Box/Box.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACnD,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common-components/Box/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),i=require("../../utils/cn.utils.cjs");require("../../constants/openai.const.cjs");const e=require("./Button.const.cjs");require("react");require("react-dom");require("../../utils/paste.utils.cjs");const T=r=>{const{active:t=!1,className:n,children:u,type:s="button",...o}=r;return c.jsx("button",{type:s,className:i.cn(e.BUTTON_CLASS,e.BUTTON_EDITOR_CLASS,t&&e.BUTTON_ACTIVE_CLASS,t&&e.BUTTON_EDITOR_ACTIVE_CLASS,n),...o,children:u})};exports.Button=T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T="Ink-Button",t="Ink-Button--active",_="Ink-Editor__button",S="Ink-Editor__button--active";exports.BUTTON_ACTIVE_CLASS=t;exports.BUTTON_CLASS=T;exports.BUTTON_EDITOR_ACTIVE_CLASS=S;exports.BUTTON_EDITOR_CLASS=_;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const BUTTON_CLASS = "Ink-Button";
|
|
2
|
+
export declare const BUTTON_ACTIVE_CLASS = "Ink-Button--active";
|
|
3
|
+
export declare const BUTTON_EDITOR_CLASS = "Ink-Editor__button";
|
|
4
|
+
export declare const BUTTON_EDITOR_ACTIVE_CLASS = "Ink-Editor__button--active";
|
|
5
|
+
//# sourceMappingURL=Button.const.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.const.d.ts","sourceRoot":"","sources":["../../../src/common-components/Button/Button.const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,0BAA0B,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/common-components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAiBlC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { cn as p } from "../../utils/cn.utils.js";
|
|
3
|
+
import "../../constants/openai.const.js";
|
|
4
|
+
import { BUTTON_EDITOR_ACTIVE_CLASS as s, BUTTON_ACTIVE_CLASS as n, BUTTON_EDITOR_CLASS as S, BUTTON_CLASS as _ } from "./Button.const.js";
|
|
5
|
+
import "react";
|
|
6
|
+
import "react-dom";
|
|
7
|
+
import "../../utils/paste.utils.js";
|
|
8
|
+
const f = (o) => {
|
|
9
|
+
const { active: t = !1, className: r, children: m, type: T = "button", ...e } = o;
|
|
10
|
+
return /* @__PURE__ */ i(
|
|
11
|
+
"button",
|
|
12
|
+
{
|
|
13
|
+
type: T,
|
|
14
|
+
className: p(
|
|
15
|
+
_,
|
|
16
|
+
S,
|
|
17
|
+
t && n,
|
|
18
|
+
t && s,
|
|
19
|
+
r
|
|
20
|
+
),
|
|
21
|
+
...e,
|
|
22
|
+
children: m
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
f as Button
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/common-components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common-components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),t=require("../../utils/cn.utils.cjs");require("../../constants/openai.const.cjs");const c=require("./Canvas.const.cjs");require("react");require("react-dom");require("../../utils/paste.utils.cjs");const u=e=>{const{canvasRef:r,className:s,...n}=e;return a.jsx("canvas",{ref:r,className:t.cn(c.CANVAS_CLASS,s),...n})};exports.Canvas=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S="Ink-Canvas";exports.CANVAS_CLASS=S;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.const.d.ts","sourceRoot":"","sources":["../../../src/common-components/Canvas/Canvas.const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/common-components/Canvas/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAGlC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { cn as a } from "../../utils/cn.utils.js";
|
|
3
|
+
import "../../constants/openai.const.js";
|
|
4
|
+
import { CANVAS_CLASS as p } from "./Canvas.const.js";
|
|
5
|
+
import "react";
|
|
6
|
+
import "react-dom";
|
|
7
|
+
import "../../utils/paste.utils.js";
|
|
8
|
+
const C = (r) => {
|
|
9
|
+
const { canvasRef: o, className: m, ...t } = r;
|
|
10
|
+
return /* @__PURE__ */ s("canvas", { ref: o, className: a(p, m), ...t });
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
C as Canvas
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.types.d.ts","sourceRoot":"","sources":["../../../src/common-components/Canvas/Canvas.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAClE,SAAS,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common-components/Canvas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react/jsx-runtime"),c=require("react"),O=require("react-dom"),e=require("./ContextMenu.const.cjs"),w=require("./ContextMenu.utils.cjs"),X=require("../../utils/cn.utils.cjs");require("../../constants/openai.const.cjs");require("../../utils/paste.utils.cjs");const P=u=>{const{open:o,x:d,y:l,items:a,onClose:n,colorMode:M}=u,E=c.useRef(null);if(c.useEffect(()=>{if(!o)return;const t=r=>{var T;const s=r.target;if(!(s instanceof Node)){n();return}(T=E.current)!=null&&T.contains(s)||n()},_=r=>{r.key===e.CONTEXT_MENU_KEY_ESCAPE&&n()};return window.addEventListener(e.CONTEXT_MENU_EVENT_POINTER_DOWN,t),window.addEventListener(e.CONTEXT_MENU_EVENT_KEY_DOWN,_),()=>{window.removeEventListener(e.CONTEXT_MENU_EVENT_POINTER_DOWN,t),window.removeEventListener(e.CONTEXT_MENU_EVENT_KEY_DOWN,_)}},[o,n]),!o)return null;const i=w.clampContextMenuPosition({x:d,y:l,menuWidth:e.CONTEXT_MENU_ESTIMATED_WIDTH_PX,menuHeight:e.CONTEXT_MENU_ESTIMATED_HEIGHT_PX,viewport:{width:window.innerWidth,height:window.innerHeight},edgePadding:e.CONTEXT_MENU_EDGE_PADDING_PX}),C=t=>{t.stopPropagation()};return O.createPortal(N.jsx("div",{ref:E,className:e.CONTEXT_MENU_CLASS,role:e.CONTEXT_MENU_ROLE,"data-color-mode":M,style:{left:i.x,top:i.y},onPointerDown:C,children:a.map(t=>N.jsx("button",{type:"button",role:e.CONTEXT_MENU_ITEM_ROLE,className:X.cn(e.CONTEXT_MENU_ITEM_CLASS),disabled:t.disabled,onClick:()=>{t.onSelect(),n()},children:t.label},t.id))}),document.body)};exports.ContextMenu=P;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../../constants/numbers.cjs"),_="Ink-ContextMenu",T="Ink-ContextMenu__item",N="menu",M="menuitem",O="pointerdown",C="keydown",U="Escape",X=E.NUMBER_EIGHT,n=E.NUMBER_ONE_HUNDRED+E.NUMBER_SEVENTY_SIX,t=E.NUMBER_THREE*E.NUMBER_ONE_HUNDRED+E.NUMBER_SIXTY;exports.CONTEXT_MENU_CLASS=_;exports.CONTEXT_MENU_EDGE_PADDING_PX=X;exports.CONTEXT_MENU_ESTIMATED_HEIGHT_PX=t;exports.CONTEXT_MENU_ESTIMATED_WIDTH_PX=n;exports.CONTEXT_MENU_EVENT_KEY_DOWN=C;exports.CONTEXT_MENU_EVENT_POINTER_DOWN=O;exports.CONTEXT_MENU_ITEM_CLASS=T;exports.CONTEXT_MENU_ITEM_ROLE=M;exports.CONTEXT_MENU_KEY_ESCAPE=U;exports.CONTEXT_MENU_ROLE=N;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const CONTEXT_MENU_CLASS = "Ink-ContextMenu";
|
|
2
|
+
export declare const CONTEXT_MENU_ITEM_CLASS = "Ink-ContextMenu__item";
|
|
3
|
+
export declare const CONTEXT_MENU_ROLE = "menu";
|
|
4
|
+
export declare const CONTEXT_MENU_ITEM_ROLE = "menuitem";
|
|
5
|
+
export declare const CONTEXT_MENU_EVENT_POINTER_DOWN = "pointerdown";
|
|
6
|
+
export declare const CONTEXT_MENU_EVENT_KEY_DOWN = "keydown";
|
|
7
|
+
export declare const CONTEXT_MENU_KEY_ESCAPE = "Escape";
|
|
8
|
+
export declare const CONTEXT_MENU_EDGE_PADDING_PX = 8;
|
|
9
|
+
export declare const CONTEXT_MENU_ESTIMATED_WIDTH_PX: number;
|
|
10
|
+
export declare const CONTEXT_MENU_ESTIMATED_HEIGHT_PX: number;
|
|
11
|
+
//# sourceMappingURL=ContextMenu.const.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.const.d.ts","sourceRoot":"","sources":["../../../src/common-components/ContextMenu/ContextMenu.const.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AACpD,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,eAAO,MAAM,+BAA+B,gBAAgB,CAAC;AAC7D,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD,eAAO,MAAM,4BAA4B,IAAe,CAAC;AACzD,eAAO,MAAM,+BAA+B,QAA0C,CAAC;AACvF,eAAO,MAAM,gCAAgC,QACK,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NUMBER_EIGHT as _, NUMBER_ONE_HUNDRED as E, NUMBER_SEVENTY_SIX as T, NUMBER_THREE as N, NUMBER_SIXTY as n } from "../../constants/numbers.js";
|
|
2
|
+
const t = "Ink-ContextMenu", o = "Ink-ContextMenu__item", O = "menu", U = "menuitem", C = "pointerdown", X = "keydown", I = "Escape", e = _, c = E + T, s = N * E + n;
|
|
3
|
+
export {
|
|
4
|
+
t as CONTEXT_MENU_CLASS,
|
|
5
|
+
e as CONTEXT_MENU_EDGE_PADDING_PX,
|
|
6
|
+
s as CONTEXT_MENU_ESTIMATED_HEIGHT_PX,
|
|
7
|
+
c as CONTEXT_MENU_ESTIMATED_WIDTH_PX,
|
|
8
|
+
X as CONTEXT_MENU_EVENT_KEY_DOWN,
|
|
9
|
+
C as CONTEXT_MENU_EVENT_POINTER_DOWN,
|
|
10
|
+
o as CONTEXT_MENU_ITEM_CLASS,
|
|
11
|
+
U as CONTEXT_MENU_ITEM_ROLE,
|
|
12
|
+
I as CONTEXT_MENU_KEY_ESCAPE,
|
|
13
|
+
O as CONTEXT_MENU_ROLE
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/common-components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAmB,MAAM,OAAO,CAAC;AAcpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAoE5C,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as T } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as u, useEffect as C } from "react";
|
|
3
|
+
import { createPortal as M } from "react-dom";
|
|
4
|
+
import { CONTEXT_MENU_EVENT_POINTER_DOWN as s, CONTEXT_MENU_EVENT_KEY_DOWN as N, CONTEXT_MENU_ROLE as w, CONTEXT_MENU_CLASS as O, CONTEXT_MENU_ITEM_ROLE as X, CONTEXT_MENU_KEY_ESCAPE as P, CONTEXT_MENU_EDGE_PADDING_PX as h, CONTEXT_MENU_ESTIMATED_WIDTH_PX as U, CONTEXT_MENU_ESTIMATED_HEIGHT_PX as D, CONTEXT_MENU_ITEM_CLASS as g } from "./ContextMenu.const.js";
|
|
5
|
+
import { clampContextMenuPosition as v } from "./ContextMenu.utils.js";
|
|
6
|
+
import { cn as I } from "../../utils/cn.utils.js";
|
|
7
|
+
import "../../constants/openai.const.js";
|
|
8
|
+
import "../../utils/paste.utils.js";
|
|
9
|
+
const W = (l) => {
|
|
10
|
+
const { open: t, x: a, y: c, items: m, onClose: o, colorMode: p } = l, r = u(null);
|
|
11
|
+
if (C(() => {
|
|
12
|
+
if (!t) return;
|
|
13
|
+
const e = (n) => {
|
|
14
|
+
var d;
|
|
15
|
+
const _ = n.target;
|
|
16
|
+
if (!(_ instanceof Node)) {
|
|
17
|
+
o();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
(d = r.current) != null && d.contains(_) || o();
|
|
21
|
+
}, E = (n) => {
|
|
22
|
+
n.key === P && o();
|
|
23
|
+
};
|
|
24
|
+
return window.addEventListener(s, e), window.addEventListener(N, E), () => {
|
|
25
|
+
window.removeEventListener(s, e), window.removeEventListener(N, E);
|
|
26
|
+
};
|
|
27
|
+
}, [t, o]), !t) return null;
|
|
28
|
+
const i = v({
|
|
29
|
+
x: a,
|
|
30
|
+
y: c,
|
|
31
|
+
menuWidth: U,
|
|
32
|
+
menuHeight: D,
|
|
33
|
+
viewport: { width: window.innerWidth, height: window.innerHeight },
|
|
34
|
+
edgePadding: h
|
|
35
|
+
}), f = (e) => {
|
|
36
|
+
e.stopPropagation();
|
|
37
|
+
};
|
|
38
|
+
return M(
|
|
39
|
+
/* @__PURE__ */ T(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
ref: r,
|
|
43
|
+
className: O,
|
|
44
|
+
role: w,
|
|
45
|
+
"data-color-mode": p,
|
|
46
|
+
style: { left: i.x, top: i.y },
|
|
47
|
+
onPointerDown: f,
|
|
48
|
+
children: m.map((e) => /* @__PURE__ */ T(
|
|
49
|
+
"button",
|
|
50
|
+
{
|
|
51
|
+
type: "button",
|
|
52
|
+
role: X,
|
|
53
|
+
className: I(g),
|
|
54
|
+
disabled: e.disabled,
|
|
55
|
+
onClick: () => {
|
|
56
|
+
e.onSelect(), o();
|
|
57
|
+
},
|
|
58
|
+
children: e.label
|
|
59
|
+
},
|
|
60
|
+
e.id
|
|
61
|
+
))
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
document.body
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
W as ContextMenu
|
|
69
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { InkColorMode } from '../../types';
|
|
3
|
+
export type ContextMenuItem = {
|
|
4
|
+
id: string;
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
onSelect: () => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type ContextMenuProps = {
|
|
10
|
+
open: boolean;
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
items: ContextMenuItem[];
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
colorMode?: Exclude<InkColorMode, 'system'> | undefined;
|
|
16
|
+
};
|
|
17
|
+
export interface ContextMenuPosition {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
}
|
|
21
|
+
export interface ContextMenuViewportBounds {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
}
|
|
25
|
+
export interface ClampContextMenuPositionInput {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
menuWidth: number;
|
|
29
|
+
menuHeight: number;
|
|
30
|
+
viewport: ContextMenuViewportBounds;
|
|
31
|
+
edgePadding: number;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ContextMenu.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.types.d.ts","sourceRoot":"","sources":["../../../src/common-components/ContextMenu/ContextMenu.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../constants/numbers.cjs"),h=a=>{const{x:m,y:s,menuWidth:r,menuHeight:u,viewport:e,edgePadding:t}=a,x=Math.max(t,e.width-r-t),c=Math.max(t,e.height-u-t),n=Math.min(Math.max(m,t),x),i=Math.min(Math.max(s,t),c);return{x:Number.isFinite(n)?n:o.NUMBER_ZERO,y:Number.isFinite(i)?i:o.NUMBER_ZERO}};exports.clampContextMenuPosition=h;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.utils.d.ts","sourceRoot":"","sources":["../../../src/common-components/ContextMenu/ContextMenu.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,wBAAwB,GACnC,OAAO,6BAA6B,KACnC,mBAWF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NUMBER_ZERO as m } from "../../constants/numbers.js";
|
|
2
|
+
const u = (a) => {
|
|
3
|
+
const { x: o, y: x, menuWidth: h, menuHeight: s, viewport: n, edgePadding: t } = a, r = Math.max(t, n.width - h - t), M = Math.max(t, n.height - s - t), e = Math.min(Math.max(o, t), r), i = Math.min(Math.max(x, t), M);
|
|
4
|
+
return {
|
|
5
|
+
x: Number.isFinite(e) ? e : m,
|
|
6
|
+
y: Number.isFinite(i) ? i : m
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
u as clampContextMenuPosition
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.utils.test.d.ts","sourceRoot":"","sources":["../../../src/common-components/ContextMenu/ContextMenu.utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ContextMenu } from './ContextMenu';
|
|
2
|
+
export type { ClampContextMenuPositionInput, ContextMenuItem, ContextMenuPosition, ContextMenuProps, ContextMenuViewportBounds, } from './ContextMenu.types';
|
|
3
|
+
export { CONTEXT_MENU_CLASS, CONTEXT_MENU_EDGE_PADDING_PX, CONTEXT_MENU_ESTIMATED_HEIGHT_PX, CONTEXT_MENU_ESTIMATED_WIDTH_PX, CONTEXT_MENU_EVENT_KEY_DOWN, CONTEXT_MENU_EVENT_POINTER_DOWN, CONTEXT_MENU_ITEM_CLASS, CONTEXT_MENU_ITEM_ROLE, CONTEXT_MENU_KEY_ESCAPE, CONTEXT_MENU_ROLE, } from './ContextMenu.const';
|
|
4
|
+
export { clampContextMenuPosition } from './ContextMenu.utils';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common-components/ContextMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,6BAA6B,EAC7B,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../Box/Box.cjs"),r=require("./Field.const.cjs"),q=require("../../utils/cn.utils.cjs");require("../../constants/openai.const.cjs");require("react");require("react-dom");require("../../utils/paste.utils.cjs");const d=s=>{const{label:n,value:t,onChange:i,autoFocus:u=!1,className:a,inputProps:l}=s;return e.jsxs("label",{className:q.cn(r.FIELD_CLASS,a),children:[e.jsx(c.Box,{as:"span",className:r.FIELD_LABEL_CLASS,children:n}),e.jsx("input",{value:t,onChange:o=>i(o.target.value),autoFocus:u,...l})]})};exports.Field=d;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L="Ink-Field",e="Ink-Field__label";exports.FIELD_CLASS=L;exports.FIELD_LABEL_CLASS=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.const.d.ts","sourceRoot":"","sources":["../../../src/common-components/Field/Field.const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,iBAAiB,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/common-components/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAehC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as n, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { Box as p } from "../Box/Box.js";
|
|
3
|
+
import { FIELD_LABEL_CLASS as c, FIELD_CLASS as u } from "./Field.const.js";
|
|
4
|
+
import { cn as L } from "../../utils/cn.utils.js";
|
|
5
|
+
import "../../constants/openai.const.js";
|
|
6
|
+
import "react";
|
|
7
|
+
import "react-dom";
|
|
8
|
+
import "../../utils/paste.utils.js";
|
|
9
|
+
const A = (r) => {
|
|
10
|
+
const { label: a, value: t, onChange: e, autoFocus: s = !1, className: m, inputProps: i } = r;
|
|
11
|
+
return /* @__PURE__ */ n("label", { className: L(u, m), children: [
|
|
12
|
+
/* @__PURE__ */ o(p, { as: "span", className: c, children: a }),
|
|
13
|
+
/* @__PURE__ */ o(
|
|
14
|
+
"input",
|
|
15
|
+
{
|
|
16
|
+
value: t,
|
|
17
|
+
onChange: (l) => e(l.target.value),
|
|
18
|
+
autoFocus: s,
|
|
19
|
+
...i
|
|
20
|
+
}
|
|
21
|
+
)
|
|
22
|
+
] });
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
A as Field
|
|
26
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type FieldProps = {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
autoFocus?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
inputProps?: Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'autoFocus'>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=Field.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.types.d.ts","sourceRoot":"","sources":["../../../src/common-components/Field/Field.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;CAC9F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common-components/Field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("./Icon.const.cjs"),s=require("../../utils/cn.utils.cjs");require("../../constants/openai.const.cjs");require("react");require("react-dom");require("../../utils/paste.utils.cjs");const c=()=>r.jsx("span",{className:s.cn(e.ICON_CLASS,e.ICON_CLASS_GRIP),"aria-hidden":"true",children:r.jsx("svg",{viewBox:e.ICON_VIEWBOX,children:e.GRIP_DOT_ROWS.flatMap(i=>e.GRIP_DOT_COLS.map(n=>r.jsx("circle",{cx:n,cy:i,r:e.GRIP_DOT_RADIUS},`${n}-${i}`)))})});exports.GripIcon=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GripIcon.d.ts","sourceRoot":"","sources":["../../../src/common-components/icons/GripIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAWhC,eAAO,MAAM,QAAQ,EAAE,EAUtB,CAAC"}
|