@squiz/formatted-text-editor 1.16.0 → 1.21.1-alpha.10

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 (123) hide show
  1. package/.eslintrc.json +7 -0
  2. package/README.md +10 -0
  3. package/demo/App.tsx +18 -4
  4. package/demo/index.scss +16 -10
  5. package/jest.config.ts +8 -9
  6. package/lib/Editor/Editor.js +18 -13
  7. package/lib/EditorToolbar/FloatingToolbar.js +50 -20
  8. package/lib/EditorToolbar/Toolbar.js +33 -24
  9. package/lib/EditorToolbar/Tools/Bold/BoldButton.js +14 -9
  10. package/lib/EditorToolbar/Tools/Image/Form/ImageForm.d.ts +17 -0
  11. package/lib/EditorToolbar/Tools/Image/Form/ImageForm.js +84 -0
  12. package/lib/EditorToolbar/Tools/Image/ImageButton.d.ts +2 -0
  13. package/lib/EditorToolbar/Tools/Image/ImageButton.js +67 -0
  14. package/lib/EditorToolbar/Tools/Image/ImageModal.d.ts +8 -0
  15. package/lib/EditorToolbar/Tools/Image/ImageModal.js +19 -0
  16. package/lib/EditorToolbar/Tools/Italic/ItalicButton.js +14 -9
  17. package/lib/EditorToolbar/Tools/Link/Form/LinkForm.js +20 -15
  18. package/lib/EditorToolbar/Tools/Link/LinkButton.js +42 -14
  19. package/lib/EditorToolbar/Tools/Link/LinkModal.js +16 -11
  20. package/lib/EditorToolbar/Tools/Link/RemoveLinkButton.js +13 -8
  21. package/lib/EditorToolbar/Tools/Redo/RedoButton.js +13 -8
  22. package/lib/EditorToolbar/Tools/TextAlign/CenterAlign/CenterAlignButton.js +13 -8
  23. package/lib/EditorToolbar/Tools/TextAlign/JustifyAlign/JustifyAlignButton.js +13 -8
  24. package/lib/EditorToolbar/Tools/TextAlign/LeftAlign/LeftAlignButton.js +13 -8
  25. package/lib/EditorToolbar/Tools/TextAlign/RightAlign/RightAlignButton.js +13 -8
  26. package/lib/EditorToolbar/Tools/TextAlign/TextAlignButtons.js +19 -14
  27. package/lib/EditorToolbar/Tools/TextType/Heading/HeadingButton.js +19 -14
  28. package/lib/EditorToolbar/Tools/TextType/Paragraph/ParagraphButton.js +14 -9
  29. package/lib/EditorToolbar/Tools/TextType/Preformatted/PreformattedButton.js +13 -8
  30. package/lib/EditorToolbar/Tools/TextType/TextTypeDropdown.js +24 -19
  31. package/lib/EditorToolbar/Tools/Underline/UnderlineButton.js +14 -9
  32. package/lib/EditorToolbar/Tools/Undo/UndoButton.js +13 -8
  33. package/lib/EditorToolbar/index.js +18 -2
  34. package/lib/Extensions/Extensions.d.ts +2 -4
  35. package/lib/Extensions/Extensions.js +19 -13
  36. package/lib/Extensions/ImageExtension/ImageExtension.d.ts +3 -0
  37. package/lib/Extensions/ImageExtension/ImageExtension.js +7 -0
  38. package/lib/Extensions/LinkExtension/LinkExtension.js +17 -11
  39. package/lib/Extensions/PreformattedExtension/PreformattedExtension.d.ts +1 -1
  40. package/lib/Extensions/PreformattedExtension/PreformattedExtension.js +10 -7
  41. package/lib/FormattedTextEditor.js +7 -2
  42. package/lib/hooks/index.js +17 -1
  43. package/lib/hooks/useExtensionNames.js +9 -5
  44. package/lib/index.css +133 -76
  45. package/lib/index.d.ts +3 -1
  46. package/lib/index.js +12 -2
  47. package/lib/ui/Button/Button.d.ts +11 -0
  48. package/lib/ui/Button/Button.js +14 -0
  49. package/lib/ui/Fields/Input/Input.d.ts +4 -0
  50. package/lib/ui/Fields/Input/Input.js +33 -0
  51. package/lib/ui/Fields/Select/Select.js +53 -0
  52. package/lib/ui/Modal/FormModal.js +33 -5
  53. package/lib/ui/Modal/Modal.js +50 -22
  54. package/lib/ui/ToolbarDropdown/ToolbarDropdown.js +38 -10
  55. package/lib/ui/ToolbarDropdownButton/ToolbarDropdownButton.js +11 -6
  56. package/lib/utils/converters/remirrorNodeToSquizNode/remirrorNodeToSquizNode.d.ts +10 -0
  57. package/lib/utils/converters/remirrorNodeToSquizNode/remirrorNodeToSquizNode.js +160 -0
  58. package/lib/utils/converters/squizNodeToRemirrorNode/squizNodeToRemirrorNode.d.ts +9 -0
  59. package/lib/utils/converters/squizNodeToRemirrorNode/squizNodeToRemirrorNode.js +105 -0
  60. package/lib/utils/converters/validNodeTypes.d.ts +2 -0
  61. package/lib/utils/converters/validNodeTypes.js +21 -0
  62. package/lib/utils/createToolbarPositioner.js +16 -12
  63. package/lib/utils/getCursorRect.js +5 -1
  64. package/package.json +7 -3
  65. package/src/Editor/_editor.scss +2 -49
  66. package/src/EditorToolbar/FloatingToolbar.tsx +1 -1
  67. package/src/EditorToolbar/Toolbar.tsx +2 -0
  68. package/src/EditorToolbar/Tools/Bold/BoldButton.spec.tsx +1 -1
  69. package/src/EditorToolbar/Tools/Bold/BoldButton.tsx +2 -2
  70. package/src/EditorToolbar/Tools/Image/Form/ImageForm.spec.tsx +23 -0
  71. package/src/EditorToolbar/Tools/Image/Form/ImageForm.tsx +92 -0
  72. package/src/EditorToolbar/Tools/Image/ImageButton.spec.tsx +79 -0
  73. package/src/EditorToolbar/Tools/Image/ImageButton.tsx +57 -0
  74. package/src/EditorToolbar/Tools/Image/ImageModal.spec.tsx +83 -0
  75. package/src/EditorToolbar/Tools/Image/ImageModal.tsx +29 -0
  76. package/src/EditorToolbar/Tools/Italic/ItalicButton.spec.tsx +1 -1
  77. package/src/EditorToolbar/Tools/Italic/ItalicButton.tsx +2 -2
  78. package/src/EditorToolbar/Tools/Link/Form/LinkForm.tsx +5 -5
  79. package/src/EditorToolbar/Tools/Link/LinkButton.tsx +2 -2
  80. package/src/EditorToolbar/Tools/Link/RemoveLinkButton.tsx +2 -2
  81. package/src/EditorToolbar/Tools/Redo/RedoButton.tsx +2 -2
  82. package/src/EditorToolbar/Tools/TextAlign/CenterAlign/CenterAlignButton.tsx +2 -2
  83. package/src/EditorToolbar/Tools/TextAlign/JustifyAlign/JustifyAlignButton.tsx +2 -2
  84. package/src/EditorToolbar/Tools/TextAlign/LeftAlign/LeftAlignButton.tsx +2 -2
  85. package/src/EditorToolbar/Tools/TextAlign/RightAlign/RightAlignButton.tsx +2 -2
  86. package/src/EditorToolbar/Tools/Underline/Underline.spec.tsx +1 -1
  87. package/src/EditorToolbar/Tools/Underline/UnderlineButton.tsx +2 -2
  88. package/src/EditorToolbar/Tools/Undo/UndoButton.tsx +2 -2
  89. package/src/EditorToolbar/_floating-toolbar.scss +6 -0
  90. package/src/EditorToolbar/_toolbar.scss +8 -2
  91. package/src/Extensions/Extensions.ts +5 -2
  92. package/src/Extensions/ImageExtension/ImageExtension.ts +3 -0
  93. package/src/Extensions/LinkExtension/LinkExtension.ts +8 -5
  94. package/src/index.scss +2 -2
  95. package/src/index.ts +3 -1
  96. package/src/ui/Button/Button.spec.tsx +44 -0
  97. package/src/ui/Button/Button.tsx +31 -0
  98. package/src/ui/{_buttons.scss → Button/_button.scss} +19 -1
  99. package/src/ui/{Inputs/Text/TextInput.spec.tsx → Fields/Input/Input.spec.tsx} +8 -8
  100. package/src/ui/{Inputs/Text/TextInput.tsx → Fields/Input/Input.tsx} +4 -4
  101. package/src/ui/Modal/Modal.tsx +1 -0
  102. package/src/ui/ToolbarDropdown/ToolbarDropdown.spec.tsx +4 -2
  103. package/src/ui/ToolbarDropdown/ToolbarDropdown.tsx +1 -1
  104. package/src/ui/_typography.scss +46 -0
  105. package/src/utils/converters/mocks/squizNodeJson.mock.ts +75 -0
  106. package/src/utils/converters/remirrorNodeToSquizNode/remirrorNodeToSquizNode.spec.ts +445 -0
  107. package/src/utils/converters/remirrorNodeToSquizNode/remirrorNodeToSquizNode.ts +191 -0
  108. package/src/utils/converters/squizNodeToRemirrorNode/squizNodeToRemirrorNode.spec.ts +307 -0
  109. package/src/utils/converters/squizNodeToRemirrorNode/squizNodeToRemirrorNode.ts +123 -0
  110. package/src/utils/converters/validNodeTypes.spec.ts +33 -0
  111. package/src/utils/converters/validNodeTypes.ts +21 -0
  112. package/tests/renderWithEditor.tsx +2 -2
  113. package/tsconfig.json +1 -1
  114. package/lib/ui/Inputs/Select/Select.js +0 -23
  115. package/lib/ui/Inputs/Text/TextInput.d.ts +0 -4
  116. package/lib/ui/Inputs/Text/TextInput.js +0 -7
  117. package/lib/ui/ToolbarButton/ToolbarButton.d.ts +0 -10
  118. package/lib/ui/ToolbarButton/ToolbarButton.js +0 -5
  119. package/src/ui/ToolbarButton/ToolbarButton.tsx +0 -26
  120. package/src/ui/ToolbarButton/_toolbar-button.scss +0 -17
  121. /package/lib/ui/{Inputs → Fields}/Select/Select.d.ts +0 -0
  122. /package/src/ui/{Inputs → Fields}/Select/Select.spec.tsx +0 -0
  123. /package/src/ui/{Inputs → Fields}/Select/Select.tsx +0 -0
@@ -1,23 +1,28 @@
1
- import React from 'react';
2
- import { TextInput } from '../../../../ui/Inputs/Text/TextInput';
3
- import { Select } from '../../../../ui/Inputs/Select/Select';
4
- import { useForm } from 'react-hook-form';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const Input_1 = require("../../../../ui/Fields/Input/Input");
8
+ const Select_1 = require("../../../../ui/Fields/Select/Select");
9
+ const react_hook_form_1 = require("react-hook-form");
5
10
  const selectOptions = {
6
11
  _self: { label: 'Current window' },
7
12
  _blank: { label: 'New window' },
8
13
  };
9
14
  const LinkForm = ({ data, onSubmit }) => {
10
- const { register, handleSubmit, setValue } = useForm({
15
+ const { register, handleSubmit, setValue } = (0, react_hook_form_1.useForm)({
11
16
  defaultValues: data,
12
17
  });
13
- return (React.createElement("form", { className: "squiz-fte-form", onSubmit: handleSubmit(onSubmit) },
14
- React.createElement("div", { className: "squiz-fte-form-group mb-2" },
15
- React.createElement(TextInput, { label: "URL", ...register('href') })),
16
- React.createElement("div", { className: "squiz-fte-form-group mb-2" },
17
- React.createElement(TextInput, { label: "Text", ...register('text') })),
18
- React.createElement("div", { className: "squiz-fte-form-group mb-2" },
19
- React.createElement(TextInput, { label: "Title", ...register('title') })),
20
- React.createElement("div", { className: "squiz-fte-form-group mb-0" },
21
- React.createElement(Select, { name: "target", label: "Target", value: data.target || '_self', options: selectOptions, onChange: (value) => setValue('target', value) }))));
18
+ return (react_1.default.createElement("form", { className: "squiz-fte-form", onSubmit: handleSubmit(onSubmit) },
19
+ react_1.default.createElement("div", { className: "squiz-fte-form-group mb-2" },
20
+ react_1.default.createElement(Input_1.Input, { label: "URL", ...register('href') })),
21
+ react_1.default.createElement("div", { className: "squiz-fte-form-group mb-2" },
22
+ react_1.default.createElement(Input_1.Input, { label: "Text", ...register('text') })),
23
+ react_1.default.createElement("div", { className: "squiz-fte-form-group mb-2" },
24
+ react_1.default.createElement(Input_1.Input, { label: "Title", ...register('title') })),
25
+ react_1.default.createElement("div", { className: "squiz-fte-form-group mb-0" },
26
+ react_1.default.createElement(Select_1.Select, { name: "target", label: "Target", value: data.target || '_self', options: selectOptions, onChange: (value) => setValue('target', value) }))));
22
27
  };
23
- export default LinkForm;
28
+ exports.default = LinkForm;
@@ -1,13 +1,41 @@
1
- import React, { useCallback, useState } from 'react';
2
- import InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded';
3
- import LinkModal from './LinkModal';
4
- import ToolbarButton from '../../../ui/ToolbarButton/ToolbarButton';
5
- import { useActive, useCommands, useExtensionEvent } from '@remirror/react';
6
- import { LinkExtension } from '../../../Extensions/LinkExtension/LinkExtension';
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const InsertLinkRounded_1 = __importDefault(require("@mui/icons-material/InsertLinkRounded"));
31
+ const LinkModal_1 = __importDefault(require("./LinkModal"));
32
+ const Button_1 = __importDefault(require("../../../ui/Button/Button"));
33
+ const react_2 = require("@remirror/react");
34
+ const LinkExtension_1 = require("../../../Extensions/LinkExtension/LinkExtension");
7
35
  const LinkButton = ({ inPopover = false }) => {
8
- const [showModal, setShowModal] = useState(false);
9
- const { selectLink, updateLink } = useCommands();
10
- const active = useActive();
36
+ const [showModal, setShowModal] = (0, react_1.useState)(false);
37
+ const { selectLink, updateLink } = (0, react_2.useCommands)();
38
+ const active = (0, react_2.useActive)();
11
39
  const handleClick = () => {
12
40
  if (!showModal) {
13
41
  selectLink();
@@ -25,10 +53,10 @@ const LinkButton = ({ inPopover = false }) => {
25
53
  if (!inPopover) {
26
54
  // when Ctrl+K is pressed show the modal, only registered in the toolbar button instance to avoid the key press
27
55
  // being double handled.
28
- useExtensionEvent(LinkExtension, 'onShortcut', useCallback(() => handleClick(), []));
56
+ (0, react_2.useExtensionEvent)(LinkExtension_1.LinkExtension, 'onShortcut', (0, react_1.useCallback)(() => handleClick(), []));
29
57
  }
30
- return (React.createElement(React.Fragment, null,
31
- React.createElement(ToolbarButton, { handleOnClick: handleClick, isActive: active.link(), icon: React.createElement(InsertLinkRoundedIcon, null), label: "Link (cmd+K)" }),
32
- showModal && React.createElement(LinkModal, { onCancel: () => setShowModal(false), onSubmit: handleSubmit })));
58
+ return (react_1.default.createElement(react_1.default.Fragment, null,
59
+ react_1.default.createElement(Button_1.default, { handleOnClick: handleClick, isActive: active.link(), icon: react_1.default.createElement(InsertLinkRounded_1.default, null), label: "Link (cmd+K)" }),
60
+ showModal && react_1.default.createElement(LinkModal_1.default, { onCancel: () => setShowModal(false), onSubmit: handleSubmit })));
33
61
  };
34
- export default LinkButton;
62
+ exports.default = LinkButton;
@@ -1,14 +1,19 @@
1
- import { getMarkRanges } from 'remirror';
2
- import LinkForm from './Form/LinkForm';
3
- import React from 'react';
4
- import { useRemirrorContext, useCurrentSelection } from '@remirror/react';
5
- import FormModal from '../../../ui/Modal/FormModal';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const remirror_1 = require("remirror");
7
+ const LinkForm_1 = __importDefault(require("./Form/LinkForm"));
8
+ const react_1 = __importDefault(require("react"));
9
+ const react_2 = require("@remirror/react");
10
+ const FormModal_1 = __importDefault(require("../../../ui/Modal/FormModal"));
6
11
  const LinkModal = ({ onCancel, onSubmit }) => {
7
- const { helpers, view: { state }, } = useRemirrorContext();
8
- const selection = useCurrentSelection();
9
- const currentLink = getMarkRanges(selection, 'link')[0];
12
+ const { helpers, view: { state }, } = (0, react_2.useRemirrorContext)();
13
+ const selection = (0, react_2.useCurrentSelection)();
14
+ const currentLink = (0, remirror_1.getMarkRanges)(selection, 'link')[0];
10
15
  const selectedText = helpers.getTextBetween(selection.from, selection.to, state.doc);
11
- return (React.createElement(FormModal, { title: "Link", onCancel: onCancel },
12
- React.createElement(LinkForm, { data: { ...currentLink?.mark.attrs, text: selectedText }, onSubmit: onSubmit })));
16
+ return (react_1.default.createElement(FormModal_1.default, { title: "Link", onCancel: onCancel },
17
+ react_1.default.createElement(LinkForm_1.default, { data: { ...currentLink?.mark.attrs, text: selectedText }, onSubmit: onSubmit })));
13
18
  };
14
- export default LinkModal;
19
+ exports.default = LinkModal;
@@ -1,16 +1,21 @@
1
- import React from 'react';
2
- import { useRemirrorContext, useChainedCommands } from '@remirror/react';
3
- import ToolbarButton from '../../../ui/ToolbarButton/ToolbarButton';
4
- import LinkOffIcon from '@mui/icons-material/LinkOff';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../ui/Button/Button"));
9
+ const LinkOff_1 = __importDefault(require("@mui/icons-material/LinkOff"));
5
10
  const RemoveLinkButton = () => {
6
- const { commands } = useRemirrorContext({ autoUpdate: true });
7
- const chain = useChainedCommands();
11
+ const { commands } = (0, react_2.useRemirrorContext)({ autoUpdate: true });
12
+ const chain = (0, react_2.useChainedCommands)();
8
13
  const enabled = commands.removeLink.enabled();
9
14
  const handleClick = () => {
10
15
  if (enabled) {
11
16
  chain.removeLink().focus().run();
12
17
  }
13
18
  };
14
- return (React.createElement(ToolbarButton, { handleOnClick: handleClick, isActive: false, isDisabled: !enabled, icon: React.createElement(LinkOffIcon, null), label: "Remove link" }));
19
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleClick, isActive: false, isDisabled: !enabled, icon: react_1.default.createElement(LinkOff_1.default, null), label: "Remove link" }));
15
20
  };
16
- export default RemoveLinkButton;
21
+ exports.default = RemoveLinkButton;
@@ -1,16 +1,21 @@
1
- import React from 'react';
2
- import { useCommands, useHelpers } from '@remirror/react';
3
- import ToolbarButton from '../../../ui/ToolbarButton/ToolbarButton';
4
- import RedoRoundedIcon from '@mui/icons-material/RedoRounded';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../ui/Button/Button"));
9
+ const RedoRounded_1 = __importDefault(require("@mui/icons-material/RedoRounded"));
5
10
  const RedoButton = () => {
6
- const { redo } = useCommands();
7
- const { redoDepth } = useHelpers(true);
11
+ const { redo } = (0, react_2.useCommands)();
12
+ const { redoDepth } = (0, react_2.useHelpers)(true);
8
13
  const handleSelect = () => {
9
14
  if (redo.enabled()) {
10
15
  redo();
11
16
  }
12
17
  };
13
18
  const enabled = redoDepth() > 0;
14
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: false, icon: React.createElement(RedoRoundedIcon, null), label: "Redo (shift+cmd+Z)" }));
19
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: false, icon: react_1.default.createElement(RedoRounded_1.default, null), label: "Redo (shift+cmd+Z)" }));
15
20
  };
16
- export default RedoButton;
21
+ exports.default = RedoButton;
@@ -1,10 +1,15 @@
1
- import React from 'react';
2
- import { useCommands, useChainedCommands } from '@remirror/react';
3
- import ToolbarButton from '../../../../ui/ToolbarButton/ToolbarButton';
4
- import FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../../ui/Button/Button"));
9
+ const FormatAlignCenter_1 = __importDefault(require("@mui/icons-material/FormatAlignCenter"));
5
10
  const CenterAlignButton = () => {
6
- const { centerAlign } = useCommands();
7
- const chain = useChainedCommands();
11
+ const { centerAlign } = (0, react_2.useCommands)();
12
+ const chain = (0, react_2.useChainedCommands)();
8
13
  const handleSelect = () => {
9
14
  if (centerAlign.enabled()) {
10
15
  chain.centerAlign().focus().run();
@@ -12,6 +17,6 @@ const CenterAlignButton = () => {
12
17
  };
13
18
  const active = centerAlign.active?.() || false;
14
19
  const enabled = centerAlign.enabled();
15
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: React.createElement(FormatAlignCenterIcon, null), label: "Align center" }));
20
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: react_1.default.createElement(FormatAlignCenter_1.default, null), label: "Align center" }));
16
21
  };
17
- export default CenterAlignButton;
22
+ exports.default = CenterAlignButton;
@@ -1,10 +1,15 @@
1
- import React from 'react';
2
- import { useCommands, useChainedCommands } from '@remirror/react';
3
- import ToolbarButton from '../../../../ui/ToolbarButton/ToolbarButton';
4
- import FormatAlignJustifyIcon from '@mui/icons-material/FormatAlignJustify';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../../ui/Button/Button"));
9
+ const FormatAlignJustify_1 = __importDefault(require("@mui/icons-material/FormatAlignJustify"));
5
10
  const JustifyAlignButton = () => {
6
- const { justifyAlign } = useCommands();
7
- const chain = useChainedCommands();
11
+ const { justifyAlign } = (0, react_2.useCommands)();
12
+ const chain = (0, react_2.useChainedCommands)();
8
13
  const handleSelect = () => {
9
14
  if (justifyAlign.enabled()) {
10
15
  chain.justifyAlign().focus().run();
@@ -12,6 +17,6 @@ const JustifyAlignButton = () => {
12
17
  };
13
18
  const active = justifyAlign.active?.() || false;
14
19
  const enabled = justifyAlign.enabled();
15
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: React.createElement(FormatAlignJustifyIcon, null), label: "Justify" }));
20
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: react_1.default.createElement(FormatAlignJustify_1.default, null), label: "Justify" }));
16
21
  };
17
- export default JustifyAlignButton;
22
+ exports.default = JustifyAlignButton;
@@ -1,10 +1,15 @@
1
- import React from 'react';
2
- import { useCommands, useChainedCommands } from '@remirror/react';
3
- import ToolbarButton from '../../../../ui/ToolbarButton/ToolbarButton';
4
- import FormatAlignLeftIcon from '@mui/icons-material/FormatAlignLeft';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../../ui/Button/Button"));
9
+ const FormatAlignLeft_1 = __importDefault(require("@mui/icons-material/FormatAlignLeft"));
5
10
  const LeftAlignButton = () => {
6
- const { leftAlign } = useCommands();
7
- const chain = useChainedCommands();
11
+ const { leftAlign } = (0, react_2.useCommands)();
12
+ const chain = (0, react_2.useChainedCommands)();
8
13
  const handleSelect = () => {
9
14
  if (leftAlign.enabled()) {
10
15
  chain.leftAlign().focus().run();
@@ -12,6 +17,6 @@ const LeftAlignButton = () => {
12
17
  };
13
18
  const active = leftAlign.active?.() || false;
14
19
  const enabled = leftAlign.enabled();
15
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: React.createElement(FormatAlignLeftIcon, null), label: "Align left" }));
20
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: react_1.default.createElement(FormatAlignLeft_1.default, null), label: "Align left" }));
16
21
  };
17
- export default LeftAlignButton;
22
+ exports.default = LeftAlignButton;
@@ -1,10 +1,15 @@
1
- import React from 'react';
2
- import { useCommands, useChainedCommands } from '@remirror/react';
3
- import ToolbarButton from '../../../../ui/ToolbarButton/ToolbarButton';
4
- import FormatAlignRightIcon from '@mui/icons-material/FormatAlignRight';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../../ui/Button/Button"));
9
+ const FormatAlignRight_1 = __importDefault(require("@mui/icons-material/FormatAlignRight"));
5
10
  const RightAlignButton = () => {
6
- const { rightAlign } = useCommands();
7
- const chain = useChainedCommands();
11
+ const { rightAlign } = (0, react_2.useCommands)();
12
+ const chain = (0, react_2.useChainedCommands)();
8
13
  const handleSelect = () => {
9
14
  if (rightAlign.enabled()) {
10
15
  chain.rightAlign().focus().run();
@@ -12,6 +17,6 @@ const RightAlignButton = () => {
12
17
  };
13
18
  const active = rightAlign.active?.() || false;
14
19
  const enabled = rightAlign.enabled();
15
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: React.createElement(FormatAlignRightIcon, null), label: "Align right" }));
20
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active, icon: react_1.default.createElement(FormatAlignRight_1.default, null), label: "Align right" }));
16
21
  };
17
- export default RightAlignButton;
22
+ exports.default = RightAlignButton;
@@ -1,16 +1,21 @@
1
- import React from 'react';
2
- import LeftAlignButton from './LeftAlign/LeftAlignButton';
3
- import CenterAlignButton from './CenterAlign/CenterAlignButton';
4
- import RightAlignButton from './RightAlign/RightAlignButton';
5
- import JustifyAlignButton from './JustifyAlign/JustifyAlignButton';
6
- import { VerticalDivider } from '@remirror/react-components';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const LeftAlignButton_1 = __importDefault(require("./LeftAlign/LeftAlignButton"));
8
+ const CenterAlignButton_1 = __importDefault(require("./CenterAlign/CenterAlignButton"));
9
+ const RightAlignButton_1 = __importDefault(require("./RightAlign/RightAlignButton"));
10
+ const JustifyAlignButton_1 = __importDefault(require("./JustifyAlign/JustifyAlignButton"));
11
+ const react_components_1 = require("@remirror/react-components");
7
12
  const TextAlignButtons = () => {
8
- return (React.createElement(React.Fragment, null,
9
- React.createElement(VerticalDivider, { className: "editor-divider" }),
10
- React.createElement(LeftAlignButton, null),
11
- React.createElement(CenterAlignButton, null),
12
- React.createElement(RightAlignButton, null),
13
- React.createElement(JustifyAlignButton, null),
14
- React.createElement(VerticalDivider, { className: "editor-divider" })));
13
+ return (react_1.default.createElement(react_1.default.Fragment, null,
14
+ react_1.default.createElement(react_components_1.VerticalDivider, { className: "editor-divider" }),
15
+ react_1.default.createElement(LeftAlignButton_1.default, null),
16
+ react_1.default.createElement(CenterAlignButton_1.default, null),
17
+ react_1.default.createElement(RightAlignButton_1.default, null),
18
+ react_1.default.createElement(JustifyAlignButton_1.default, null),
19
+ react_1.default.createElement(react_components_1.VerticalDivider, { className: "editor-divider" })));
15
20
  };
16
- export default TextAlignButtons;
21
+ exports.default = TextAlignButtons;
@@ -1,10 +1,15 @@
1
- import React from 'react';
2
- import { useCommands, useChainedCommands, useActive } from '@remirror/react';
3
- import DropdownButton from '../../../../ui/ToolbarDropdownButton/ToolbarDropdownButton';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const ToolbarDropdownButton_1 = __importDefault(require("../../../../ui/ToolbarDropdownButton/ToolbarDropdownButton"));
4
9
  const HeadingButton = ({ level }) => {
5
- const { toggleHeading } = useCommands();
6
- const chain = useChainedCommands();
7
- const active = useActive();
10
+ const { toggleHeading } = (0, react_2.useCommands)();
11
+ const chain = (0, react_2.useChainedCommands)();
12
+ const active = (0, react_2.useActive)();
8
13
  const enabled = toggleHeading.enabled({ level });
9
14
  const handleSelect = () => {
10
15
  if (toggleHeading.enabled({ level })) {
@@ -14,19 +19,19 @@ const HeadingButton = ({ level }) => {
14
19
  const headingContent = () => {
15
20
  switch (level) {
16
21
  case 1:
17
- return React.createElement("h1", null, "Heading 1");
22
+ return react_1.default.createElement("h1", null, "Heading 1");
18
23
  case 2:
19
- return React.createElement("h2", null, "Heading 2");
24
+ return react_1.default.createElement("h2", null, "Heading 2");
20
25
  case 3:
21
- return React.createElement("h3", null, "Heading 3");
26
+ return react_1.default.createElement("h3", null, "Heading 3");
22
27
  case 4:
23
- return React.createElement("h4", null, "Heading 4");
28
+ return react_1.default.createElement("h4", null, "Heading 4");
24
29
  case 5:
25
- return React.createElement("h5", null, "Heading 5");
30
+ return react_1.default.createElement("h5", null, "Heading 5");
26
31
  case 6:
27
- return React.createElement("h6", null, "Heading 6");
32
+ return react_1.default.createElement("h6", null, "Heading 6");
28
33
  }
29
34
  };
30
- return (React.createElement(DropdownButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active.heading({ level }), label: `Heading ${level}` }, headingContent()));
35
+ return (react_1.default.createElement(ToolbarDropdownButton_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active.heading({ level }), label: `Heading ${level}` }, headingContent()));
31
36
  };
32
- export default HeadingButton;
37
+ exports.default = HeadingButton;
@@ -1,16 +1,21 @@
1
- import React from 'react';
2
- import { useCommands, useChainedCommands, useActive } from '@remirror/react';
3
- import DropdownButton from '../../../../ui/ToolbarDropdownButton/ToolbarDropdownButton';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const ToolbarDropdownButton_1 = __importDefault(require("../../../../ui/ToolbarDropdownButton/ToolbarDropdownButton"));
4
9
  const ParagraphButton = () => {
5
- const { convertParagraph } = useCommands();
6
- const chain = useChainedCommands();
7
- const active = useActive();
10
+ const { convertParagraph } = (0, react_2.useCommands)();
11
+ const chain = (0, react_2.useChainedCommands)();
12
+ const active = (0, react_2.useActive)();
8
13
  const handleSelect = () => {
9
14
  if (convertParagraph.enabled()) {
10
15
  chain.convertParagraph().focus().run();
11
16
  }
12
17
  };
13
- return (React.createElement(DropdownButton, { handleOnClick: handleSelect, isDisabled: false, isActive: active.paragraph(), label: "Paragraph" },
14
- React.createElement("p", null, "Paragraph")));
18
+ return (react_1.default.createElement(ToolbarDropdownButton_1.default, { handleOnClick: handleSelect, isDisabled: false, isActive: active.paragraph(), label: "Paragraph" },
19
+ react_1.default.createElement("p", null, "Paragraph")));
15
20
  };
16
- export default ParagraphButton;
21
+ exports.default = ParagraphButton;
@@ -1,16 +1,21 @@
1
- import React from 'react';
2
- import { useCommands, useActive } from '@remirror/react';
3
- import DropdownButton from '../../../../ui/ToolbarDropdownButton/ToolbarDropdownButton';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const ToolbarDropdownButton_1 = __importDefault(require("../../../../ui/ToolbarDropdownButton/ToolbarDropdownButton"));
4
9
  const PreformattedButton = () => {
5
- const { togglePreformatted } = useCommands();
6
- const active = useActive();
10
+ const { togglePreformatted } = (0, react_2.useCommands)();
11
+ const active = (0, react_2.useActive)();
7
12
  const enabled = togglePreformatted.enabled();
8
13
  const handleSelect = () => {
9
14
  if (togglePreformatted.enabled()) {
10
15
  togglePreformatted();
11
16
  }
12
17
  };
13
- return (React.createElement(DropdownButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active.preformatted(), label: "Preformatted" },
14
- React.createElement("pre", null, "Preformatted")));
18
+ return (react_1.default.createElement(ToolbarDropdownButton_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active.preformatted(), label: "Preformatted" },
19
+ react_1.default.createElement("pre", null, "Preformatted")));
15
20
  };
16
- export default PreformattedButton;
21
+ exports.default = PreformattedButton;
@@ -1,11 +1,16 @@
1
- import React from 'react';
2
- import HeadingButton from './Heading/HeadingButton';
3
- import ParagraphButton from './Paragraph/ParagraphButton';
4
- import PreformattedButton from './Preformatted/PreformattedButton';
5
- import ToolbarDropdown from '../../../ui/ToolbarDropdown/ToolbarDropdown';
6
- import { useActive, VerticalDivider } from '@remirror/react';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const HeadingButton_1 = __importDefault(require("./Heading/HeadingButton"));
8
+ const ParagraphButton_1 = __importDefault(require("./Paragraph/ParagraphButton"));
9
+ const PreformattedButton_1 = __importDefault(require("./Preformatted/PreformattedButton"));
10
+ const ToolbarDropdown_1 = __importDefault(require("../../../ui/ToolbarDropdown/ToolbarDropdown"));
11
+ const react_2 = require("@remirror/react");
7
12
  const TextTypeDropdown = () => {
8
- const active = useActive();
13
+ const active = (0, react_2.useActive)();
9
14
  const activeLabel = () => {
10
15
  // Determine if preformatted is active
11
16
  if (active.preformatted()) {
@@ -20,16 +25,16 @@ const TextTypeDropdown = () => {
20
25
  // Default to paragraph
21
26
  return 'Paragraph';
22
27
  };
23
- return (React.createElement(React.Fragment, null,
24
- React.createElement(ToolbarDropdown, { label: activeLabel() },
25
- React.createElement(ParagraphButton, null),
26
- React.createElement(HeadingButton, { level: 1 }),
27
- React.createElement(HeadingButton, { level: 2 }),
28
- React.createElement(HeadingButton, { level: 3 }),
29
- React.createElement(HeadingButton, { level: 4 }),
30
- React.createElement(HeadingButton, { level: 5 }),
31
- React.createElement(HeadingButton, { level: 6 }),
32
- React.createElement(PreformattedButton, null)),
33
- React.createElement(VerticalDivider, { className: "editor-divider" })));
28
+ return (react_1.default.createElement(react_1.default.Fragment, null,
29
+ react_1.default.createElement(ToolbarDropdown_1.default, { label: activeLabel() },
30
+ react_1.default.createElement(ParagraphButton_1.default, null),
31
+ react_1.default.createElement(HeadingButton_1.default, { level: 1 }),
32
+ react_1.default.createElement(HeadingButton_1.default, { level: 2 }),
33
+ react_1.default.createElement(HeadingButton_1.default, { level: 3 }),
34
+ react_1.default.createElement(HeadingButton_1.default, { level: 4 }),
35
+ react_1.default.createElement(HeadingButton_1.default, { level: 5 }),
36
+ react_1.default.createElement(HeadingButton_1.default, { level: 6 }),
37
+ react_1.default.createElement(PreformattedButton_1.default, null)),
38
+ react_1.default.createElement(react_2.VerticalDivider, { className: "editor-divider" })));
34
39
  };
35
- export default TextTypeDropdown;
40
+ exports.default = TextTypeDropdown;
@@ -1,17 +1,22 @@
1
- import React from 'react';
2
- import { useCommands, useActive, useChainedCommands } from '@remirror/react';
3
- import ToolbarButton from '../../../ui/ToolbarButton/ToolbarButton';
4
- import FormatUnderlinedRoundedIcon from '@mui/icons-material/FormatUnderlinedRounded';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../ui/Button/Button"));
9
+ const FormatUnderlinedRounded_1 = __importDefault(require("@mui/icons-material/FormatUnderlinedRounded"));
5
10
  const UnderlineButton = () => {
6
- const { toggleUnderline } = useCommands();
7
- const chain = useChainedCommands();
8
- const active = useActive();
11
+ const { toggleUnderline } = (0, react_2.useCommands)();
12
+ const chain = (0, react_2.useChainedCommands)();
13
+ const active = (0, react_2.useActive)();
9
14
  const enabled = toggleUnderline.enabled();
10
15
  const handleSelect = () => {
11
16
  if (toggleUnderline.enabled()) {
12
17
  chain.toggleUnderline().focus().run();
13
18
  }
14
19
  };
15
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active.underline(), icon: React.createElement(FormatUnderlinedRoundedIcon, null), label: "Underline (cmd+U)" }));
20
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: active.underline(), icon: react_1.default.createElement(FormatUnderlinedRounded_1.default, null), label: "Underline (cmd+U)" }));
16
21
  };
17
- export default UnderlineButton;
22
+ exports.default = UnderlineButton;
@@ -1,16 +1,21 @@
1
- import React from 'react';
2
- import { useCommands, useHelpers } from '@remirror/react';
3
- import ToolbarButton from '../../../ui/ToolbarButton/ToolbarButton';
4
- import UndoRoundedIcon from '@mui/icons-material/UndoRounded';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_2 = require("@remirror/react");
8
+ const Button_1 = __importDefault(require("../../../ui/Button/Button"));
9
+ const UndoRounded_1 = __importDefault(require("@mui/icons-material/UndoRounded"));
5
10
  const UndoButton = () => {
6
- const { undo } = useCommands();
7
- const { undoDepth } = useHelpers(true);
11
+ const { undo } = (0, react_2.useCommands)();
12
+ const { undoDepth } = (0, react_2.useHelpers)(true);
8
13
  const handleSelect = () => {
9
14
  if (undo.enabled()) {
10
15
  undo();
11
16
  }
12
17
  };
13
18
  const enabled = undoDepth() > 0;
14
- return (React.createElement(ToolbarButton, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: false, icon: React.createElement(UndoRoundedIcon, null), label: "Undo (cmd+Z)" }));
19
+ return (react_1.default.createElement(Button_1.default, { handleOnClick: handleSelect, isDisabled: !enabled, isActive: false, icon: react_1.default.createElement(UndoRounded_1.default, null), label: "Undo (cmd+Z)" }));
15
20
  };
16
- export default UndoButton;
21
+ exports.default = UndoButton;