@atlaskit/editor-plugin-extension 0.4.2 → 0.5.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.
- package/.eslintrc.js +26 -0
- package/CHANGELOG.md +16 -0
- package/dist/cjs/actions.js +236 -0
- package/dist/cjs/commands.js +122 -0
- package/dist/cjs/context-panel.js +269 -0
- package/dist/cjs/extension-api.js +266 -0
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/plugin-factory.js +32 -0
- package/dist/cjs/plugin-key.js +8 -0
- package/dist/cjs/plugin.js +147 -0
- package/dist/cjs/pm-plugins/keymap.js +21 -0
- package/dist/cjs/pm-plugins/macro/actions.js +186 -0
- package/dist/cjs/pm-plugins/macro/index.js +72 -0
- package/dist/cjs/pm-plugins/macro/plugin-key.js +8 -0
- package/dist/cjs/pm-plugins/macro/types.js +5 -0
- package/dist/cjs/pm-plugins/main.js +323 -0
- package/dist/cjs/pm-plugins/unique-id.js +80 -0
- package/dist/cjs/pm-plugins/utils.js +75 -0
- package/dist/cjs/reducer.js +18 -0
- package/dist/cjs/toolbar.js +242 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +475 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +122 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanelLoader.js +23 -0
- package/dist/cjs/ui/ConfigPanel/ErrorMessage/ErrorImage.js +76 -0
- package/dist/cjs/ui/ConfigPanel/ErrorMessage/index.js +33 -0
- package/dist/cjs/ui/ConfigPanel/FieldMessages.js +105 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +150 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +101 -0
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +420 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +192 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Date.js +55 -0
- package/dist/cjs/ui/ConfigPanel/Fields/DateRange.js +160 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Enum.js +41 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +88 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +270 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Number.js +64 -0
- package/dist/cjs/ui/ConfigPanel/Fields/RadioGroup.js +56 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Select.js +60 -0
- package/dist/cjs/ui/ConfigPanel/Fields/SelectItem.js +53 -0
- package/dist/cjs/ui/ConfigPanel/Fields/String.js +75 -0
- package/dist/cjs/ui/ConfigPanel/Fields/TabGroup.js +73 -0
- package/dist/cjs/ui/ConfigPanel/Fields/UnhandledType.js +19 -0
- package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +268 -0
- package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +12 -0
- package/dist/cjs/ui/ConfigPanel/FormContent.js +231 -0
- package/dist/cjs/ui/ConfigPanel/FormErrorBoundary.js +140 -0
- package/dist/cjs/ui/ConfigPanel/Header.js +148 -0
- package/dist/cjs/ui/ConfigPanel/LoadingState.js +25 -0
- package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +61 -0
- package/dist/cjs/ui/ConfigPanel/constants.js +13 -0
- package/dist/cjs/ui/ConfigPanel/index.js +9 -0
- package/dist/cjs/ui/ConfigPanel/messages.js +99 -0
- package/dist/cjs/ui/ConfigPanel/transformers.js +631 -0
- package/dist/cjs/ui/ConfigPanel/types.js +15 -0
- package/dist/cjs/ui/ConfigPanel/use-abortable-effect/index.js +56 -0
- package/dist/cjs/ui/ConfigPanel/use-state-from-promise/index.js +41 -0
- package/dist/cjs/ui/ConfigPanel/utils.js +116 -0
- package/dist/cjs/ui/SaveIndicator/SaveIndicator.js +79 -0
- package/dist/cjs/ui/SaveIndicator/messages.js +14 -0
- package/dist/cjs/ui/SaveIndicator/types.js +5 -0
- package/dist/cjs/utils.js +73 -0
- package/dist/es2019/actions.js +203 -0
- package/dist/es2019/commands.js +99 -0
- package/dist/es2019/context-panel.js +181 -0
- package/dist/es2019/extension-api.js +284 -0
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/plugin-factory.js +26 -0
- package/dist/es2019/plugin-key.js +2 -0
- package/dist/es2019/plugin.js +138 -0
- package/dist/es2019/pm-plugins/keymap.js +15 -0
- package/dist/es2019/pm-plugins/macro/actions.js +152 -0
- package/dist/es2019/pm-plugins/macro/index.js +36 -0
- package/dist/es2019/pm-plugins/macro/plugin-key.js +2 -0
- package/dist/es2019/pm-plugins/macro/types.js +1 -0
- package/dist/es2019/pm-plugins/main.js +230 -0
- package/dist/es2019/pm-plugins/unique-id.js +69 -0
- package/dist/es2019/pm-plugins/utils.js +30 -0
- package/dist/es2019/reducer.js +11 -0
- package/dist/es2019/toolbar.js +236 -0
- package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +415 -0
- package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +100 -0
- package/dist/es2019/ui/ConfigPanel/ConfigPanelLoader.js +7 -0
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +66 -0
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/index.js +25 -0
- package/dist/es2019/ui/ConfigPanel/FieldMessages.js +101 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +138 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +96 -0
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +411 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +132 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Date.js +50 -0
- package/dist/es2019/ui/ConfigPanel/Fields/DateRange.js +139 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Enum.js +35 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +73 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +227 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Number.js +61 -0
- package/dist/es2019/ui/ConfigPanel/Fields/RadioGroup.js +40 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Select.js +50 -0
- package/dist/es2019/ui/ConfigPanel/Fields/SelectItem.js +47 -0
- package/dist/es2019/ui/ConfigPanel/Fields/String.js +67 -0
- package/dist/es2019/ui/ConfigPanel/Fields/TabGroup.js +57 -0
- package/dist/es2019/ui/ConfigPanel/Fields/UnhandledType.js +11 -0
- package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +194 -0
- package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +5 -0
- package/dist/es2019/ui/ConfigPanel/FormContent.js +225 -0
- package/dist/es2019/ui/ConfigPanel/FormErrorBoundary.js +100 -0
- package/dist/es2019/ui/ConfigPanel/Header.js +140 -0
- package/dist/es2019/ui/ConfigPanel/LoadingState.js +15 -0
- package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +52 -0
- package/dist/es2019/ui/ConfigPanel/constants.js +7 -0
- package/dist/es2019/ui/ConfigPanel/index.js +2 -0
- package/dist/es2019/ui/ConfigPanel/messages.js +93 -0
- package/dist/es2019/ui/ConfigPanel/transformers.js +367 -0
- package/dist/es2019/ui/ConfigPanel/types.js +9 -0
- package/dist/es2019/ui/ConfigPanel/use-abortable-effect/index.js +46 -0
- package/dist/es2019/ui/ConfigPanel/use-state-from-promise/index.js +30 -0
- package/dist/es2019/ui/ConfigPanel/utils.js +86 -0
- package/dist/es2019/ui/SaveIndicator/SaveIndicator.js +66 -0
- package/dist/es2019/ui/SaveIndicator/messages.js +8 -0
- package/dist/es2019/ui/SaveIndicator/types.js +1 -0
- package/dist/es2019/utils.js +65 -0
- package/dist/esm/actions.js +223 -0
- package/dist/esm/commands.js +113 -0
- package/dist/esm/context-panel.js +261 -0
- package/dist/esm/extension-api.js +259 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/plugin-factory.js +25 -0
- package/dist/esm/plugin-key.js +2 -0
- package/dist/esm/plugin.js +140 -0
- package/dist/esm/pm-plugins/keymap.js +15 -0
- package/dist/esm/pm-plugins/macro/actions.js +179 -0
- package/dist/esm/pm-plugins/macro/index.js +42 -0
- package/dist/esm/pm-plugins/macro/plugin-key.js +2 -0
- package/dist/esm/pm-plugins/macro/types.js +1 -0
- package/dist/esm/pm-plugins/main.js +298 -0
- package/dist/esm/pm-plugins/unique-id.js +74 -0
- package/dist/esm/pm-plugins/utils.js +68 -0
- package/dist/esm/reducer.js +11 -0
- package/dist/esm/toolbar.js +235 -0
- package/dist/esm/ui/ConfigPanel/ConfigPanel.js +465 -0
- package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +112 -0
- package/dist/esm/ui/ConfigPanel/ConfigPanelLoader.js +11 -0
- package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +68 -0
- package/dist/esm/ui/ConfigPanel/ErrorMessage/index.js +26 -0
- package/dist/esm/ui/ConfigPanel/FieldMessages.js +97 -0
- package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +140 -0
- package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +95 -0
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +414 -0
- package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +182 -0
- package/dist/esm/ui/ConfigPanel/Fields/Date.js +48 -0
- package/dist/esm/ui/ConfigPanel/Fields/DateRange.js +154 -0
- package/dist/esm/ui/ConfigPanel/Fields/Enum.js +34 -0
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +77 -0
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +261 -0
- package/dist/esm/ui/ConfigPanel/Fields/Number.js +57 -0
- package/dist/esm/ui/ConfigPanel/Fields/RadioGroup.js +46 -0
- package/dist/esm/ui/ConfigPanel/Fields/Select.js +50 -0
- package/dist/esm/ui/ConfigPanel/Fields/SelectItem.js +45 -0
- package/dist/esm/ui/ConfigPanel/Fields/String.js +65 -0
- package/dist/esm/ui/ConfigPanel/Fields/TabGroup.js +62 -0
- package/dist/esm/ui/ConfigPanel/Fields/UnhandledType.js +10 -0
- package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +258 -0
- package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +5 -0
- package/dist/esm/ui/ConfigPanel/FormContent.js +223 -0
- package/dist/esm/ui/ConfigPanel/FormErrorBoundary.js +133 -0
- package/dist/esm/ui/ConfigPanel/Header.js +140 -0
- package/dist/esm/ui/ConfigPanel/LoadingState.js +17 -0
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +53 -0
- package/dist/esm/ui/ConfigPanel/constants.js +7 -0
- package/dist/esm/ui/ConfigPanel/index.js +2 -0
- package/dist/esm/ui/ConfigPanel/messages.js +93 -0
- package/dist/esm/ui/ConfigPanel/transformers.js +624 -0
- package/dist/esm/ui/ConfigPanel/types.js +9 -0
- package/dist/esm/ui/ConfigPanel/use-abortable-effect/index.js +49 -0
- package/dist/esm/ui/ConfigPanel/use-state-from-promise/index.js +34 -0
- package/dist/esm/ui/ConfigPanel/utils.js +109 -0
- package/dist/esm/ui/SaveIndicator/SaveIndicator.js +72 -0
- package/dist/esm/ui/SaveIndicator/messages.js +8 -0
- package/dist/esm/ui/SaveIndicator/types.js +1 -0
- package/dist/esm/utils.js +67 -0
- package/dist/types/actions.d.ts +20 -0
- package/dist/types/commands.d.ts +15 -0
- package/dist/types/context-panel.d.ts +10 -0
- package/dist/types/extension-api.d.ts +12 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/plugin-factory.d.ts +4 -0
- package/dist/types/plugin-key.d.ts +3 -0
- package/dist/types/plugin.d.ts +2 -0
- package/dist/types/pm-plugins/keymap.d.ts +3 -0
- package/dist/types/pm-plugins/macro/actions.d.ts +9 -0
- package/dist/types/pm-plugins/macro/index.d.ts +8 -0
- package/dist/types/pm-plugins/macro/plugin-key.d.ts +3 -0
- package/dist/types/pm-plugins/macro/types.d.ts +4 -0
- package/dist/types/pm-plugins/main.d.ts +25 -0
- package/dist/types/pm-plugins/unique-id.d.ts +3 -0
- package/dist/types/pm-plugins/utils.d.ts +3 -0
- package/dist/types/reducer.d.ts +2 -0
- package/dist/types/toolbar.d.ts +44 -0
- package/dist/types/types.d.ts +27 -2
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +22 -0
- package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +21 -0
- package/dist/types/ui/ConfigPanel/ConfigPanelLoader.d.ts +5 -0
- package/dist/types/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +4 -0
- package/dist/types/ui/ConfigPanel/ErrorMessage/index.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/FieldMessages.d.ts +12 -0
- package/dist/types/ui/ConfigPanel/Fields/Boolean.d.ts +8 -0
- package/dist/types/ui/ConfigPanel/Fields/CheckboxGroup.d.ts +8 -0
- package/dist/types/ui/ConfigPanel/Fields/ColorPicker.d.ts +20 -0
- package/dist/types/ui/ConfigPanel/Fields/CustomSelect.d.ts +24 -0
- package/dist/types/ui/ConfigPanel/Fields/Date.d.ts +20 -0
- package/dist/types/ui/ConfigPanel/Fields/DateRange.d.ts +20 -0
- package/dist/types/ui/ConfigPanel/Fields/Enum.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/Expand.d.ts +16 -0
- package/dist/types/ui/ConfigPanel/Fields/Fieldset.d.ts +19 -0
- package/dist/types/ui/ConfigPanel/Fields/Number.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/RadioGroup.d.ts +8 -0
- package/dist/types/ui/ConfigPanel/Fields/Select.d.ts +11 -0
- package/dist/types/ui/ConfigPanel/Fields/SelectItem.d.ts +5 -0
- package/dist/types/ui/ConfigPanel/Fields/String.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/TabGroup.d.ts +14 -0
- package/dist/types/ui/ConfigPanel/Fields/UnhandledType.d.ts +6 -0
- package/dist/types/ui/ConfigPanel/Fields/UserSelect.d.ts +10 -0
- package/dist/types/ui/ConfigPanel/Fields/common/RequiredIndicator.d.ts +1 -0
- package/dist/types/ui/ConfigPanel/FormContent.d.ts +4 -0
- package/dist/types/ui/ConfigPanel/FormErrorBoundary.d.ts +16 -0
- package/dist/types/ui/ConfigPanel/Header.d.ts +23 -0
- package/dist/types/ui/ConfigPanel/LoadingState.d.ts +4 -0
- package/dist/types/ui/ConfigPanel/NestedForms/RemovableField.d.ts +19 -0
- package/dist/types/ui/ConfigPanel/constants.d.ts +2 -0
- package/dist/types/ui/ConfigPanel/index.d.ts +2 -0
- package/dist/types/ui/ConfigPanel/messages.d.ts +92 -0
- package/dist/types/ui/ConfigPanel/transformers.d.ts +9 -0
- package/dist/types/ui/ConfigPanel/types.d.ts +36 -0
- package/dist/types/ui/ConfigPanel/use-abortable-effect/index.d.ts +16 -0
- package/dist/types/ui/ConfigPanel/use-state-from-promise/index.d.ts +15 -0
- package/dist/types/ui/ConfigPanel/utils.d.ts +16 -0
- package/dist/types/ui/SaveIndicator/SaveIndicator.d.ts +4 -0
- package/dist/types/ui/SaveIndicator/messages.d.ts +7 -0
- package/dist/types/ui/SaveIndicator/types.d.ts +11 -0
- package/dist/types/utils.d.ts +15 -0
- package/dist/types-ts4.5/actions.d.ts +20 -0
- package/dist/types-ts4.5/commands.d.ts +15 -0
- package/dist/types-ts4.5/context-panel.d.ts +10 -0
- package/dist/types-ts4.5/extension-api.d.ts +12 -0
- package/dist/types-ts4.5/index.d.ts +2 -1
- package/dist/types-ts4.5/plugin-factory.d.ts +4 -0
- package/dist/types-ts4.5/plugin-key.d.ts +3 -0
- package/dist/types-ts4.5/plugin.d.ts +2 -0
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/macro/actions.d.ts +9 -0
- package/dist/types-ts4.5/pm-plugins/macro/index.d.ts +8 -0
- package/dist/types-ts4.5/pm-plugins/macro/plugin-key.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/macro/types.d.ts +4 -0
- package/dist/types-ts4.5/pm-plugins/main.d.ts +25 -0
- package/dist/types-ts4.5/pm-plugins/unique-id.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/utils.d.ts +3 -0
- package/dist/types-ts4.5/reducer.d.ts +2 -0
- package/dist/types-ts4.5/toolbar.d.ts +44 -0
- package/dist/types-ts4.5/types.d.ts +27 -2
- package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanel.d.ts +22 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +21 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanelLoader.d.ts +5 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/FieldMessages.d.ts +12 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Boolean.d.ts +8 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/CheckboxGroup.d.ts +8 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/ColorPicker.d.ts +20 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/CustomSelect.d.ts +24 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Date.d.ts +20 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/DateRange.d.ts +20 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Enum.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Expand.d.ts +16 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Fieldset.d.ts +19 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Number.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/RadioGroup.d.ts +8 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Select.d.ts +11 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/SelectItem.d.ts +5 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/String.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/TabGroup.d.ts +14 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/UnhandledType.d.ts +6 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/UserSelect.d.ts +10 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/common/RequiredIndicator.d.ts +1 -0
- package/dist/types-ts4.5/ui/ConfigPanel/FormContent.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfigPanel/FormErrorBoundary.d.ts +16 -0
- package/dist/types-ts4.5/ui/ConfigPanel/Header.d.ts +23 -0
- package/dist/types-ts4.5/ui/ConfigPanel/LoadingState.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfigPanel/NestedForms/RemovableField.d.ts +19 -0
- package/dist/types-ts4.5/ui/ConfigPanel/constants.d.ts +2 -0
- package/dist/types-ts4.5/ui/ConfigPanel/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/ConfigPanel/messages.d.ts +92 -0
- package/dist/types-ts4.5/ui/ConfigPanel/transformers.d.ts +9 -0
- package/dist/types-ts4.5/ui/ConfigPanel/types.d.ts +39 -0
- package/dist/types-ts4.5/ui/ConfigPanel/use-abortable-effect/index.d.ts +16 -0
- package/dist/types-ts4.5/ui/ConfigPanel/use-state-from-promise/index.d.ts +18 -0
- package/dist/types-ts4.5/ui/ConfigPanel/utils.d.ts +16 -0
- package/dist/types-ts4.5/ui/SaveIndicator/SaveIndicator.d.ts +4 -0
- package/dist/types-ts4.5/ui/SaveIndicator/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/SaveIndicator/types.d.ts +11 -0
- package/dist/types-ts4.5/utils.d.ts +15 -0
- package/example-utils/config-panel/ConfigPanelWithExtensionPicker.tsx +217 -0
- package/example-utils/config-panel/ConfigPanelWithProviders.tsx +51 -0
- package/example-utils/config-panel/ExtensionNodePicker.tsx +141 -0
- package/example-utils/config-panel/FieldTypePicker.tsx +63 -0
- package/example-utils/config-panel/example-manifest-all-fields.ts +86 -0
- package/example-utils/config-panel/example-manifest-individual-fields.ts +85 -0
- package/example-utils/config-panel/fields.ts +611 -0
- package/package.json +49 -7
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createPlugin = void 0;
|
|
8
|
+
Object.defineProperty(exports, "insertMacroFromMacroBrowser", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _actions.insertMacroFromMacroBrowser;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "resolveMacro", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _actions.resolveMacro;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "runMacroAutoConvert", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _actions.runMacroAutoConvert;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "setMacroProvider", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _actions.setMacroProvider;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
34
|
+
var _actions = require("./actions");
|
|
35
|
+
var _pluginKey = require("./plugin-key");
|
|
36
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
37
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
38
|
+
var createPlugin = exports.createPlugin = function createPlugin(dispatch, providerFactory) {
|
|
39
|
+
return new _safePlugin.SafePlugin({
|
|
40
|
+
state: {
|
|
41
|
+
init: function init() {
|
|
42
|
+
return {
|
|
43
|
+
macroProvider: null
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
apply: function apply(tr, state) {
|
|
47
|
+
var meta = tr.getMeta(_pluginKey.pluginKey);
|
|
48
|
+
if (meta) {
|
|
49
|
+
var newState = _objectSpread(_objectSpread({}, state), meta);
|
|
50
|
+
dispatch(_pluginKey.pluginKey, newState);
|
|
51
|
+
return newState;
|
|
52
|
+
}
|
|
53
|
+
return state;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
key: _pluginKey.pluginKey,
|
|
57
|
+
view: function view(_view) {
|
|
58
|
+
var handleProvider = function handleProvider(_name, provider) {
|
|
59
|
+
return provider && (0, _actions.setMacroProvider)(provider)(_view);
|
|
60
|
+
};
|
|
61
|
+
// make sure editable DOM node is mounted
|
|
62
|
+
if (_view.dom.parentNode) {
|
|
63
|
+
providerFactory.subscribe('macroProvider', handleProvider);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
destroy: function destroy() {
|
|
67
|
+
providerFactory.unsubscribe('macroProvider', handleProvider);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
};
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "createCommand", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _pluginFactory.createCommand;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports.createPlugin = exports.createExtensionProviderHandler = exports.createContextIdentifierProviderHandler = void 0;
|
|
14
|
+
Object.defineProperty(exports, "getPluginState", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _pluginFactory.getPluginState;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
exports.handleUpdate = void 0;
|
|
21
|
+
Object.defineProperty(exports, "pluginKey", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _pluginKey.pluginKey;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
28
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
29
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
30
|
+
var _extensibility = require("@atlaskit/editor-common/extensibility");
|
|
31
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
32
|
+
var _selection = require("@atlaskit/editor-common/selection");
|
|
33
|
+
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
34
|
+
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
35
|
+
var _commands = require("../commands");
|
|
36
|
+
var _pluginFactory = require("../plugin-factory");
|
|
37
|
+
var _pluginKey = require("../plugin-key");
|
|
38
|
+
var _utils2 = require("../utils");
|
|
39
|
+
var _utils3 = require("./utils");
|
|
40
|
+
var shouldShowEditButton = function shouldShowEditButton(extensionHandler, extensionProvider) {
|
|
41
|
+
var usesLegacyMacroBrowser = !extensionHandler && !extensionProvider || typeof extensionHandler === 'function';
|
|
42
|
+
var usesModernUpdateMethod = (0, _typeof2.default)(extensionHandler) === 'object' && typeof extensionHandler.update === 'function';
|
|
43
|
+
if (usesLegacyMacroBrowser || usesModernUpdateMethod) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
};
|
|
48
|
+
var getUpdateExtensionPromise = /*#__PURE__*/function () {
|
|
49
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(view, extensionHandler, extensionProvider) {
|
|
50
|
+
var updateMethod;
|
|
51
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
52
|
+
while (1) switch (_context.prev = _context.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
if (!(extensionHandler && (0, _typeof2.default)(extensionHandler) === 'object')) {
|
|
55
|
+
_context.next = 4;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
return _context.abrupt("return", extensionHandler.update);
|
|
59
|
+
case 4:
|
|
60
|
+
if (!extensionProvider) {
|
|
61
|
+
_context.next = 10;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
_context.next = 7;
|
|
65
|
+
return (0, _utils3.updateEditButton)(view, extensionProvider);
|
|
66
|
+
case 7:
|
|
67
|
+
updateMethod = _context.sent;
|
|
68
|
+
if (!updateMethod) {
|
|
69
|
+
_context.next = 10;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
return _context.abrupt("return", updateMethod);
|
|
73
|
+
case 10:
|
|
74
|
+
throw new Error('No update method available');
|
|
75
|
+
case 11:
|
|
76
|
+
case "end":
|
|
77
|
+
return _context.stop();
|
|
78
|
+
}
|
|
79
|
+
}, _callee);
|
|
80
|
+
}));
|
|
81
|
+
return function getUpdateExtensionPromise(_x, _x2, _x3) {
|
|
82
|
+
return _ref.apply(this, arguments);
|
|
83
|
+
};
|
|
84
|
+
}();
|
|
85
|
+
var createExtensionProviderHandler = exports.createExtensionProviderHandler = function createExtensionProviderHandler(view) {
|
|
86
|
+
return /*#__PURE__*/function () {
|
|
87
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(name, provider) {
|
|
88
|
+
var extensionProvider;
|
|
89
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
90
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
91
|
+
case 0:
|
|
92
|
+
if (!(name === 'extensionProvider' && provider)) {
|
|
93
|
+
_context2.next = 13;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
_context2.prev = 1;
|
|
97
|
+
_context2.next = 4;
|
|
98
|
+
return provider;
|
|
99
|
+
case 4:
|
|
100
|
+
extensionProvider = _context2.sent;
|
|
101
|
+
(0, _commands.updateState)({
|
|
102
|
+
extensionProvider: extensionProvider
|
|
103
|
+
})(view.state, view.dispatch);
|
|
104
|
+
_context2.next = 8;
|
|
105
|
+
return (0, _utils3.updateEditButton)(view, extensionProvider);
|
|
106
|
+
case 8:
|
|
107
|
+
_context2.next = 13;
|
|
108
|
+
break;
|
|
109
|
+
case 10:
|
|
110
|
+
_context2.prev = 10;
|
|
111
|
+
_context2.t0 = _context2["catch"](1);
|
|
112
|
+
(0, _commands.updateState)({
|
|
113
|
+
extensionProvider: undefined
|
|
114
|
+
})(view.state, view.dispatch);
|
|
115
|
+
case 13:
|
|
116
|
+
case "end":
|
|
117
|
+
return _context2.stop();
|
|
118
|
+
}
|
|
119
|
+
}, _callee2, null, [[1, 10]]);
|
|
120
|
+
}));
|
|
121
|
+
return function (_x4, _x5) {
|
|
122
|
+
return _ref2.apply(this, arguments);
|
|
123
|
+
};
|
|
124
|
+
}();
|
|
125
|
+
};
|
|
126
|
+
var createContextIdentifierProviderHandler = exports.createContextIdentifierProviderHandler = function createContextIdentifierProviderHandler(view) {
|
|
127
|
+
return /*#__PURE__*/function () {
|
|
128
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(name, provider) {
|
|
129
|
+
var contextIdentifierProvider;
|
|
130
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
131
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
132
|
+
case 0:
|
|
133
|
+
if (!(name === 'contextIdentifierProvider' && provider)) {
|
|
134
|
+
_context3.next = 11;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
_context3.prev = 1;
|
|
138
|
+
_context3.next = 4;
|
|
139
|
+
return provider;
|
|
140
|
+
case 4:
|
|
141
|
+
contextIdentifierProvider = _context3.sent;
|
|
142
|
+
(0, _commands.updateState)({
|
|
143
|
+
contextIdentifierProvider: contextIdentifierProvider
|
|
144
|
+
})(view.state, view.dispatch);
|
|
145
|
+
_context3.next = 11;
|
|
146
|
+
break;
|
|
147
|
+
case 8:
|
|
148
|
+
_context3.prev = 8;
|
|
149
|
+
_context3.t0 = _context3["catch"](1);
|
|
150
|
+
(0, _commands.updateState)({
|
|
151
|
+
contextIdentifierProvider: undefined
|
|
152
|
+
})(view.state, view.dispatch);
|
|
153
|
+
case 11:
|
|
154
|
+
case "end":
|
|
155
|
+
return _context3.stop();
|
|
156
|
+
}
|
|
157
|
+
}, _callee3, null, [[1, 8]]);
|
|
158
|
+
}));
|
|
159
|
+
return function (_x6, _x7) {
|
|
160
|
+
return _ref3.apply(this, arguments);
|
|
161
|
+
};
|
|
162
|
+
}();
|
|
163
|
+
};
|
|
164
|
+
var handleUpdate = exports.handleUpdate = function handleUpdate(_ref4) {
|
|
165
|
+
var view = _ref4.view,
|
|
166
|
+
prevState = _ref4.prevState,
|
|
167
|
+
domAtPos = _ref4.domAtPos,
|
|
168
|
+
extensionHandlers = _ref4.extensionHandlers,
|
|
169
|
+
applyChange = _ref4.applyChange;
|
|
170
|
+
var state = view.state,
|
|
171
|
+
dispatch = view.dispatch;
|
|
172
|
+
var _getPluginState = (0, _pluginFactory.getPluginState)(state),
|
|
173
|
+
element = _getPluginState.element,
|
|
174
|
+
localId = _getPluginState.localId,
|
|
175
|
+
extensionProvider = _getPluginState.extensionProvider,
|
|
176
|
+
showContextPanel = _getPluginState.showContextPanel,
|
|
177
|
+
showEditButton = _getPluginState.showEditButton;
|
|
178
|
+
|
|
179
|
+
// This fetches the selected extension node, either by keyboard selection or click for all types of extensions
|
|
180
|
+
var selectedExtension = (0, _utils2.getSelectedExtension)(state, true);
|
|
181
|
+
if (!selectedExtension) {
|
|
182
|
+
if (showContextPanel) {
|
|
183
|
+
(0, _commands.clearEditingContext)(applyChange)(state, dispatch);
|
|
184
|
+
}
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
var node = selectedExtension.node;
|
|
188
|
+
var newElement = (0, _utils2.getSelectedDomElement)(state.schema, domAtPos, selectedExtension);
|
|
189
|
+
|
|
190
|
+
// In some cases, showEditButton can be stale and the edit button doesn't show - @see ED-15285
|
|
191
|
+
// To be safe, we update the showEditButton state here
|
|
192
|
+
var shouldUpdateEditButton = !showEditButton && extensionProvider && element === newElement && !(0, _utils2.getSelectedExtension)(prevState, true);
|
|
193
|
+
var isNewNodeSelected = node.attrs.localId ? localId !== node.attrs.localId :
|
|
194
|
+
// This is the current assumption and it's wrong but we are keeping it
|
|
195
|
+
// as fallback in case we need to turn off `allowLocalIdGeneration`
|
|
196
|
+
element !== newElement;
|
|
197
|
+
if (isNewNodeSelected || shouldUpdateEditButton) {
|
|
198
|
+
if (showContextPanel) {
|
|
199
|
+
(0, _commands.clearEditingContext)(applyChange)(state, dispatch);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
var extensionType = node.attrs.extensionType;
|
|
203
|
+
var extensionHandler = extensionHandlers[extensionType];
|
|
204
|
+
|
|
205
|
+
// showEditButton might change async based on results from extension providers
|
|
206
|
+
var _showEditButton = shouldShowEditButton(extensionHandler, extensionProvider);
|
|
207
|
+
var updateExtension = getUpdateExtensionPromise(view, extensionHandler, extensionProvider).catch(function () {
|
|
208
|
+
// do nothing;
|
|
209
|
+
});
|
|
210
|
+
(0, _commands.updateState)({
|
|
211
|
+
localId: node.attrs.localId,
|
|
212
|
+
showContextPanel: false,
|
|
213
|
+
element: newElement,
|
|
214
|
+
showEditButton: _showEditButton,
|
|
215
|
+
updateExtension: updateExtension
|
|
216
|
+
})(state, dispatch);
|
|
217
|
+
}
|
|
218
|
+
// New DOM element doesn't necessarily mean it's a new Node
|
|
219
|
+
else if (element !== newElement) {
|
|
220
|
+
(0, _commands.updateState)({
|
|
221
|
+
element: newElement
|
|
222
|
+
})(state, dispatch);
|
|
223
|
+
}
|
|
224
|
+
return true;
|
|
225
|
+
};
|
|
226
|
+
var createPlugin = exports.createPlugin = function createPlugin(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, pluginInjectionApi) {
|
|
227
|
+
var _pluginInjectionApi$c;
|
|
228
|
+
var useLongPressSelection = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
229
|
+
var options = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {};
|
|
230
|
+
var state = (0, _pluginFactory.createPluginState)(dispatch, {
|
|
231
|
+
showEditButton: false,
|
|
232
|
+
showContextPanel: false,
|
|
233
|
+
applyChangeToContextPanel: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c = pluginInjectionApi.contextPanel) === null || _pluginInjectionApi$c === void 0 || (_pluginInjectionApi$c = _pluginInjectionApi$c.actions) === null || _pluginInjectionApi$c === void 0 ? void 0 : _pluginInjectionApi$c.applyChange
|
|
234
|
+
});
|
|
235
|
+
var extensionNodeViewOptions = {
|
|
236
|
+
appearance: options.appearance
|
|
237
|
+
};
|
|
238
|
+
return new _safePlugin.SafePlugin({
|
|
239
|
+
state: state,
|
|
240
|
+
view: function view(editorView) {
|
|
241
|
+
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
242
|
+
var extensionProviderHandler = createExtensionProviderHandler(editorView);
|
|
243
|
+
var contextIdentificationProviderHandler = createContextIdentifierProviderHandler(editorView);
|
|
244
|
+
providerFactory.subscribe('extensionProvider', extensionProviderHandler);
|
|
245
|
+
providerFactory.subscribe('contextIdentificationProvider', contextIdentificationProviderHandler);
|
|
246
|
+
return {
|
|
247
|
+
update: function update(view, prevState) {
|
|
248
|
+
var _pluginInjectionApi$c2;
|
|
249
|
+
handleUpdate({
|
|
250
|
+
view: view,
|
|
251
|
+
prevState: prevState,
|
|
252
|
+
domAtPos: domAtPos,
|
|
253
|
+
extensionHandlers: extensionHandlers,
|
|
254
|
+
applyChange: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c2 = pluginInjectionApi.contextPanel) === null || _pluginInjectionApi$c2 === void 0 ? void 0 : _pluginInjectionApi$c2.actions.applyChange
|
|
255
|
+
});
|
|
256
|
+
},
|
|
257
|
+
destroy: function destroy() {
|
|
258
|
+
providerFactory.unsubscribe('extensionProvider', extensionProviderHandler);
|
|
259
|
+
providerFactory.unsubscribe('contextIdentificationProvider', contextIdentificationProviderHandler);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
},
|
|
263
|
+
key: _pluginKey.pluginKey,
|
|
264
|
+
props: {
|
|
265
|
+
handleDOMEvents: {
|
|
266
|
+
/**
|
|
267
|
+
* ED-18072 - Cannot shift + arrow past bodied extension if it is not empty.
|
|
268
|
+
* This code is to handle the case where the selection starts inside or on the node and the user is trying to shift + arrow.
|
|
269
|
+
* For other part of the solution see code in: packages/editor/editor-core/src/plugins/selection/pm-plugins/events/keydown.ts
|
|
270
|
+
*/
|
|
271
|
+
keydown: function keydown(view, event) {
|
|
272
|
+
if (event instanceof KeyboardEvent && event.shiftKey && ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
|
|
273
|
+
var _view$state = view.state,
|
|
274
|
+
schema = _view$state.schema,
|
|
275
|
+
selection = _view$state.selection,
|
|
276
|
+
$head = _view$state.selection.$head,
|
|
277
|
+
doc = _view$state.doc,
|
|
278
|
+
tr = _view$state.tr;
|
|
279
|
+
var bodiedExtension = schema.nodes.bodiedExtension;
|
|
280
|
+
if (selection instanceof _state.TextSelection || selection instanceof _state.NodeSelection) {
|
|
281
|
+
var maybeBodiedExtension = selection instanceof _state.TextSelection ? (0, _utils.findParentNodeOfTypeClosestToPos)($head, bodiedExtension) : (0, _utils.findSelectedNodeOfType)(bodiedExtension)(selection);
|
|
282
|
+
if (maybeBodiedExtension) {
|
|
283
|
+
var end = maybeBodiedExtension.pos + maybeBodiedExtension.node.nodeSize;
|
|
284
|
+
if (event.key === 'ArrowUp' || event.key === 'ArrowLeft' && (0, _selection.isSelectionAtStartOfNode)($head, maybeBodiedExtension)) {
|
|
285
|
+
var anchor = end + 1;
|
|
286
|
+
|
|
287
|
+
// an offset is used here so that left arrow selects the first character before the node (consistent with arrow right)
|
|
288
|
+
var headOffset = event.key === 'ArrowLeft' ? -1 : 0;
|
|
289
|
+
var head = maybeBodiedExtension.pos + headOffset;
|
|
290
|
+
var newSelection = _state.TextSelection.create(doc, Math.max(anchor, selection.anchor), head);
|
|
291
|
+
view.dispatch(tr.setSelection(newSelection));
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowRight' && (0, _selection.isSelectionAtEndOfNode)($head, maybeBodiedExtension)) {
|
|
295
|
+
var _anchor = maybeBodiedExtension.pos - 1;
|
|
296
|
+
var _head = end + 1;
|
|
297
|
+
var _newSelection = _state.TextSelection.create(doc, Math.min(_anchor, selection.anchor), _head);
|
|
298
|
+
view.dispatch(tr.setSelection(_newSelection));
|
|
299
|
+
return true;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
nodeViews: {
|
|
308
|
+
// WARNING: referentiality-plugin also creates these nodeviews
|
|
309
|
+
extension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
|
|
310
|
+
// WARNING: referentiality-plugin also creates these nodeviews
|
|
311
|
+
bodiedExtension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
|
|
312
|
+
// WARNING: referentiality-plugin also creates these nodeviews
|
|
313
|
+
inlineExtension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
|
|
314
|
+
multiBodiedExtension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi)
|
|
315
|
+
},
|
|
316
|
+
handleClickOn: (0, _selection.createSelectionClickHandler)(['extension', 'bodiedExtension'], function (target) {
|
|
317
|
+
return !target.closest('.extension-content');
|
|
318
|
+
}, {
|
|
319
|
+
useLongPressSelection: useLongPressSelection
|
|
320
|
+
})
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createPlugin = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _adfSchema = require("@atlaskit/adf-schema");
|
|
10
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
11
|
+
var _utils = require("@atlaskit/editor-common/utils");
|
|
12
|
+
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var pluginKey = new _state.PluginKey('extensionUniqueIdPlugin');
|
|
16
|
+
var createPlugin = exports.createPlugin = function createPlugin() {
|
|
17
|
+
return new _safePlugin.SafePlugin({
|
|
18
|
+
// TODO: @see ED-8839
|
|
19
|
+
appendTransaction: function appendTransaction(transactions, _oldState, newState) {
|
|
20
|
+
var tr = newState.tr;
|
|
21
|
+
var selectionBookmark = tr.selection.getBookmark();
|
|
22
|
+
var modified = false;
|
|
23
|
+
var _newState$schema$node = newState.schema.nodes,
|
|
24
|
+
extension = _newState$schema$node.extension,
|
|
25
|
+
bodiedExtension = _newState$schema$node.bodiedExtension,
|
|
26
|
+
inlineExtension = _newState$schema$node.inlineExtension,
|
|
27
|
+
multiBodiedExtension = _newState$schema$node.multiBodiedExtension;
|
|
28
|
+
var extensionTypes = new Set([extension, bodiedExtension, inlineExtension, multiBodiedExtension]);
|
|
29
|
+
var idsObserved = new Set();
|
|
30
|
+
transactions.forEach(function (transaction) {
|
|
31
|
+
if (!transaction.docChanged) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
var isAddingExtension = transaction.steps.some(function (step) {
|
|
35
|
+
return (0, _utils.stepAddsOneOf)(step, extensionTypes);
|
|
36
|
+
});
|
|
37
|
+
if (isAddingExtension) {
|
|
38
|
+
// Can't simply look at changed nodes, as we could be adding an extension
|
|
39
|
+
newState.doc.descendants(function (node, pos) {
|
|
40
|
+
var localId = node.attrs.localId;
|
|
41
|
+
|
|
42
|
+
// Dealing with an extension - make sure it's a unique ID
|
|
43
|
+
if (!!node.type && extensionTypes.has(node.type)) {
|
|
44
|
+
if (localId && !idsObserved.has(localId)) {
|
|
45
|
+
idsObserved.add(localId);
|
|
46
|
+
// Also add a localId if it happens to not have one,
|
|
47
|
+
} else if (!localId || idsObserved.has(localId)) {
|
|
48
|
+
modified = true;
|
|
49
|
+
tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
50
|
+
localId: _adfSchema.uuid.generate()
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* If it's a multiBodiedExtension or bodiedExtension, we'll need to keep digging;
|
|
55
|
+
* since we can have more extension nodes within the contents of that
|
|
56
|
+
*/
|
|
57
|
+
if ([multiBodiedExtension, bodiedExtension].includes(node.type)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Otherwise continue traversing, we can encounter extensions nested in
|
|
65
|
+
* expands/bodiedExtensions
|
|
66
|
+
*/
|
|
67
|
+
return true;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
if (modified) {
|
|
72
|
+
// We want to restore to the original selection but w/o applying the mapping
|
|
73
|
+
// @see https://github.com/ProseMirror/prosemirror/issues/645
|
|
74
|
+
return tr.setSelection(selectionBookmark.resolve(tr.doc));
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
},
|
|
78
|
+
key: pluginKey
|
|
79
|
+
});
|
|
80
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.updateEditButton = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _extensions = require("@atlaskit/editor-common/extensions");
|
|
11
|
+
var _commands = require("../commands");
|
|
12
|
+
var _utils = require("../utils");
|
|
13
|
+
var maybeGetUpdateMethodFromExtensionProvider = /*#__PURE__*/function () {
|
|
14
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(view, extensionProvider) {
|
|
15
|
+
var nodeWithPos, _nodeWithPos$node$att, extensionType, extensionKey, extensionModuleNode, newNodeWithPos;
|
|
16
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
17
|
+
while (1) switch (_context.prev = _context.next) {
|
|
18
|
+
case 0:
|
|
19
|
+
nodeWithPos = (0, _utils.getSelectedExtension)(view.state, true);
|
|
20
|
+
if (nodeWithPos) {
|
|
21
|
+
_context.next = 3;
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
throw new Error('There is no selection');
|
|
25
|
+
case 3:
|
|
26
|
+
_nodeWithPos$node$att = nodeWithPos.node.attrs, extensionType = _nodeWithPos$node$att.extensionType, extensionKey = _nodeWithPos$node$att.extensionKey;
|
|
27
|
+
_context.next = 6;
|
|
28
|
+
return (0, _extensions.getExtensionModuleNode)(extensionProvider, extensionType, extensionKey);
|
|
29
|
+
case 6:
|
|
30
|
+
extensionModuleNode = _context.sent;
|
|
31
|
+
newNodeWithPos = (0, _utils.getSelectedExtension)(view.state, true);
|
|
32
|
+
if (!(newNodeWithPos && newNodeWithPos.node.attrs.extensionType === extensionType && newNodeWithPos.node.attrs.extensionKey === extensionKey && newNodeWithPos.pos === nodeWithPos.pos && extensionModuleNode)) {
|
|
33
|
+
_context.next = 10;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
return _context.abrupt("return", extensionModuleNode.update);
|
|
37
|
+
case 10:
|
|
38
|
+
case "end":
|
|
39
|
+
return _context.stop();
|
|
40
|
+
}
|
|
41
|
+
}, _callee);
|
|
42
|
+
}));
|
|
43
|
+
return function maybeGetUpdateMethodFromExtensionProvider(_x, _x2) {
|
|
44
|
+
return _ref.apply(this, arguments);
|
|
45
|
+
};
|
|
46
|
+
}();
|
|
47
|
+
var updateEditButton = exports.updateEditButton = /*#__PURE__*/function () {
|
|
48
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(view, extensionProvider) {
|
|
49
|
+
var updateMethod;
|
|
50
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
51
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
52
|
+
case 0:
|
|
53
|
+
_context2.prev = 0;
|
|
54
|
+
_context2.next = 3;
|
|
55
|
+
return maybeGetUpdateMethodFromExtensionProvider(view, extensionProvider);
|
|
56
|
+
case 3:
|
|
57
|
+
updateMethod = _context2.sent;
|
|
58
|
+
(0, _commands.updateState)({
|
|
59
|
+
showEditButton: !!updateMethod,
|
|
60
|
+
updateExtension: updateMethod && Promise.resolve(updateMethod) || undefined
|
|
61
|
+
})(view.state, view.dispatch);
|
|
62
|
+
return _context2.abrupt("return", updateMethod);
|
|
63
|
+
case 8:
|
|
64
|
+
_context2.prev = 8;
|
|
65
|
+
_context2.t0 = _context2["catch"](0);
|
|
66
|
+
case 10:
|
|
67
|
+
case "end":
|
|
68
|
+
return _context2.stop();
|
|
69
|
+
}
|
|
70
|
+
}, _callee2, null, [[0, 8]]);
|
|
71
|
+
}));
|
|
72
|
+
return function updateEditButton(_x3, _x4) {
|
|
73
|
+
return _ref2.apply(this, arguments);
|
|
74
|
+
};
|
|
75
|
+
}();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = _default;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _default(pluginState, action) {
|
|
12
|
+
switch (action.type) {
|
|
13
|
+
case 'UPDATE_STATE':
|
|
14
|
+
return _objectSpread(_objectSpread({}, pluginState), action.data);
|
|
15
|
+
default:
|
|
16
|
+
return pluginState;
|
|
17
|
+
}
|
|
18
|
+
}
|