@squiz/formatted-text-editor 2.2.11 → 2.3.0

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 (159) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +2 -1
  3. package/src/ui/Fields/MatrixAsset/MatrixAsset.spec.tsx +1 -1
  4. package/src/ui/Fields/ResourceBrowserSelector/ResourceBrowserSelector.spec.tsx +2 -2
  5. package/lib/Editor/Editor.d.ts +0 -16
  6. package/lib/Editor/Editor.js +0 -85
  7. package/lib/Editor/EditorContext.d.ts +0 -10
  8. package/lib/Editor/EditorContext.js +0 -16
  9. package/lib/EditorToolbar/FloatingToolbar.d.ts +0 -2
  10. package/lib/EditorToolbar/FloatingToolbar.js +0 -76
  11. package/lib/EditorToolbar/Toolbar.d.ts +0 -7
  12. package/lib/EditorToolbar/Toolbar.js +0 -49
  13. package/lib/EditorToolbar/Tools/Bold/BoldButton.d.ts +0 -3
  14. package/lib/EditorToolbar/Tools/Bold/BoldButton.js +0 -23
  15. package/lib/EditorToolbar/Tools/ClearFormatting/ClearFormattingButton.d.ts +0 -3
  16. package/lib/EditorToolbar/Tools/ClearFormatting/ClearFormattingButton.js +0 -57
  17. package/lib/EditorToolbar/Tools/ContentTools/ContentToolsDropdown.d.ts +0 -3
  18. package/lib/EditorToolbar/Tools/ContentTools/ContentToolsDropdown.js +0 -104
  19. package/lib/EditorToolbar/Tools/HorizontalLine/HorizontalLineButton.d.ts +0 -3
  20. package/lib/EditorToolbar/Tools/HorizontalLine/HorizontalLineButton.js +0 -25
  21. package/lib/EditorToolbar/Tools/Image/Form/ImageForm.d.ts +0 -19
  22. package/lib/EditorToolbar/Tools/Image/Form/ImageForm.js +0 -186
  23. package/lib/EditorToolbar/Tools/Image/ImageButton.d.ts +0 -6
  24. package/lib/EditorToolbar/Tools/Image/ImageButton.js +0 -79
  25. package/lib/EditorToolbar/Tools/Image/ImageModal.d.ts +0 -9
  26. package/lib/EditorToolbar/Tools/Image/ImageModal.js +0 -26
  27. package/lib/EditorToolbar/Tools/Italic/ItalicButton.d.ts +0 -3
  28. package/lib/EditorToolbar/Tools/Italic/ItalicButton.js +0 -23
  29. package/lib/EditorToolbar/Tools/Link/Form/LinkForm.d.ts +0 -19
  30. package/lib/EditorToolbar/Tools/Link/Form/LinkForm.js +0 -63
  31. package/lib/EditorToolbar/Tools/Link/LinkButton.d.ts +0 -6
  32. package/lib/EditorToolbar/Tools/Link/LinkButton.js +0 -71
  33. package/lib/EditorToolbar/Tools/Link/LinkModal.d.ts +0 -9
  34. package/lib/EditorToolbar/Tools/Link/LinkModal.js +0 -27
  35. package/lib/EditorToolbar/Tools/Link/RemoveLinkButton.d.ts +0 -4
  36. package/lib/EditorToolbar/Tools/Link/RemoveLinkButton.js +0 -54
  37. package/lib/EditorToolbar/Tools/Lists/ListButtons.d.ts +0 -3
  38. package/lib/EditorToolbar/Tools/Lists/ListButtons.js +0 -14
  39. package/lib/EditorToolbar/Tools/Lists/OrderedList/OrderedListButton.d.ts +0 -3
  40. package/lib/EditorToolbar/Tools/Lists/OrderedList/OrderedListButton.js +0 -22
  41. package/lib/EditorToolbar/Tools/Lists/UnorderedList/UnorderedListButton.d.ts +0 -3
  42. package/lib/EditorToolbar/Tools/Lists/UnorderedList/UnorderedListButton.js +0 -22
  43. package/lib/EditorToolbar/Tools/Redo/RedoButton.d.ts +0 -3
  44. package/lib/EditorToolbar/Tools/Redo/RedoButton.js +0 -22
  45. package/lib/EditorToolbar/Tools/Table/TableButton.d.ts +0 -3
  46. package/lib/EditorToolbar/Tools/Table/TableButton.js +0 -20
  47. package/lib/EditorToolbar/Tools/TextAlign/CenterAlign/CenterAlignButton.d.ts +0 -3
  48. package/lib/EditorToolbar/Tools/TextAlign/CenterAlign/CenterAlignButton.js +0 -22
  49. package/lib/EditorToolbar/Tools/TextAlign/JustifyAlign/JustifyAlignButton.d.ts +0 -3
  50. package/lib/EditorToolbar/Tools/TextAlign/JustifyAlign/JustifyAlignButton.js +0 -22
  51. package/lib/EditorToolbar/Tools/TextAlign/LeftAlign/LeftAlignButton.d.ts +0 -3
  52. package/lib/EditorToolbar/Tools/TextAlign/LeftAlign/LeftAlignButton.js +0 -22
  53. package/lib/EditorToolbar/Tools/TextAlign/RightAlign/RightAlignButton.d.ts +0 -3
  54. package/lib/EditorToolbar/Tools/TextAlign/RightAlign/RightAlignButton.js +0 -22
  55. package/lib/EditorToolbar/Tools/TextAlign/TextAlignButtons.d.ts +0 -3
  56. package/lib/EditorToolbar/Tools/TextAlign/TextAlignButtons.js +0 -21
  57. package/lib/EditorToolbar/Tools/TextType/CodeBlock/CodeBlockButton.d.ts +0 -3
  58. package/lib/EditorToolbar/Tools/TextType/CodeBlock/CodeBlockButton.js +0 -22
  59. package/lib/EditorToolbar/Tools/TextType/Heading/HeadingButton.d.ts +0 -6
  60. package/lib/EditorToolbar/Tools/TextType/Heading/HeadingButton.js +0 -37
  61. package/lib/EditorToolbar/Tools/TextType/Paragraph/ParagraphButton.d.ts +0 -3
  62. package/lib/EditorToolbar/Tools/TextType/Paragraph/ParagraphButton.js +0 -21
  63. package/lib/EditorToolbar/Tools/TextType/Preformatted/PreformattedButton.d.ts +0 -3
  64. package/lib/EditorToolbar/Tools/TextType/Preformatted/PreformattedButton.js +0 -22
  65. package/lib/EditorToolbar/Tools/TextType/TextTypeDropdown.d.ts +0 -3
  66. package/lib/EditorToolbar/Tools/TextType/TextTypeDropdown.js +0 -46
  67. package/lib/EditorToolbar/Tools/Underline/UnderlineButton.d.ts +0 -3
  68. package/lib/EditorToolbar/Tools/Underline/UnderlineButton.js +0 -23
  69. package/lib/EditorToolbar/Tools/Undo/UndoButton.d.ts +0 -3
  70. package/lib/EditorToolbar/Tools/Undo/UndoButton.js +0 -22
  71. package/lib/EditorToolbar/index.d.ts +0 -2
  72. package/lib/EditorToolbar/index.js +0 -18
  73. package/lib/Extensions/ClearFormattingExtension/ClearFormattingExtension.d.ts +0 -5
  74. package/lib/Extensions/ClearFormattingExtension/ClearFormattingExtension.js +0 -63
  75. package/lib/Extensions/CodeBlockExtension/CodeBlockExtension.d.ts +0 -5
  76. package/lib/Extensions/CodeBlockExtension/CodeBlockExtension.js +0 -30
  77. package/lib/Extensions/CommandsExtension/CommandsExtension.d.ts +0 -20
  78. package/lib/Extensions/CommandsExtension/CommandsExtension.js +0 -52
  79. package/lib/Extensions/Extensions.d.ts +0 -18
  80. package/lib/Extensions/Extensions.js +0 -76
  81. package/lib/Extensions/FetchUrlExtension/FetchUrlExtension.d.ts +0 -12
  82. package/lib/Extensions/FetchUrlExtension/FetchUrlExtension.js +0 -69
  83. package/lib/Extensions/ImageExtension/AssetImageExtension.d.ts +0 -17
  84. package/lib/Extensions/ImageExtension/AssetImageExtension.js +0 -91
  85. package/lib/Extensions/ImageExtension/DAMImageExtension.d.ts +0 -17
  86. package/lib/Extensions/ImageExtension/DAMImageExtension.js +0 -97
  87. package/lib/Extensions/ImageExtension/ImageExtension.d.ts +0 -7
  88. package/lib/Extensions/ImageExtension/ImageExtension.js +0 -18
  89. package/lib/Extensions/LinkExtension/AssetLinkExtension.d.ts +0 -27
  90. package/lib/Extensions/LinkExtension/AssetLinkExtension.js +0 -101
  91. package/lib/Extensions/LinkExtension/LinkExtension.d.ts +0 -23
  92. package/lib/Extensions/LinkExtension/LinkExtension.js +0 -87
  93. package/lib/Extensions/LinkExtension/common.d.ts +0 -7
  94. package/lib/Extensions/LinkExtension/common.js +0 -14
  95. package/lib/Extensions/PreformattedExtension/PreformattedExtension.d.ts +0 -12
  96. package/lib/Extensions/PreformattedExtension/PreformattedExtension.js +0 -76
  97. package/lib/Extensions/UnsuportedExtension/UnsupportedNodeExtension.d.ts +0 -10
  98. package/lib/Extensions/UnsuportedExtension/UnsupportedNodeExtension.js +0 -76
  99. package/lib/Icons/AiIcon.d.ts +0 -2
  100. package/lib/Icons/AiIcon.js +0 -60
  101. package/lib/hooks/index.d.ts +0 -2
  102. package/lib/hooks/index.js +0 -18
  103. package/lib/hooks/useExpandedSelection.d.ts +0 -23
  104. package/lib/hooks/useExpandedSelection.js +0 -37
  105. package/lib/hooks/useExtensionNames.d.ts +0 -1
  106. package/lib/hooks/useExtensionNames.js +0 -16
  107. package/lib/hooks/useFocus.d.ts +0 -8
  108. package/lib/hooks/useFocus.js +0 -43
  109. package/lib/index.css +0 -5889
  110. package/lib/index.d.ts +0 -8
  111. package/lib/index.js +0 -16
  112. package/lib/types.d.ts +0 -7
  113. package/lib/types.js +0 -2
  114. package/lib/ui/Button/Button.d.ts +0 -12
  115. package/lib/ui/Button/Button.js +0 -13
  116. package/lib/ui/CollapseBox/CollapseBox.d.ts +0 -7
  117. package/lib/ui/CollapseBox/CollapseBox.js +0 -48
  118. package/lib/ui/Fields/Checkbox/Checkbox.d.ts +0 -9
  119. package/lib/ui/Fields/Checkbox/Checkbox.js +0 -47
  120. package/lib/ui/Fields/Input/Input.d.ts +0 -3
  121. package/lib/ui/Fields/Input/Input.js +0 -33
  122. package/lib/ui/Fields/InputContainer/InputContainer.d.ts +0 -9
  123. package/lib/ui/Fields/InputContainer/InputContainer.js +0 -16
  124. package/lib/ui/Fields/MatrixAsset/MatrixAsset.d.ts +0 -19
  125. package/lib/ui/Fields/MatrixAsset/MatrixAsset.js +0 -30
  126. package/lib/ui/Fields/ResourceBrowserSelector/ResourceBrowserSelector.d.ts +0 -28
  127. package/lib/ui/Fields/ResourceBrowserSelector/ResourceBrowserSelector.js +0 -88
  128. package/lib/ui/Modal/FormModal.d.ts +0 -5
  129. package/lib/ui/Modal/FormModal.js +0 -39
  130. package/lib/ui/Modal/Modal.d.ts +0 -11
  131. package/lib/ui/Modal/Modal.js +0 -79
  132. package/lib/ui/Tabs/Tabs.d.ts +0 -11
  133. package/lib/ui/Tabs/Tabs.js +0 -46
  134. package/lib/ui/ToolbarDropdown/ToolbarDropdown.d.ts +0 -7
  135. package/lib/ui/ToolbarDropdown/ToolbarDropdown.js +0 -48
  136. package/lib/ui/ToolbarDropdownButton/ToolbarDropdownButton.d.ts +0 -11
  137. package/lib/ui/ToolbarDropdownButton/ToolbarDropdownButton.js +0 -15
  138. package/lib/utils/converters/htmlToSquizNode/htmlToSquizNode.d.ts +0 -5
  139. package/lib/utils/converters/htmlToSquizNode/htmlToSquizNode.js +0 -23
  140. package/lib/utils/converters/htmlToSquizNode/htmlToSquizNode.props.d.ts +0 -3
  141. package/lib/utils/converters/htmlToSquizNode/htmlToSquizNode.props.js +0 -2
  142. package/lib/utils/converters/remirrorNodeToSquizNode/remirrorNodeToSquizNode.d.ts +0 -11
  143. package/lib/utils/converters/remirrorNodeToSquizNode/remirrorNodeToSquizNode.js +0 -238
  144. package/lib/utils/converters/squizNodeToRemirrorNode/squizNodeToRemirrorNode.d.ts +0 -9
  145. package/lib/utils/converters/squizNodeToRemirrorNode/squizNodeToRemirrorNode.js +0 -214
  146. package/lib/utils/createToolbarPositioner.d.ts +0 -18
  147. package/lib/utils/createToolbarPositioner.js +0 -96
  148. package/lib/utils/getCursorRect.d.ts +0 -2
  149. package/lib/utils/getCursorRect.js +0 -7
  150. package/lib/utils/getMarkNamesByGroup.d.ts +0 -2
  151. package/lib/utils/getMarkNamesByGroup.js +0 -9
  152. package/lib/utils/getNodeNamesByGroup.d.ts +0 -2
  153. package/lib/utils/getNodeNamesByGroup.js +0 -9
  154. package/lib/utils/getShortcutSymbol.d.ts +0 -1
  155. package/lib/utils/getShortcutSymbol.js +0 -8
  156. package/lib/utils/undefinedIfEmpty.d.ts +0 -1
  157. package/lib/utils/undefinedIfEmpty.js +0 -7
  158. package/lib/utils/validation.d.ts +0 -3
  159. package/lib/utils/validation.js +0 -16
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.LinkExtension = void 0;
10
- const remirror_1 = require("remirror");
11
- const core_1 = require("@remirror/core");
12
- const common_1 = require("./common");
13
- const CommandsExtension_1 = require("../CommandsExtension/CommandsExtension");
14
- const Extensions_1 = require("../Extensions");
15
- let LinkExtension = class LinkExtension extends core_1.MarkExtension {
16
- get name() {
17
- return Extensions_1.MarkName.Link;
18
- }
19
- createMarkSpec(extra, override) {
20
- return {
21
- inclusive: false,
22
- excludes: [this.name, Extensions_1.MarkName.AssetLink].join(' '),
23
- ...override,
24
- attrs: {
25
- ...extra.defaults(),
26
- href: {},
27
- title: { default: undefined },
28
- target: { default: this.options.defaultTarget },
29
- },
30
- parseDOM: [
31
- {
32
- tag: 'a[href]',
33
- getAttrs: (node) => {
34
- if (!(0, remirror_1.isElementDomNode)(node)) {
35
- return false;
36
- }
37
- return {
38
- ...extra.parse(node),
39
- href: node.getAttribute('href'),
40
- title: node.getAttribute('title'),
41
- target: (0, common_1.validateTarget)(node.getAttribute('target'), this.options.supportedTargets, this.options.defaultTarget),
42
- };
43
- },
44
- },
45
- ],
46
- toDOM: (node) => {
47
- const { target, ...rest } = (0, core_1.omitExtraAttributes)(node.attrs, extra);
48
- const rel = 'noopener noreferrer nofollow';
49
- const attrs = {
50
- ...extra.dom(node),
51
- ...rest,
52
- rel,
53
- target: (0, common_1.validateTarget)(target, this.options.supportedTargets, this.options.defaultTarget),
54
- };
55
- return ['a', attrs, 0];
56
- },
57
- };
58
- }
59
- updateLink({ text, attrs, range }) {
60
- return this.store.getExtension(CommandsExtension_1.CommandsExtension).updateMark({
61
- attrs,
62
- text,
63
- range,
64
- mark: this.type,
65
- removeMark: !attrs.href,
66
- });
67
- }
68
- removeLink() {
69
- return (0, core_1.removeMark)({ type: this.type });
70
- }
71
- };
72
- __decorate([
73
- (0, core_1.command)()
74
- ], LinkExtension.prototype, "updateLink", null);
75
- __decorate([
76
- (0, core_1.command)()
77
- ], LinkExtension.prototype, "removeLink", null);
78
- LinkExtension = __decorate([
79
- (0, core_1.extension)({
80
- defaultOptions: {
81
- defaultTarget: common_1.LinkTarget.Self,
82
- supportedTargets: [common_1.LinkTarget.Self, common_1.LinkTarget.Blank],
83
- },
84
- defaultPriority: remirror_1.ExtensionPriority.Medium,
85
- })
86
- ], LinkExtension);
87
- exports.LinkExtension = LinkExtension;
@@ -1,7 +0,0 @@
1
- export declare enum LinkTarget {
2
- Self = "_self",
3
- Blank = "_blank",
4
- Parent = "_parent",
5
- Top = "_top"
6
- }
7
- export declare const validateTarget: (target: unknown, supportedTargets: LinkTarget[], defaultTarget: LinkTarget) => LinkTarget;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTarget = exports.LinkTarget = void 0;
4
- var LinkTarget;
5
- (function (LinkTarget) {
6
- LinkTarget["Self"] = "_self";
7
- LinkTarget["Blank"] = "_blank";
8
- LinkTarget["Parent"] = "_parent";
9
- LinkTarget["Top"] = "_top";
10
- })(LinkTarget = exports.LinkTarget || (exports.LinkTarget = {}));
11
- const validateTarget = (target, supportedTargets, defaultTarget) => {
12
- return supportedTargets.includes(target) ? target : defaultTarget;
13
- };
14
- exports.validateTarget = validateTarget;
@@ -1,12 +0,0 @@
1
- import { ApplySchemaAttributes, CommandFunction, NodeExtension, NodeExtensionSpec, NodeSpecOverride } from '@remirror/core';
2
- import { NodeViewMethod } from 'remirror';
3
- export declare class PreformattedExtension extends NodeExtension {
4
- get name(): "preformatted";
5
- createTags(): ("block" | "formattingNode" | "textBlock")[];
6
- createNodeSpec(extra: ApplySchemaAttributes, override: NodeSpecOverride): NodeExtensionSpec;
7
- createNodeViews(): NodeViewMethod;
8
- /**
9
- * Toggle the <pre> for the current block.
10
- */
11
- togglePreformatted(): CommandFunction;
12
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PreformattedExtension = void 0;
10
- const core_1 = require("@remirror/core");
11
- let PreformattedExtension = class PreformattedExtension extends core_1.NodeExtension {
12
- get name() {
13
- return 'preformatted';
14
- }
15
- createTags() {
16
- return [core_1.ExtensionTag.Block, core_1.ExtensionTag.TextBlock, core_1.ExtensionTag.FormattingNode];
17
- }
18
- createNodeSpec(extra, override) {
19
- return {
20
- content: 'inline*',
21
- defining: true,
22
- draggable: false,
23
- ...override,
24
- attrs: {
25
- ...extra.defaults(),
26
- },
27
- parseDOM: [
28
- {
29
- tag: 'pre',
30
- },
31
- ],
32
- toDOM: (node) => {
33
- return ['pre', extra.dom(node), 0];
34
- },
35
- };
36
- }
37
- createNodeViews() {
38
- return (node) => {
39
- const { nodeTextAlignment } = node.attrs;
40
- // This is the pre container for the code block
41
- const dom = document.createElement('div');
42
- dom.classList.add(`preformatted`);
43
- // This is the actual code content in the code block
44
- const contentDOM = document.createElement('pre');
45
- contentDOM.setAttribute('data-node-text-align', nodeTextAlignment);
46
- contentDOM.setAttribute('style', `text-align:${nodeTextAlignment}`);
47
- // Divider between code block and pre container
48
- const dividerElement = document.createElement('div');
49
- dividerElement.classList.add('block-divider');
50
- // The material icon to use
51
- const codeIcon = document.createElement('svg');
52
- codeIcon.classList.add('material-symbols-rounded');
53
- codeIcon.textContent = 'short_text';
54
- dom.append(codeIcon);
55
- dom.append(dividerElement);
56
- dom.append(contentDOM);
57
- return { dom, contentDOM };
58
- };
59
- }
60
- /**
61
- * Toggle the <pre> for the current block.
62
- */
63
- togglePreformatted() {
64
- return (0, core_1.toggleBlockItem)({
65
- type: this.type,
66
- toggleType: 'paragraph',
67
- });
68
- }
69
- };
70
- __decorate([
71
- (0, core_1.command)()
72
- ], PreformattedExtension.prototype, "togglePreformatted", null);
73
- PreformattedExtension = __decorate([
74
- (0, core_1.extension)({})
75
- ], PreformattedExtension);
76
- exports.PreformattedExtension = PreformattedExtension;
@@ -1,10 +0,0 @@
1
- import { ApplySchemaAttributes, NodeExtension, NodeExtensionSpec, NodeSpecOverride } from '@remirror/core';
2
- import { NodeName } from '../Extensions';
3
- import { ComponentType } from 'react';
4
- import { NodeViewComponentProps } from '@remirror/react';
5
- export declare class UnsupportedNodeExtension extends NodeExtension {
6
- get name(): NodeName.Unsupported;
7
- ReactComponent: ComponentType<NodeViewComponentProps>;
8
- createTags(): "inline"[];
9
- createNodeSpec(extra: ApplySchemaAttributes, override: NodeSpecOverride): NodeExtensionSpec;
10
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UnsupportedNodeExtension = void 0;
13
- const core_1 = require("@remirror/core");
14
- const Extensions_1 = require("../Extensions");
15
- const CollapseBox_1 = __importDefault(require("../../ui/CollapseBox/CollapseBox"));
16
- let UnsupportedNodeExtension = class UnsupportedNodeExtension extends core_1.NodeExtension {
17
- get name() {
18
- return Extensions_1.NodeName.Unsupported;
19
- }
20
- ReactComponent = CollapseBox_1.default;
21
- createTags() {
22
- return [core_1.ExtensionTag.InlineNode];
23
- }
24
- createNodeSpec(extra, override) {
25
- return {
26
- selectable: false,
27
- draggable: false,
28
- atom: true,
29
- inline: true,
30
- ...override,
31
- attrs: {
32
- ...extra.defaults(),
33
- originalNode: {},
34
- errorMessage: {},
35
- },
36
- parseDOM: [
37
- {
38
- tag: `[data-unsupported-node]`,
39
- getAttrs: (node) => {
40
- if (!(0, core_1.isElementDomNode)(node)) {
41
- return false;
42
- }
43
- const unsupportedNodes = node.getAttribute('data-unsupported-node');
44
- try {
45
- const decodedNodes = JSON.parse(unsupportedNodes);
46
- return {
47
- ...extra.parse(node),
48
- originalNode: decodedNodes?.originalNode,
49
- errorMessage: decodedNodes?.errorMessage,
50
- };
51
- }
52
- catch (error) {
53
- console.error('Failed to parse Remirror nodes from data-unsupported-node', error);
54
- return false;
55
- }
56
- },
57
- },
58
- ],
59
- toDOM: (node) => {
60
- const { originalNode, errorMessage, ...rest } = (0, core_1.omitExtraAttributes)(node.attrs, extra);
61
- const attrs = {
62
- ...extra.dom(node),
63
- ...rest,
64
- originalNode,
65
- errorMessage,
66
- 'data-unsupported-node': JSON.stringify({ originalNode, errorMessage }),
67
- };
68
- return ['div', attrs];
69
- },
70
- };
71
- }
72
- };
73
- UnsupportedNodeExtension = __decorate([
74
- (0, core_1.extension)({})
75
- ], UnsupportedNodeExtension);
76
- exports.UnsupportedNodeExtension = UnsupportedNodeExtension;
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const ICON_AI: React.JSX.Element;
@@ -1,60 +0,0 @@
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
- exports.ICON_AI = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- exports.ICON_AI = (react_1.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
9
- react_1.default.createElement("g", { id: "sq-AI-icon", clipPath: "url(#clip0_3060_44545)" },
10
- react_1.default.createElement("g", { id: "circle", filter: "url(#filter0_dd_3060_44545)" },
11
- react_1.default.createElement("rect", { x: "2", y: "2", width: "20", height: "20", rx: "10", fill: "url(#paint0_linear_3060_44545)" }),
12
- react_1.default.createElement("rect", { x: "1.5", y: "1.5", width: "21", height: "21", rx: "10.5", stroke: "white" })),
13
- react_1.default.createElement("g", { id: "Vector", filter: "url(#filter1_d_3060_44545)" },
14
- react_1.default.createElement("path", { d: "M11.2084 9.79157L10.1219 7.39977C9.88269 6.86674 9.11731 6.86674 8.87813 7.39977L7.79157 9.79157L5.39977 10.8781C4.86674 11.1241 4.86674 11.8827 5.39977 12.1219L7.79157 13.2084L8.87813 15.6002C9.12415 16.1333 9.88269 16.1333 10.1219 15.6002L11.2084 13.2084L13.6002 12.1219C14.1333 11.8759 14.1333 11.1173 13.6002 10.8781L11.2084 9.79157Z", fill: "white" })),
15
- react_1.default.createElement("g", { id: "Vector_2", opacity: "0.8", filter: "url(#filter2_d_3060_44545)" },
16
- react_1.default.createElement("path", { d: "M17.4491 10.4491L16.8493 11.7779C16.7126 12.074 16.2874 12.074 16.1507 11.7779L15.5509 10.4415L14.2221 9.84169C13.926 9.70501 13.926 9.2874 14.2221 9.15072L15.5585 8.55087L16.1583 7.2221C16.295 6.92597 16.7126 6.92597 16.8493 7.2221L17.4491 8.55847L18.7779 9.15831C19.074 9.29499 19.074 9.7126 18.7779 9.84928L17.4491 10.4491Z", fill: "white" })),
17
- react_1.default.createElement("g", { id: "Ellipse 55", opacity: "0.8", filter: "url(#filter3_d_3060_44545)" },
18
- react_1.default.createElement("circle", { cx: "14.5", cy: "16.5", r: "1.5", fill: "white" }))),
19
- react_1.default.createElement("defs", null,
20
- react_1.default.createElement("filter", { id: "filter0_dd_3060_44545", x: "0", y: "0", width: "24", height: "24", filterUnits: "userSpaceOnUse", colorInterpolationFilters: "sRGB" },
21
- react_1.default.createElement("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
22
- react_1.default.createElement("feColorMatrix", { in: "SourceAlpha", type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0", result: "hardAlpha" }),
23
- react_1.default.createElement("feOffset", { dx: "1", dy: "1" }),
24
- react_1.default.createElement("feComposite", { in2: "hardAlpha", operator: "out" }),
25
- react_1.default.createElement("feColorMatrix", { type: "matrix", values: "0 0 0 0 0.2 0 0 0 0 0.709941 0 0 0 0 1 0 0 0 0.64 0" }),
26
- react_1.default.createElement("feBlend", { mode: "normal", in2: "BackgroundImageFix", result: "effect1_dropShadow_3060_44545" }),
27
- react_1.default.createElement("feColorMatrix", { in: "SourceAlpha", type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0", result: "hardAlpha" }),
28
- react_1.default.createElement("feOffset", { dx: "-1", dy: "-1" }),
29
- react_1.default.createElement("feComposite", { in2: "hardAlpha", operator: "out" }),
30
- react_1.default.createElement("feColorMatrix", { type: "matrix", values: "0 0 0 0 0.96 0 0 0 0 0.76 0 0 0 0 0.48 0 0 0 0.64 0" }),
31
- react_1.default.createElement("feBlend", { mode: "normal", in2: "effect1_dropShadow_3060_44545", result: "effect2_dropShadow_3060_44545" }),
32
- react_1.default.createElement("feBlend", { mode: "normal", in: "SourceGraphic", in2: "effect2_dropShadow_3060_44545", result: "shape" })),
33
- react_1.default.createElement("filter", { id: "filter1_d_3060_44545", x: "5", y: "7", width: "9", height: "10", filterUnits: "userSpaceOnUse", colorInterpolationFilters: "sRGB" },
34
- react_1.default.createElement("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
35
- react_1.default.createElement("feColorMatrix", { in: "SourceAlpha", type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0", result: "hardAlpha" }),
36
- react_1.default.createElement("feOffset", { dy: "1" }),
37
- react_1.default.createElement("feColorMatrix", { type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0" }),
38
- react_1.default.createElement("feBlend", { mode: "normal", in2: "BackgroundImageFix", result: "effect1_dropShadow_3060_44545" }),
39
- react_1.default.createElement("feBlend", { mode: "normal", in: "SourceGraphic", in2: "effect1_dropShadow_3060_44545", result: "shape" })),
40
- react_1.default.createElement("filter", { id: "filter2_d_3060_44545", x: "14", y: "7", width: "5", height: "6.30682", filterUnits: "userSpaceOnUse", colorInterpolationFilters: "sRGB" },
41
- react_1.default.createElement("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
42
- react_1.default.createElement("feColorMatrix", { in: "SourceAlpha", type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0", result: "hardAlpha" }),
43
- react_1.default.createElement("feOffset", { dy: "1.30682" }),
44
- react_1.default.createElement("feColorMatrix", { type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0" }),
45
- react_1.default.createElement("feBlend", { mode: "normal", in2: "BackgroundImageFix", result: "effect1_dropShadow_3060_44545" }),
46
- react_1.default.createElement("feBlend", { mode: "normal", in: "SourceGraphic", in2: "effect1_dropShadow_3060_44545", result: "shape" })),
47
- react_1.default.createElement("filter", { id: "filter3_d_3060_44545", x: "13", y: "15", width: "3", height: "4.32373", filterUnits: "userSpaceOnUse", colorInterpolationFilters: "sRGB" },
48
- react_1.default.createElement("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
49
- react_1.default.createElement("feColorMatrix", { in: "SourceAlpha", type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0", result: "hardAlpha" }),
50
- react_1.default.createElement("feOffset", { dy: "1.32373" }),
51
- react_1.default.createElement("feColorMatrix", { type: "matrix", values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0" }),
52
- react_1.default.createElement("feBlend", { mode: "normal", in2: "BackgroundImageFix", result: "effect1_dropShadow_3060_44545" }),
53
- react_1.default.createElement("feBlend", { mode: "normal", in: "SourceGraphic", in2: "effect1_dropShadow_3060_44545", result: "shape" })),
54
- react_1.default.createElement("linearGradient", { id: "paint0_linear_3060_44545", x1: "6.54545", y1: "3.81818", x2: "17", y2: "20.1818", gradientUnits: "userSpaceOnUse" },
55
- react_1.default.createElement("stop", { stopColor: "#F5D6AB" }),
56
- react_1.default.createElement("stop", { offset: "0.251162", stopColor: "#F895A7" }),
57
- react_1.default.createElement("stop", { offset: "0.585", stopColor: "#77A1F1" }),
58
- react_1.default.createElement("stop", { offset: "0.861262", stopColor: "#68C8FF" })),
59
- react_1.default.createElement("clipPath", { id: "clip0_3060_44545" },
60
- react_1.default.createElement("rect", { width: "24", height: "24", fill: "white" })))));
@@ -1,2 +0,0 @@
1
- export * from './useExtensionNames';
2
- export * from './useExpandedSelection';
@@ -1,18 +0,0 @@
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
- __exportStar(require("./useExtensionNames"), exports);
18
- __exportStar(require("./useExpandedSelection"), exports);
@@ -1,23 +0,0 @@
1
- import { Selection } from '@remirror/core';
2
- import { Mark, MarkType } from 'remirror';
3
- export type ExpandedSelection = {
4
- selection: Selection;
5
- marks: Mark[];
6
- };
7
- /**
8
- * Returns a single range that is either:
9
- * 1. The current selection if the current selection does not contain any of the indicated marks.
10
- * 2. An expanded version of the current selection if the range contains any of the indicated marks.
11
- *
12
- * For example, given the content:
13
- *
14
- * <strong>Bold</strong> regular <u>underline</u> <u>more underline</u>
15
- *
16
- * If the marks passed in are 'bold' and 'underline' and the text "old regular under" is selected
17
- * the returned range will be "Bold regular underline".
18
- *
19
- * @param {(MarkType|string)[]} markTypes
20
- *
21
- * @return {ExpandedSelection}
22
- */
23
- export declare const useExpandedSelection: (markTypes: (MarkType | string)[]) => ExpandedSelection;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useExpandedSelection = void 0;
4
- const remirror_1 = require("remirror");
5
- const react_1 = require("@remirror/react");
6
- /**
7
- * Returns a single range that is either:
8
- * 1. The current selection if the current selection does not contain any of the indicated marks.
9
- * 2. An expanded version of the current selection if the range contains any of the indicated marks.
10
- *
11
- * For example, given the content:
12
- *
13
- * <strong>Bold</strong> regular <u>underline</u> <u>more underline</u>
14
- *
15
- * If the marks passed in are 'bold' and 'underline' and the text "old regular under" is selected
16
- * the returned range will be "Bold regular underline".
17
- *
18
- * @param {(MarkType|string)[]} markTypes
19
- *
20
- * @return {ExpandedSelection}
21
- */
22
- const useExpandedSelection = (markTypes) => {
23
- const { doc, selection } = (0, react_1.useEditorState)();
24
- const ranges = [];
25
- markTypes.forEach((markType) => {
26
- ranges.push(...(0, remirror_1.getMarkRanges)(selection, markType));
27
- });
28
- if (ranges.length === 0) {
29
- return { selection, marks: [] };
30
- }
31
- // work out the start position of the first link and end position of the last link in the selection.
32
- const from = Math.min(selection.from, ...ranges.map((range) => range.from));
33
- const to = Math.max(selection.to, ...ranges.map((range) => range.to));
34
- const marks = ranges.map((range) => range.mark);
35
- return { selection: (0, remirror_1.getTextSelection)({ from, to }, doc), marks };
36
- };
37
- exports.useExpandedSelection = useExpandedSelection;
@@ -1 +0,0 @@
1
- export declare const useExtensionNames: () => Record<string, true>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useExtensionNames = void 0;
4
- const react_1 = require("@remirror/react");
5
- const react_2 = require("react");
6
- const useExtensionNames = () => {
7
- const { manager } = (0, react_1.useRemirrorContext)();
8
- return (0, react_2.useMemo)(() => {
9
- const extensionNames = {};
10
- manager.extensions.forEach((extension) => {
11
- extensionNames[extension.name] = true;
12
- });
13
- return extensionNames;
14
- }, [manager]);
15
- };
16
- exports.useExtensionNames = useExtensionNames;
@@ -1,8 +0,0 @@
1
- import { FocusEvent, FocusEventHandler, RefObject } from 'react';
2
- declare const useFocus: (initialState: boolean) => {
3
- handleFocus: (event: FocusEvent) => void;
4
- handleBlur: FocusEventHandler<HTMLDivElement>;
5
- isVisible: boolean;
6
- wrapperRef: RefObject<HTMLDivElement>;
7
- };
8
- export default useFocus;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_1 = require("react");
4
- const useFocus = (initialState) => {
5
- const wrapperRef = (0, react_1.createRef)();
6
- const [isVisible, setIsVisible] = (0, react_1.useState)(initialState);
7
- const handleFocus = (0, react_1.useCallback)((event) => {
8
- // Ignore elements flagged to be ignored, this allows us to add extra, clickable, elements
9
- // without triggering a focus, such as action menus.
10
- if (!event.target?.classList?.contains('fte-ignore') && !event.target?.closest('.fte-ignore')) {
11
- setIsVisible(true);
12
- }
13
- }, [wrapperRef]);
14
- const handleBlur = (0, react_1.useCallback)((event) => {
15
- // React event bubbling is interesting, it bubbles up the React tree rather than the DOM tree.
16
- // The tree deviates when rendering portals (eg. for modals).
17
- //
18
- // Only hide the toolbar if:
19
- // 1. We are blurring a node in the editor **DOM** tree.
20
- // 2. We are focusing on something that is not in the editor DOM tree
21
- // (elements in the portal won't be in the tree but don't influence the focus state per #1).
22
- //
23
- // This avoids the scenario where an element in a portal is blurred and another one in the portal focused.
24
- // Without this logic the blur and focus handlers are called (in that order). The impact of these handlers being
25
- // called is that the "isFocused" state changes inconsistently. This state changing then causes subtle issues.
26
- // eg. unable to drill down in resource browser, toolbar appearing/disappearing.
27
- //
28
- // Ideally we would instead solely seeing if the "relatedTarget" is in the React tree. This isn't easily
29
- // identifiable however without reaching into React internals.
30
- //
31
- // An assumption here is that anything in a portal will only blur to another element that is also in the portal
32
- // (and therefore still in our React tree resulting in the element still effectively being focused).
33
- const isBlurringEditor = wrapperRef.current?.contains(event.target);
34
- const isFocusedInEditor = wrapperRef.current?.contains(event.relatedTarget);
35
- // Detect if the blur event happens when the related/clicked target is the floating popover
36
- const isClickingFloatingToolbar = !!event.relatedTarget?.closest('.squiz-fte-scope__floating-popover');
37
- if (isBlurringEditor && !isFocusedInEditor && !isClickingFloatingToolbar) {
38
- setIsVisible(false);
39
- }
40
- }, [wrapperRef]);
41
- return { handleFocus, handleBlur, isVisible, wrapperRef };
42
- };
43
- exports.default = useFocus;