@pie-element/ebsr 6.6.3-next.1097 → 6.6.3-next.1137
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/configure/node_modules/@pie-lib/config-ui/CHANGELOG.json +1677 -0
- package/configure/node_modules/@pie-lib/config-ui/CHANGELOG.md +1743 -0
- package/configure/node_modules/@pie-lib/config-ui/LICENSE.md +5 -0
- package/configure/node_modules/@pie-lib/config-ui/README.md +12 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/alert-dialog.js +44 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/alert-dialog.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/checkbox.js +86 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/checkbox.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/choice-configuration/feedback-menu.js +164 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/choice-configuration/feedback-menu.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/choice-configuration/index.js +398 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/choice-configuration/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/choice-utils.js +54 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/choice-utils.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/feedback-config/feedback-selector.js +185 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/feedback-config/feedback-selector.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/feedback-config/group.js +75 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/feedback-config/group.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/feedback-config/index.js +178 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/feedback-config/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/form-section.js +46 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/form-section.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/help.js +145 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/help.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/index.js +216 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/input.js +139 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/input.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/inputs.js +131 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/inputs.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/langs.js +179 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/langs.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/config-layout.js +101 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/config-layout.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/index.js +24 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/layout-contents.js +105 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/layout-contents.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/settings-box.js +87 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/layout/settings-box.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/mui-box/index.js +79 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/mui-box/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/number-text-field-custom.js +364 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/number-text-field-custom.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/number-text-field.js +265 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/number-text-field.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/radio-with-label.js +41 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/radio-with-label.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/display-size.js +77 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/display-size.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/index.js +130 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/panel.js +412 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/panel.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/settings-radio-label.js +43 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/settings-radio-label.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/toggle.js +56 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/settings/toggle.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/tabs/index.js +106 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/tabs/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/tags-input/index.js +198 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/tags-input/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/two-choice.js +180 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/two-choice.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/with-stateful-model.js +84 -0
- package/configure/node_modules/@pie-lib/config-ui/lib/with-stateful-model.js.map +1 -0
- package/configure/node_modules/@pie-lib/config-ui/package.json +30 -0
- package/configure/node_modules/@pie-lib/config-ui/src/alert-dialog.jsx +43 -0
- package/configure/node_modules/@pie-lib/config-ui/src/checkbox.jsx +63 -0
- package/configure/node_modules/@pie-lib/config-ui/src/choice-configuration/feedback-menu.jsx +103 -0
- package/configure/node_modules/@pie-lib/config-ui/src/choice-configuration/index.jsx +319 -0
- package/configure/node_modules/@pie-lib/config-ui/src/choice-utils.js +30 -0
- package/configure/node_modules/@pie-lib/config-ui/src/feedback-config/feedback-selector.jsx +116 -0
- package/configure/node_modules/@pie-lib/config-ui/src/feedback-config/group.jsx +54 -0
- package/configure/node_modules/@pie-lib/config-ui/src/feedback-config/index.jsx +98 -0
- package/configure/node_modules/@pie-lib/config-ui/src/form-section.jsx +23 -0
- package/configure/node_modules/@pie-lib/config-ui/src/help.jsx +88 -0
- package/configure/node_modules/@pie-lib/config-ui/src/index.js +58 -0
- package/configure/node_modules/@pie-lib/config-ui/src/input.jsx +72 -0
- package/configure/node_modules/@pie-lib/config-ui/src/inputs.jsx +96 -0
- package/configure/node_modules/@pie-lib/config-ui/src/langs.jsx +122 -0
- package/configure/node_modules/@pie-lib/config-ui/src/layout/config-layout.jsx +64 -0
- package/configure/node_modules/@pie-lib/config-ui/src/layout/index.js +4 -0
- package/configure/node_modules/@pie-lib/config-ui/src/layout/layout-contents.jsx +60 -0
- package/configure/node_modules/@pie-lib/config-ui/src/layout/settings-box.jsx +31 -0
- package/configure/node_modules/@pie-lib/config-ui/src/mui-box/index.jsx +64 -0
- package/configure/node_modules/@pie-lib/config-ui/src/number-text-field-custom.jsx +276 -0
- package/configure/node_modules/@pie-lib/config-ui/src/number-text-field.jsx +196 -0
- package/configure/node_modules/@pie-lib/config-ui/src/radio-with-label.jsx +18 -0
- package/configure/node_modules/@pie-lib/config-ui/src/settings/display-size.jsx +52 -0
- package/configure/node_modules/@pie-lib/config-ui/src/settings/index.js +75 -0
- package/configure/node_modules/@pie-lib/config-ui/src/settings/panel.jsx +297 -0
- package/configure/node_modules/@pie-lib/config-ui/src/settings/settings-radio-label.jsx +20 -0
- package/configure/node_modules/@pie-lib/config-ui/src/settings/toggle.jsx +31 -0
- package/configure/node_modules/@pie-lib/config-ui/src/tabs/index.jsx +51 -0
- package/configure/node_modules/@pie-lib/config-ui/src/tags-input/index.jsx +121 -0
- package/configure/node_modules/@pie-lib/config-ui/src/two-choice.jsx +94 -0
- package/configure/node_modules/@pie-lib/config-ui/src/with-stateful-model.jsx +36 -0
- package/configure/node_modules/@pie-lib/editable-html/CHANGELOG.json +3327 -0
- package/configure/node_modules/@pie-lib/editable-html/CHANGELOG.md +1759 -0
- package/configure/node_modules/@pie-lib/editable-html/LICENSE.md +5 -0
- package/configure/node_modules/@pie-lib/editable-html/README.md +45 -0
- package/configure/node_modules/@pie-lib/editable-html/deploy.sh +16 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/editor.js +893 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/editor.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/index.js +226 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/parse-html.js +16 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/parse-html.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/characters/custom-popover.js +70 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/characters/custom-popover.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/characters/index.js +266 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/characters/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/characters/utils.js +382 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/characters/utils.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/alt-dialog.js +119 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/alt-dialog.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/component.js +424 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/component.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/image-toolbar.js +175 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/image-toolbar.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/index.js +261 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/insert-image-handler.js +135 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/insert-image-handler.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/index.js +141 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/list/index.js +204 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/list/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/math/index.js +347 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/math/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/index.js +339 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/media-dialog.js +434 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/media-dialog.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/media-toolbar.js +99 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/media-toolbar.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/media-wrapper.js +93 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/media/media-wrapper.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/drag-in-the-blank/choice.js +251 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/drag-in-the-blank/index.js +97 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/explicit-constructed-response/index.js +54 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/icons/index.js +93 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/icons/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/index.js +293 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/inline-dropdown/index.js +70 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/inline-dropdown/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/utils.js +110 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/respArea/utils.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/table/icons/index.js +69 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/table/icons/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/table/index.js +499 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/table/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/table/table-toolbar.js +158 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/table/table-toolbar.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/default-toolbar.js +132 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/default-toolbar.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/done-button.js +50 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/done-button.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/editor-and-toolbar.js +263 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/index.js +32 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/index.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/toolbar-buttons.js +161 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/toolbar-buttons.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/toolbar.js +346 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/toolbar/toolbar.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/utils.js +62 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/plugins/utils.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/serialization.js +428 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/serialization.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/theme.js +9 -0
- package/configure/node_modules/@pie-lib/editable-html/lib/theme.js.map +1 -0
- package/configure/node_modules/@pie-lib/editable-html/package.json +52 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/image/data.js +59 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/image/index.html +24 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/image/index.jsx +83 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/index.html +27 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/mathquill/index.html +25 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/mathquill/index.jsx +151 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/package.json +15 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/prod-test/index.html +26 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/prod-test/index.jsx +30 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/schema-override/data.js +29 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/schema-override/image-plugin.jsx +40 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/schema-override/index.html +23 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/schema-override/index.jsx +96 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/serialization/data.js +29 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/serialization/image-plugin.jsx +40 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/serialization/index.html +24 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/serialization/index.jsx +12 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/static.json +3 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/table-examples.html +67 -0
- package/configure/node_modules/@pie-lib/editable-html/playground/webpack.config.js +42 -0
- package/configure/node_modules/@pie-lib/editable-html/src/editor.jsx +749 -0
- package/configure/node_modules/@pie-lib/editable-html/src/index.jsx +145 -0
- package/configure/node_modules/@pie-lib/editable-html/src/parse-html.js +8 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/README.md +27 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/characters/custom-popover.js +45 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/characters/index.jsx +244 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/characters/utils.js +448 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/image/alt-dialog.jsx +69 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/image/component.jsx +349 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/image/image-toolbar.jsx +108 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/image/index.jsx +218 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/image/insert-image-handler.js +93 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/index.jsx +115 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/list/index.jsx +175 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/math/index.jsx +283 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/media/index.jsx +284 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/media/media-dialog.js +372 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/media/media-toolbar.jsx +53 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/media/media-wrapper.jsx +43 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/drag-in-the-blank/choice.jsx +187 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/drag-in-the-blank/index.jsx +78 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/explicit-constructed-response/index.jsx +45 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/icons/index.jsx +68 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/index.jsx +263 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/inline-dropdown/index.jsx +63 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/respArea/utils.jsx +77 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/table/icons/index.jsx +59 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/table/index.jsx +439 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/table/table-toolbar.jsx +104 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/toolbar/default-toolbar.jsx +111 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/toolbar/done-button.jsx +36 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/toolbar/editor-and-toolbar.jsx +225 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/toolbar/index.jsx +21 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/toolbar/toolbar-buttons.jsx +97 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/toolbar/toolbar.jsx +323 -0
- package/configure/node_modules/@pie-lib/editable-html/src/plugins/utils.js +32 -0
- package/configure/node_modules/@pie-lib/editable-html/src/serialization.jsx +385 -0
- package/configure/node_modules/@pie-lib/editable-html/src/theme.js +1 -0
- package/configure/node_modules/@pie-lib/editable-html/static.json +1 -0
- package/configure/package.json +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.ImageToolbar = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
29
|
+
|
|
30
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
+
|
|
32
|
+
var _styles = require("@material-ui/core/styles");
|
|
33
|
+
|
|
34
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
+
|
|
36
|
+
var _toolbarButtons = require("../toolbar/toolbar-buttons");
|
|
37
|
+
|
|
38
|
+
var _altDialog = _interopRequireDefault(require("./alt-dialog"));
|
|
39
|
+
|
|
40
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
41
|
+
|
|
42
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
|
+
|
|
44
|
+
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:image-toolbar');
|
|
45
|
+
|
|
46
|
+
var AlignmentButton = function AlignmentButton(_ref) {
|
|
47
|
+
var alignment = _ref.alignment,
|
|
48
|
+
active = _ref.active,
|
|
49
|
+
onClick = _ref.onClick;
|
|
50
|
+
return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
|
|
51
|
+
active: active,
|
|
52
|
+
onToggle: function onToggle() {
|
|
53
|
+
return onClick(alignment);
|
|
54
|
+
},
|
|
55
|
+
label: alignment
|
|
56
|
+
}, alignment);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
AlignmentButton.propTypes = {
|
|
60
|
+
alignment: _propTypes["default"].string.isRequired,
|
|
61
|
+
active: _propTypes["default"].bool.isRequired,
|
|
62
|
+
onClick: _propTypes["default"].func.isRequired
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var ImageToolbar = /*#__PURE__*/function (_React$Component) {
|
|
66
|
+
(0, _inherits2["default"])(ImageToolbar, _React$Component);
|
|
67
|
+
|
|
68
|
+
var _super = _createSuper(ImageToolbar);
|
|
69
|
+
|
|
70
|
+
function ImageToolbar() {
|
|
71
|
+
var _this;
|
|
72
|
+
|
|
73
|
+
(0, _classCallCheck2["default"])(this, ImageToolbar);
|
|
74
|
+
|
|
75
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
76
|
+
args[_key] = arguments[_key];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
80
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAltTextDone", function (newAlt) {
|
|
81
|
+
log('[onAltTextDone]: alt:', newAlt);
|
|
82
|
+
|
|
83
|
+
_this.props.onChange({
|
|
84
|
+
alt: newAlt
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlignmentClick", function (alignment) {
|
|
88
|
+
log('[onAlignmentClick]: alignment:', alignment);
|
|
89
|
+
|
|
90
|
+
_this.props.onChange({
|
|
91
|
+
alignment: alignment
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderDialog", function () {
|
|
95
|
+
var alt = _this.props.alt;
|
|
96
|
+
var popoverEl = document.createElement('div');
|
|
97
|
+
|
|
98
|
+
var el = /*#__PURE__*/_react["default"].createElement(_altDialog["default"], {
|
|
99
|
+
alt: alt,
|
|
100
|
+
onDone: _this.onAltTextDone
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
_reactDom["default"].render(el, popoverEl);
|
|
104
|
+
|
|
105
|
+
document.body.appendChild(popoverEl);
|
|
106
|
+
});
|
|
107
|
+
return _this;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
(0, _createClass2["default"])(ImageToolbar, [{
|
|
111
|
+
key: "render",
|
|
112
|
+
value: function render() {
|
|
113
|
+
var _classNames,
|
|
114
|
+
_this2 = this;
|
|
115
|
+
|
|
116
|
+
var _this$props = this.props,
|
|
117
|
+
classes = _this$props.classes,
|
|
118
|
+
alignment = _this$props.alignment,
|
|
119
|
+
imageLoaded = _this$props.imageLoaded;
|
|
120
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
121
|
+
className: classes.holder
|
|
122
|
+
}, /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
123
|
+
alignment: 'left',
|
|
124
|
+
active: alignment === 'left',
|
|
125
|
+
onClick: this.onAlignmentClick
|
|
126
|
+
}), /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
127
|
+
alignment: 'center',
|
|
128
|
+
active: alignment === 'center',
|
|
129
|
+
onClick: this.onAlignmentClick
|
|
130
|
+
}), /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
131
|
+
alignment: 'right',
|
|
132
|
+
active: alignment === 'right',
|
|
133
|
+
onClick: this.onAlignmentClick
|
|
134
|
+
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
135
|
+
className: (0, _classnames["default"])((_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, !imageLoaded), (0, _defineProperty2["default"])(_classNames, classes.altButton, true), _classNames)),
|
|
136
|
+
onMouseDown: function onMouseDown(event) {
|
|
137
|
+
return imageLoaded && _this2.renderDialog(event);
|
|
138
|
+
}
|
|
139
|
+
}, "Alt text"));
|
|
140
|
+
}
|
|
141
|
+
}]);
|
|
142
|
+
return ImageToolbar;
|
|
143
|
+
}(_react["default"].Component);
|
|
144
|
+
|
|
145
|
+
exports.ImageToolbar = ImageToolbar;
|
|
146
|
+
(0, _defineProperty2["default"])(ImageToolbar, "propTypes", {
|
|
147
|
+
onChange: _propTypes["default"].func.isRequired,
|
|
148
|
+
classes: _propTypes["default"].object.isRequired,
|
|
149
|
+
alignment: _propTypes["default"].string,
|
|
150
|
+
alt: _propTypes["default"].string,
|
|
151
|
+
imageLoaded: _propTypes["default"].bool
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
var styles = function styles(theme) {
|
|
155
|
+
return {
|
|
156
|
+
holder: {
|
|
157
|
+
paddingLeft: theme.spacing.unit,
|
|
158
|
+
display: 'flex',
|
|
159
|
+
alignItems: 'center'
|
|
160
|
+
},
|
|
161
|
+
disabled: {
|
|
162
|
+
opacity: 0.5
|
|
163
|
+
},
|
|
164
|
+
altButton: {
|
|
165
|
+
borderLeft: '1px solid grey',
|
|
166
|
+
paddingLeft: 8,
|
|
167
|
+
marginLeft: 4
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
var _default = (0, _styles.withStyles)(styles)(ImageToolbar);
|
|
173
|
+
|
|
174
|
+
exports["default"] = _default;
|
|
175
|
+
//# sourceMappingURL=image-toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/image/image-toolbar.jsx"],"names":["log","AlignmentButton","alignment","active","onClick","propTypes","PropTypes","string","isRequired","bool","func","ImageToolbar","newAlt","props","onChange","alt","popoverEl","document","createElement","el","onAltTextDone","ReactDOM","render","body","appendChild","classes","imageLoaded","holder","onAlignmentClick","disabled","altButton","event","renderDialog","React","Component","object","styles","theme","paddingLeft","spacing","unit","display","alignItems","opacity","borderLeft","marginLeft"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport ReactDOM from 'react-dom';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { MarkButton } from '../toolbar/toolbar-buttons';\nimport AltDialog from './alt-dialog';\n\nconst log = debug('@pie-lib:editable-html:plugins:image:image-toolbar');\n\nconst AlignmentButton = ({ alignment, active, onClick }) => {\n return (\n <MarkButton active={active} onToggle={() => onClick(alignment)} label={alignment}>\n {alignment}\n </MarkButton>\n );\n};\n\nAlignmentButton.propTypes = {\n alignment: PropTypes.string.isRequired,\n active: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nexport class ImageToolbar extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n alignment: PropTypes.string,\n alt: PropTypes.string,\n imageLoaded: PropTypes.bool\n };\n\n onAltTextDone = newAlt => {\n log('[onAltTextDone]: alt:', newAlt);\n\n this.props.onChange({ alt: newAlt });\n };\n\n onAlignmentClick = alignment => {\n log('[onAlignmentClick]: alignment:', alignment);\n this.props.onChange({ alignment });\n };\n\n renderDialog = () => {\n const { alt } = this.props;\n const popoverEl = document.createElement('div');\n\n const el = <AltDialog alt={alt} onDone={this.onAltTextDone} />;\n\n ReactDOM.render(el, popoverEl);\n\n document.body.appendChild(popoverEl);\n };\n\n render() {\n const { classes, alignment, imageLoaded } = this.props;\n\n return (\n <div className={classes.holder}>\n <AlignmentButton\n alignment={'left'}\n active={alignment === 'left'}\n onClick={this.onAlignmentClick}\n />\n <AlignmentButton\n alignment={'center'}\n active={alignment === 'center'}\n onClick={this.onAlignmentClick}\n />\n <AlignmentButton\n alignment={'right'}\n active={alignment === 'right'}\n onClick={this.onAlignmentClick}\n />\n <span\n className={classNames({\n [classes.disabled]: !imageLoaded,\n [classes.altButton]: true\n })}\n onMouseDown={event => imageLoaded && this.renderDialog(event)}\n >\n Alt text\n </span>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n holder: {\n paddingLeft: theme.spacing.unit,\n display: 'flex',\n alignItems: 'center'\n },\n disabled: {\n opacity: 0.5\n },\n altButton: {\n borderLeft: '1px solid grey',\n paddingLeft: 8,\n marginLeft: 4,\n },\n});\n\nexport default withStyles(styles)(ImageToolbar);\n"],"file":"image-toolbar.js"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = ImagePlugin;
|
|
9
|
+
exports.serialization = void 0;
|
|
10
|
+
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
|
|
13
|
+
var _slate = require("slate");
|
|
14
|
+
|
|
15
|
+
var _Image = _interopRequireDefault(require("@material-ui/icons/Image"));
|
|
16
|
+
|
|
17
|
+
var _component = _interopRequireDefault(require("./component"));
|
|
18
|
+
|
|
19
|
+
var _imageToolbar = _interopRequireDefault(require("./image-toolbar"));
|
|
20
|
+
|
|
21
|
+
var _insertImageHandler = _interopRequireDefault(require("./insert-image-handler"));
|
|
22
|
+
|
|
23
|
+
var _react = _interopRequireDefault(require("react"));
|
|
24
|
+
|
|
25
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
26
|
+
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
+
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
30
|
+
|
|
31
|
+
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image');
|
|
32
|
+
|
|
33
|
+
function ImagePlugin(opts) {
|
|
34
|
+
var toolbar = opts.insertImageRequested && {
|
|
35
|
+
icon: /*#__PURE__*/_react["default"].createElement(_Image["default"], null),
|
|
36
|
+
onClick: function onClick(value, onChange) {
|
|
37
|
+
log('[toolbar] onClick');
|
|
38
|
+
|
|
39
|
+
var inline = _slate.Inline.create({
|
|
40
|
+
type: 'image',
|
|
41
|
+
isVoid: true,
|
|
42
|
+
data: {
|
|
43
|
+
loaded: false,
|
|
44
|
+
src: undefined
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
var change = value.change().insertInline(inline);
|
|
49
|
+
onChange(change);
|
|
50
|
+
opts.insertImageRequested(function (getValue) {
|
|
51
|
+
return new _insertImageHandler["default"](inline, getValue, onChange);
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
supports: function supports(node) {
|
|
55
|
+
return node.object === 'inline' && node.type === 'image';
|
|
56
|
+
},
|
|
57
|
+
customToolbar: function customToolbar(node, value, onToolbarDone) {
|
|
58
|
+
var alignment = node.data.get('alignment');
|
|
59
|
+
var alt = node.data.get('alt');
|
|
60
|
+
var imageLoaded = node.data.get('loaded') !== false;
|
|
61
|
+
|
|
62
|
+
var onChange = function onChange(newValues) {
|
|
63
|
+
var update = _objectSpread(_objectSpread({}, node.data.toObject()), newValues);
|
|
64
|
+
|
|
65
|
+
var change = value.change().setNodeByKey(node.key, {
|
|
66
|
+
data: update
|
|
67
|
+
});
|
|
68
|
+
onToolbarDone(change, false);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var Tb = function Tb() {
|
|
72
|
+
return /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
|
|
73
|
+
alt: alt,
|
|
74
|
+
imageLoaded: imageLoaded,
|
|
75
|
+
alignment: alignment || 'left',
|
|
76
|
+
onChange: onChange
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
return Tb;
|
|
81
|
+
},
|
|
82
|
+
showDone: true
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
name: 'image',
|
|
86
|
+
toolbar: toolbar,
|
|
87
|
+
deleteNode: function deleteNode(e, node, value, onChange) {
|
|
88
|
+
e.preventDefault();
|
|
89
|
+
|
|
90
|
+
if (opts.onDelete) {
|
|
91
|
+
var update = node.data.merge(_slate.Data.create({
|
|
92
|
+
deleteStatus: 'pending'
|
|
93
|
+
}));
|
|
94
|
+
var change = value.change().setNodeByKey(node.key, {
|
|
95
|
+
data: update
|
|
96
|
+
});
|
|
97
|
+
onChange(change);
|
|
98
|
+
opts.onDelete(node.data.get('src'), function (err, v) {
|
|
99
|
+
if (!err) {
|
|
100
|
+
change = v.change().removeNodeByKey(node.key);
|
|
101
|
+
} else {
|
|
102
|
+
log('[error]: ', err);
|
|
103
|
+
change = v.change().setNodeByKey(node.key, node.data.merge(_slate.Data.create({
|
|
104
|
+
deleteStatus: 'failed'
|
|
105
|
+
})));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
onChange(change);
|
|
109
|
+
});
|
|
110
|
+
} else {
|
|
111
|
+
var _change = value.change().removeNodeByKey(node.key);
|
|
112
|
+
|
|
113
|
+
onChange(_change);
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
stopReset: function stopReset(value) {
|
|
117
|
+
var imgPendingInsertion = value.document.findDescendant(function (n) {
|
|
118
|
+
if (n.type !== 'image') {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return n.data.get('loaded') === false;
|
|
123
|
+
});
|
|
124
|
+
/** don't reset if there is an image pending insertion */
|
|
125
|
+
|
|
126
|
+
return imgPendingInsertion !== undefined && imgPendingInsertion !== null;
|
|
127
|
+
},
|
|
128
|
+
renderNode: function renderNode(props) {
|
|
129
|
+
if (props.node.type === 'image') {
|
|
130
|
+
var all = Object.assign({
|
|
131
|
+
onDelete: opts.onDelete,
|
|
132
|
+
onFocus: opts.onFocus,
|
|
133
|
+
onBlur: opts.onBlur,
|
|
134
|
+
maxImageWidth: opts.maxImageWidth,
|
|
135
|
+
maxImageHeight: opts.maxImageHeight
|
|
136
|
+
}, props);
|
|
137
|
+
return /*#__PURE__*/_react["default"].createElement(_component["default"], all);
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
normalizeNode: function normalizeNode(node) {
|
|
141
|
+
var textNodeMap = {};
|
|
142
|
+
var updateNodesArray = [];
|
|
143
|
+
var index = 0;
|
|
144
|
+
if (node.object !== 'document') return;
|
|
145
|
+
node.findDescendant(function (d) {
|
|
146
|
+
if (d.object === 'text') {
|
|
147
|
+
textNodeMap[index] = d;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (d.type === 'image') {
|
|
151
|
+
if (index > 0 && textNodeMap[index - 1] && textNodeMap[index - 1].text === '') {
|
|
152
|
+
updateNodesArray.push(textNodeMap[index - 1]);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
index++;
|
|
157
|
+
});
|
|
158
|
+
if (!updateNodesArray.length) return;
|
|
159
|
+
return function (change) {
|
|
160
|
+
change.withoutNormalization(function () {
|
|
161
|
+
updateNodesArray.forEach(function (n) {
|
|
162
|
+
return change.insertTextByKey(n.key, 0, ' ');
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
var serialization = {
|
|
171
|
+
deserialize: function deserialize(el
|
|
172
|
+
/*, next*/
|
|
173
|
+
) {
|
|
174
|
+
var name = el.tagName.toLowerCase();
|
|
175
|
+
if (name !== 'img') return;
|
|
176
|
+
log('deserialize: ', name);
|
|
177
|
+
var style = el.style || {
|
|
178
|
+
width: '',
|
|
179
|
+
height: '',
|
|
180
|
+
margin: '',
|
|
181
|
+
justifyContent: ''
|
|
182
|
+
};
|
|
183
|
+
var width = parseInt(style.width.replace('px', ''), 10) || null;
|
|
184
|
+
var height = parseInt(style.height.replace('px', ''), 10) || null;
|
|
185
|
+
var out = {
|
|
186
|
+
object: 'inline',
|
|
187
|
+
type: 'image',
|
|
188
|
+
isVoid: true,
|
|
189
|
+
data: {
|
|
190
|
+
src: el.getAttribute('src'),
|
|
191
|
+
width: width,
|
|
192
|
+
height: height,
|
|
193
|
+
margin: el.style.margin,
|
|
194
|
+
justifyContent: el.style.justifyContent,
|
|
195
|
+
alignment: el.getAttribute('alignment'),
|
|
196
|
+
alt: el.getAttribute('alt')
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
log('return object: ', out);
|
|
200
|
+
return out;
|
|
201
|
+
},
|
|
202
|
+
serialize: function serialize(object
|
|
203
|
+
/*, children*/
|
|
204
|
+
) {
|
|
205
|
+
if (object.type !== 'image') return;
|
|
206
|
+
var data = object.data;
|
|
207
|
+
var src = data.get('src');
|
|
208
|
+
var width = data.get('width');
|
|
209
|
+
var height = data.get('height');
|
|
210
|
+
var alignment = data.get('alignment');
|
|
211
|
+
var margin = data.get('margin');
|
|
212
|
+
var justifyContent = data.get('margin');
|
|
213
|
+
var alt = data.get('alt');
|
|
214
|
+
var style = {};
|
|
215
|
+
|
|
216
|
+
if (width) {
|
|
217
|
+
style.width = "".concat(width, "px");
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
if (height) {
|
|
221
|
+
style.height = "".concat(height, "px");
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
style.margin = margin;
|
|
225
|
+
style.justifyContent = justifyContent;
|
|
226
|
+
|
|
227
|
+
if (alignment) {
|
|
228
|
+
switch (alignment) {
|
|
229
|
+
case 'left':
|
|
230
|
+
style.justifyContent = 'flex-start';
|
|
231
|
+
style.margin = '0';
|
|
232
|
+
break;
|
|
233
|
+
|
|
234
|
+
case 'center':
|
|
235
|
+
style.justifyContent = 'center';
|
|
236
|
+
style.margin = '0 auto';
|
|
237
|
+
break;
|
|
238
|
+
|
|
239
|
+
case 'right':
|
|
240
|
+
style.justifyContent = 'flex-end';
|
|
241
|
+
style.margin = 'auto 0 0 auto';
|
|
242
|
+
break;
|
|
243
|
+
|
|
244
|
+
default:
|
|
245
|
+
style.justifyContent = 'flex-start';
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
style.objectFit = 'contain';
|
|
251
|
+
var props = {
|
|
252
|
+
src: src,
|
|
253
|
+
style: style,
|
|
254
|
+
alignment: alignment,
|
|
255
|
+
alt: alt
|
|
256
|
+
};
|
|
257
|
+
return /*#__PURE__*/_react["default"].createElement("img", props);
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
exports.serialization = serialization;
|
|
261
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/image/index.jsx"],"names":["log","ImagePlugin","opts","toolbar","insertImageRequested","icon","onClick","value","onChange","inline","Inline","create","type","isVoid","data","loaded","src","undefined","change","insertInline","getValue","InsertImageHandler","supports","node","object","customToolbar","onToolbarDone","alignment","get","alt","imageLoaded","newValues","update","toObject","setNodeByKey","key","Tb","showDone","name","deleteNode","e","preventDefault","onDelete","merge","Data","deleteStatus","err","v","removeNodeByKey","stopReset","imgPendingInsertion","document","findDescendant","n","renderNode","props","all","Object","assign","onFocus","onBlur","maxImageWidth","maxImageHeight","normalizeNode","textNodeMap","updateNodesArray","index","d","text","push","length","withoutNormalization","forEach","insertTextByKey","serialization","deserialize","el","tagName","toLowerCase","style","width","height","margin","justifyContent","parseInt","replace","out","getAttribute","serialize","objectFit"],"mappings":"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","sourcesContent":["import { Data, Inline } from 'slate';\n\nimport Image from '@material-ui/icons/Image';\nimport ImageComponent from './component';\nimport ImageToolbar from './image-toolbar';\nimport InsertImageHandler from './insert-image-handler';\nimport React from 'react';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:image');\n\nexport default function ImagePlugin(opts) {\n const toolbar = opts.insertImageRequested && {\n icon: <Image />,\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const inline = Inline.create({\n type: 'image',\n isVoid: true,\n data: {\n loaded: false,\n src: undefined\n }\n });\n\n const change = value.change().insertInline(inline);\n onChange(change);\n opts.insertImageRequested(getValue => new InsertImageHandler(inline, getValue, onChange));\n },\n supports: node => node.object === 'inline' && node.type === 'image',\n customToolbar: (node, value, onToolbarDone) => {\n const alignment = node.data.get('alignment');\n const alt = node.data.get('alt');\n const imageLoaded = node.data.get('loaded') !== false;\n const onChange = newValues => {\n const update = {\n ...node.data.toObject(),\n ...newValues\n };\n\n const change = value.change().setNodeByKey(node.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const Tb = () => (\n <ImageToolbar alt={alt} imageLoaded={imageLoaded} alignment={alignment || 'left'} onChange={onChange} />\n );\n return Tb;\n },\n showDone: true\n };\n\n return {\n name: 'image',\n toolbar,\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n if (opts.onDelete) {\n const update = node.data.merge(Data.create({ deleteStatus: 'pending' }));\n\n let change = value.change().setNodeByKey(node.key, { data: update });\n\n onChange(change);\n opts.onDelete(node.data.get('src'), (err, v) => {\n if (!err) {\n change = v.change().removeNodeByKey(node.key);\n } else {\n log('[error]: ', err);\n change = v\n .change()\n .setNodeByKey(node.key, node.data.merge(Data.create({ deleteStatus: 'failed' })));\n }\n onChange(change);\n });\n } else {\n let change = value.change().removeNodeByKey(node.key);\n onChange(change);\n }\n },\n stopReset: value => {\n const imgPendingInsertion = value.document.findDescendant(n => {\n if (n.type !== 'image') {\n return;\n }\n return n.data.get('loaded') === false;\n });\n /** don't reset if there is an image pending insertion */\n return imgPendingInsertion !== undefined && imgPendingInsertion !== null;\n },\n renderNode(props) {\n if (props.node.type === 'image') {\n const all = Object.assign(\n {\n onDelete: opts.onDelete,\n onFocus: opts.onFocus,\n onBlur: opts.onBlur,\n maxImageWidth: opts.maxImageWidth,\n maxImageHeight: opts.maxImageHeight\n },\n props\n );\n return <ImageComponent {...all} />;\n }\n },\n normalizeNode: node => {\n const textNodeMap = {};\n const updateNodesArray = [];\n let index = 0;\n\n if (node.object !== 'document') return;\n\n node.findDescendant(d => {\n if (d.object === 'text') {\n textNodeMap[index] = d;\n }\n\n if (d.type === 'image') {\n if (index > 0 && textNodeMap[index - 1] && textNodeMap[index - 1].text === '') {\n updateNodesArray.push(textNodeMap[index - 1]);\n }\n }\n\n index++;\n });\n\n if (!updateNodesArray.length) return;\n\n return change => {\n change.withoutNormalization(() => {\n updateNodesArray.forEach(n => change.insertTextByKey(n.key, 0, ' '));\n });\n };\n }\n };\n}\n\nexport const serialization = {\n deserialize(el /*, next*/) {\n const name = el.tagName.toLowerCase();\n if (name !== 'img') return;\n\n log('deserialize: ', name);\n const style = el.style || { width: '', height: '', margin: '', justifyContent: '' };\n const width = parseInt(style.width.replace('px', ''), 10) || null;\n const height = parseInt(style.height.replace('px', ''), 10) || null;\n\n const out = {\n object: 'inline',\n type: 'image',\n isVoid: true,\n data: {\n src: el.getAttribute('src'),\n width,\n height,\n margin: el.style.margin,\n justifyContent: el.style.justifyContent,\n alignment: el.getAttribute('alignment'),\n alt: el.getAttribute('alt')\n }\n };\n log('return object: ', out);\n return out;\n },\n serialize(object /*, children*/) {\n if (object.type !== 'image') return;\n\n const { data } = object;\n const src = data.get('src');\n const width = data.get('width');\n const height = data.get('height');\n const alignment = data.get('alignment');\n const margin = data.get('margin');\n const justifyContent = data.get('margin');\n const alt = data.get('alt');\n const style = {};\n if (width) {\n style.width = `${width}px`;\n }\n\n if (height) {\n style.height = `${height}px`;\n }\n\n style.margin = margin;\n style.justifyContent = justifyContent;\n\n if (alignment) {\n switch (alignment) {\n case 'left':\n style.justifyContent = 'flex-start';\n style.margin = '0';\n break;\n case 'center':\n style.justifyContent = 'center';\n style.margin = '0 auto';\n break;\n case 'right':\n style.justifyContent = 'flex-end';\n style.margin = 'auto 0 0 auto';\n break;\n default:\n style.justifyContent = 'flex-start';\n break;\n }\n }\n\n style.objectFit = 'contain';\n\n const props = {\n src,\n style,\n alignment,\n alt\n };\n\n return <img {...props} />;\n }\n};\n"],"file":"index.js"}
|
package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/insert-image-handler.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _slate = require("slate");
|
|
15
|
+
|
|
16
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
17
|
+
|
|
18
|
+
var log = (0, _debug["default"])('@pie-lib:editable-html:image:insert-image-handler');
|
|
19
|
+
/**
|
|
20
|
+
* Handles user selection, insertion (or cancellation) of an image into the editor.
|
|
21
|
+
* @param {Block} placeholderBlock - a block that has been added to the editor as a place holder for the image
|
|
22
|
+
* @param {Function} getValue - a function to return the value of the editor
|
|
23
|
+
* @param {Function} onChange - callback to notify changes applied by the handler
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var InsertImageHandler = /*#__PURE__*/function () {
|
|
27
|
+
function InsertImageHandler(placeholderBlock, getValue, onChange) {
|
|
28
|
+
(0, _classCallCheck2["default"])(this, InsertImageHandler);
|
|
29
|
+
this.placeholderBlock = placeholderBlock;
|
|
30
|
+
this.getValue = getValue;
|
|
31
|
+
this.onChange = onChange;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
(0, _createClass2["default"])(InsertImageHandler, [{
|
|
35
|
+
key: "getPlaceholderInDocument",
|
|
36
|
+
value: function getPlaceholderInDocument(value) {
|
|
37
|
+
var document = value.document;
|
|
38
|
+
var directChild = document.getChild(this.placeholderBlock.key);
|
|
39
|
+
|
|
40
|
+
if (directChild) {
|
|
41
|
+
return directChild;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
var child = document.getDescendant(this.placeholderBlock.key);
|
|
45
|
+
|
|
46
|
+
if (child) {
|
|
47
|
+
return child;
|
|
48
|
+
} else {
|
|
49
|
+
//eslint-disable-next-line
|
|
50
|
+
throw new Error("insert-image: Can't find placeholder!");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
key: "cancel",
|
|
55
|
+
value: function cancel() {
|
|
56
|
+
log('insert cancelled');
|
|
57
|
+
var c = this.getValue().change().removeNodeByKey(this.placeholderBlock.key);
|
|
58
|
+
this.onChange(c);
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "done",
|
|
62
|
+
value: function done(err, src) {
|
|
63
|
+
log('done: err:', err);
|
|
64
|
+
|
|
65
|
+
if (err) {
|
|
66
|
+
//eslint-disable-next-line
|
|
67
|
+
console.log(err);
|
|
68
|
+
} else {
|
|
69
|
+
var value = this.getValue();
|
|
70
|
+
var child = this.getPlaceholderInDocument(value);
|
|
71
|
+
var data = child.data.merge(_slate.Data.create({
|
|
72
|
+
loaded: true,
|
|
73
|
+
src: src,
|
|
74
|
+
percent: 100
|
|
75
|
+
}));
|
|
76
|
+
var change = value.change().setNodeByKey(this.placeholderBlock.key, {
|
|
77
|
+
data: data
|
|
78
|
+
});
|
|
79
|
+
this.onChange(change);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Notify handler that the user chose a file - will create a change with a preview in the editor.
|
|
84
|
+
*
|
|
85
|
+
* @param {File} file - the file that the user chose using a file input.
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
}, {
|
|
89
|
+
key: "fileChosen",
|
|
90
|
+
value: function fileChosen(file) {
|
|
91
|
+
var _this = this;
|
|
92
|
+
|
|
93
|
+
if (!file) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
log('[fileChosen] file: ', file);
|
|
98
|
+
var reader = new FileReader();
|
|
99
|
+
|
|
100
|
+
reader.onload = function () {
|
|
101
|
+
var value = _this.getValue();
|
|
102
|
+
|
|
103
|
+
var dataURL = reader.result;
|
|
104
|
+
|
|
105
|
+
var child = _this.getPlaceholderInDocument(value);
|
|
106
|
+
|
|
107
|
+
var data = child.data.set('src', dataURL);
|
|
108
|
+
var change = value.change().setNodeByKey(_this.placeholderBlock.key, {
|
|
109
|
+
data: data
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
_this.onChange(change);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
reader.readAsDataURL(file);
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "progress",
|
|
119
|
+
value: function progress(percent, bytes, total) {
|
|
120
|
+
log('progress: ', percent, bytes, total);
|
|
121
|
+
var value = this.getValue();
|
|
122
|
+
var child = this.getPlaceholderInDocument(value);
|
|
123
|
+
var data = child.data.set('percent', percent);
|
|
124
|
+
var change = value.change().setNodeByKey(this.placeholderBlock.key, {
|
|
125
|
+
data: data
|
|
126
|
+
});
|
|
127
|
+
this.onChange(change);
|
|
128
|
+
}
|
|
129
|
+
}]);
|
|
130
|
+
return InsertImageHandler;
|
|
131
|
+
}();
|
|
132
|
+
|
|
133
|
+
var _default = InsertImageHandler;
|
|
134
|
+
exports["default"] = _default;
|
|
135
|
+
//# sourceMappingURL=insert-image-handler.js.map
|
package/configure/node_modules/@pie-lib/editable-html/lib/plugins/image/insert-image-handler.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/image/insert-image-handler.js"],"names":["log","InsertImageHandler","placeholderBlock","getValue","onChange","value","document","directChild","getChild","key","child","getDescendant","Error","c","change","removeNodeByKey","err","src","console","getPlaceholderInDocument","data","merge","Data","create","loaded","percent","setNodeByKey","file","reader","FileReader","onload","dataURL","result","set","readAsDataURL","bytes","total"],"mappings":"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","sourcesContent":["import { Data } from 'slate';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:image:insert-image-handler');\n\n/**\n * Handles user selection, insertion (or cancellation) of an image into the editor.\n * @param {Block} placeholderBlock - a block that has been added to the editor as a place holder for the image\n * @param {Function} getValue - a function to return the value of the editor\n * @param {Function} onChange - callback to notify changes applied by the handler\n */\nclass InsertImageHandler {\n constructor(placeholderBlock, getValue, onChange) {\n this.placeholderBlock = placeholderBlock;\n this.getValue = getValue;\n this.onChange = onChange;\n }\n\n getPlaceholderInDocument(value) {\n const { document } = value;\n const directChild = document.getChild(this.placeholderBlock.key);\n\n if (directChild) {\n return directChild;\n }\n\n const child = document.getDescendant(this.placeholderBlock.key);\n\n if (child) {\n return child;\n } else {\n //eslint-disable-next-line\n throw new Error(\"insert-image: Can't find placeholder!\");\n }\n }\n\n cancel() {\n log('insert cancelled');\n const c = this.getValue()\n .change()\n .removeNodeByKey(this.placeholderBlock.key);\n this.onChange(c);\n }\n\n done(err, src) {\n log('done: err:', err);\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n } else {\n const value = this.getValue();\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.merge(Data.create({ loaded: true, src, percent: 100 }));\n\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n }\n }\n\n /**\n * Notify handler that the user chose a file - will create a change with a preview in the editor.\n *\n * @param {File} file - the file that the user chose using a file input.\n */\n fileChosen(file) {\n if (!file) {\n return;\n }\n\n log('[fileChosen] file: ', file);\n const reader = new FileReader();\n reader.onload = () => {\n const value = this.getValue();\n const dataURL = reader.result;\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.set('src', dataURL);\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n };\n reader.readAsDataURL(file);\n }\n\n progress(percent, bytes, total) {\n log('progress: ', percent, bytes, total);\n const value = this.getValue();\n const child = this.getPlaceholderInDocument(value);\n const data = child.data.set('percent', percent);\n const change = value.change().setNodeByKey(this.placeholderBlock.key, { data });\n this.onChange(change);\n }\n}\n\nexport default InsertImageHandler;\n"],"file":"insert-image-handler.js"}
|