highmark-markdown 0.0.273 → 0.0.277

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 (40) hide show
  1. package/example.js +2062 -138
  2. package/lib/customEventTypes.js +26 -0
  3. package/lib/defaultMarkdownStyle.js +2 -2
  4. package/lib/example/view/button/tab/markdown.js +167 -0
  5. package/lib/example/view/button/tab/markdownStyle.js +167 -0
  6. package/lib/example/view/button/tab.js +135 -0
  7. package/lib/example/view/div/container/markdown.js +192 -0
  8. package/lib/example/view/div/container/markdownStyle.js +193 -0
  9. package/lib/example/view/div/container.js +189 -0
  10. package/lib/example/view/div/preview.js +1 -1
  11. package/lib/example/view/div/sizeable/left.js +2 -2
  12. package/lib/example/view/div/tabButtons.js +260 -0
  13. package/lib/example/view/textarea/css.js +10 -10
  14. package/lib/example/view/textarea/markdown.js +2 -2
  15. package/lib/example/view/textarea/markdownStyle.js +2 -2
  16. package/lib/example/view/textarea/parseTree/markdown.js +140 -0
  17. package/lib/example/view/textarea/parseTree/markdownStyle.js +140 -0
  18. package/lib/example/view/textarea/parseTree.js +177 -0
  19. package/lib/example/view/xmp.js +1 -1
  20. package/lib/example/view.js +46 -12
  21. package/package.json +1 -1
  22. package/src/customEventTypes.js +5 -0
  23. package/src/defaultMarkdownStyle.js +5 -1
  24. package/src/example/view/button/tab/markdown.js +37 -0
  25. package/src/example/view/button/tab/markdownStyle.js +35 -0
  26. package/src/example/view/button/tab.js +33 -0
  27. package/src/example/view/div/container/markdown.js +33 -0
  28. package/src/example/view/div/container/markdownStyle.js +35 -0
  29. package/src/example/view/div/container.js +32 -0
  30. package/src/example/view/div/preview.js +1 -1
  31. package/src/example/view/div/sizeable/left.js +1 -1
  32. package/src/example/view/div/tabButtons.js +73 -0
  33. package/src/example/view/textarea/css.js +2 -2
  34. package/src/example/view/textarea/markdown.js +1 -0
  35. package/src/example/view/textarea/markdownStyle.js +2 -1
  36. package/src/example/view/textarea/parseTree/markdown.js +19 -0
  37. package/src/example/view/textarea/parseTree/markdownStyle.js +19 -0
  38. package/src/example/view/textarea/parseTree.js +44 -0
  39. package/src/example/view/xmp.js +1 -1
  40. package/src/example/view.js +54 -17
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
+ var _textarea = /*#__PURE__*/ _interop_require_default(require("../textarea"));
13
+ var _constants = require("../../constants");
14
+ function _assert_this_initialized(self) {
15
+ if (self === void 0) {
16
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
+ }
18
+ return self;
19
+ }
20
+ function _class_call_check(instance, Constructor) {
21
+ if (!(instance instanceof Constructor)) {
22
+ throw new TypeError("Cannot call a class as a function");
23
+ }
24
+ }
25
+ function _defineProperties(target, props) {
26
+ for(var i = 0; i < props.length; i++){
27
+ var descriptor = props[i];
28
+ descriptor.enumerable = descriptor.enumerable || false;
29
+ descriptor.configurable = true;
30
+ if ("value" in descriptor) descriptor.writable = true;
31
+ Object.defineProperty(target, descriptor.key, descriptor);
32
+ }
33
+ }
34
+ function _create_class(Constructor, protoProps, staticProps) {
35
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
36
+ if (staticProps) _defineProperties(Constructor, staticProps);
37
+ return Constructor;
38
+ }
39
+ function _define_property(obj, key, value) {
40
+ if (key in obj) {
41
+ Object.defineProperty(obj, key, {
42
+ value: value,
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true
46
+ });
47
+ } else {
48
+ obj[key] = value;
49
+ }
50
+ return obj;
51
+ }
52
+ function _get_prototype_of(o) {
53
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
54
+ return o.__proto__ || Object.getPrototypeOf(o);
55
+ };
56
+ return _get_prototype_of(o);
57
+ }
58
+ function _inherits(subClass, superClass) {
59
+ if (typeof superClass !== "function" && superClass !== null) {
60
+ throw new TypeError("Super expression must either be null or a function");
61
+ }
62
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
63
+ constructor: {
64
+ value: subClass,
65
+ writable: true,
66
+ configurable: true
67
+ }
68
+ });
69
+ if (superClass) _set_prototype_of(subClass, superClass);
70
+ }
71
+ function _interop_require_default(obj) {
72
+ return obj && obj.__esModule ? obj : {
73
+ default: obj
74
+ };
75
+ }
76
+ function _possible_constructor_return(self, call) {
77
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
78
+ return call;
79
+ }
80
+ return _assert_this_initialized(self);
81
+ }
82
+ function _set_prototype_of(o, p) {
83
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
84
+ o.__proto__ = p;
85
+ return o;
86
+ };
87
+ return _set_prototype_of(o, p);
88
+ }
89
+ function _tagged_template_literal(strings, raw) {
90
+ if (!raw) {
91
+ raw = strings.slice(0);
92
+ }
93
+ return Object.freeze(Object.defineProperties(strings, {
94
+ raw: {
95
+ value: Object.freeze(raw)
96
+ }
97
+ }));
98
+ }
99
+ function _type_of(obj) {
100
+ "@swc/helpers - typeof";
101
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
102
+ }
103
+ function _is_native_reflect_construct() {
104
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
105
+ if (Reflect.construct.sham) return false;
106
+ if (typeof Proxy === "function") return true;
107
+ try {
108
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
109
+ return true;
110
+ } catch (e) {
111
+ return false;
112
+ }
113
+ }
114
+ function _create_super(Derived) {
115
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
116
+ return function _createSuperInternal() {
117
+ var Super = _get_prototype_of(Derived), result;
118
+ if (hasNativeReflectConstruct) {
119
+ var NewTarget = _get_prototype_of(this).constructor;
120
+ result = Reflect.construct(Super, arguments, NewTarget);
121
+ } else {
122
+ result = Super.apply(this, arguments);
123
+ }
124
+ return _possible_constructor_return(this, result);
125
+ };
126
+ }
127
+ function _templateObject() {
128
+ var data = _tagged_template_literal([
129
+ "\n\n width: 100%;\n height: 48rem;\n margin-top: 1rem;\n \n"
130
+ ]);
131
+ _templateObject = function _templateObject() {
132
+ return data;
133
+ };
134
+ return data;
135
+ }
136
+ var ParseTreeTextarea = /*#__PURE__*/ function(Textarea) {
137
+ _inherits(ParseTreeTextarea, Textarea);
138
+ var _super = _create_super(ParseTreeTextarea);
139
+ function ParseTreeTextarea() {
140
+ _class_call_check(this, ParseTreeTextarea);
141
+ return _super.apply(this, arguments);
142
+ }
143
+ _create_class(ParseTreeTextarea, [
144
+ {
145
+ key: "update",
146
+ value: function update(parseTree) {
147
+ var parseTreeString = parseTree.asString(), value = parseTreeString; ///
148
+ this.setValue(value);
149
+ }
150
+ },
151
+ {
152
+ key: "clear",
153
+ value: function clear() {
154
+ var value = _constants.EMPTY_STRING;
155
+ this.setValue(value);
156
+ }
157
+ },
158
+ {
159
+ key: "parentContext",
160
+ value: function parentContext() {
161
+ var setCSS = this.setCSS.bind(this);
162
+ return {
163
+ setCSS: setCSS
164
+ };
165
+ }
166
+ }
167
+ ]);
168
+ return ParseTreeTextarea;
169
+ }(_textarea.default);
170
+ _define_property(ParseTreeTextarea, "defaultProperties", {
171
+ readOnly: true,
172
+ className: "parse-tree",
173
+ spellCheck: "false"
174
+ });
175
+ var _default = (0, _easywithstyle.default)(ParseTreeTextarea)(_templateObject());
176
+
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgVGV4dGFyZWEgZnJvbSBcIi4uL3RleHRhcmVhXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuY2xhc3MgUGFyc2VUcmVlVGV4dGFyZWEgZXh0ZW5kcyBUZXh0YXJlYSB7XG4gIHVwZGF0ZShwYXJzZVRyZWUpIHtcbiAgICBjb25zdCBwYXJzZVRyZWVTdHJpbmcgPSBwYXJzZVRyZWUuYXNTdHJpbmcoKSxcbiAgICAgICAgICB2YWx1ZSA9IHBhcnNlVHJlZVN0cmluZzsgIC8vL1xuXG4gICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjb25zdCB2YWx1ZSA9IEVNUFRZX1NUUklORztcblxuICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBzZXRDU1MgPSB0aGlzLnNldENTUy5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuICh7XG4gICAgICBzZXRDU1NcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICByZWFkT25seTogdHJ1ZSxcbiAgICBjbGFzc05hbWU6IFwicGFyc2UtdHJlZVwiLFxuICAgIHNwZWxsQ2hlY2s6IFwiZmFsc2VcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoUGFyc2VUcmVlVGV4dGFyZWEpYFxuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBcbmA7XG4iXSwibmFtZXMiOlsiUGFyc2VUcmVlVGV4dGFyZWEiLCJ1cGRhdGUiLCJwYXJzZVRyZWUiLCJwYXJzZVRyZWVTdHJpbmciLCJhc1N0cmluZyIsInZhbHVlIiwic2V0VmFsdWUiLCJjbGVhciIsIkVNUFRZX1NUUklORyIsInBhcmVudENvbnRleHQiLCJzZXRDU1MiLCJiaW5kIiwiVGV4dGFyZWEiLCJkZWZhdWx0UHJvcGVydGllcyIsInJlYWRPbmx5IiwiY2xhc3NOYW1lIiwic3BlbGxDaGVjayIsIndpdGhTdHlsZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXFDQTs7O2VBQUE7OztvRUFuQ3NCOytEQUVEO3lCQUVROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBQSxBQUFNQSxrQ0FBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxTQUFTO2dCQUNkLElBQU1DLGtCQUFrQkQsVUFBVUUsUUFBUSxJQUNwQ0MsUUFBUUYsaUJBQWtCLEdBQUc7Z0JBRW5DLElBQUksQ0FBQ0csUUFBUSxDQUFDRDtZQUNoQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNRixRQUFRRyx1QkFBWTtnQkFFMUIsSUFBSSxDQUFDRixRQUFRLENBQUNEO1lBQ2hCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFNBQVMsSUFBSSxDQUFDQSxNQUFNLENBQUNDLElBQUksQ0FBQyxJQUFJO2dCQUVwQyxPQUFRO29CQUNORCxRQUFBQTtnQkFDRjtZQUNGOzs7V0FwQklWO0VBQTBCWSxpQkFBUTtBQXNCdEMsaUJBdEJJWixtQkFzQkdhLHFCQUFvQjtJQUN6QkMsVUFBVTtJQUNWQyxXQUFXO0lBQ1hDLFlBQVk7QUFDZDtJQUdGLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNqQiJ9
@@ -218,4 +218,4 @@ var XMP = /*#__PURE__*/ function(Element) {
218
218
  _define_property(XMP, "tagName", "xmp");
219
219
  var _default = (0, _easywithstyle.default)(XMP)(_templateObject());
220
220
 
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcveG1wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY2xhc3MgWE1QIGV4dGVuZHMgRWxlbWVudCB7XG4gIHVwZGF0ZShodG1scykge1xuICAgIGh0bWxzID0gaHRtbHMuam9pbihFTVBUWV9TVFJJTkcpO1xuXG4gICAgY29uc3QgYm9keSA9IGA8Ym9keT5cbiR7aHRtbHN9PC9ib2R5PmAsXG4gICAgICAgICAgaHRtbCA9IGJvZHk7XG5cbiAgICB0aGlzLmh0bWwoaHRtbCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjb25zdCBodG1sID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgdGhpcy5odG1sKGh0bWwpO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBjbGVhclhNUCA9IHRoaXMuY2xlYXIuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgdXBkYXRlWE1QID0gdGhpcy51cGRhdGUuYmluZCh0aGlzKTsgIC8vL1xuXG4gICAgcmV0dXJuICh7XG4gICAgICBjbGVhclhNUCxcbiAgICAgIHVwZGF0ZVhNUFxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcInhtcFwiO1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoWE1QKWBcblxuICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIFxuYDtcbiJdLCJuYW1lcyI6WyJYTVAiLCJ1cGRhdGUiLCJodG1scyIsImpvaW4iLCJFTVBUWV9TVFJJTkciLCJib2R5IiwiaHRtbCIsImNsZWFyIiwicGFyZW50Q29udGV4dCIsImNsZWFyWE1QIiwiYmluZCIsInVwZGF0ZVhNUCIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwid2l0aFN0eWxlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQ0E7OztlQUFBOzs7b0VBcENzQjtvQkFFRTt5QkFFSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFBLEFBQU1BLG9CQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLEtBQUs7Z0JBQ1ZBLFFBQVFBLE1BQU1DLElBQUksQ0FBQ0MsdUJBQVk7Z0JBRS9CLElBQU1DLE9BQU8sQUFBQyxXQUNWLE9BQU5ILE9BQU0sWUFDRUksT0FBT0Q7Z0JBRWIsSUFBSSxDQUFDQyxJQUFJLENBQUNBO1lBQ1o7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUQsT0FBT0YsdUJBQVk7Z0JBRXpCLElBQUksQ0FBQ0UsSUFBSSxDQUFDQTtZQUNaOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVcsSUFBSSxDQUFDRixLQUFLLENBQUNHLElBQUksQ0FBQyxJQUFJLEdBQy9CQyxZQUFZLElBQUksQ0FBQ1YsTUFBTSxDQUFDUyxJQUFJLENBQUMsSUFBSSxHQUFJLEdBQUc7Z0JBRTlDLE9BQVE7b0JBQ05ELFVBQUFBO29CQUNBRSxXQUFBQTtnQkFDRjtZQUNGOzs7V0F6QklYO3FCQUFZWSxhQUFPO0FBMkJ2QixpQkEzQklaLEtBMkJHYSxXQUFVO0lBR25CLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNkIn0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcveG1wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBYTVAgZXh0ZW5kcyBFbGVtZW50IHtcbiAgdXBkYXRlKGh0bWxzKSB7XG4gICAgaHRtbHMgPSBodG1scy5qb2luKEVNUFRZX1NUUklORyk7XG5cbiAgICBjb25zdCBib2R5ID0gYDxib2R5PlxuJHtodG1sc308L2JvZHk+YCxcbiAgICAgICAgICBodG1sID0gYm9keTtcblxuICAgIHRoaXMuaHRtbChodG1sKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIGNvbnN0IGh0bWwgPSBFTVBUWV9TVFJJTkc7XG5cbiAgICB0aGlzLmh0bWwoaHRtbCk7XG4gIH1cblxuICBwYXJlbnRDb250ZXh0KCkge1xuICAgIGNvbnN0IGNsZWFyWE1QID0gdGhpcy5jbGVhci5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICB1cGRhdGVYTVAgPSB0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpOyAgLy8vXG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGNsZWFyWE1QLFxuICAgICAgdXBkYXRlWE1QXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwieG1wXCI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShYTVApYFxuXG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbIlhNUCIsInVwZGF0ZSIsImh0bWxzIiwiam9pbiIsIkVNUFRZX1NUUklORyIsImJvZHkiLCJodG1sIiwiY2xlYXIiLCJwYXJlbnRDb250ZXh0IiwiY2xlYXJYTVAiLCJiaW5kIiwidXBkYXRlWE1QIiwiRWxlbWVudCIsInRhZ05hbWUiLCJ3aXRoU3R5bGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNDQTs7O2VBQUE7OztvRUFwQ3NCO29CQUVFO3lCQUVLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQUEsQUFBTUEsb0JBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsS0FBSztnQkFDVkEsUUFBUUEsTUFBTUMsSUFBSSxDQUFDQyx1QkFBWTtnQkFFL0IsSUFBTUMsT0FBTyxBQUFDLFdBQ1YsT0FBTkgsT0FBTSxZQUNFSSxPQUFPRDtnQkFFYixJQUFJLENBQUNDLElBQUksQ0FBQ0E7WUFDWjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNRCxPQUFPRix1QkFBWTtnQkFFekIsSUFBSSxDQUFDRSxJQUFJLENBQUNBO1lBQ1o7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBVyxJQUFJLENBQUNGLEtBQUssQ0FBQ0csSUFBSSxDQUFDLElBQUksR0FDL0JDLFlBQVksSUFBSSxDQUFDVixNQUFNLENBQUNTLElBQUksQ0FBQyxJQUFJLEdBQUksR0FBRztnQkFFOUMsT0FBUTtvQkFDTkQsVUFBQUE7b0JBQ0FFLFdBQUFBO2dCQUNGO1lBQ0Y7OztXQXpCSVg7cUJBQVlZLGFBQU87QUEyQnZCLGlCQTNCSVosS0EyQkdhLFdBQVU7SUFHbkIsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ2QifQ==
@@ -10,15 +10,16 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _easy = require("easy");
13
- var _index = require("../index");
14
13
  var _easylayout = require("easy-layout");
14
+ var _index = require("../index");
15
15
  var _xmp = /*#__PURE__*/ _interop_require_default(require("./view/xmp"));
16
16
  var _preview = /*#__PURE__*/ _interop_require_default(require("./view/div/preview"));
17
17
  var _subHeading = /*#__PURE__*/ _interop_require_default(require("./view/subHeading"));
18
18
  var _css = /*#__PURE__*/ _interop_require_default(require("./view/textarea/css"));
19
+ var _tabButtons = /*#__PURE__*/ _interop_require_default(require("./view/div/tabButtons"));
19
20
  var _left = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/left"));
20
- var _markdown = /*#__PURE__*/ _interop_require_default(require("./view/textarea/markdown"));
21
- var _markdownStyle = /*#__PURE__*/ _interop_require_default(require("./view/textarea/markdownStyle"));
21
+ var _markdown = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdown"));
22
+ var _markdownStyle = /*#__PURE__*/ _interop_require_default(require("./view/div/container/markdownStyle"));
22
23
  function _assert_this_initialized(self) {
23
24
  if (self === void 0) {
24
25
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -187,7 +188,7 @@ function _templateObject() {
187
188
  };
188
189
  return data;
189
190
  }
190
- var markdownLexer = _index.MarkdownLexer.fromNothing(), markdownParser = _index.MarkdownParser.fromNothing();
191
+ var markdownLexer = _index.MarkdownLexer.fromNothing(), markdownParser = _index.MarkdownParser.fromNothing(), markdownStyleLexer = _index.MarkdownStyleLexer.fromNothing(), markdownStyleParser = _index.MarkdownStyleParser.fromNothing();
191
192
  var View = /*#__PURE__*/ function(Element) {
192
193
  _inherits(View, Element);
193
194
  var _super = _create_super(View);
@@ -195,7 +196,13 @@ var View = /*#__PURE__*/ function(Element) {
195
196
  _class_call_check(this, View);
196
197
  var _this;
197
198
  _this = _super.apply(this, arguments);
198
- _define_property(_assert_this_initialized(_this), "keyUpHandler", function(event, element) {
199
+ _define_property(_assert_this_initialized(_this), "markdownStyleCustomHandler", function(event, element) {
200
+ _this.markdownStyle();
201
+ });
202
+ _define_property(_assert_this_initialized(_this), "markdownCustomHandler", function(event, element) {
203
+ _this.markdown();
204
+ });
205
+ _define_property(_assert_this_initialized(_this), "keyUpCustomHandler", function(event, element) {
199
206
  _this.update();
200
207
  });
201
208
  return _this;
@@ -206,12 +213,19 @@ var View = /*#__PURE__*/ function(Element) {
206
213
  value: function updateMarkdownStyle() {
207
214
  var markdownStyleElement = this.properties.markdownStyleElement, markdownStyle = this.getMarkdownStyle(), css = markdownStyleElement.update(markdownStyle);
208
215
  this.setCSS(css);
216
+ var lexer = markdownStyleLexer, parser = markdownStyleParser, content = markdownStyle, tokens = lexer.tokenise(content), node = parser.parse(tokens);
217
+ if (node !== null) {
218
+ var parseTree = node.asParseTree(tokens);
219
+ this.updateMarkdownStyleParseTreeTextarea(parseTree);
220
+ } else {
221
+ this.clearMarkdownStyleParseTreeTextarea();
222
+ }
209
223
  }
210
224
  },
211
225
  {
212
226
  key: "updateMarkdown",
213
227
  value: function updateMarkdown() {
214
- var markdown = this.getMarkdown(), content = markdown, lexer = markdownLexer, parser = markdownParser, tokens = lexer.tokenise(content), node = parser.parse(tokens);
228
+ var markdown = this.getMarkdown(), lexer = markdownLexer, parser = markdownParser, content = markdown, tokens = lexer.tokenise(content), node = parser.parse(tokens);
215
229
  if (node !== null) {
216
230
  var divisionMarkdownNode = node, divisionMarkdownNodes = [
217
231
  divisionMarkdownNode
@@ -239,12 +253,29 @@ var View = /*#__PURE__*/ function(Element) {
239
253
  });
240
254
  this.updateXMP(htmls);
241
255
  this.updatePreviewDiv(domElements);
256
+ var parseTree = node.asParseTree(tokens);
257
+ this.updateMarkdownParseTreeTextarea(parseTree);
242
258
  } else {
243
259
  this.clearXMP();
244
260
  this.clearPreviewDiv();
261
+ this.clearMarkdownParseTreeTextarea();
245
262
  }
246
263
  }
247
264
  },
265
+ {
266
+ key: "markdownStyle",
267
+ value: function markdownStyle() {
268
+ this.hideMarkdownContainerDiv();
269
+ this.showMarkdownStyleContainerDiv();
270
+ }
271
+ },
272
+ {
273
+ key: "markdown",
274
+ value: function markdown() {
275
+ this.showMarkdownContainerDiv();
276
+ this.hideMarkdownStyleContainerDiv();
277
+ }
278
+ },
248
279
  {
249
280
  key: "update",
250
281
  value: function update() {
@@ -255,10 +286,13 @@ var View = /*#__PURE__*/ function(Element) {
255
286
  {
256
287
  key: "childElements",
257
288
  value: function childElements() {
258
- return /*#__PURE__*/ React.createElement(_easylayout.ColumnsDiv, null, /*#__PURE__*/ React.createElement(_left.default, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Markdown"), /*#__PURE__*/ React.createElement(_markdown.default, {
259
- onKeyUp: this.keyUpHandler
260
- }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Markdown style"), /*#__PURE__*/ React.createElement(_markdownStyle.default, {
261
- onKeyUp: this.keyUpHandler
289
+ return /*#__PURE__*/ React.createElement(_easylayout.ColumnsDiv, null, /*#__PURE__*/ React.createElement(_left.default, null, /*#__PURE__*/ React.createElement(_tabButtons.default, {
290
+ onCustomMarkdown: this.markdownCustomHandler,
291
+ onCustomMarkdownStyle: this.markdownStyleCustomHandler
292
+ }), /*#__PURE__*/ React.createElement(_markdown.default, {
293
+ onCustomKeyUp: this.keyUpCustomHandler
294
+ }), /*#__PURE__*/ React.createElement(_markdownStyle.default, {
295
+ onCustomKeyUp: this.keyUpCustomHandler
262
296
  })), /*#__PURE__*/ React.createElement(_easylayout.VerticalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.ColumnDiv, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "HTML"), /*#__PURE__*/ React.createElement(_xmp.default, null), /*#__PURE__*/ React.createElement(_subHeading.default, null, "CSS"), /*#__PURE__*/ React.createElement(_css.default, null), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Preview"), /*#__PURE__*/ React.createElement(_preview.default, null))));
263
297
  }
264
298
  },
@@ -276,7 +310,7 @@ var View = /*#__PURE__*/ function(Element) {
276
310
  return View;
277
311
  }(_wrap_native_super(_easy.Element));
278
312
  _define_property(View, "initialMarkdownStyle", "min-height: initial;\n");
279
- _define_property(View, "initialMarkdown", "https://occam.science\n \n");
313
+ _define_property(View, "initialMarkdown", "```\ngit clone git\\@github.com:djalbat/the-occam-user-manual.git\n```\n");
280
314
  _define_property(View, "tagName", "div");
281
315
  _define_property(View, "ignoredProperties", [
282
316
  "markdownStyleElement"
@@ -294,4 +328,4 @@ function importer(filePath, context) {
294
328
  });
295
329
  }
296
330
 
297
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgTWFya2Rvd25MZXhlciwgTWFya2Rvd25QYXJzZXIgfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7IFJvd3NEaXYsIENvbHVtbkRpdiwgQ29sdW1uc0RpdiwgVmVydGljYWxTcGxpdHRlckRpdiB9IGZyb20gXCJlYXN5LWxheW91dFwiO1xuXG5pbXBvcnQgWE1QIGZyb20gXCIuL3ZpZXcveG1wXCI7XG5pbXBvcnQgUHJldmlld0RpdiBmcm9tIFwiLi92aWV3L2Rpdi9wcmV2aWV3XCI7XG5pbXBvcnQgU3ViSGVhZGluZyBmcm9tIFwiLi92aWV3L3N1YkhlYWRpbmdcIjtcbmltcG9ydCBDU1NUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL2Nzc1wiO1xuaW1wb3J0IExlZnRTaXplYWJsZURpdiBmcm9tIFwiLi92aWV3L2Rpdi9zaXplYWJsZS9sZWZ0XCI7XG5pbXBvcnQgTWFya2Rvd25UZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL21hcmtkb3duXCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZVRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvbWFya2Rvd25TdHlsZVwiO1xuXG5jb25zdCBtYXJrZG93bkxleGVyID0gTWFya2Rvd25MZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25QYXJzZXIgPSBNYXJrZG93blBhcnNlci5mcm9tTm90aGluZygpO1xuXG5jbGFzcyBWaWV3IGV4dGVuZHMgRWxlbWVudCB7XG4gIGtleVVwSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICB1cGRhdGVNYXJrZG93blN0eWxlKCkge1xuICAgIGNvbnN0IHsgbWFya2Rvd25TdHlsZUVsZW1lbnQgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBtYXJrZG93blN0eWxlID0gdGhpcy5nZXRNYXJrZG93blN0eWxlKCksXG4gICAgICAgICAgY3NzID0gbWFya2Rvd25TdHlsZUVsZW1lbnQudXBkYXRlKG1hcmtkb3duU3R5bGUpO1xuXG4gICAgdGhpcy5zZXRDU1MoY3NzKTtcbiAgfVxuXG4gIHVwZGF0ZU1hcmtkb3duKCkge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5nZXRNYXJrZG93bigpLFxuICAgICAgICAgIGNvbnRlbnQgPSBtYXJrZG93biwgLy8vXG4gICAgICAgICAgbGV4ZXIgPSBtYXJrZG93bkxleGVyLFxuICAgICAgICAgIHBhcnNlciA9ICBtYXJrZG93blBhcnNlcixcbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXG4gICAgICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgICAgdG9rZW5zLFxuICAgICAgICAgICAgICBpbXBvcnRlcixcbiAgICAgICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzXG4gICAgICAgICAgICB9O1xuXG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlSW5jbHVkZXMoY29udGV4dCk7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KTtcblxuICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5jcmVhdGVGb290bm90ZXMoY29udGV4dCk7XG4gICAgICB9KTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLnNvbWUoKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzQ3JlYXRlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmNyZWF0ZUNvbnRlbnRzKGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChjb250ZW50c0NyZWF0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGh0bWxzID0gW10sXG4gICAgICAgICAgICBkb21FbGVtZW50cyA9IFtdO1xuXG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgY29uc3QgaHRtbCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmFzSFRNTChjb250ZXh0KSxcbiAgICAgICAgICAgICAgZG9tRWxlbWVudCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAgICAgaHRtbHMucHVzaChodG1sKTtcblxuICAgICAgICBkb21FbGVtZW50cy5wdXNoKGRvbUVsZW1lbnQpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudXBkYXRlWE1QKGh0bWxzKTtcblxuICAgICAgdGhpcy51cGRhdGVQcmV2aWV3RGl2KGRvbUVsZW1lbnRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhclhNUCgpO1xuXG4gICAgICB0aGlzLmNsZWFyUHJldmlld0RpdigpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSgpIHtcbiAgICB0aGlzLnVwZGF0ZU1hcmtkb3duKCk7XG4gICAgdGhpcy51cGRhdGVNYXJrZG93blN0eWxlKCk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIHJldHVybiAoXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8TGVmdFNpemVhYmxlRGl2PlxuICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgTWFya2Rvd25cbiAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgPE1hcmtkb3duVGV4dGFyZWEgb25LZXlVcD17dGhpcy5rZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICBNYXJrZG93biBzdHlsZVxuICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICA8TWFya2Rvd25TdHlsZVRleHRhcmVhIG9uS2V5VXA9e3RoaXMua2V5VXBIYW5kbGVyfSAvPlxuICAgICAgICA8L0xlZnRTaXplYWJsZURpdj5cbiAgICAgICAgPFZlcnRpY2FsU3BsaXR0ZXJEaXYvPlxuICAgICAgICA8Q29sdW1uRGl2PlxuICAgICAgICAgIDxSb3dzRGl2PlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEhUTUxcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxYTVAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIENTU1xuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPENTU1RleHRhcmVhLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBQcmV2aWV3XG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8UHJldmlld0Rpdi8+XG4gICAgICAgICAgPC9Sb3dzRGl2PlxuICAgICAgICA8L0NvbHVtbkRpdj5cbiAgICAgIDwvQ29sdW1uc0Rpdj5cblxuICAgICk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsTWFya2Rvd24sIGluaXRpYWxNYXJrZG93blN0eWxlIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIG1hcmtkb3duU3R5bGUgPSBpbml0aWFsTWFya2Rvd25TdHlsZSwgLy8vXG4gICAgICAgICAgbWFya2Rvd24gPSBpbml0aWFsTWFya2Rvd247IC8vL1xuXG4gICAgdGhpcy5zZXRNYXJrZG93bihtYXJrZG93bik7XG5cbiAgICB0aGlzLnNldE1hcmtkb3duU3R5bGUobWFya2Rvd25TdHlsZSk7XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgc3RhdGljIGluaXRpYWxNYXJrZG93blN0eWxlID0gYG1pbi1oZWlnaHQ6IGluaXRpYWw7XG5gO1xuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd24gPSBgaHR0cHM6Ly9vY2NhbS5zY2llbmNlXG4gIFxuYDtcblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwibWFya2Rvd25TdHlsZUVsZW1lbnRcIlxuICBdO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICBwYWRkaW5nOiAxcmVtO1xuICBcbmA7XG5cbmZ1bmN0aW9uIGltcG9ydGVyKGZpbGVQYXRoLCBjb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBgIyMgU2Vjb25kYXJ5IGhlYWRpbmdcblxuW15oZWFkaW5nXTogQSBoZWFkaW5nLlxuXG5AZm9vdG5vdGVzXG4gICAgICAgIGAsXG4gICAgICAgIHRva2VucyA9IG1hcmtkb3duTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgIG5vZGUgPSBtYXJrZG93blBhcnNlci5wYXJzZSh0b2tlbnMpLFxuICAgICAgICBpbXBvcnRlZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgIGltcG9ydGVkVG9rZW5zID0gdG9rZW5zLFxuICAgICAgICBpbXBvcnRlZENsYXNzTmFtZSA9IFwiaW50cm9kdWN0aW9uXCI7XG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgaW1wb3J0ZWROb2RlLFxuICAgIGltcG9ydGVkVG9rZW5zLFxuICAgIGltcG9ydGVkQ2xhc3NOYW1lXG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbIm1hcmtkb3duTGV4ZXIiLCJNYXJrZG93bkxleGVyIiwiZnJvbU5vdGhpbmciLCJtYXJrZG93blBhcnNlciIsIk1hcmtkb3duUGFyc2VyIiwiVmlldyIsImtleVVwSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsInVwZGF0ZSIsInVwZGF0ZU1hcmtkb3duU3R5bGUiLCJtYXJrZG93blN0eWxlRWxlbWVudCIsInByb3BlcnRpZXMiLCJtYXJrZG93blN0eWxlIiwiZ2V0TWFya2Rvd25TdHlsZSIsImNzcyIsInNldENTUyIsInVwZGF0ZU1hcmtkb3duIiwibWFya2Rvd24iLCJnZXRNYXJrZG93biIsImNvbnRlbnQiLCJsZXhlciIsInBhcnNlciIsInRva2VucyIsInRva2VuaXNlIiwibm9kZSIsInBhcnNlIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJjb250ZXh0IiwiaW1wb3J0ZXIiLCJyZXNvbHZlSW5jbHVkZXMiLCJmb3JFYWNoIiwicmVzb2x2ZUVtYmVkZGluZ3MiLCJjcmVhdGVGb290bm90ZXMiLCJzb21lIiwiY29udGVudHNDcmVhdGVkIiwiY3JlYXRlQ29udGVudHMiLCJodG1scyIsImRvbUVsZW1lbnRzIiwiaHRtbCIsImFzSFRNTCIsImRvbUVsZW1lbnQiLCJjcmVhdGVET01FbGVtZW50IiwicHVzaCIsInVwZGF0ZVhNUCIsInVwZGF0ZVByZXZpZXdEaXYiLCJjbGVhclhNUCIsImNsZWFyUHJldmlld0RpdiIsImNoaWxkRWxlbWVudHMiLCJDb2x1bW5zRGl2IiwiTGVmdFNpemVhYmxlRGl2IiwiU3ViSGVhZGluZyIsIk1hcmtkb3duVGV4dGFyZWEiLCJvbktleVVwIiwiTWFya2Rvd25TdHlsZVRleHRhcmVhIiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIlJvd3NEaXYiLCJYTVAiLCJDU1NUZXh0YXJlYSIsIlByZXZpZXdEaXYiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImNvbnN0cnVjdG9yIiwiaW5pdGlhbE1hcmtkb3duIiwiaW5pdGlhbE1hcmtkb3duU3R5bGUiLCJzZXRNYXJrZG93biIsInNldE1hcmtkb3duU3R5bGUiLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiLCJmaWxlUGF0aCIsImltcG9ydGVkTm9kZSIsImltcG9ydGVkVG9rZW5zIiwiaW1wb3J0ZWRDbGFzc05hbWUiLCJPYmplY3QiLCJhc3NpZ24iXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrS0E7OztlQUFBOzs7b0VBaEtzQjtvQkFFRTtxQkFDc0I7MEJBQ3NCOzBEQUVwRDs4REFDTztpRUFDQTswREFDQzsyREFDSTsrREFDQztvRUFDSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQyxJQUFNQSxnQkFBZ0JDLG9CQUFhLENBQUNDLFdBQVcsSUFDekNDLGlCQUFpQkMscUJBQWMsQ0FBQ0YsV0FBVztBQUVqRCxJQUFBLEFBQU1HLHFCQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O1FBQ0pDLGtEQUFBQSxnQkFBZSxTQUFDQyxPQUFPQztZQUNyQixNQUFLQyxNQUFNO1FBQ2I7OztrQkFISUo7O1lBS0pLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNLEFBQUVDLHVCQUF5QixJQUFJLENBQUNDLFVBQVUsQ0FBeENELHNCQUNGRSxnQkFBZ0IsSUFBSSxDQUFDQyxnQkFBZ0IsSUFDckNDLE1BQU1KLHFCQUFxQkYsTUFBTSxDQUFDSTtnQkFFeEMsSUFBSSxDQUFDRyxNQUFNLENBQUNEO1lBQ2Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBVyxJQUFJLENBQUNDLFdBQVcsSUFDM0JDLFVBQVVGLFVBQ1ZHLFFBQVFyQixlQUNSc0IsU0FBVW5CLGdCQUNWb0IsU0FBU0YsTUFBTUcsUUFBUSxDQUFDSixVQUN4QkssT0FBT0gsT0FBT0ksS0FBSyxDQUFDSDtnQkFFMUIsSUFBSUUsU0FBUyxNQUFNO29CQUNqQixJQUFNRSx1QkFBdUJGLE1BQ3ZCRyx3QkFBd0I7d0JBQ3RCRDtxQkFDRCxFQUNERSxVQUFVO3dCQUNSTixRQUFBQTt3QkFDQU8sVUFBQUE7d0JBQ0FGLHVCQUFBQTtvQkFDRjtvQkFFTkQscUJBQXFCSSxlQUFlLENBQUNGO29CQUVyQ0Qsc0JBQXNCSSxPQUFPLENBQUMsU0FBQ0w7d0JBQzdCQSxxQkFBcUJNLGlCQUFpQixDQUFDSjt3QkFFdkNGLHFCQUFxQk8sZUFBZSxDQUFDTDtvQkFDdkM7b0JBRUFELHNCQUFzQk8sSUFBSSxDQUFDLFNBQUNSO3dCQUMxQixJQUFNUyxrQkFBa0JULHFCQUFxQlUsY0FBYyxDQUFDUjt3QkFFNUQsSUFBSU8saUJBQWlCOzRCQUNuQixPQUFPO3dCQUNUO29CQUNGO29CQUVBLElBQU1FLFFBQVEsRUFBRSxFQUNWQyxjQUFjLEVBQUU7b0JBRXRCWCxzQkFBc0JJLE9BQU8sQ0FBQyxTQUFDTDt3QkFDN0IsSUFBTWEsT0FBT2IscUJBQXFCYyxNQUFNLENBQUNaLFVBQ25DYSxhQUFhZixxQkFBcUJnQixnQkFBZ0IsQ0FBQ2Q7d0JBRXpEUyxNQUFNTSxJQUFJLENBQUNKO3dCQUVYRCxZQUFZSyxJQUFJLENBQUNGO29CQUNuQjtvQkFFQSxJQUFJLENBQUNHLFNBQVMsQ0FBQ1A7b0JBRWYsSUFBSSxDQUFDUSxnQkFBZ0IsQ0FBQ1A7Z0JBQ3hCLE9BQU87b0JBQ0wsSUFBSSxDQUFDUSxRQUFRO29CQUViLElBQUksQ0FBQ0MsZUFBZTtnQkFDdEI7WUFDRjs7O1lBRUF2QyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDUSxjQUFjO2dCQUNuQixJQUFJLENBQUNQLG1CQUFtQjtZQUMxQjs7O1lBRUF1QyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UscUJBRUUsb0JBQUNDLHNCQUFVLHNCQUNULG9CQUFDQyxhQUFlLHNCQUNkLG9CQUFDQyxtQkFBVSxRQUFDLDJCQUdaLG9CQUFDQyxpQkFBZ0I7b0JBQUNDLFNBQVMsSUFBSSxDQUFDaEQsWUFBWTtrQ0FDNUMsb0JBQUM4QyxtQkFBVSxRQUFDLGlDQUdaLG9CQUFDRyxzQkFBcUI7b0JBQUNELFNBQVMsSUFBSSxDQUFDaEQsWUFBWTttQ0FFbkQsb0JBQUNrRCwrQkFBbUIsdUJBQ3BCLG9CQUFDQyxxQkFBUyxzQkFDUixvQkFBQ0MsbUJBQU8sc0JBQ04sb0JBQUNOLG1CQUFVLFFBQUMsdUJBR1osb0JBQUNPLFlBQUcsdUJBQ0osb0JBQUNQLG1CQUFVLFFBQUMsc0JBR1osb0JBQUNRLFlBQVcsdUJBQ1osb0JBQUNSLG1CQUFVLFFBQUMsMEJBR1osb0JBQUNTLGdCQUFVO1lBTXJCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsYUFBYTtnQkFFbEIsSUFBa0Qsb0JBQUEsSUFBSSxDQUFDQyxXQUFXLEVBQTFEQyxrQkFBMEMsa0JBQTFDQSxpQkFBaUJDLHVCQUF5QixrQkFBekJBLHNCQUNuQnJELGdCQUFnQnFELHNCQUNoQmhELFdBQVcrQyxpQkFBaUIsR0FBRztnQkFFckMsSUFBSSxDQUFDRSxXQUFXLENBQUNqRDtnQkFFakIsSUFBSSxDQUFDa0QsZ0JBQWdCLENBQUN2RDtnQkFFdEIsSUFBSSxDQUFDSixNQUFNO1lBQ2I7OztXQTNISUo7cUJBQWFnRSxhQUFPO0FBNkh4QixpQkE3SEloRSxNQTZIRzZELHdCQUF3QjtBQUcvQixpQkFoSUk3RCxNQWdJRzRELG1CQUFtQjtBQUkxQixpQkFwSUk1RCxNQW9JR2lFLFdBQVU7QUFFakIsaUJBdElJakUsTUFzSUdrRSxxQkFBb0I7SUFDekI7Q0FDRDtBQUVELGlCQTFJSWxFLE1BMElHbUUscUJBQW9CO0lBQ3pCQyxXQUFXO0FBQ2I7SUFHRixXQUFlQyxJQUFBQSxzQkFBUyxFQUFDckU7QUFNekIsU0FBU3lCLFNBQVM2QyxRQUFRLEVBQUU5QyxPQUFPO0lBQ2pDLElBQU1ULFVBQVcsMEVBTVhHLFNBQVN2QixjQUFjd0IsUUFBUSxDQUFDSixVQUNoQ0ssT0FBT3RCLGVBQWV1QixLQUFLLENBQUNILFNBQzVCcUQsZUFBZW5ELE1BQ2ZvRCxpQkFBaUJ0RCxRQUNqQnVELG9CQUFvQjtJQUUxQkMsT0FBT0MsTUFBTSxDQUFDbkQsU0FBUztRQUNyQitDLGNBQUFBO1FBQ0FDLGdCQUFBQTtRQUNBQyxtQkFBQUE7SUFDRjtBQUNGIn0=
331
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBNYXJrZG93bkxleGVyLCBNYXJrZG93blBhcnNlciwgTWFya2Rvd25TdHlsZUxleGVyLCBNYXJrZG93blN0eWxlUGFyc2VyIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5cbmltcG9ydCBYTVAgZnJvbSBcIi4vdmlldy94bXBcIjtcbmltcG9ydCBQcmV2aWV3RGl2IGZyb20gXCIuL3ZpZXcvZGl2L3ByZXZpZXdcIjtcbmltcG9ydCBTdWJIZWFkaW5nIGZyb20gXCIuL3ZpZXcvc3ViSGVhZGluZ1wiO1xuaW1wb3J0IENTU1RleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvY3NzXCI7XG5pbXBvcnQgVGFiQnV0dG9uc0RpdiBmcm9tIFwiLi92aWV3L2Rpdi90YWJCdXR0b25zXCI7XG5pbXBvcnQgTGVmdFNpemVhYmxlRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3NpemVhYmxlL2xlZnRcIjtcbmltcG9ydCBNYXJrZG93bkNvbnRhaW5lckRpdiBmcm9tIFwiLi92aWV3L2Rpdi9jb250YWluZXIvbWFya2Rvd25cIjtcbmltcG9ydCBNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2IGZyb20gXCIuL3ZpZXcvZGl2L2NvbnRhaW5lci9tYXJrZG93blN0eWxlXCI7XG5cbmNvbnN0IG1hcmtkb3duTGV4ZXIgPSBNYXJrZG93bkxleGVyLmZyb21Ob3RoaW5nKCksXG4gICAgICBtYXJrZG93blBhcnNlciA9IE1hcmtkb3duUGFyc2VyLmZyb21Ob3RoaW5nKCksXG4gICAgICBtYXJrZG93blN0eWxlTGV4ZXIgPSBNYXJrZG93blN0eWxlTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVQYXJzZXIgPSBNYXJrZG93blN0eWxlUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgbWFya2Rvd25TdHlsZUN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLm1hcmtkb3duU3R5bGUoKTtcbiAgfVxuXG4gIG1hcmtkb3duQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWFya2Rvd24oKTtcbiAgfVxuXG4gIGtleVVwQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICB1cGRhdGVNYXJrZG93blN0eWxlKCkge1xuICAgIGNvbnN0IHsgbWFya2Rvd25TdHlsZUVsZW1lbnQgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBtYXJrZG93blN0eWxlID0gdGhpcy5nZXRNYXJrZG93blN0eWxlKCksXG4gICAgICAgICAgY3NzID0gbWFya2Rvd25TdHlsZUVsZW1lbnQudXBkYXRlKG1hcmtkb3duU3R5bGUpO1xuXG4gICAgdGhpcy5zZXRDU1MoY3NzKTtcblxuICAgIGNvbnN0IGxleGVyID0gbWFya2Rvd25TdHlsZUxleGVyLCAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBtYXJrZG93blN0eWxlUGFyc2VyLCAvLy9cbiAgICAgICAgICBjb250ZW50ID0gbWFya2Rvd25TdHlsZSwgIC8vL1xuICAgICAgICAgIHRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG5cbiAgICAgIHRoaXMudXBkYXRlTWFya2Rvd25TdHlsZVBhcnNlVHJlZVRleHRhcmVhKHBhcnNlVHJlZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVNYXJrZG93bigpIHtcbiAgICBjb25zdCBtYXJrZG93biA9IHRoaXMuZ2V0TWFya2Rvd24oKSxcbiAgICAgICAgICBsZXhlciA9IG1hcmtkb3duTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSAgbWFya2Rvd25QYXJzZXIsIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBtYXJrZG93biwgLy8vXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gW1xuICAgICAgICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICAgIHRva2VucyxcbiAgICAgICAgICAgICAgaW1wb3J0ZXIsXG4gICAgICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc1xuICAgICAgICAgICAgfTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGVzKGNvbnRleHQpO1xuXG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUVtYmVkZGluZ3MoY29udGV4dCk7XG5cbiAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUuY3JlYXRlRm9vdG5vdGVzKGNvbnRleHQpO1xuICAgICAgfSk7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50c0NyZWF0ZWQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5jcmVhdGVDb250ZW50cyhjb250ZXh0KTtcblxuICAgICAgICBpZiAoY29udGVudHNDcmVhdGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBodG1scyA9IFtdLFxuICAgICAgICAgICAgZG9tRWxlbWVudHMgPSBbXTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGh0bWwgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5hc0hUTUwoY29udGV4dCksXG4gICAgICAgICAgICAgIGRvbUVsZW1lbnQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5jcmVhdGVET01FbGVtZW50KGNvbnRleHQpO1xuXG4gICAgICAgIGh0bWxzLnB1c2goaHRtbCk7XG5cbiAgICAgICAgZG9tRWxlbWVudHMucHVzaChkb21FbGVtZW50KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnVwZGF0ZVhNUChodG1scyk7XG5cbiAgICAgIHRoaXMudXBkYXRlUHJldmlld0Rpdihkb21FbGVtZW50cyk7XG5cbiAgICAgIGNvbnN0IHBhcnNlVHJlZSA9IG5vZGUuYXNQYXJzZVRyZWUodG9rZW5zKTtcblxuICAgICAgdGhpcy51cGRhdGVNYXJrZG93blBhcnNlVHJlZVRleHRhcmVhKHBhcnNlVHJlZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJYTVAoKTtcblxuICAgICAgdGhpcy5jbGVhclByZXZpZXdEaXYoKTtcblxuICAgICAgdGhpcy5jbGVhck1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEoKTtcbiAgICB9XG4gIH1cblxuICBtYXJrZG93blN0eWxlKCkge1xuICAgIHRoaXMuaGlkZU1hcmtkb3duQ29udGFpbmVyRGl2KCk7XG4gICAgdGhpcy5zaG93TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdigpO1xuICB9XG5cbiAgbWFya2Rvd24oKSB7XG4gICAgdGhpcy5zaG93TWFya2Rvd25Db250YWluZXJEaXYoKTtcbiAgICB0aGlzLmhpZGVNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2KCk7XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy51cGRhdGVNYXJrZG93bigpO1xuICAgIHRoaXMudXBkYXRlTWFya2Rvd25TdHlsZSgpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICByZXR1cm4gKFxuXG4gICAgICA8Q29sdW1uc0Rpdj5cbiAgICAgICAgPExlZnRTaXplYWJsZURpdj5cbiAgICAgICAgICA8VGFiQnV0dG9uc0RpdiBvbkN1c3RvbU1hcmtkb3duPXt0aGlzLm1hcmtkb3duQ3VzdG9tSGFuZGxlcn0gb25DdXN0b21NYXJrZG93blN0eWxlPXt0aGlzLm1hcmtkb3duU3R5bGVDdXN0b21IYW5kbGVyfSAvPlxuICAgICAgICAgIDxNYXJrZG93bkNvbnRhaW5lckRpdiBvbkN1c3RvbUtleVVwPXt0aGlzLmtleVVwQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgICA8TWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiBvbkN1c3RvbUtleVVwPXt0aGlzLmtleVVwQ3VzdG9tSGFuZGxlcn0gLz5cbiAgICAgICAgPC9MZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2Lz5cbiAgICAgICAgPENvbHVtbkRpdj5cbiAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBIVE1MXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8WE1QLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBDU1NcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxDU1NUZXh0YXJlYS8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgUHJldmlld1xuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFByZXZpZXdEaXYvPlxuICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgPC9Db2x1bW5EaXY+XG4gICAgICA8L0NvbHVtbnNEaXY+XG5cbiAgICApO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIGNvbnN0IHsgaW5pdGlhbE1hcmtkb3duLCBpbml0aWFsTWFya2Rvd25TdHlsZSB9ID0gdGhpcy5jb25zdHJ1Y3RvcixcbiAgICAgICAgICBtYXJrZG93blN0eWxlID0gaW5pdGlhbE1hcmtkb3duU3R5bGUsIC8vL1xuICAgICAgICAgIG1hcmtkb3duID0gaW5pdGlhbE1hcmtkb3duOyAvLy9cblxuICAgIHRoaXMuc2V0TWFya2Rvd24obWFya2Rvd24pO1xuXG4gICAgdGhpcy5zZXRNYXJrZG93blN0eWxlKG1hcmtkb3duU3R5bGUpO1xuXG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHN0YXRpYyBpbml0aWFsTWFya2Rvd25TdHlsZSA9IGBtaW4taGVpZ2h0OiBpbml0aWFsO1xuYDtcblxuICBzdGF0aWMgaW5pdGlhbE1hcmtkb3duID0gYFxcYFxcYFxcYFxuZ2l0IGNsb25lIGdpdFxcXFxAZ2l0aHViLmNvbTpkamFsYmF0L3RoZS1vY2NhbS11c2VyLW1hbnVhbC5naXRcblxcYFxcYFxcYFxuYDtcblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwibWFya2Rvd25TdHlsZUVsZW1lbnRcIlxuICBdO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICBwYWRkaW5nOiAxcmVtO1xuICBcbmA7XG5cbmZ1bmN0aW9uIGltcG9ydGVyKGZpbGVQYXRoLCBjb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBgIyMgU2Vjb25kYXJ5IGhlYWRpbmdcblxuW15oZWFkaW5nXTogQSBoZWFkaW5nLlxuXG5AZm9vdG5vdGVzXG4gICAgICAgIGAsXG4gICAgICAgIHRva2VucyA9IG1hcmtkb3duTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgIG5vZGUgPSBtYXJrZG93blBhcnNlci5wYXJzZSh0b2tlbnMpLFxuICAgICAgICBpbXBvcnRlZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgIGltcG9ydGVkVG9rZW5zID0gdG9rZW5zLFxuICAgICAgICBpbXBvcnRlZENsYXNzTmFtZSA9IFwiaW50cm9kdWN0aW9uXCI7XG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgaW1wb3J0ZWROb2RlLFxuICAgIGltcG9ydGVkVG9rZW5zLFxuICAgIGltcG9ydGVkQ2xhc3NOYW1lXG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbIm1hcmtkb3duTGV4ZXIiLCJNYXJrZG93bkxleGVyIiwiZnJvbU5vdGhpbmciLCJtYXJrZG93blBhcnNlciIsIk1hcmtkb3duUGFyc2VyIiwibWFya2Rvd25TdHlsZUxleGVyIiwiTWFya2Rvd25TdHlsZUxleGVyIiwibWFya2Rvd25TdHlsZVBhcnNlciIsIk1hcmtkb3duU3R5bGVQYXJzZXIiLCJWaWV3IiwibWFya2Rvd25TdHlsZUN1c3RvbUhhbmRsZXIiLCJldmVudCIsImVsZW1lbnQiLCJtYXJrZG93blN0eWxlIiwibWFya2Rvd25DdXN0b21IYW5kbGVyIiwibWFya2Rvd24iLCJrZXlVcEN1c3RvbUhhbmRsZXIiLCJ1cGRhdGUiLCJ1cGRhdGVNYXJrZG93blN0eWxlIiwibWFya2Rvd25TdHlsZUVsZW1lbnQiLCJwcm9wZXJ0aWVzIiwiZ2V0TWFya2Rvd25TdHlsZSIsImNzcyIsInNldENTUyIsImxleGVyIiwicGFyc2VyIiwiY29udGVudCIsInRva2VucyIsInRva2VuaXNlIiwibm9kZSIsInBhcnNlIiwicGFyc2VUcmVlIiwiYXNQYXJzZVRyZWUiLCJ1cGRhdGVNYXJrZG93blN0eWxlUGFyc2VUcmVlVGV4dGFyZWEiLCJjbGVhck1hcmtkb3duU3R5bGVQYXJzZVRyZWVUZXh0YXJlYSIsInVwZGF0ZU1hcmtkb3duIiwiZ2V0TWFya2Rvd24iLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImNvbnRleHQiLCJpbXBvcnRlciIsInJlc29sdmVJbmNsdWRlcyIsImZvckVhY2giLCJyZXNvbHZlRW1iZWRkaW5ncyIsImNyZWF0ZUZvb3Rub3RlcyIsInNvbWUiLCJjb250ZW50c0NyZWF0ZWQiLCJjcmVhdGVDb250ZW50cyIsImh0bWxzIiwiZG9tRWxlbWVudHMiLCJodG1sIiwiYXNIVE1MIiwiZG9tRWxlbWVudCIsImNyZWF0ZURPTUVsZW1lbnQiLCJwdXNoIiwidXBkYXRlWE1QIiwidXBkYXRlUHJldmlld0RpdiIsInVwZGF0ZU1hcmtkb3duUGFyc2VUcmVlVGV4dGFyZWEiLCJjbGVhclhNUCIsImNsZWFyUHJldmlld0RpdiIsImNsZWFyTWFya2Rvd25QYXJzZVRyZWVUZXh0YXJlYSIsImhpZGVNYXJrZG93bkNvbnRhaW5lckRpdiIsInNob3dNYXJrZG93blN0eWxlQ29udGFpbmVyRGl2Iiwic2hvd01hcmtkb3duQ29udGFpbmVyRGl2IiwiaGlkZU1hcmtkb3duU3R5bGVDb250YWluZXJEaXYiLCJjaGlsZEVsZW1lbnRzIiwiQ29sdW1uc0RpdiIsIkxlZnRTaXplYWJsZURpdiIsIlRhYkJ1dHRvbnNEaXYiLCJvbkN1c3RvbU1hcmtkb3duIiwib25DdXN0b21NYXJrZG93blN0eWxlIiwiTWFya2Rvd25Db250YWluZXJEaXYiLCJvbkN1c3RvbUtleVVwIiwiTWFya2Rvd25TdHlsZUNvbnRhaW5lckRpdiIsIlZlcnRpY2FsU3BsaXR0ZXJEaXYiLCJDb2x1bW5EaXYiLCJSb3dzRGl2IiwiU3ViSGVhZGluZyIsIlhNUCIsIkNTU1RleHRhcmVhIiwiUHJldmlld0RpdiIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiY29uc3RydWN0b3IiLCJpbml0aWFsTWFya2Rvd24iLCJpbml0aWFsTWFya2Rvd25TdHlsZSIsInNldE1hcmtkb3duIiwic2V0TWFya2Rvd25TdHlsZSIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSIsImZpbGVQYXRoIiwiaW1wb3J0ZWROb2RlIiwiaW1wb3J0ZWRUb2tlbnMiLCJpbXBvcnRlZENsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1TUE7OztlQUFBOzs7b0VBck1zQjtvQkFFRTswQkFDNEM7cUJBQ21COzBEQUV2RTs4REFDTztpRUFDQTswREFDQztpRUFDRTsyREFDRTsrREFDSztvRUFDSzs7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "0.0.273",
4
+ "version": "0.0.277",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export const KEY_UP_CUSTOM_EVENT_TYPE = "key-up";
4
+ export const MARKDOWN_CUSTOM_EVENT_TYPE = "markdown";
5
+ export const MARKDOWN_STYLE_CUSTOM_EVENT_TYPE = "markdown-style";
@@ -47,7 +47,6 @@ paragraph,
47
47
  orderedList,
48
48
  unorderedList,
49
49
  blockListing,
50
- inlineListing,
51
50
  primaryHeading,
52
51
  secondaryHeading,
53
52
  tertiaryHeading,
@@ -61,10 +60,15 @@ unorderedListItem {
61
60
  margin-left: 13pt;
62
61
  }
63
62
 
63
+ inlineListing {
64
+ margin: 0;
65
+ }
66
+
64
67
  table,
65
68
  paragraph,
66
69
  orderedList,
67
70
  unorderedList,
71
+ inlineListing,
68
72
  blockListing,
69
73
  primaryHeading,
70
74
  secondaryHeading,
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import withStyle from "easy-with-style"; ///
4
+
5
+ import TabButton from "../../button/tab";
6
+
7
+ class MarkdownTabButton extends TabButton {
8
+ childElements() {
9
+ return "Markdown";
10
+ }
11
+
12
+ parentContext() {
13
+ const enableMarkdownTabButton = this.enable.bind(this), ///
14
+ disableMarkdownTabButton = this.disable.bind(this); ///
15
+
16
+ return ({
17
+ enableMarkdownTabButton,
18
+ disableMarkdownTabButton
19
+ });
20
+ }
21
+
22
+ static defaultProperties = {
23
+ className: "markdown"
24
+ }
25
+ }
26
+
27
+ export default withStyle(MarkdownTabButton)`
28
+
29
+ border-right-width: 0;
30
+
31
+ border-left-width: 1px;
32
+
33
+ :enabled {
34
+ border-left-width: 0;
35
+ }
36
+
37
+ `;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import withStyle from "easy-with-style"; ///
4
+
5
+ import TabButton from "../../button/tab";
6
+
7
+ class MarkdownStyleTabButton extends TabButton {
8
+ childElements() {
9
+ return "Markdown style";
10
+ }
11
+
12
+ parentContext() {
13
+ const enableMarkdownStyleTabButton = this.enable.bind(this), ///
14
+ disableMarkdownStyleTabButton = this.disable.bind(this); ///
15
+
16
+ return ({
17
+ enableMarkdownStyleTabButton,
18
+ disableMarkdownStyleTabButton
19
+ });
20
+ }
21
+
22
+ static defaultProperties = {
23
+ className: "markdown-style"
24
+ }
25
+ }
26
+
27
+ export default withStyle(MarkdownStyleTabButton)`
28
+
29
+ border-right-width: 1px;
30
+
31
+ :enabled {
32
+ border-right-width: 0;
33
+ }
34
+
35
+ `;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import withStyle from "easy-with-style"; ///
4
+
5
+ import { Button } from "easy";
6
+
7
+ class TabButton extends Button {
8
+ static defaultProperties = {
9
+ className: "tab"
10
+ };
11
+ }
12
+
13
+ export default withStyle(TabButton)`
14
+
15
+ color: black;
16
+ cursor: pointer;
17
+ border: 1px solid black;
18
+ padding: 1rem;
19
+ font-size: 2rem;
20
+ background: transparent;
21
+ font-family: serif;
22
+
23
+ font-weight: bold;
24
+ border-top-width: 1px;
25
+ border-bottom-width: 0;
26
+
27
+ :enabled {
28
+ font-weight: normal;
29
+ border-top-width: 0;
30
+ border-bottom-width: 1px;
31
+ }
32
+
33
+ `;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import ContainerDiv from "../../div/container";
4
+
5
+ import MarkdownTextarea from "../../textarea/markdown";
6
+ import MarkdownParseTreeTextarea from "../../textarea/parseTree/markdown";
7
+
8
+ export default class MarkdownContainerDiv extends ContainerDiv {
9
+ childElements() {
10
+ return ([
11
+
12
+ <MarkdownTextarea onKeyUp={this.keyUpHandler} />,
13
+ <MarkdownParseTreeTextarea/>
14
+
15
+ ]);
16
+ }
17
+
18
+ parentContext() {
19
+ const context = this.getContext(),
20
+ showMarkdownContainerDiv = this.show.bind(this), ///
21
+ hideMarkdownContainerDiv = this.hide.bind(this); ///
22
+
23
+ return ({
24
+ ...context,
25
+ showMarkdownContainerDiv,
26
+ hideMarkdownContainerDiv
27
+ });
28
+ }
29
+
30
+ static defaultProperties = {
31
+ className: "markdown"
32
+ };
33
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import ContainerDiv from "../../div/container";
4
+
5
+ import MarkdownStyleTextarea from "../../textarea/markdownStyle";
6
+ import MarkdownStyleParseTeeTextarea from "../../textarea/parseTree/markdownStyle";
7
+
8
+ export default class MarkdownStyleContainerDiv extends ContainerDiv {
9
+ childElements() {
10
+ return ([
11
+
12
+ <MarkdownStyleTextarea onKeyUp={this.keyUpHandler} />,
13
+ <MarkdownStyleParseTeeTextarea/>
14
+
15
+ ]);
16
+ }
17
+
18
+ parentContext() {
19
+ const context = this.getContext(),
20
+ showMarkdownStyleContainerDiv = this.show.bind(this), ///
21
+ hideMarkdownStyleContainerDiv = this.hide.bind(this); ///
22
+
23
+ return ({
24
+ ...context,
25
+ showMarkdownStyleContainerDiv,
26
+ hideMarkdownStyleContainerDiv
27
+ });
28
+ }
29
+
30
+ static Textarea = MarkdownStyleTextarea;
31
+
32
+ static defaultProperties = {
33
+ className: "markdown-style"
34
+ };
35
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import withStyle from "easy-with-style"; ///
4
+
5
+ import { Element } from "easy";
6
+
7
+ import { KEY_UP_CUSTOM_EVENT_TYPE } from "../../../customEventTypes";
8
+
9
+ class ContainerDiv extends Element {
10
+ keyUpHandler = (event, element) => {
11
+ const customEventType = KEY_UP_CUSTOM_EVENT_TYPE;
12
+
13
+ this.callCustomHandlers(customEventType, event, element);
14
+ }
15
+
16
+ static tagName = "div";
17
+
18
+ static defaultProperties = {
19
+ className: "container"
20
+ };
21
+ }
22
+
23
+ export default withStyle(ContainerDiv)`
24
+
25
+ border: 1px solid black;
26
+ display: flex;
27
+ padding: 1rem;
28
+ border-top: 0;
29
+ align-items: stretch;
30
+ flex-direction: column;
31
+
32
+ `;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import withStyle from "easy-with-style";
3
+ import withStyle from "easy-with-style"; ///
4
4
 
5
5
  import { Element } from "easy";
6
6
 
@@ -12,7 +12,7 @@ class LeftSizeableDiv extends SizeableDiv {
12
12
 
13
13
  export default withStyle(LeftSizeableDiv)`
14
14
 
15
- width: 48rem;
15
+ width: 80rem;
16
16
  min-width: 12rem;
17
17
  flex-direction: column;
18
18