@uxf/wysiwyg 2.0.0-beta.8 → 2.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/create-all-plugins-with-ui.js +8 -1
  2. package/package.json +2 -2
  3. package/plugins/button/constants.d.ts +2 -0
  4. package/plugins/button/constants.js +6 -0
  5. package/plugins/button/create-button-plugin.d.ts +2 -0
  6. package/plugins/button/create-button-plugin.js +12 -0
  7. package/plugins/button/index.d.ts +3 -0
  8. package/plugins/button/index.js +24 -0
  9. package/plugins/button/transforms/get-active-button.d.ts +2 -0
  10. package/plugins/button/transforms/get-active-button.js +10 -0
  11. package/plugins/button/transforms/index.d.ts +4 -0
  12. package/plugins/button/transforms/index.js +12 -0
  13. package/plugins/button/transforms/insert-button.d.ts +2 -0
  14. package/plugins/button/transforms/insert-button.js +17 -0
  15. package/plugins/button/transforms/is-button-active.d.ts +2 -0
  16. package/plugins/button/transforms/is-button-active.js +8 -0
  17. package/plugins/button/transforms/remove-selected-button.d.ts +2 -0
  18. package/plugins/button/transforms/remove-selected-button.js +14 -0
  19. package/plugins/button/transforms/update-button.d.ts +2 -0
  20. package/plugins/button/transforms/update-button.js +10 -0
  21. package/plugins/embedded/video/get-active-video.d.ts +2 -0
  22. package/plugins/embedded/video/get-active-video.js +10 -0
  23. package/plugins/embedded/video/insert-video.d.ts +2 -0
  24. package/plugins/embedded/video/insert-video.js +19 -0
  25. package/plugins/embedded/video/update-video.d.ts +2 -0
  26. package/plugins/embedded/video/update-video.js +12 -0
  27. package/plugins/image/transforms/get-active-image.js +3 -10
  28. package/plugins/image/transforms/insert-image.js +4 -4
  29. package/plugins/image/transforms/remove-selected-image.js +3 -7
  30. package/types.d.ts +10 -1
  31. package/ui/button/button-element.d.ts +2 -0
  32. package/ui/button/button-element.js +27 -0
  33. package/ui/button/index.d.ts +1 -0
  34. package/ui/button/index.js +6 -0
  35. package/ui/button/insert-button-modal-content.d.ts +8 -0
  36. package/ui/button/insert-button-modal-content.js +48 -0
  37. package/ui/components/element/element-action-buttons.d.ts +8 -0
  38. package/ui/components/element/element-action-buttons.js +13 -0
  39. package/ui/components/element/element-with-action-buttons.d.ts +9 -0
  40. package/ui/components/element/element-with-action-buttons.js +10 -0
  41. package/ui/components/modal/modal-button-cancel.d.ts +9 -0
  42. package/ui/components/modal/modal-button-cancel.js +20 -0
  43. package/ui/components/modal/modal-button-submit.d.ts +7 -0
  44. package/ui/components/modal/modal-button-submit.js +10 -0
  45. package/ui/components/modal/modal-buttons.d.ts +11 -0
  46. package/ui/components/modal/modal-buttons.js +11 -0
  47. package/ui/components/modal/modal-content.d.ts +6 -0
  48. package/ui/components/modal/modal-content.js +9 -0
  49. package/ui/create-uxf-ui.d.ts +1 -0
  50. package/ui/create-uxf-ui.js +4 -1
  51. package/ui/image/image-element.js +5 -11
  52. package/ui/image/insert-image-modal-content.js +8 -5
  53. package/ui/link-element.js +2 -2
  54. package/ui/toolbar/buttons/button-toolbar-button.d.ts +8 -0
  55. package/ui/toolbar/buttons/button-toolbar-button.js +13 -0
  56. package/ui/toolbar/buttons/image-toolbar-button.js +3 -12
  57. package/ui/toolbar/buttons/link-toolbar-button.d.ts +1 -1
  58. package/ui/toolbar/buttons/link-toolbar-button.js +5 -4
  59. package/ui/toolbar/buttons/modal-toolbar-button.d.ts +11 -0
  60. package/ui/toolbar/buttons/modal-toolbar-button.js +19 -0
  61. package/ui/toolbar/buttons/{embed-video-toolbar-button.d.ts → video-toolbar-button.d.ts} +1 -1
  62. package/ui/toolbar/buttons/video-toolbar-button.js +14 -0
  63. package/ui/toolbar/toolbar.js +4 -3
  64. package/ui/utils.d.ts +2 -0
  65. package/ui/utils.js +14 -0
  66. package/ui/video/insert-video-modal-content.d.ts +2 -1
  67. package/ui/video/insert-video-modal-content.js +25 -16
  68. package/ui/video/video-element.js +17 -2
  69. package/utils.d.ts +6 -1
  70. package/utils.js +56 -2
  71. package/plugins/embedded/insert-embedded.d.ts +0 -3
  72. package/plugins/embedded/insert-embedded.js +0 -9
  73. package/ui/toolbar/buttons/embed-video-toolbar-button.js +0 -28
@@ -25,6 +25,8 @@ const list_ordered_element_1 = require("./ui/list-ordered-element");
25
25
  const list_unordered_element_1 = require("./ui/list-unordered-element");
26
26
  const underline_mark_1 = require("./ui/underline-mark");
27
27
  const video_element_1 = require("./ui/video/video-element");
28
+ const button_1 = require("./plugins/button");
29
+ const button_2 = require("./ui/button");
28
30
  const createHeadingsPluginWithUi = (options) => {
29
31
  var _a;
30
32
  const disabledLevels = (_a = options === null || options === void 0 ? void 0 : options.disabledLevels) !== null && _a !== void 0 ? _a : [];
@@ -93,6 +95,10 @@ const createVideoPluginWithUi = () => ({
93
95
  component: video_element_1.VideoElement,
94
96
  });
95
97
  exports.createVideoPluginWithUi = createVideoPluginWithUi;
98
+ const createButtonPluginWithUi = () => ({
99
+ plugin: (0, button_1.createButtonPlugin)(),
100
+ component: button_2.ButtonElement,
101
+ });
96
102
  const createAllPluginsWithUi = (options) => (0, create_plugins_with_ui_1.createPluginsWithUi)([
97
103
  (0, exports.createHeadingsPluginWithUi)(options.headings),
98
104
  (0, exports.createBlockQuotePluginWithUi)(),
@@ -104,6 +110,7 @@ const createAllPluginsWithUi = (options) => (0, create_plugins_with_ui_1.createP
104
110
  createLinkPluginWithUi(),
105
111
  (0, exports.createImagePluginWithUi)(options.image),
106
112
  (0, exports.createVideoPluginWithUi)(),
113
+ createButtonPluginWithUi(),
107
114
  ]);
108
115
  exports.createAllPluginsWithUi = createAllPluginsWithUi;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFsbC1wbHVnaW5zLXdpdGgtdWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlLWFsbC1wbHVnaW5zLXdpdGgtdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQStEO0FBQy9ELCtGQUF5RjtBQUN6RixzRkFBaUY7QUFDakYsMkRBQTJEO0FBQzNELHFGQUFxSDtBQUNySCw2RUFBd0U7QUFFeEUsMEVBQXFFO0FBQ3JFLDBFQUFxRTtBQUNyRSwrRUFBMEU7QUFDMUUsK0VBQTBFO0FBQzFFLHFGQUFnRjtBQUNoRiw4RkFBeUY7QUFFekYsa0VBQTZEO0FBQzdELDhDQUEwQztBQUMxQyw4Q0FBMEM7QUFDMUMsNERBQXlHO0FBQ3pHLDREQUF3RDtBQUN4RCxrREFBOEM7QUFDOUMsb0RBQWdEO0FBQ2hELDhEQUF5RDtBQUN6RCxvRUFBK0Q7QUFDL0Qsd0VBQW1FO0FBQ25FLHdEQUFvRDtBQUNwRCw0REFBd0Q7QUFFakQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLE9BQStCLEVBQUUsRUFBRTs7SUFDMUUsTUFBTSxjQUFjLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsY0FBYyxtQ0FBSSxFQUFFLENBQUM7SUFDckQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEcsTUFBTSxVQUFVLEdBQTBDLEVBQUUsQ0FBQztJQUM3RCxNQUFNLGFBQWEsR0FBRyxDQUFDLDRCQUFTLEVBQUUsNEJBQVMsRUFBRSw0QkFBUyxFQUFFLDRCQUFTLEVBQUUsNEJBQVMsRUFBRSw0QkFBUyxDQUFDLENBQUM7SUFFekYsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxLQUFL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
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFsbC1wbHVnaW5zLXdpdGgtdWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlLWFsbC1wbHVnaW5zLXdpdGgtdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQStEO0FBQy9ELCtGQUF5RjtBQUN6RixzRkFBaUY7QUFDakYsMkRBQTJEO0FBQzNELHFGQUFxSDtBQUNySCw2RUFBd0U7QUFFeEUsMEVBQXFFO0FBQ3JFLDBFQUFxRTtBQUNyRSwrRUFBMEU7QUFDMUUsK0VBQTBFO0FBQzFFLHFGQUFnRjtBQUNoRiw4RkFBeUY7QUFFekYsa0VBQTZEO0FBQzdELDhDQUEwQztBQUMxQyw4Q0FBMEM7QUFDMUMsNERBQXlHO0FBQ3pHLDREQUF3RDtBQUN4RCxrREFBOEM7QUFDOUMsb0RBQWdEO0FBQ2hELDhEQUF5RDtBQUN6RCxvRUFBK0Q7QUFDL0Qsd0VBQW1FO0FBQ25FLHdEQUFvRDtBQUNwRCw0REFBd0Q7QUFDeEQsNkNBQXNEO0FBQ3RELHdDQUE0QztBQUVyQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsT0FBK0IsRUFBRSxFQUFFOztJQUMxRSxNQUFNLGNBQWMsR0FBRyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxjQUFjLG1DQUFJLEVBQUUsQ0FBQztJQUNyRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRyxNQUFNLFVBQVUsR0FBMEMsRUFBRSxDQUFDO0lBQzdELE1BQU0sYUFBYSxHQUFHLENBQUMsNEJBQVMsRUFBRSw0QkFBUyxFQUFFLDRCQUFTLEVBQUUsNEJBQVMsRUFBRSw0QkFBUyxFQUFFLDRCQUFTLENBQUMsQ0FBQztJQUV6RixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/wysiwyg",
3
- "version": "2.0.0-beta.8",
3
+ "version": "2.0.0-beta.9",
4
4
  "description": "UXF Wysiwyg editor",
5
5
  "author": "Robin Dvorak <dvorak@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/wysiwyg",
@@ -11,7 +11,7 @@
11
11
  "typecheck": "tsc --noEmit --skipLibCheck",
12
12
  "lint": "eslint -c .eslintrc.js \"./**/*.ts*\"",
13
13
  "check": "yarn typecheck && yarn lint",
14
- "dev": "parcel ./example/index.html --dist-dir example/dist --cache-dir example/.cache --port 8081"
14
+ "dev": "npm run clean && parcel example/index.html --dist-dir example/dist --cache-dir example/.cache --port 8081"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@tailwindcss/aspect-ratio": "^0.4.2",
@@ -0,0 +1,2 @@
1
+ export declare const PLUGIN_BUTTON_KEY = "button";
2
+ export declare const PLUGIN_BUTTON_TYPE = "button";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PLUGIN_BUTTON_TYPE = exports.PLUGIN_BUTTON_KEY = void 0;
4
+ exports.PLUGIN_BUTTON_KEY = "button";
5
+ exports.PLUGIN_BUTTON_TYPE = exports.PLUGIN_BUTTON_KEY;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvYnV0dG9uL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztBQUM3QixRQUFBLGtCQUFrQixHQUFHLHlCQUFpQixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ import { WysiwygContent } from "../../types";
2
+ export declare const createButtonPlugin: <OP = import("@udecode/plate-core").AnyObject, OV extends import("@udecode/plate-core").Value = WysiwygContent, OE extends import("@udecode/plate-core").PlateEditor<OV> = import("@udecode/plate-core").PlateEditor<OV>>(override?: Partial<import("@udecode/plate-core").PlatePlugin<import("@udecode/plate-core").NoInfer<OP>, OV, OE>> | undefined, overrideByKey?: import("@udecode/plate-core").OverrideByKey<OV, OE> | undefined) => import("@udecode/plate-core").PlatePlugin<import("@udecode/plate-core").NoInfer<OP>, OV, OE>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createButtonPlugin = void 0;
4
+ const plate_core_1 = require("@udecode/plate-core");
5
+ const constants_1 = require("./constants");
6
+ exports.createButtonPlugin = (0, plate_core_1.createPluginFactory)({
7
+ key: constants_1.PLUGIN_BUTTON_KEY,
8
+ type: constants_1.PLUGIN_BUTTON_TYPE,
9
+ isElement: true,
10
+ isVoid: true,
11
+ });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJ1dHRvbi1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9idXR0b24vY3JlYXRlLWJ1dHRvbi1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQXlFO0FBRXpFLDJDQUFvRTtBQUV2RCxRQUFBLGtCQUFrQixHQUFHLElBQUEsZ0NBQW1CLEVBQTJDO0lBQzVGLEdBQUcsRUFBRSw2QkFBaUI7SUFDdEIsSUFBSSxFQUFFLDhCQUFrQjtJQUN4QixTQUFTLEVBQUUsSUFBSTtJQUNmLE1BQU0sRUFBRSxJQUFJO0NBQ2YsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ export { createButtonPlugin } from "./create-button-plugin";
2
+ export { PLUGIN_BUTTON_KEY, PLUGIN_BUTTON_TYPE } from "./constants";
3
+ export * from "./transforms";
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PLUGIN_BUTTON_TYPE = exports.PLUGIN_BUTTON_KEY = exports.createButtonPlugin = void 0;
18
+ var create_button_plugin_1 = require("./create-button-plugin");
19
+ Object.defineProperty(exports, "createButtonPlugin", { enumerable: true, get: function () { return create_button_plugin_1.createButtonPlugin; } });
20
+ var constants_1 = require("./constants");
21
+ Object.defineProperty(exports, "PLUGIN_BUTTON_KEY", { enumerable: true, get: function () { return constants_1.PLUGIN_BUTTON_KEY; } });
22
+ Object.defineProperty(exports, "PLUGIN_BUTTON_TYPE", { enumerable: true, get: function () { return constants_1.PLUGIN_BUTTON_TYPE; } });
23
+ __exportStar(require("./transforms"), exports);
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBNEQ7QUFBbkQsMEhBQUEsa0JBQWtCLE9BQUE7QUFDM0IseUNBQW9FO0FBQTNELDhHQUFBLGlCQUFpQixPQUFBO0FBQUUsK0dBQUEsa0JBQWtCLE9BQUE7QUFDOUMsK0NBQTZCIn0=
@@ -0,0 +1,2 @@
1
+ import { UxfButtonElement, UxfEditor } from "../../../types";
2
+ export declare const getActiveButton: (editor: UxfEditor) => UxfButtonElement | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getActiveButton = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const constants_1 = require("../constants");
6
+ const getActiveButton = (editor) => {
7
+ return (0, utils_1.getActiveElement)(editor, constants_1.PLUGIN_BUTTON_TYPE);
8
+ };
9
+ exports.getActiveButton = getActiveButton;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjdGl2ZS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy9idXR0b24vdHJhbnNmb3Jtcy9nZXQtYWN0aXZlLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwQ0FBa0Q7QUFDbEQsNENBQWtEO0FBRTNDLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFO0lBQ2pELE9BQU8sSUFBQSx3QkFBZ0IsRUFBbUIsTUFBTSxFQUFFLDhCQUFrQixDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxlQUFlLG1CQUUxQiJ9
@@ -0,0 +1,4 @@
1
+ export { isButtonActive } from "./is-button-active";
2
+ export { getActiveButton } from "./get-active-button";
3
+ export { insertButton } from "./insert-button";
4
+ export { updateButton } from "./update-button";
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateButton = exports.insertButton = exports.getActiveButton = exports.isButtonActive = void 0;
4
+ var is_button_active_1 = require("./is-button-active");
5
+ Object.defineProperty(exports, "isButtonActive", { enumerable: true, get: function () { return is_button_active_1.isButtonActive; } });
6
+ var get_active_button_1 = require("./get-active-button");
7
+ Object.defineProperty(exports, "getActiveButton", { enumerable: true, get: function () { return get_active_button_1.getActiveButton; } });
8
+ var insert_button_1 = require("./insert-button");
9
+ Object.defineProperty(exports, "insertButton", { enumerable: true, get: function () { return insert_button_1.insertButton; } });
10
+ var update_button_1 = require("./update-button");
11
+ Object.defineProperty(exports, "updateButton", { enumerable: true, get: function () { return update_button_1.updateButton; } });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy9idXR0b24vdHJhbnNmb3Jtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBb0Q7QUFBM0Msa0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHlEQUFzRDtBQUE3QyxvSEFBQSxlQUFlLE9BQUE7QUFDeEIsaURBQStDO0FBQXRDLDZHQUFBLFlBQVksT0FBQTtBQUNyQixpREFBK0M7QUFBdEMsNkdBQUEsWUFBWSxPQUFBIn0=
@@ -0,0 +1,2 @@
1
+ import { UxfEditor } from "../../../types";
2
+ export declare const insertButton: (editor: UxfEditor, buttonText: string, buttonUrl: string) => void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.insertButton = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const constants_1 = require("../constants");
6
+ const insertButton = (editor, buttonText, buttonUrl) => {
7
+ const text = { text: "" };
8
+ const button = {
9
+ type: constants_1.PLUGIN_BUTTON_KEY,
10
+ buttonText,
11
+ buttonUrl,
12
+ children: [text],
13
+ };
14
+ (0, utils_1.insertVoid)(editor, button);
15
+ };
16
+ exports.insertButton = insertButton;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2J1dHRvbi90cmFuc2Zvcm1zL2luc2VydC1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQTRDO0FBQzVDLDRDQUFpRDtBQUUxQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWlCLEVBQUUsVUFBa0IsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDckYsTUFBTSxJQUFJLEdBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQXFCO1FBQzdCLElBQUksRUFBRSw2QkFBaUI7UUFDdkIsVUFBVTtRQUNWLFNBQVM7UUFDVCxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FDbkIsQ0FBQztJQUVGLElBQUEsa0JBQVUsRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBVlcsUUFBQSxZQUFZLGdCQVV2QiJ9
@@ -0,0 +1,2 @@
1
+ import { UxfEditor } from "../../../types";
2
+ export declare const isButtonActive: (editor: UxfEditor) => boolean;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isButtonActive = void 0;
4
+ const plate_core_1 = require("@udecode/plate-core");
5
+ const get_active_button_1 = require("./get-active-button");
6
+ const isButtonActive = (editor) => !!((0, get_active_button_1.getActiveButton)(editor) && (0, plate_core_1.isRangeInSameBlock)(editor));
7
+ exports.isButtonActive = isButtonActive;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYnV0dG9uLWFjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2J1dHRvbi90cmFuc2Zvcm1zL2lzLWJ1dHRvbi1hY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQXlEO0FBRXpELDJEQUFzRDtBQUUvQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsbUNBQWUsRUFBQyxNQUFNLENBQUMsSUFBSSxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFBbEcsUUFBQSxjQUFjLGtCQUFvRiJ9
@@ -0,0 +1,2 @@
1
+ import { UxfEditor } from "../../../types";
2
+ export declare const removeSelectedButton: (editor: UxfEditor) => boolean;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeSelectedButton = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const get_active_button_1 = require("./get-active-button");
6
+ const removeSelectedButton = (editor) => {
7
+ const activeButton = (0, get_active_button_1.getActiveButton)(editor);
8
+ if (!activeButton) {
9
+ return false;
10
+ }
11
+ return (0, utils_1.removeElement)(editor, activeButton);
12
+ };
13
+ exports.removeSelectedButton = removeSelectedButton;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXNlbGVjdGVkLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2J1dHRvbi90cmFuc2Zvcm1zL3JlbW92ZS1zZWxlY3RlZC1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQStDO0FBQy9DLDJEQUFzRDtBQUUvQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0sWUFBWSxHQUFHLElBQUEsbUNBQWUsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsWUFBWSxFQUFFO1FBQ2YsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxPQUFPLElBQUEscUJBQWEsRUFBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBUFcsUUFBQSxvQkFBb0Isd0JBTy9CIn0=
@@ -0,0 +1,2 @@
1
+ import { UxfEditor } from "../../../types";
2
+ export declare const updateButton: (editor: UxfEditor, buttonText: string, buttonUrl: string) => void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateButton = void 0;
4
+ const plate_core_1 = require("@udecode/plate-core");
5
+ const updateButton = (editor, buttonText, buttonUrl) => (0, plate_core_1.setNodes)(editor, {
6
+ buttonText,
7
+ buttonUrl,
8
+ });
9
+ exports.updateButton = updateButton;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2J1dHRvbi90cmFuc2Zvcm1zL3VwZGF0ZS1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQStDO0FBR3hDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBaUIsRUFBRSxVQUFrQixFQUFFLFNBQWlCLEVBQUUsRUFBRSxDQUNyRixJQUFBLHFCQUFRLEVBQW1CLE1BQU0sRUFBRTtJQUMvQixVQUFVO0lBQ1YsU0FBUztDQUNaLENBQUMsQ0FBQztBQUpNLFFBQUEsWUFBWSxnQkFJbEIifQ==
@@ -0,0 +1,2 @@
1
+ import { UxfEditor, UxfVideoElement } from "../../../types";
2
+ export declare const getActiveVideo: (editor: UxfEditor) => UxfVideoElement | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getActiveVideo = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const create_video_plugin_1 = require("./create-video-plugin");
6
+ const getActiveVideo = (editor) => {
7
+ return (0, utils_1.getActiveElement)(editor, create_video_plugin_1.ELEMENT_VIDEO_EMBED);
8
+ };
9
+ exports.getActiveVideo = getActiveVideo;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjdGl2ZS12aWRlby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2VtYmVkZGVkL3ZpZGVvL2dldC1hY3RpdmUtdmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQWtEO0FBQ2xELCtEQUE0RDtBQUVyRCxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtJQUNoRCxPQUFPLElBQUEsd0JBQWdCLEVBQWtCLE1BQU0sRUFBRSx5Q0FBbUIsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQUZXLFFBQUEsY0FBYyxrQkFFekIifQ==
@@ -0,0 +1,2 @@
1
+ import { UxfEditor } from "../../../types";
2
+ export declare const insertVideo: (editor: UxfEditor, url: string, embeddedUrl: string, provider: string, videoId: string) => void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.insertVideo = void 0;
4
+ const create_video_plugin_1 = require("./create-video-plugin");
5
+ const utils_1 = require("../../../utils");
6
+ const insertVideo = (editor, url, embeddedUrl, provider, videoId) => {
7
+ const text = { text: "" };
8
+ const element = {
9
+ type: create_video_plugin_1.ELEMENT_VIDEO_EMBED,
10
+ url,
11
+ embeddedUrl,
12
+ provider,
13
+ videoId,
14
+ children: [text],
15
+ };
16
+ (0, utils_1.insertVoid)(editor, element);
17
+ };
18
+ exports.insertVideo = insertVideo;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXZpZGVvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvZW1iZWRkZWQvdmlkZW8vaW5zZXJ0LXZpZGVvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtEQUE0RDtBQUM1RCwwQ0FBNEM7QUFFckMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEdBQVcsRUFBRSxXQUFtQixFQUFFLFFBQWdCLEVBQUUsT0FBZSxFQUFFLEVBQUU7SUFDbEgsTUFBTSxJQUFJLEdBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckMsTUFBTSxPQUFPLEdBQW9CO1FBQzdCLElBQUksRUFBRSx5Q0FBbUI7UUFDekIsR0FBRztRQUNILFdBQVc7UUFDWCxRQUFRO1FBQ1IsT0FBTztRQUNQLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQztLQUNuQixDQUFDO0lBQ0YsSUFBQSxrQkFBVSxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUM7QUFYVyxRQUFBLFdBQVcsZUFXdEIifQ==
@@ -0,0 +1,2 @@
1
+ import { UxfEditor } from "../../../types";
2
+ export declare const updateVideo: (editor: UxfEditor, url: string, embeddedUrl: string, provider: string, videoId: string) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateVideo = void 0;
4
+ const plate_core_1 = require("@udecode/plate-core");
5
+ const updateVideo = (editor, url, embeddedUrl, provider, videoId) => (0, plate_core_1.setNodes)(editor, {
6
+ url,
7
+ embeddedUrl,
8
+ provider,
9
+ videoId,
10
+ });
11
+ exports.updateVideo = updateVideo;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXZpZGVvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvZW1iZWRkZWQvdmlkZW8vdXBkYXRlLXZpZGVvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUErQztBQUd4QyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQWlCLEVBQUUsR0FBVyxFQUFFLFdBQW1CLEVBQUUsUUFBZ0IsRUFBRSxPQUFlLEVBQUUsRUFBRSxDQUNsSCxJQUFBLHFCQUFRLEVBQWtCLE1BQU0sRUFBRTtJQUM5QixHQUFHO0lBQ0gsV0FBVztJQUNYLFFBQVE7SUFDUixPQUFPO0NBQ1YsQ0FBQyxDQUFDO0FBTk0sUUFBQSxXQUFXLGVBTWpCIn0=
@@ -1,17 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getActiveImage = void 0;
4
- const plate_core_1 = require("@udecode/plate-core");
4
+ const utils_1 = require("../../../utils");
5
5
  const types_1 = require("../types");
6
6
  const getActiveImage = (editor) => {
7
- const entry = (0, plate_core_1.findNode)(editor, {
8
- match: { type: (0, plate_core_1.getPluginType)(editor, types_1.IMAGE_PLUGIN_KEY) },
9
- });
10
- if (!entry) {
11
- return;
12
- }
13
- const [image] = entry;
14
- return image;
7
+ return (0, utils_1.getActiveElement)(editor, types_1.IMAGE_PLUGIN_KEY);
15
8
  };
16
9
  exports.getActiveImage = getActiveImage;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjdGl2ZS1pbWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL3RyYW5zZm9ybXMvZ2V0LWFjdGl2ZS1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBOEQ7QUFFOUQsb0NBQTRDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFO0lBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUEscUJBQVEsRUFBa0IsTUFBTSxFQUFFO1FBQzVDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFBLDBCQUFhLEVBQUMsTUFBTSxFQUFFLHdCQUFnQixDQUFDLEVBQUU7S0FDM0QsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE9BQU87S0FDVjtJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFdEIsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxjQUFjLGtCQVd6QiJ9
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjdGl2ZS1pbWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL3RyYW5zZm9ybXMvZ2V0LWFjdGl2ZS1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwQ0FBa0Q7QUFDbEQsb0NBQTRDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFO0lBQ2hELE9BQU8sSUFBQSx3QkFBZ0IsRUFBa0IsTUFBTSxFQUFFLHdCQUFnQixDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxjQUFjLGtCQUV6QiJ9
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.insertImage = void 0;
4
- const plate_core_1 = require("@udecode/plate-core");
5
4
  const types_1 = require("../types");
5
+ const utils_1 = require("../../../utils");
6
6
  const insertImage = (editor, file, alt, caption, source, url) => {
7
7
  const text = { text: "" };
8
8
  const image = {
9
- type: (0, plate_core_1.getPluginType)(editor, types_1.IMAGE_PLUGIN_KEY),
9
+ type: types_1.IMAGE_PLUGIN_TYPE,
10
10
  children: [text],
11
11
  file,
12
12
  alt,
@@ -14,7 +14,7 @@ const insertImage = (editor, file, alt, caption, source, url) => {
14
14
  source,
15
15
  url: url,
16
16
  };
17
- (0, plate_core_1.insertNodes)(editor, image);
17
+ (0, utils_1.insertVoid)(editor, image);
18
18
  };
19
19
  exports.insertImage = insertImage;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvaW1hZ2UvdHJhbnNmb3Jtcy9pbnNlcnQtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQWlFO0FBRWpFLG9DQUE2RTtBQUV0RSxNQUFNLFdBQVcsR0FBRyxDQUN2QixNQUFpQixFQUNqQixJQUFrQixFQUNsQixHQUFZLEVBQ1osT0FBZ0IsRUFDaEIsTUFBZSxFQUNmLEdBQVksRUFDZCxFQUFFO0lBQ0EsTUFBTSxJQUFJLEdBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckMsTUFBTSxLQUFLLEdBQW9CO1FBQzNCLElBQUksRUFBRSxJQUFBLDBCQUFhLEVBQWlCLE1BQU0sRUFBRSx3QkFBZ0IsQ0FBNkI7UUFDekYsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2hCLElBQUk7UUFDSixHQUFHO1FBQ0gsT0FBTztRQUNQLE1BQU07UUFDTixHQUFHLEVBQUUsR0FBVTtLQUNsQixDQUFDO0lBQ0YsSUFBQSx3QkFBVyxFQUFrQixNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsV0FBVyxlQW1CdEIifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvaW1hZ2UvdHJhbnNmb3Jtcy9pbnNlcnQtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0NBQTJEO0FBQzNELDBDQUE0QztBQUVyQyxNQUFNLFdBQVcsR0FBRyxDQUN2QixNQUFpQixFQUNqQixJQUFrQixFQUNsQixHQUFZLEVBQ1osT0FBZ0IsRUFDaEIsTUFBZSxFQUNmLEdBQVksRUFDZCxFQUFFO0lBQ0EsTUFBTSxJQUFJLEdBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckMsTUFBTSxLQUFLLEdBQW9CO1FBQzNCLElBQUksRUFBRSx5QkFBaUI7UUFDdkIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2hCLElBQUk7UUFDSixHQUFHO1FBQ0gsT0FBTztRQUNQLE1BQU07UUFDTixHQUFHLEVBQUUsR0FBVTtLQUNsQixDQUFDO0lBQ0YsSUFBQSxrQkFBVSxFQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFuQlcsUUFBQSxXQUFXLGVBbUJ0QiJ9
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeSelectedImage = void 0;
4
- const plate_core_1 = require("@udecode/plate-core");
5
4
  const get_active_image_1 = require("./get-active-image");
5
+ const utils_1 = require("../../../utils");
6
6
  const removeSelectedImage = (editor) => {
7
- var _a;
8
7
  const activeImage = (0, get_active_image_1.getActiveImage)(editor);
9
8
  if (!activeImage) {
10
9
  return false;
11
10
  }
12
- const path = (0, plate_core_1.findNodePath)(editor, activeImage);
13
- (0, plate_core_1.removeNodes)(editor, { at: path });
14
- (0, plate_core_1.focusEditor)(editor, (_a = editor.selection) !== null && _a !== void 0 ? _a : undefined);
15
- return true;
11
+ return (0, utils_1.removeElement)(editor, activeImage);
16
12
  };
17
13
  exports.removeSelectedImage = removeSelectedImage;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXNlbGVjdGVkLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvaW1hZ2UvdHJhbnNmb3Jtcy9yZW1vdmUtc2VsZWN0ZWQtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQTZFO0FBRTdFLHlEQUFvRDtBQUU3QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFOztJQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFBLGlDQUFjLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsTUFBTSxJQUFJLEdBQUcsSUFBQSx5QkFBWSxFQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQyxJQUFBLHdCQUFXLEVBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEMsSUFBQSx3QkFBVyxFQUFDLE1BQU0sRUFBRSxNQUFBLE1BQU0sQ0FBQyxTQUFTLG1DQUFJLFNBQVMsQ0FBQyxDQUFDO0lBRW5ELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQVhXLFFBQUEsbUJBQW1CLHVCQVc5QiJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXNlbGVjdGVkLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvaW1hZ2UvdHJhbnNmb3Jtcy9yZW1vdmUtc2VsZWN0ZWQtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQW9EO0FBQ3BELDBDQUErQztBQUV4QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFO0lBQ3JELE1BQU0sV0FBVyxHQUFHLElBQUEsaUNBQWMsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxPQUFPLElBQUEscUJBQWEsRUFBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBUFcsUUFBQSxtQkFBbUIsdUJBTzlCIn0=
package/types.d.ts CHANGED
@@ -67,12 +67,21 @@ export interface UxfOrderedListElement extends UxfBlockElement {
67
67
  export interface UxfVideoElement extends UxfBlockElement {
68
68
  type: "video";
69
69
  url: string;
70
+ embeddedUrl: string;
71
+ provider: string;
72
+ videoId: string;
73
+ children: [EmptyText];
74
+ }
75
+ export interface UxfButtonElement extends UxfBlockElement {
76
+ type: "button";
77
+ buttonUrl: string;
78
+ buttonText: string;
70
79
  children: [EmptyText];
71
80
  }
72
81
  export type EmptyText = {
73
82
  text: "";
74
83
  };
75
- export type WysiwygRootBlock = UxfParagraphElement | UxfBlockQuoteElement | UxfImageElement | UxfHeadingElement | UxfLinkElement | UxfUnorderedListElement | UxfOrderedListElement | UxfVideoElement;
84
+ export type WysiwygRootBlock = UxfParagraphElement | UxfBlockQuoteElement | UxfImageElement | UxfHeadingElement | UxfLinkElement | UxfUnorderedListElement | UxfOrderedListElement | UxfVideoElement | UxfButtonElement;
76
85
  export type WysiwygContent = WysiwygRootBlock[];
77
86
  export interface WysiwygPlugin<E extends UxfBlockElement = UxfBlockElement> {
78
87
  plugin: UxfPlatePlugin;
@@ -0,0 +1,2 @@
1
+ import { ElementUiComponent, UxfButtonElement } from "../../types";
2
+ export declare const ButtonElement: ElementUiComponent<UxfButtonElement>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonElement = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const button_1 = require("@uxf/ui/button");
6
+ const button_2 = require("../../plugins/button");
7
+ const element_with_action_buttons_1 = require("../components/element/element-with-action-buttons");
8
+ const react_1 = require("react");
9
+ const modal_service_1 = require("@uxf/ui/modal/modal-service");
10
+ const insert_button_modal_content_1 = require("./insert-button-modal-content");
11
+ const remove_selected_button_1 = require("../../plugins/button/transforms/remove-selected-button");
12
+ const hooks_1 = require("../../hooks");
13
+ const ButtonElement = ({ attributes, element, children, editor, className, }) => {
14
+ const selected = (0, hooks_1.useSelected)();
15
+ const onEdit = (0, react_1.useCallback)(() => {
16
+ (0, modal_service_1.openModal)({
17
+ children: (0, jsx_runtime_1.jsx)(insert_button_modal_content_1.InsertButtonModalContent, { editor: editor, buttonToEdit: (0, button_2.getActiveButton)(editor) }),
18
+ width: "lg",
19
+ });
20
+ }, [editor]);
21
+ const onRemove = (0, react_1.useCallback)(() => {
22
+ (0, remove_selected_button_1.removeSelectedButton)(editor);
23
+ }, [editor]);
24
+ return ((0, jsx_runtime_1.jsxs)("div", { ...attributes, className: `${className} mt-4 mb-4`, children: [(0, jsx_runtime_1.jsx)(element_with_action_buttons_1.ElementWithActionButtons, { onEdit: onEdit, onDelete: onRemove, isSelected: selected, padding: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { href: element.buttonUrl, variant: "outlined", children: element.buttonText }) }), children] }));
25
+ };
26
+ exports.ButtonElement = ButtonElement;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvYnV0dG9uL2J1dHRvbi1lbGVtZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkNBQXdDO0FBQ3hDLGlEQUF1RDtBQUV2RCxtR0FBNkY7QUFDN0YsaUNBQW9DO0FBQ3BDLCtEQUF3RDtBQUN4RCwrRUFBeUU7QUFDekUsbUdBQThGO0FBQzlGLHVDQUEwQztBQUVuQyxNQUFNLGFBQWEsR0FBeUMsQ0FBQyxFQUNoRSxVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxHQUNaLEVBQUUsRUFBRTtJQUNELE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVcsR0FBRSxDQUFDO0lBRS9CLE1BQU0sTUFBTSxHQUFHLElBQUEsbUJBQVcsRUFBQyxHQUFHLEVBQUU7UUFDNUIsSUFBQSx5QkFBUyxFQUFDO1lBQ04sUUFBUSxFQUFFLHVCQUFDLHNEQUF3QixJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUEsd0JBQWUsRUFBQyxNQUFNLENBQUMsR0FBSTtZQUM3RixLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNQLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFYixNQUFNLFFBQVEsR0FBRyxJQUFBLG1CQUFXLEVBQUMsR0FBRyxFQUFFO1FBQzlCLElBQUEsNkNBQW9CLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUViLE9BQU8sQ0FDSCxvQ0FBUyxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxZQUFZLGFBQ3BELHVCQUFDLHNEQUF3QixJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sa0JBQ3ZGLHVCQUFDLGVBQU0sSUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsVUFBVSxZQUM5QyxPQUFPLENBQUMsVUFBVSxHQUNkLEdBQ2MsRUFDMUIsUUFBUSxJQUNQLENBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQztBQTlCVyxRQUFBLGFBQWEsaUJBOEJ4QiJ9
@@ -0,0 +1 @@
1
+ export { ButtonElement } from "./button-element";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonElement = void 0;
4
+ var button_element_1 = require("./button-element");
5
+ Object.defineProperty(exports, "ButtonElement", { enumerable: true, get: function () { return button_element_1.ButtonElement; } });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUEifQ==
@@ -0,0 +1,8 @@
1
+ import { FC } from "react";
2
+ import { UxfButtonElement, UxfEditor } from "../../types";
3
+ interface InsertButtonModalContentProps {
4
+ editor: UxfEditor;
5
+ buttonToEdit?: UxfButtonElement;
6
+ }
7
+ export declare const InsertButtonModalContent: FC<InsertButtonModalContentProps>;
8
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InsertButtonModalContent = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const text_input_1 = require("@uxf/ui/text-input");
6
+ const react_1 = require("react");
7
+ const button_1 = require("../../plugins/button");
8
+ const utils_1 = require("../utils");
9
+ const modal_buttons_1 = require("../components/modal/modal-buttons");
10
+ const modal_content_1 = require("../components/modal/modal-content");
11
+ const InsertButtonModalContent = ({ editor, buttonToEdit }) => {
12
+ var _a, _b;
13
+ const [buttonText, setButtonText] = (0, react_1.useState)((_a = buttonToEdit === null || buttonToEdit === void 0 ? void 0 : buttonToEdit.buttonText) !== null && _a !== void 0 ? _a : "");
14
+ const [buttonUrl, setButtonUrl] = (0, react_1.useState)((_b = buttonToEdit === null || buttonToEdit === void 0 ? void 0 : buttonToEdit.buttonUrl) !== null && _b !== void 0 ? _b : "");
15
+ const [error, setError] = (0, react_1.useState)({
16
+ text: undefined,
17
+ url: undefined,
18
+ });
19
+ const title = buttonToEdit ? "Upravit tlačítko" : "Vložit tlačítko";
20
+ const onSubmit = (0, react_1.useCallback)(async () => {
21
+ if (buttonText.length === 0) {
22
+ setError((prevError) => ({
23
+ ...prevError,
24
+ text: "Toto pole je povinné",
25
+ }));
26
+ }
27
+ if (buttonUrl.length === 0) {
28
+ setError((prevError) => {
29
+ return {
30
+ ...prevError,
31
+ url: "Toto pole je povinné",
32
+ };
33
+ });
34
+ }
35
+ if (buttonText.length !== 0 && buttonUrl.length !== 0) {
36
+ if (buttonToEdit) {
37
+ (0, button_1.updateButton)(editor, buttonText, buttonUrl);
38
+ }
39
+ else {
40
+ (0, button_1.insertButton)(editor, buttonText, buttonUrl);
41
+ }
42
+ (0, utils_1.closeModalWithFocus)(editor);
43
+ }
44
+ }, [buttonText, buttonToEdit, buttonUrl, editor]);
45
+ return ((0, jsx_runtime_1.jsxs)(modal_content_1.ModalContent, { title: title, children: [(0, jsx_runtime_1.jsx)(text_input_1.TextInput, { type: "text", label: "Text tla\u010D\u00EDtka", value: buttonText, onChange: setButtonText, isRequired: true, isInvalid: !!error.text, helperText: error.text }), (0, jsx_runtime_1.jsx)(text_input_1.TextInput, { type: "text", label: "Url tla\u010D\u00EDtka", value: buttonUrl, onChange: setButtonUrl, isRequired: true, isInvalid: !!error.url, helperText: error.url }), (0, jsx_runtime_1.jsx)(modal_buttons_1.ModalButtons, { editor: editor, onSubmit: onSubmit, submitText: title })] }));
46
+ };
47
+ exports.InsertButtonModalContent = InsertButtonModalContent;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWJ1dHRvbi1tb2RhbC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL2J1dHRvbi9pbnNlcnQtYnV0dG9uLW1vZGFsLWNvbnRlbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtREFBK0M7QUFDL0MsaUNBQWtEO0FBQ2xELGlEQUFrRTtBQUVsRSxvQ0FBK0M7QUFDL0MscUVBQWlFO0FBQ2pFLHFFQUFpRTtBQVkxRCxNQUFNLHdCQUF3QixHQUFzQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7O0lBQ3BHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFDLE1BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLFVBQVUsbUNBQUksRUFBRSxDQUFDLENBQUM7SUFDN0UsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsTUFBQSxZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsU0FBUyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztJQUMxRSxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFBUTtRQUN0QyxJQUFJLEVBQUUsU0FBUztRQUNmLEdBQUcsRUFBRSxTQUFTO0tBQ2pCLENBQUMsQ0FBQztJQUVILE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBRXBFLE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVcsRUFBQyxLQUFLLElBQUksRUFBRTtRQUNwQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDckIsR0FBRyxTQUFTO2dCQUNaLElBQUksRUFBRSxzQkFBc0I7YUFDL0IsQ0FBQyxDQUFDLENBQUM7U0FDUDtRQUVELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ25CLE9BQU87b0JBQ0gsR0FBRyxTQUFTO29CQUNaLEdBQUcsRUFBRSxzQkFBc0I7aUJBQzlCLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRCxJQUFJLFlBQVksRUFBRTtnQkFDZCxJQUFBLHFCQUFZLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUMvQztpQkFBTTtnQkFDSCxJQUFBLHFCQUFZLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUMvQztZQUNELElBQUEsMkJBQW1CLEVBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRWxELE9BQU8sQ0FDSCx3QkFBQyw0QkFBWSxJQUFDLEtBQUssRUFBRSxLQUFLLGFBQ3RCLHVCQUFDLHNCQUFTLElBQ04sSUFBSSxFQUFDLE1BQU0sRUFDWCxLQUFLLEVBQUMseUJBQWUsRUFDckIsS0FBSyxFQUFFLFVBQVUsRUFDakIsUUFBUSxFQUFFLGFBQWEsRUFDdkIsVUFBVSxRQUNWLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFDdkIsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQ3hCLEVBQ0YsdUJBQUMsc0JBQVMsSUFDTixJQUFJLEVBQUMsTUFBTSxFQUNYLEtBQUssRUFBQyx3QkFBYyxFQUNwQixLQUFLLEVBQUUsU0FBUyxFQUNoQixRQUFRLEVBQUUsWUFBWSxFQUN0QixVQUFVLFFBQ1YsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUN0QixVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FDdkIsRUFDRix1QkFBQyw0QkFBWSxJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxHQUFJLElBQzVELENBQ2xCLENBQUM7QUFDTixDQUFDLENBQUM7QUE1RFcsUUFBQSx3QkFBd0IsNEJBNERuQyJ9
@@ -0,0 +1,8 @@
1
+ import { FC } from "react";
2
+ interface ElementActionButtonsProps {
3
+ onEdit: () => void;
4
+ onDelete: () => void;
5
+ isSelected: boolean;
6
+ }
7
+ export declare const ElementActionButtons: FC<ElementActionButtonsProps>;
8
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElementActionButtons = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const button_1 = require("@uxf/ui/button");
6
+ const ElementActionButtons = ({ onEdit, onDelete, isSelected }) => {
7
+ if (!isSelected) {
8
+ return null;
9
+ }
10
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-1 absolute top-3 right-3", contentEditable: false, children: [(0, jsx_runtime_1.jsx)(button_1.Button, { onClick: onEdit, children: "Upravit" }), (0, jsx_runtime_1.jsx)(button_1.Button, { onClick: onDelete, color: "error", children: "Smazat" })] }));
11
+ };
12
+ exports.ElementActionButtons = ElementActionButtons;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hY3Rpb24tYnV0dG9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS9jb21wb25lbnRzL2VsZW1lbnQvZWxlbWVudC1hY3Rpb24tYnV0dG9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDJDQUF3QztBQVFqQyxNQUFNLG9CQUFvQixHQUFrQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQ3BHLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDYixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxDQUNILGlDQUFLLFNBQVMsRUFBQyxtQ0FBbUMsRUFBQyxlQUFlLEVBQUUsS0FBSyxhQUNyRSx1QkFBQyxlQUFNLElBQUMsT0FBTyxFQUFFLE1BQU0sd0JBQWtCLEVBQ3pDLHVCQUFDLGVBQU0sSUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxPQUFPLHVCQUUvQixJQUNQLENBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQztBQWJXLFFBQUEsb0JBQW9CLHdCQWEvQiJ9
@@ -0,0 +1,9 @@
1
+ import { FC, PropsWithChildren } from "react";
2
+ interface Props extends PropsWithChildren {
3
+ onEdit: () => void;
4
+ onDelete: () => void;
5
+ isSelected: boolean;
6
+ padding?: boolean;
7
+ }
8
+ export declare const ElementWithActionButtons: FC<Props>;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElementWithActionButtons = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const element_action_buttons_1 = require("./element-action-buttons");
6
+ const ElementWithActionButtons = ({ children, isSelected, onEdit, onDelete, padding = false }) => {
7
+ return ((0, jsx_runtime_1.jsxs)("div", { className: `relative w-full h-full flex items-center justify-center border ${padding && "p-6"} ${isSelected ? "border-2 border-red-400" : "border-0"}`, contentEditable: false, children: [(0, jsx_runtime_1.jsx)(element_action_buttons_1.ElementActionButtons, { onEdit: onEdit, onDelete: onDelete, isSelected: isSelected }), children] }));
8
+ };
9
+ exports.ElementWithActionButtons = ElementWithActionButtons;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC13aXRoLWFjdGlvbi1idXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3VpL2NvbXBvbmVudHMvZWxlbWVudC9lbGVtZW50LXdpdGgtYWN0aW9uLWJ1dHRvbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxxRUFBZ0U7QUFRekQsTUFBTSx3QkFBd0IsR0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFO0lBQy9HLE9BQU8sQ0FDSCxpQ0FDSSxTQUFTLEVBQUUsa0VBQWtFLE9BQU8sSUFBSSxLQUFLLElBQ3pGLFVBQVUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFVBQzdDLEVBQUUsRUFDRixlQUFlLEVBQUUsS0FBSyxhQUV0Qix1QkFBQyw2Q0FBb0IsSUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsR0FBSSxFQUNuRixRQUFRLElBQ1AsQ0FDVCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBWlcsUUFBQSx3QkFBd0IsNEJBWW5DIn0=
@@ -0,0 +1,9 @@
1
+ import { FC } from "react";
2
+ import { UxfEditor } from "../../../types";
3
+ interface ModalButtonCancelProps {
4
+ editor: UxfEditor;
5
+ onCancel?: () => void;
6
+ cancelText?: string;
7
+ }
8
+ export declare const ModalButtonCancel: FC<ModalButtonCancelProps>;
9
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModalButtonCancel = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const button_1 = require("@uxf/ui/button");
6
+ const react_1 = require("react");
7
+ const utils_1 = require("../../utils");
8
+ const ModalButtonCancel = ({ editor, onCancel, cancelText = "Zrušit" }) => {
9
+ const cancelHandler = (0, react_1.useCallback)(() => {
10
+ if (onCancel) {
11
+ onCancel();
12
+ }
13
+ else {
14
+ (0, utils_1.closeModalWithFocus)(editor);
15
+ }
16
+ }, [editor, onCancel]);
17
+ return ((0, jsx_runtime_1.jsx)(button_1.Button, { onClick: cancelHandler, color: "error", children: cancelText }));
18
+ };
19
+ exports.ModalButtonCancel = ModalButtonCancel;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYnV0dG9uLWNhbmNlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS9jb21wb25lbnRzL21vZGFsL21vZGFsLWJ1dHRvbi1jYW5jZWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsaUNBQXdDO0FBQ3hDLHVDQUFrRDtBQVMzQyxNQUFNLGlCQUFpQixHQUErQixDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEdBQUcsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUN6RyxNQUFNLGFBQWEsR0FBRyxJQUFBLG1CQUFXLEVBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksUUFBUSxFQUFFO1lBQ1YsUUFBUSxFQUFFLENBQUM7U0FDZDthQUFNO1lBQ0gsSUFBQSwyQkFBbUIsRUFBQyxNQUFNLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXZCLE9BQU8sQ0FDSCx1QkFBQyxlQUFNLElBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUMsT0FBTyxZQUN4QyxVQUFVLEdBQ04sQ0FDWixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBZFcsUUFBQSxpQkFBaUIscUJBYzVCIn0=
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ interface ModalButtonSubmitProps {
3
+ onSubmit: () => void;
4
+ submitText: string;
5
+ }
6
+ export declare const ModalButtonSubmit: FC<ModalButtonSubmitProps>;
7
+ export {};