@web-atoms/web-controls 2.1.8 → 2.1.12

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 (122) hide show
  1. package/dist/basic/PopupButton.d.ts +3 -1
  2. package/dist/basic/PopupButton.d.ts.map +1 -1
  3. package/dist/basic/PopupButton.js +13 -4
  4. package/dist/basic/PopupButton.js.map +1 -1
  5. package/dist/html-editor/HtmlEditor.d.ts +23 -0
  6. package/dist/html-editor/HtmlEditor.d.ts.map +1 -0
  7. package/dist/html-editor/HtmlEditor.js +208 -0
  8. package/dist/html-editor/HtmlEditor.js.map +1 -0
  9. package/dist/html-editor/commands/AddImage.d.ts +5 -0
  10. package/dist/html-editor/commands/AddImage.d.ts.map +1 -0
  11. package/dist/html-editor/commands/AddImage.js +23 -0
  12. package/dist/html-editor/commands/AddImage.js.map +1 -0
  13. package/dist/html-editor/commands/AddLink.d.ts +4 -0
  14. package/dist/html-editor/commands/AddLink.d.ts.map +1 -0
  15. package/dist/html-editor/commands/AddLink.js +86 -0
  16. package/dist/html-editor/commands/AddLink.js.map +1 -0
  17. package/dist/html-editor/commands/Align.d.ts +2 -0
  18. package/dist/html-editor/commands/Align.d.ts.map +1 -0
  19. package/dist/html-editor/commands/Align.js +24 -0
  20. package/dist/html-editor/commands/Align.js.map +1 -0
  21. package/dist/html-editor/commands/Bold.d.ts +3 -0
  22. package/dist/html-editor/commands/Bold.d.ts.map +1 -0
  23. package/dist/html-editor/commands/Bold.js +20 -0
  24. package/dist/html-editor/commands/Bold.js.map +1 -0
  25. package/dist/html-editor/commands/ChangeColor.d.ts +2 -0
  26. package/dist/html-editor/commands/ChangeColor.d.ts.map +1 -0
  27. package/dist/html-editor/commands/ChangeColor.js +146 -0
  28. package/dist/html-editor/commands/ChangeColor.js.map +1 -0
  29. package/dist/html-editor/commands/ChangeFont.d.ts +6 -0
  30. package/dist/html-editor/commands/ChangeFont.d.ts.map +1 -0
  31. package/dist/html-editor/commands/ChangeFont.js +72 -0
  32. package/dist/html-editor/commands/ChangeFont.js.map +1 -0
  33. package/dist/html-editor/commands/ChangeFontSize.d.ts +3 -0
  34. package/dist/html-editor/commands/ChangeFontSize.d.ts.map +1 -0
  35. package/dist/html-editor/commands/ChangeFontSize.js +22 -0
  36. package/dist/html-editor/commands/ChangeFontSize.js.map +1 -0
  37. package/dist/html-editor/commands/Command.d.ts +12 -0
  38. package/dist/html-editor/commands/Command.d.ts.map +1 -0
  39. package/dist/html-editor/commands/Command.js +43 -0
  40. package/dist/html-editor/commands/Command.js.map +1 -0
  41. package/dist/html-editor/commands/CommandButton.d.ts +19 -0
  42. package/dist/html-editor/commands/CommandButton.d.ts.map +1 -0
  43. package/dist/html-editor/commands/CommandButton.js +53 -0
  44. package/dist/html-editor/commands/CommandButton.js.map +1 -0
  45. package/dist/html-editor/commands/Headings.d.ts +2 -0
  46. package/dist/html-editor/commands/Headings.d.ts.map +1 -0
  47. package/dist/html-editor/commands/Headings.js +26 -0
  48. package/dist/html-editor/commands/Headings.js.map +1 -0
  49. package/dist/html-editor/commands/HorizontalRule.d.ts +3 -0
  50. package/dist/html-editor/commands/HorizontalRule.d.ts.map +1 -0
  51. package/dist/html-editor/commands/HorizontalRule.js +20 -0
  52. package/dist/html-editor/commands/HorizontalRule.js.map +1 -0
  53. package/dist/html-editor/commands/IndentLess.d.ts +2 -0
  54. package/dist/html-editor/commands/IndentLess.d.ts.map +1 -0
  55. package/dist/html-editor/commands/IndentLess.js +20 -0
  56. package/dist/html-editor/commands/IndentLess.js.map +1 -0
  57. package/dist/html-editor/commands/IndentMore.d.ts +2 -0
  58. package/dist/html-editor/commands/IndentMore.d.ts.map +1 -0
  59. package/dist/html-editor/commands/IndentMore.js +20 -0
  60. package/dist/html-editor/commands/IndentMore.js.map +1 -0
  61. package/dist/html-editor/commands/Italic.d.ts +3 -0
  62. package/dist/html-editor/commands/Italic.d.ts.map +1 -0
  63. package/dist/html-editor/commands/Italic.js +20 -0
  64. package/dist/html-editor/commands/Italic.js.map +1 -0
  65. package/dist/html-editor/commands/NumberedList.d.ts +2 -0
  66. package/dist/html-editor/commands/NumberedList.d.ts.map +1 -0
  67. package/dist/html-editor/commands/NumberedList.js +20 -0
  68. package/dist/html-editor/commands/NumberedList.js.map +1 -0
  69. package/dist/html-editor/commands/Quote.d.ts +2 -0
  70. package/dist/html-editor/commands/Quote.d.ts.map +1 -0
  71. package/dist/html-editor/commands/Quote.js +20 -0
  72. package/dist/html-editor/commands/Quote.js.map +1 -0
  73. package/dist/html-editor/commands/RemoveFormat.d.ts +2 -0
  74. package/dist/html-editor/commands/RemoveFormat.d.ts.map +1 -0
  75. package/dist/html-editor/commands/RemoveFormat.js +20 -0
  76. package/dist/html-editor/commands/RemoveFormat.js.map +1 -0
  77. package/dist/html-editor/commands/Separator.d.ts +2 -0
  78. package/dist/html-editor/commands/Separator.d.ts.map +1 -0
  79. package/dist/html-editor/commands/Separator.js +29 -0
  80. package/dist/html-editor/commands/Separator.js.map +1 -0
  81. package/dist/html-editor/commands/StrikeThrough.d.ts +3 -0
  82. package/dist/html-editor/commands/StrikeThrough.d.ts.map +1 -0
  83. package/dist/html-editor/commands/StrikeThrough.js +20 -0
  84. package/dist/html-editor/commands/StrikeThrough.js.map +1 -0
  85. package/dist/html-editor/commands/Underline.d.ts +3 -0
  86. package/dist/html-editor/commands/Underline.d.ts.map +1 -0
  87. package/dist/html-editor/commands/Underline.js +20 -0
  88. package/dist/html-editor/commands/Underline.js.map +1 -0
  89. package/dist/html-editor/commands/Unlink.d.ts +2 -0
  90. package/dist/html-editor/commands/Unlink.d.ts.map +1 -0
  91. package/dist/html-editor/commands/Unlink.js +20 -0
  92. package/dist/html-editor/commands/Unlink.js.map +1 -0
  93. package/dist/html-editor/commands/UnorderedList.d.ts +2 -0
  94. package/dist/html-editor/commands/UnorderedList.d.ts.map +1 -0
  95. package/dist/html-editor/commands/UnorderedList.js +20 -0
  96. package/dist/html-editor/commands/UnorderedList.js.map +1 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +2 -2
  99. package/src/basic/PopupButton.tsx +16 -5
  100. package/src/html-editor/HtmlEditor.tsx +208 -0
  101. package/src/html-editor/commands/AddImage.tsx +13 -0
  102. package/src/html-editor/commands/AddLink.tsx +82 -0
  103. package/src/html-editor/commands/Align.tsx +32 -0
  104. package/src/html-editor/commands/Bold.ts +13 -0
  105. package/src/html-editor/commands/ChangeColor.tsx +178 -0
  106. package/src/html-editor/commands/ChangeFont.tsx +75 -0
  107. package/src/html-editor/commands/ChangeFontSize.tsx +18 -0
  108. package/src/html-editor/commands/Command.tsx +44 -0
  109. package/src/html-editor/commands/CommandButton.tsx +66 -0
  110. package/src/html-editor/commands/Headings.tsx +24 -0
  111. package/src/html-editor/commands/HorizontalRule.tsx +12 -0
  112. package/src/html-editor/commands/IndentLess.tsx +13 -0
  113. package/src/html-editor/commands/IndentMore.tsx +13 -0
  114. package/src/html-editor/commands/Italic.ts +13 -0
  115. package/src/html-editor/commands/NumberedList.tsx +13 -0
  116. package/src/html-editor/commands/Quote.tsx +13 -0
  117. package/src/html-editor/commands/RemoveFormat.tsx +13 -0
  118. package/src/html-editor/commands/Separator.tsx +18 -0
  119. package/src/html-editor/commands/StrikeThrough.ts +13 -0
  120. package/src/html-editor/commands/Underline.ts +13 -0
  121. package/src/html-editor/commands/Unlink.tsx +13 -0
  122. package/src/html-editor/commands/UnorderedList.tsx +13 -0
@@ -1,3 +1,4 @@
1
+ import XNode from "@web-atoms/core/dist/core/XNode";
1
2
  export interface IMenuItem {
2
3
  label?: string;
3
4
  icon?: string;
@@ -9,8 +10,9 @@ export interface IMenuItem {
9
10
  export interface IPopupButton {
10
11
  icon?: string;
11
12
  label?: string;
13
+ showAsDialog?: boolean;
12
14
  [key: string]: any;
13
15
  }
14
16
  export declare function MenuItem({ label, icon, eventClick, href, target, ...others }: IMenuItem): any;
15
- export default function PopupButton({ icon, label, ...others }: IPopupButton, ...menus: IMenuItem[]): any;
17
+ export default function PopupButton({ icon, label, showAsDialog, ...others }: IPopupButton, ...menus: Array<IMenuItem | XNode>): any;
16
18
  //# sourceMappingURL=PopupButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopupButton.d.ts","sourceRoot":"","sources":["../../src/basic/PopupButton.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,SAAS;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,MAAM,EACN,GAAI,MAAM,EACb,EAAE,SAAS,OAWX;AAUD,MAAM,CAAC,OAAO,UAAU,WAAW,CACnC,EACI,IAAI,EACJ,KAAK,EACL,GAAI,MAAM,EACb,EAAE,YAAY,EACf,GAAI,KAAK,EAAE,SAAS,EAAE,OA8CrB"}
1
+ {"version":3,"file":"PopupButton.d.ts","sourceRoot":"","sources":["../../src/basic/PopupButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,iCAAiC,CAAC;AAgBpD,MAAM,WAAW,SAAS;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,MAAM,EACN,GAAI,MAAM,EACb,EAAE,SAAS,OAWX;AAUD,MAAM,CAAC,OAAO,UAAU,WAAW,CACnC,EACI,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,GAAI,MAAM,EACb,EAAE,YAAY,EACf,GAAI,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAuDlC"}
@@ -50,12 +50,12 @@ var __rest = (this && this.__rest) || function (s, e) {
50
50
  .child((0, StyleRule_1.default)("span")
51
51
  .flexStretch()));
52
52
  function PopupButton(_a, ...menus) {
53
- var { icon, label } = _a, others = __rest(_a, ["icon", "label"]);
53
+ var { icon, label, showAsDialog } = _a, others = __rest(_a, ["icon", "label", "showAsDialog"]);
54
54
  let popup = null;
55
55
  function openPopup(s, e) {
56
56
  const button = e.currentTarget;
57
+ button.classList.add("pressed");
57
58
  if (popup) {
58
- button.classList.remove("pressed");
59
59
  popup.dispose();
60
60
  popup = null;
61
61
  return;
@@ -63,13 +63,22 @@ var __rest = (this && this.__rest) || function (s, e) {
63
63
  const menu = document.createElement("div");
64
64
  s.render(XNode_1.default.create("div", { class: menuCss }, ...menus), menu);
65
65
  const ps = s.resolve(PopupService_1.default);
66
- popup = ps.show(button, menu);
66
+ const options = showAsDialog
67
+ ? {
68
+ alignment: "centerOfScreen"
69
+ }
70
+ : null;
71
+ popup = ps.show(button, menu, options);
67
72
  const dispose = () => {
68
73
  popup === null || popup === void 0 ? void 0 : popup.dispose();
69
74
  popup = null;
70
75
  };
71
76
  menu.addEventListener("click", dispose);
72
- popup.registerDisposable(() => menu.removeEventListener("click", dispose));
77
+ popup.registerDisposable(() => {
78
+ button.classList.remove("pressed");
79
+ menu.removeEventListener("click", dispose);
80
+ popup = null;
81
+ });
73
82
  }
74
83
  if (label) {
75
84
  return XNode_1.default.create("button", Object.assign({}, others, { eventClick: Bind_1.default.event((s, e) => openPopup(s, e)) }),
@@ -1 +1 @@
1
- {"version":3,"file":"PopupButton.js","sourceRoot":"","sources":["../../src/basic/PopupButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PopupButton.js","sourceRoot":"","sources":["../../src/basic/PopupButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import XNode from "@web-atoms/core/dist/core/XNode";
2
+ import { AtomControl } from "@web-atoms/core/dist/web/controls/AtomControl";
3
+ export declare function Toolbar(a: any, ...nodes: XNode[]): any;
4
+ export declare class HtmlEditorControl extends AtomControl {
5
+ content: string;
6
+ header: any[];
7
+ version: number;
8
+ editor: HTMLDivElement;
9
+ private editorWindow;
10
+ private editorDocument;
11
+ executeCommand(cmd: any, showUI?: boolean, value?: string): boolean;
12
+ queryCommandState(cmd: string, ...a: any[]): boolean;
13
+ getStyle(name: string, v: any): string;
14
+ protected preCreate(): void;
15
+ protected onPasteEvent(e: ClipboardEvent): void;
16
+ protected onInputEvent(e: InputEvent): void;
17
+ protected setup(): void;
18
+ }
19
+ export interface IHtmlEditor {
20
+ insertImage?: (s: HtmlEditorControl, e: Event) => Promise<string> | string;
21
+ }
22
+ export default function HtmlEditor({ insertImage, ...attributes }: any, ...nodes: XNode[]): any;
23
+ //# sourceMappingURL=HtmlEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEditor.d.ts","sourceRoot":"","sources":["../../src/html-editor/HtmlEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,iCAAiC,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAkD5E,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAI,KAAK,EAAE,KAAK,EAAE,OAIjD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAGvC,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,GAAG,EAAE,CAAC;IAGd,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,cAAc,CAAC;IAE9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,cAAc,CAAW;IAE1B,cAAc,CAAC,GAAG,KAAA,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAM9D,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAI,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO;IAIrD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM;IAU7C,SAAS,CAAC,SAAS;IAQnB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc;IAqBxC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU;IAKpC,SAAS,CAAC,KAAK;CA2BlB;AAED,MAAM,WAAW,WAAW;IACxB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CAC9E;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAC9B,EACI,WAAW,EACX,GAAI,UAAU,EACjB,EAAE,GAAG,EACN,GAAI,KAAK,EAAE,KAAK,EAAE,OAqCrB"}
@@ -0,0 +1,208 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ (function (factory) {
22
+ if (typeof module === "object" && typeof module.exports === "object") {
23
+ var v = factory(require, exports);
24
+ if (v !== undefined) module.exports = v;
25
+ }
26
+ else if (typeof define === "function" && define.amd) {
27
+ define(["require", "exports", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/Colors", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/StyleRule", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/web/styles/CSS", "./commands/AddImage", "./commands/AddLink", "./commands/Align", "./commands/Bold", "./commands/ChangeColor", "./commands/ChangeFont", "./commands/ChangeFontSize", "./commands/Headings", "./commands/HorizontalRule", "./commands/IndentLess", "./commands/IndentMore", "./commands/Italic", "./commands/NumberedList", "./commands/RemoveFormat", "./commands/Separator", "./commands/StrikeThrough", "./commands/Underline", "./commands/Unlink", "./commands/UnorderedList"], factory);
28
+ }
29
+ })(function (require, exports) {
30
+ "use strict";
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.HtmlEditorControl = exports.Toolbar = void 0;
33
+ const BindableProperty_1 = require("@web-atoms/core/dist/core/BindableProperty");
34
+ const Colors_1 = require("@web-atoms/core/dist/core/Colors");
35
+ const XNode_1 = require("@web-atoms/core/dist/core/XNode");
36
+ const StyleRule_1 = require("@web-atoms/core/dist/style/StyleRule");
37
+ const AtomControl_1 = require("@web-atoms/core/dist/web/controls/AtomControl");
38
+ const CSS_1 = require("@web-atoms/core/dist/web/styles/CSS");
39
+ const AddImage_1 = require("./commands/AddImage");
40
+ const AddLink_1 = require("./commands/AddLink");
41
+ const Align_1 = require("./commands/Align");
42
+ const Bold_1 = require("./commands/Bold");
43
+ const ChangeColor_1 = require("./commands/ChangeColor");
44
+ const ChangeFont_1 = require("./commands/ChangeFont");
45
+ const ChangeFontSize_1 = require("./commands/ChangeFontSize");
46
+ const Headings_1 = require("./commands/Headings");
47
+ const HorizontalRule_1 = require("./commands/HorizontalRule");
48
+ const IndentLess_1 = require("./commands/IndentLess");
49
+ const IndentMore_1 = require("./commands/IndentMore");
50
+ const Italic_1 = require("./commands/Italic");
51
+ const NumberedList_1 = require("./commands/NumberedList");
52
+ const RemoveFormat_1 = require("./commands/RemoveFormat");
53
+ const Separator_1 = require("./commands/Separator");
54
+ const StrikeThrough_1 = require("./commands/StrikeThrough");
55
+ const Underline_1 = require("./commands/Underline");
56
+ const Unlink_1 = require("./commands/Unlink");
57
+ const UnorderedList_1 = require("./commands/UnorderedList");
58
+ const link = document.createElement("link");
59
+ link.href = "https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";
60
+ link.rel = "stylesheet";
61
+ document.head.appendChild(link);
62
+ const css = (0, CSS_1.default)((0, StyleRule_1.default)()
63
+ .nested((0, StyleRule_1.default)(".toolbar")
64
+ .display("flex")
65
+ .child((0, StyleRule_1.default)(".command")
66
+ .display("inline-flex")
67
+ .justifyContent("space-evenly")
68
+ .border("none")
69
+ .cursor("pointer")
70
+ .backgroundColor(Colors_1.default.transparent)
71
+ .hoverBackgroundColor(Colors_1.default.lightGreen)
72
+ .minWidth(28)
73
+ .height(28)
74
+ .and((0, StyleRule_1.default)(".pressed")
75
+ .backgroundColor(Colors_1.default.lightGray)
76
+ .hoverBackgroundColor(Colors_1.default.lightGreen))
77
+ .nested((0, StyleRule_1.default)(".ri-bold")
78
+ .fontWeight("bold")))));
79
+ function Toolbar(a, ...nodes) {
80
+ return XNode_1.default.create("div", { class: "toolbar" }, ...nodes);
81
+ }
82
+ exports.Toolbar = Toolbar;
83
+ class HtmlEditorControl extends AtomControl_1.AtomControl {
84
+ executeCommand(cmd, showUI, value) {
85
+ const r = this.editorDocument.execCommand(cmd, showUI, value);
86
+ setTimeout(() => this.version++, 1);
87
+ return r;
88
+ }
89
+ queryCommandState(cmd, ...a) {
90
+ return this.editorDocument.queryCommandState(cmd);
91
+ }
92
+ getStyle(name, v) {
93
+ try {
94
+ const node = this.editorWindow.getSelection().getRangeAt(0);
95
+ const e = node.startContainer.parentElement;
96
+ return this.editorWindow.getComputedStyle(e)[name];
97
+ }
98
+ catch (ex) {
99
+ return null;
100
+ }
101
+ }
102
+ preCreate() {
103
+ this.version = 1;
104
+ this.runAfterInit(() => {
105
+ this.setup();
106
+ });
107
+ this.element.classList.add(css);
108
+ }
109
+ onPasteEvent(e) {
110
+ // tslint:disable-next-line: no-console
111
+ if (!e.clipboardData.types.find((x) => x === "text/html")) {
112
+ return;
113
+ }
114
+ const d = e.clipboardData.getData("text/plain");
115
+ if (d) {
116
+ // we need to sanitize this one...
117
+ const s = window.getSelection();
118
+ const r = s.getRangeAt(0);
119
+ const p = document.createElement("p");
120
+ const span = document.createElement("span");
121
+ span.textContent = d;
122
+ p.appendChild(span);
123
+ r.insertNode(p);
124
+ r.setStartAfter(p);
125
+ }
126
+ e.preventDefault();
127
+ }
128
+ onInputEvent(e) {
129
+ // tslint:disable-next-line: no-console
130
+ console.log(e);
131
+ }
132
+ setup() {
133
+ const frame = this.element.getElementsByTagName("iframe")[0];
134
+ const doc = frame.contentWindow.document;
135
+ doc.open();
136
+ doc.writeln(`<div id="editor"><p>&nbsp;</p></div>`);
137
+ doc.close();
138
+ const style = doc.createElement("style");
139
+ style.textContent = `body { font-family: arial,sans-serif}`;
140
+ doc.head.appendChild(style);
141
+ this.editor = doc.getElementById("editor");
142
+ this.editor.contentEditable = "true";
143
+ doc.execCommand("styleWithCSS");
144
+ const updateVersion = () => setTimeout(() => this.version++, 1);
145
+ this.editor.addEventListener("click", updateVersion);
146
+ this.editor.addEventListener("keydown", updateVersion);
147
+ this.editor.addEventListener("keypress", updateVersion);
148
+ this.editorWindow = frame.contentWindow;
149
+ this.editorDocument = doc;
150
+ this.registerDisposable({
151
+ dispose: () => {
152
+ this.editor.removeEventListener("click", updateVersion);
153
+ this.editor.removeEventListener("keydown", updateVersion);
154
+ this.editor.removeEventListener("keypress", updateVersion);
155
+ }
156
+ });
157
+ }
158
+ }
159
+ __decorate([
160
+ BindableProperty_1.BindableProperty,
161
+ __metadata("design:type", String)
162
+ ], HtmlEditorControl.prototype, "content", void 0);
163
+ __decorate([
164
+ BindableProperty_1.BindableProperty,
165
+ __metadata("design:type", Array)
166
+ ], HtmlEditorControl.prototype, "header", void 0);
167
+ __decorate([
168
+ BindableProperty_1.BindableProperty,
169
+ __metadata("design:type", Number)
170
+ ], HtmlEditorControl.prototype, "version", void 0);
171
+ exports.HtmlEditorControl = HtmlEditorControl;
172
+ function HtmlEditor(_a, ...nodes) {
173
+ var { insertImage } = _a, attributes = __rest(_a, ["insertImage"]);
174
+ if (nodes.length === 0) {
175
+ return XNode_1.default.create(HtmlEditorControl, Object.assign({}, attributes),
176
+ XNode_1.default.create(Toolbar, null,
177
+ XNode_1.default.create(Bold_1.default, null),
178
+ XNode_1.default.create(Italic_1.default, null),
179
+ XNode_1.default.create(Underline_1.default, null),
180
+ XNode_1.default.create(StrikeThrough_1.default, null),
181
+ XNode_1.default.create(Align_1.default, null),
182
+ XNode_1.default.create(Separator_1.default, null),
183
+ XNode_1.default.create(Headings_1.default, null),
184
+ XNode_1.default.create(ChangeColor_1.default, null),
185
+ XNode_1.default.create(HorizontalRule_1.default, null),
186
+ XNode_1.default.create(Separator_1.default, null),
187
+ XNode_1.default.create(ChangeFont_1.default, null),
188
+ XNode_1.default.create(ChangeFontSize_1.default, null),
189
+ XNode_1.default.create(Separator_1.default, null),
190
+ XNode_1.default.create(NumberedList_1.default, null),
191
+ XNode_1.default.create(UnorderedList_1.default, null),
192
+ XNode_1.default.create(IndentLess_1.default, null),
193
+ XNode_1.default.create(IndentMore_1.default, null),
194
+ XNode_1.default.create(Separator_1.default, null),
195
+ XNode_1.default.create(AddImage_1.default, { eventInsertHtml: insertImage }),
196
+ XNode_1.default.create(Separator_1.default, null),
197
+ XNode_1.default.create(AddLink_1.default, null),
198
+ XNode_1.default.create(Unlink_1.default, null),
199
+ XNode_1.default.create(RemoveFormat_1.default, null)),
200
+ XNode_1.default.create("iframe", { class: "editor-frame" }));
201
+ }
202
+ return XNode_1.default.create(HtmlEditorControl, Object.assign({}, attributes),
203
+ ...nodes,
204
+ XNode_1.default.create("iframe", { class: "editor-frame" }));
205
+ }
206
+ exports.default = HtmlEditor;
207
+ });
208
+ //# sourceMappingURL=HtmlEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEditor.js","sourceRoot":"","sources":["../../src/html-editor/HtmlEditor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACA,iFAA8E;IAC9E,6DAAsD;IACtD,2DAAoD;IACpD,oEAA6D;IAC7D,+EAA4E;IAC5E,6DAAsD;IACtD,kDAA2C;IAC3C,gDAAyC;IACzC,4CAAqC;IACrC,0CAAmC;IACnC,wDAAiD;IACjD,sDAA+C;IAC/C,8DAAuD;IACvD,kDAA2C;IAC3C,8DAAuD;IACvD,sDAA+C;IAC/C,sDAA+C;IAC/C,8CAAuC;IACvC,0DAAmD;IACnD,0DAAmD;IACnD,oDAA6C;IAC7C,4DAAqD;IACrD,oDAA6C;IAC7C,8CAAuC;IACvC,4DAAqD;IAErD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,GAAG,kEAAkE,CAAC;IAC/E,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAA,aAAG,EAAC,IAAA,mBAAS,GAAE;SACtB,MAAM,CAAC,IAAA,mBAAS,EAAC,UAAU,CAAC;SACxB,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAA,mBAAS,EAAC,UAAU,CAAC;SACvB,OAAO,CAAC,aAAa,CAAC;SACtB,cAAc,CAAC,cAAqB,CAAC;SACrC,MAAM,CAAC,MAAM,CAAC;SACd,MAAM,CAAC,SAAS,CAAC;SACjB,eAAe,CAAC,gBAAM,CAAC,WAAW,CAAC;SACnC,oBAAoB,CAAC,gBAAM,CAAC,UAAU,CAAC;SACvC,QAAQ,CAAC,EAAE,CAAC;SACZ,MAAM,CAAC,EAAE,CAAC;SACV,GAAG,CAAC,IAAA,mBAAS,EAAC,UAAU,CAAC;SACrB,eAAe,CAAC,gBAAM,CAAC,SAAS,CAAC;SACjC,oBAAoB,CAAC,gBAAM,CAAC,UAAU,CAAC,CAC3C;SACA,MAAM,CAAC,IAAA,mBAAS,EAAC,UAAU,CAAC;SACxB,UAAU,CAAC,MAAM,CAAC,CACtB,CACJ,CACJ,CACJ,CAAC;IAEF,SAAgB,OAAO,CAAC,CAAM,EAAE,GAAI,KAAc;QAC9C,OAAO,gCAAK,KAAK,EAAC,SAAS,OACjB,KAAK,CACT,CAAC;IACX,CAAC;IAJD,0BAIC;IAED,MAAa,iBAAkB,SAAQ,yBAAW;QAiBvC,cAAc,CAAC,GAAG,EAAE,MAAgB,EAAE,KAAc;YACvD,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC;QACb,CAAC;QAEM,iBAAiB,CAAC,GAAW,EAAE,GAAI,CAAQ;YAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAEM,QAAQ,CAAC,IAAY,EAAE,CAAM;YAChC,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,aAA4B,CAAC;gBAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACtD;YAAC,OAAO,EAAE,EAAE;gBACT,OAAO,IAAI,CAAC;aACf;QACL,CAAC;QAES,SAAS;YACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAES,YAAY,CAAC,CAAiB;YACpC,uCAAuC;YACvC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE;gBACvD,OAAO;aACV;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,EAAE;gBACH,kCAAkC;gBAClC,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtB;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;QAES,YAAY,CAAC,CAAa;YAChC,uCAAuC;YACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAES,KAAK;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAsB,CAAC;YAClF,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;YACzC,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YACpD,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,CAAC,WAAW,GAAG,uCAAuC,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAmB,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;YACrC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAChC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAE1B,IAAI,CAAC,kBAAkB,CAAC;gBACpB,OAAO,EAAE,GAAG,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBACxD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAC1D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;gBAC/D,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;KACJ;IA/FG;QADC,mCAAgB;;sDACM;IAGvB;QADC,mCAAgB;;qDACI;IAGrB;QADC,mCAAgB;;sDACM;IAT3B,8CAkGC;IAMD,SAAwB,UAAU,CAC9B,EAGM,EACN,GAAI,KAAc;YAJlB,EACI,WAAW,OAET,EADE,UAAU,cAFlB,eAGC,CADiB;QAIlB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,uBAAC,iBAAiB,oBAAO,UAAU;gBACtC,uBAAC,OAAO;oBACJ,uBAAC,cAAI,OAAE;oBACP,uBAAC,gBAAM,OAAE;oBACT,uBAAC,mBAAS,OAAE;oBACZ,uBAAC,uBAAa,OAAE;oBAChB,uBAAC,eAAK,OAAE;oBACR,uBAAC,mBAAS,OAAE;oBACZ,uBAAC,kBAAQ,OAAE;oBACX,uBAAC,qBAAW,OAAE;oBACd,uBAAC,wBAAc,OAAE;oBACjB,uBAAC,mBAAS,OAAE;oBACZ,uBAAC,oBAAU,OAAE;oBACb,uBAAC,wBAAc,OAAE;oBACjB,uBAAC,mBAAS,OAAE;oBACZ,uBAAC,sBAAY,OAAE;oBACf,uBAAC,uBAAa,OAAE;oBAChB,uBAAC,oBAAU,OAAE;oBACb,uBAAC,oBAAU,OAAE;oBACb,uBAAC,mBAAS,OAAE;oBACZ,uBAAC,kBAAQ,IAAC,eAAe,EAAE,WAAW,GAAG;oBACzC,uBAAC,mBAAS,OAAE;oBACZ,uBAAC,iBAAO,OAAE;oBACV,uBAAC,gBAAM,OAAE;oBACT,uBAAC,sBAAY,OAAE,CACT;gBACV,mCAAQ,KAAK,EAAC,cAAc,GAAE,CACd,CAAC;SACxB;QAED,OAAO,uBAAC,iBAAiB,oBAAO,UAAU;eAChC,KAAK;YACX,mCAAQ,KAAK,EAAC,cAAc,GAAE,CACd,CAAC;IACzB,CAAC;IA1CD,6BA0CC"}
@@ -0,0 +1,5 @@
1
+ export default function AddImage({ eventInsertHtml, insertCommand }: {
2
+ eventInsertHtml?: () => void;
3
+ insertCommand?: string;
4
+ }): any;
5
+ //# sourceMappingURL=AddImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddImage.d.ts","sourceRoot":"","sources":["../../../src/html-editor/commands/AddImage.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC7B,eAAoC,EACpC,aAA4B,EAC/B;;;CAAA,OAOA"}
@@ -0,0 +1,23 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "./CommandButton"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const CommandButton_1 = require("./CommandButton");
13
+ function AddImage({ eventInsertHtml = (0, CommandButton_1.notSet)("AddImage"), insertCommand = "insertHTML" }) {
14
+ return (0, CommandButton_1.default)({
15
+ icon: "ri-image-add-fill",
16
+ insertCommand,
17
+ title: "Insert Image",
18
+ eventInsertHtml
19
+ });
20
+ }
21
+ exports.default = AddImage;
22
+ });
23
+ //# sourceMappingURL=AddImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddImage.js","sourceRoot":"","sources":["../../../src/html-editor/commands/AddImage.tsx"],"names":[],"mappings":";;;;;;;;;;;IAAA,mDAAwD;IAExD,SAAwB,QAAQ,CAAC,EAC7B,eAAe,GAAG,IAAA,sBAAM,EAAC,UAAU,CAAC,EACpC,aAAa,GAAG,YAAY,EAC/B;QACG,OAAO,IAAA,uBAAa,EAAC;YACjB,IAAI,EAAE,mBAAmB;YACzB,aAAa;YACb,KAAK,EAAE,cAAc;YACrB,eAAe;SAClB,CAAC,CAAC;IACP,CAAC;IAVD,2BAUC"}
@@ -0,0 +1,4 @@
1
+ export default function AddLink({ insertCommand }: {
2
+ insertCommand?: string;
3
+ }): any;
4
+ //# sourceMappingURL=AddLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddLink.d.ts","sourceRoot":"","sources":["../../../src/html-editor/commands/AddLink.tsx"],"names":[],"mappings":"AAwEA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC5B,aAA4B,EAC/B;;CAAA,OAOA"}
@@ -0,0 +1,86 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ (function (factory) {
11
+ if (typeof module === "object" && typeof module.exports === "object") {
12
+ var v = factory(require, exports);
13
+ if (v !== undefined) module.exports = v;
14
+ }
15
+ else if (typeof define === "function" && define.amd) {
16
+ define(["require", "exports", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/StyleRule", "@web-atoms/core/dist/web/controls/AtomToggleButtonBar", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/core/dist/web/styles/CSS", "./CommandButton"], factory);
17
+ }
18
+ })(function (require, exports) {
19
+ "use strict";
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const Bind_1 = require("@web-atoms/core/dist/core/Bind");
22
+ const BindableProperty_1 = require("@web-atoms/core/dist/core/BindableProperty");
23
+ const XNode_1 = require("@web-atoms/core/dist/core/XNode");
24
+ const StyleRule_1 = require("@web-atoms/core/dist/style/StyleRule");
25
+ const AtomToggleButtonBar_1 = require("@web-atoms/core/dist/web/controls/AtomToggleButtonBar");
26
+ const PopupService_1 = require("@web-atoms/core/dist/web/services/PopupService");
27
+ const CSS_1 = require("@web-atoms/core/dist/web/styles/CSS");
28
+ const CommandButton_1 = require("./CommandButton");
29
+ const linkTypes = [
30
+ {
31
+ label: "Web Page",
32
+ value: "web-page"
33
+ },
34
+ {
35
+ label: "Email",
36
+ value: "email"
37
+ },
38
+ {
39
+ label: "Anchor",
40
+ value: "anchor"
41
+ },
42
+ {
43
+ label: "Phone",
44
+ value: "phone"
45
+ }
46
+ ];
47
+ const linkDialogCss = (0, CSS_1.default)((0, StyleRule_1.default)()
48
+ .display("flex")
49
+ .flexDirection("column")
50
+ .gap(5));
51
+ class LinkDialog extends PopupService_1.PopupWindow {
52
+ create() {
53
+ this.type = "web-page";
54
+ this.title = "Create Link";
55
+ this.render(XNode_1.default.create("div", { class: linkDialogCss },
56
+ XNode_1.default.create(AtomToggleButtonBar_1.AtomToggleButtonBar, { items: linkTypes, value: Bind_1.default.twoWays(() => this.type) }),
57
+ XNode_1.default.create("input", { placeholder: "https://...", value: Bind_1.default.twoWaysImmediate(() => this.link) }),
58
+ XNode_1.default.create("div", { class: "command-bar" },
59
+ XNode_1.default.create("button", { text: "Add", eventClick: Bind_1.default.event((x) => setTimeout(() => {
60
+ this.viewModel.close(this.link);
61
+ }, 1)) }))));
62
+ }
63
+ }
64
+ __decorate([
65
+ BindableProperty_1.BindableProperty,
66
+ __metadata("design:type", String)
67
+ ], LinkDialog.prototype, "link", void 0);
68
+ __decorate([
69
+ BindableProperty_1.BindableProperty,
70
+ __metadata("design:type", String)
71
+ ], LinkDialog.prototype, "type", void 0);
72
+ function showDialog(s, e) {
73
+ const popupService = s.app.resolve(PopupService_1.default);
74
+ return popupService.showWindow(s.element, LinkDialog);
75
+ }
76
+ function AddLink({ insertCommand = "createLink" }) {
77
+ return (0, CommandButton_1.default)({
78
+ icon: "ri-link-m",
79
+ insertCommand,
80
+ eventInsertHtml: showDialog,
81
+ title: "Create Hyper Link"
82
+ });
83
+ }
84
+ exports.default = AddLink;
85
+ });
86
+ //# sourceMappingURL=AddLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddLink.js","sourceRoot":"","sources":["../../../src/html-editor/commands/AddLink.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;IAAA,yDAAkD;IAClD,iFAA8E;IAE9E,2DAAoD;IACpD,oEAA6D;IAC7D,+FAA4F;IAC5F,iFAA2F;IAC3F,6DAAsD;IAEtD,mDAAwD;IAExD,MAAM,SAAS,GAAG;QACd;YACI,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;SACpB;QACD;YACI,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;SACjB;QACD;YACI,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;SAClB;QACD;YACI,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;SACjB;KACJ,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,aAAG,EAAC,IAAA,mBAAS,GAAE;SAChC,OAAO,CAAC,MAAM,CAAC;SACf,aAAa,CAAC,QAAQ,CAAC;SACvB,GAAG,CAAC,CAAC,CAAC,CACV,CAAC;IAEF,MAAM,UAAW,SAAQ,0BAAW;QAQtB,MAAM;YACZ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,gCAAK,KAAK,EAAE,aAAa;gBACjC,uBAAC,yCAAmB,IAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC3C,kCACI,WAAW,EAAC,aAAa,EACzB,KAAK,EAAE,cAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACpD,gCAAK,KAAK,EAAC,aAAa;oBACpB,mCACI,IAAI,EAAC,KAAK,EACV,UAAU,EAAE,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,UAAU,CAAC,GAAG,EAAE;4BACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CACR,GAAI,CACH,CACJ,CAAC,CAAC;QACZ,CAAC;KACJ;IA1BG;QADC,mCAAgB;;4CACG;IAGpB;QADC,mCAAgB;;4CACG;IAyBxB,SAAS,UAAU,CAAC,CAAoB,EAAE,CAAQ;QAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAY,CAAC,CAAC;QACjD,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,SAAwB,OAAO,CAAC,EAC5B,aAAa,GAAG,YAAY,EAC/B;QACG,OAAO,IAAA,uBAAa,EAAC;YACjB,IAAI,EAAE,WAAW;YACjB,aAAa;YACb,eAAe,EAAE,UAAU;YAC3B,KAAK,EAAE,mBAAmB;SAC7B,CAAC,CAAC;IACP,CAAC;IATD,0BASC"}
@@ -0,0 +1,2 @@
1
+ export default function Align(): any;
2
+ //# sourceMappingURL=Align.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Align.d.ts","sourceRoot":"","sources":["../../../src/html-editor/commands/Align.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,KAAK,QA0B5B"}
@@ -0,0 +1,24 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/XNode", "../../basic/PopupButton"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Bind_1 = require("@web-atoms/core/dist/core/Bind");
13
+ const XNode_1 = require("@web-atoms/core/dist/core/XNode");
14
+ const PopupButton_1 = require("../../basic/PopupButton");
15
+ function Align() {
16
+ return XNode_1.default.create(PopupButton_1.default, { class: "command", icon: "ri-align-left", title: "Change Alignment" },
17
+ XNode_1.default.create(PopupButton_1.MenuItem, { icon: "ri-align-left", title: "Align Left", eventClick: Bind_1.default.event((e) => e.executeCommand("justifyLeft")) }),
18
+ XNode_1.default.create(PopupButton_1.MenuItem, { icon: "ri-align-center", title: "Align Center", eventClick: Bind_1.default.event((e) => e.executeCommand("justifyCenter")) }),
19
+ XNode_1.default.create(PopupButton_1.MenuItem, { icon: "ri-align-right", title: "Align Right", eventClick: Bind_1.default.event((e) => e.executeCommand("justifyRight")) }),
20
+ XNode_1.default.create(PopupButton_1.MenuItem, { icon: "ri-align-justify", title: "Justify", eventClick: Bind_1.default.event((e) => e.executeCommand("justifyFull")) }));
21
+ }
22
+ exports.default = Align;
23
+ });
24
+ //# sourceMappingURL=Align.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Align.js","sourceRoot":"","sources":["../../../src/html-editor/commands/Align.tsx"],"names":[],"mappings":";;;;;;;;;;;IAAA,yDAAkD;IAClD,2DAAoD;IACpD,yDAAgE;IAGhE,SAAwB,KAAK;QACzB,OAAO,uBAAC,qBAAW,IACf,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,kBAAkB;YACxB,uBAAC,sBAAQ,IACL,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,YAAY,EAClB,UAAU,EAAE,cAAI,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,EAAE,CAC5C,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,GAAG;YAC3C,uBAAC,sBAAQ,IACL,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAC,cAAc,EACpB,UAAU,EAAE,cAAI,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,EAAE,CAC5C,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,GAAG;YAC7C,uBAAC,sBAAQ,IACL,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,aAAa,EACnB,UAAU,EAAE,cAAI,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,EAAE,CAC5C,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,GAAG;YAC5C,uBAAC,sBAAQ,IACL,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAC,SAAS,EACf,UAAU,EAAE,cAAI,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,EAAE,CAC5C,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,GAAG,CACjC,CAAC;IACnB,CAAC;IA1BD,wBA0BC"}
@@ -0,0 +1,3 @@
1
+ import { ICommand } from "./Command";
2
+ export default function Bold(cmd: ICommand): any;
3
+ //# sourceMappingURL=Bold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bold.d.ts","sourceRoot":"","sources":["../../../src/html-editor/commands/Bold.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,QAAQ,OAUzC"}
@@ -0,0 +1,20 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "./Command"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Command_1 = require("./Command");
13
+ function Bold(cmd) {
14
+ return (0, Command_1.default)(Object.assign(Object.assign({ icon: "ri-bold", queryState: "bold", title: "Bold" }, cmd), { command(editor) {
15
+ editor.executeCommand("bold");
16
+ } }));
17
+ }
18
+ exports.default = Bold;
19
+ });
20
+ //# sourceMappingURL=Bold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bold.js","sourceRoot":"","sources":["../../../src/html-editor/commands/Bold.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,uCAA8C;IAE9C,SAAwB,IAAI,CAAC,GAAa;QACtC,OAAO,IAAA,iBAAO,gCACV,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,IACT,GAAG,KACP,OAAO,CAAC,MAAM;gBACV,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC,IACH,CAAC;IACP,CAAC;IAVD,uBAUC"}
@@ -0,0 +1,2 @@
1
+ export default function ChangeColor(): any;
2
+ //# sourceMappingURL=ChangeColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeColor.d.ts","sourceRoot":"","sources":["../../../src/html-editor/commands/ChangeColor.tsx"],"names":[],"mappings":"AAgIA,MAAM,CAAC,OAAO,UAAU,WAAW,QAiDlC"}