markdown-komponents 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4570 @@
1
+ import {
2
+ Unit_instance3vdlo4e4f5ggx as Unit_instance,
3
+ VOID3gxj6tk5isa35 as VOID,
4
+ initMetadataForClassbxx6q50dy2s7 as initMetadataForClass,
5
+ THROW_CCE2g6jy02ryeudk as THROW_CCE,
6
+ initMetadataForInterface1egvbzx539z91 as initMetadataForInterface,
7
+ toString30pk9tzaqopn as toString,
8
+ hashCodeq5arwsb9dgti as hashCode,
9
+ equals2au1ep9vhcato as equals,
10
+ ensureNotNull1e947j3ixpazm as ensureNotNull,
11
+ Regexxgw0gjiagf4z as Regex,
12
+ charSequenceLength3278n89t01tmv as charSequenceLength,
13
+ to2cs3ny02qtbcb as to,
14
+ asList1pji8rwrhkggq as asList,
15
+ take9j4462mea726 as take,
16
+ split2bvyvnrlcifjv as split,
17
+ getOrNull1go7ef9ldk0df as getOrNull,
18
+ singleOrNullrknfaxokm1sl as singleOrNull,
19
+ isCharSequence1ju9jr1w86plq as isCharSequence,
20
+ trim11nh7r46at6sx as trim,
21
+ toString1pkumu07cwy4m as toString_0,
22
+ singleo93pzdgfc557 as single,
23
+ toList3jhuyej2anx2q as toList,
24
+ isInterface3d6p8outrmvmk as isInterface,
25
+ until1jbpn0z3f8lbg as until,
26
+ slice18he6c86ndeu7 as slice,
27
+ abs1kdzbjes1idip as abs,
28
+ substringiqarkczpya5m as substring,
29
+ _Char___init__impl__6a9atx2yltdocdrxs4d as _Char___init__impl__6a9atx,
30
+ lastIndexOfpmd3ei5son2n as lastIndexOf,
31
+ substring3saq8ornu0luv as substring_0,
32
+ indexOf1xbs558u7wr52 as indexOf,
33
+ listOfvhqybd2zx248 as listOf,
34
+ ArrayList3it5z8td81qkl as ArrayList,
35
+ trimIndent1qytc1wvt8suh as trimIndent,
36
+ indexOfwa4w6635jewi as indexOf_0,
37
+ replace3le3ie7l9k8aq as replace,
38
+ drop3na99dw9feawf as drop,
39
+ startsWith26w8qjqapeeq6 as startsWith,
40
+ } from './kotlin-kotlin-stdlib.mjs';
41
+ import * as logic_tools_markdown_komponents_hljs_kfbjap from 'highlight.js';
42
+ //region block: imports
43
+ var imul = Math.imul;
44
+ //endregion
45
+ //region block: pre-declaration
46
+ class BaseWebComponent extends HTMLElement {
47
+ w9() {
48
+ }
49
+ connectedCallback() {
50
+ return this.w9();
51
+ }
52
+ x9() {
53
+ }
54
+ disconnectedCallback() {
55
+ return this.x9();
56
+ }
57
+ y9() {
58
+ }
59
+ adoptedCallback() {
60
+ return this.y9();
61
+ }
62
+ z9(name, oldValue, newValue) {
63
+ }
64
+ attributeChangedCallback(name, oldValue, newValue) {
65
+ return this.z9(name, oldValue, newValue);
66
+ }
67
+ }
68
+ class BoldToolbarButton extends BaseWebComponent {
69
+ constructor() {
70
+ super();
71
+ // Inline function 'org.w3c.dom.OPEN' call
72
+ // Inline function 'kotlin.js.asDynamic' call
73
+ // Inline function 'kotlin.js.unsafeCast' call
74
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
75
+ var o = {};
76
+ o['mode'] = 'open';
77
+ var shadow = this.attachShadow(o);
78
+ var tmp = this;
79
+ var tmp_0 = element(shadow, 'toolbar-button', BoldToolbarButton$lambda);
80
+ tmp.yi_1 = tmp_0 instanceof ToolbarButton ? tmp_0 : THROW_CCE();
81
+ }
82
+ zi() {
83
+ return this.hasAttribute('highlighted');
84
+ }
85
+ z9(name, oldValue, newValue) {
86
+ if (name === 'highlighted') {
87
+ this.yi_1.bj(this.zi());
88
+ }
89
+ }
90
+ attributeChangedCallback(name, oldValue, newValue) {
91
+ return this.z9(name, oldValue, newValue);
92
+ }
93
+ }
94
+ class DropdownElement extends BaseWebComponent {
95
+ constructor() {
96
+ super();
97
+ // Inline function 'org.w3c.dom.OPEN' call
98
+ // Inline function 'kotlin.js.asDynamic' call
99
+ // Inline function 'kotlin.js.unsafeCast' call
100
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
101
+ var o = {};
102
+ o['mode'] = 'open';
103
+ // Inline function 'kotlin.apply' call
104
+ var this_0 = this.attachShadow(o);
105
+ style(this_0, '.clickable:hover { background-color: lightblue; cursor: pointer; }');
106
+ element(this_0, 'div', DropdownElement$lambda);
107
+ }
108
+ }
109
+ class DropdownElements extends BaseWebComponent {
110
+ constructor() {
111
+ super();
112
+ // Inline function 'org.w3c.dom.OPEN' call
113
+ // Inline function 'kotlin.js.asDynamic' call
114
+ // Inline function 'kotlin.js.unsafeCast' call
115
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
116
+ var o = {};
117
+ o['mode'] = 'open';
118
+ // Inline function 'kotlin.apply' call
119
+ var this_0 = this.attachShadow(o);
120
+ style(this_0, ':host {\n display: flex;\n flex-direction: column;\n border: 1px solid gray;\n background-color: white;\n box-shadow: 0px 0px 4px gray;\n padding: 10px;\n}');
121
+ slot(this_0);
122
+ }
123
+ }
124
+ class EditorToolbar {}
125
+ class StashedSelection {
126
+ constructor(anchorNode, anchorOffset, focusNode, focusOffset) {
127
+ this.jj_1 = anchorNode;
128
+ this.kj_1 = anchorOffset;
129
+ this.lj_1 = focusNode;
130
+ this.mj_1 = focusOffset;
131
+ }
132
+ toString() {
133
+ return 'StashedSelection(anchorNode=' + toString(this.jj_1) + ', anchorOffset=' + this.kj_1 + ', focusNode=' + toString(this.lj_1) + ', focusOffset=' + this.mj_1 + ')';
134
+ }
135
+ hashCode() {
136
+ var result = this.jj_1 == null ? 0 : hashCode(this.jj_1);
137
+ result = imul(result, 31) + this.kj_1 | 0;
138
+ result = imul(result, 31) + (this.lj_1 == null ? 0 : hashCode(this.lj_1)) | 0;
139
+ result = imul(result, 31) + this.mj_1 | 0;
140
+ return result;
141
+ }
142
+ equals(other) {
143
+ if (this === other)
144
+ return true;
145
+ if (!(other instanceof StashedSelection))
146
+ return false;
147
+ if (!equals(this.jj_1, other.jj_1))
148
+ return false;
149
+ if (!(this.kj_1 === other.kj_1))
150
+ return false;
151
+ if (!equals(this.lj_1, other.lj_1))
152
+ return false;
153
+ if (!(this.mj_1 === other.mj_1))
154
+ return false;
155
+ return true;
156
+ }
157
+ }
158
+ class BaseMarkdownDocument extends BaseWebComponent {
159
+ constructor() {
160
+ super();
161
+ var tmp = this;
162
+ tmp.nj_1 = BaseMarkdownDocument$parser$lambda;
163
+ this.oj_1 = null;
164
+ this.pj_1 = document;
165
+ this.qj_1 = null;
166
+ this.rj_1 = true;
167
+ this.sj_1 = null;
168
+ this.tj_1 = false;
169
+ this.uj_1 = null;
170
+ this.vj_1 = 0;
171
+ this.wj_1 = null;
172
+ this.xj_1 = false;
173
+ var tmp_0 = this;
174
+ // Inline function 'kotlin.js.asDynamic' call
175
+ tmp_0.yj_1 = window.chrome != null;
176
+ var tmp_1 = this;
177
+ tmp_1.zj_1 = BaseMarkdownDocument$onMouseDown$lambda(this);
178
+ var tmp_2 = this;
179
+ tmp_2.ak_1 = BaseMarkdownDocument$onMouseUp$lambda(this);
180
+ var tmp_3 = this;
181
+ tmp_3.bk_1 = BaseMarkdownDocument$onSelectStart$lambda(this);
182
+ var tmp_4 = this;
183
+ tmp_4.ck_1 = BaseMarkdownDocument$onSelectionChange$lambda(this);
184
+ this.dk_1 = false;
185
+ }
186
+ dl() {
187
+ // Inline function 'org.w3c.dom.OPEN' call
188
+ // Inline function 'kotlin.js.asDynamic' call
189
+ // Inline function 'kotlin.js.unsafeCast' call
190
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
191
+ var o = {};
192
+ o['mode'] = 'open';
193
+ // Inline function 'kotlin.apply' call
194
+ var this_0 = this.attachShadow(o);
195
+ style(this_0, ":host {\n display: block;\n border: solid 1px gray;\n border-top: none;\n padding: 16px;\n /* inherited by descendants (including a shadow-DOM toolbar/headings), matching\n the original's separate styles/global-variables.ts stylesheet */\n --header1-font-size: 2em;\n --header2-font-size: 1.5em;\n --header3-font-size: 1.17em;\n --header4-font-size: 1em;\n --header5-font-size: 0.83em;\n --header6-font-size: 0.67em;\n}\n.toolbar {\n z-index: 3;\n top: 0px;\n position: fixed;\n right: 30%;\n background: white;\n}\n.toc {\n position: absolute;\n z-index: 3;\n top: 0px;\n right: 0%;\n}\n@media print {\n :host {\n border: none;\n }\n}");
196
+ element(this_0, 'div', BaseMarkdownDocument$renderStandardShadow$lambda);
197
+ }
198
+ w9() {
199
+ super.w9();
200
+ if (!this.dk_1) {
201
+ this.dk_1 = true;
202
+ firstUpdated(this);
203
+ }
204
+ this.setAttribute('contenteditable', this.getAttribute('readonly') === 'true' ? 'false' : 'true');
205
+ if (this.getAttribute('spellcheck') == null) {
206
+ this.setAttribute('spellcheck', 'false');
207
+ }
208
+ this.addEventListener('mousedown', this.zj_1);
209
+ this.addEventListener('mouseup', this.ak_1);
210
+ document.addEventListener('selectstart', this.bk_1);
211
+ document.addEventListener('selectionchange', this.ck_1);
212
+ this.addEventListener('keydown', BaseMarkdownDocument$connectedCallback$lambda(this));
213
+ this.addEventListener('input', BaseMarkdownDocument$connectedCallback$lambda_0(this));
214
+ this.addEventListener('blur', BaseMarkdownDocument$connectedCallback$lambda_1(this));
215
+ this.addEventListener('drop', BaseMarkdownDocument$connectedCallback$lambda_2(this));
216
+ this.addEventListener('dragover', BaseMarkdownDocument$connectedCallback$lambda_3(this));
217
+ this.addEventListener('paste', BaseMarkdownDocument$connectedCallback$lambda_4(this));
218
+ }
219
+ connectedCallback() {
220
+ return this.w9();
221
+ }
222
+ x9() {
223
+ document.removeEventListener('selectionchange', this.ck_1);
224
+ document.removeEventListener('selectstart', this.bk_1);
225
+ }
226
+ disconnectedCallback() {
227
+ return this.x9();
228
+ }
229
+ gk() {
230
+ return getSelection(this.pj_1);
231
+ }
232
+ jk(child) {
233
+ var nodes = asList(this.childNodes);
234
+ var indexOfChild = child == null ? -1 : nodes.m1(child);
235
+ if (indexOfChild < 0)
236
+ return 0;
237
+ var result = 0;
238
+ // Inline function 'kotlin.collections.forEach' call
239
+ var _iterator__ex2g4s = nodes.n1(0, indexOfChild).p();
240
+ while (_iterator__ex2g4s.q()) {
241
+ var element = _iterator__ex2g4s.r();
242
+ if (element instanceof MarkdownComponent)
243
+ result = result + element.el() | 0;
244
+ }
245
+ return result;
246
+ }
247
+ ek() {
248
+ domModificationOperation(this, BaseMarkdownDocument$normalizeContent$lambda(this));
249
+ }
250
+ wk(newToolbar) {
251
+ this.oj_1 = newToolbar;
252
+ var tmp0_safe_receiver = newToolbar instanceof MarkdownToolbar ? newToolbar : null;
253
+ if (tmp0_safe_receiver == null)
254
+ null;
255
+ else {
256
+ tmp0_safe_receiver.kl(this);
257
+ }
258
+ }
259
+ fk() {
260
+ var tmp0_safe_receiver = this.gk();
261
+ var element = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorNode;
262
+ while (!(element == null) && !equals(element, document) && !equals(element, this)) {
263
+ if (element instanceof LeafElement)
264
+ return element;
265
+ element = element.parentNode;
266
+ }
267
+ return null;
268
+ }
269
+ ll() {
270
+ var tmp0_safe_receiver = this.sj_1;
271
+ var anchorOffset = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorOffset;
272
+ var tmp1_safe_receiver = this.sj_1;
273
+ var focusOffset = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.focusOffset;
274
+ var tmp2_safe_receiver = this.sj_1;
275
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.anchorNode;
276
+ var parent = tmp3_safe_receiver == null ? null : tmp3_safe_receiver.parentElement;
277
+ if (!(parent == null) && !(anchorOffset == null) && !(focusOffset == null)) {
278
+ var replacementLeft = document.createElement('markdown-paragraph');
279
+ var replacementRight = document.createElement('markdown-paragraph');
280
+ var markdownBreak = document.createElement('markdown-break');
281
+ replacementLeft.innerHTML = slice(parent.innerHTML, until(0, anchorOffset));
282
+ replacementRight.innerHTML = slice(parent.innerHTML, until(focusOffset, parent.innerHTML.length));
283
+ // Inline function 'kotlin.text.isEmpty' call
284
+ var this_0 = replacementLeft.innerHTML;
285
+ if (charSequenceLength(this_0) === 0) {
286
+ replacementLeft.innerHTML = '<br />';
287
+ }
288
+ // Inline function 'kotlin.text.isEmpty' call
289
+ var this_1 = replacementRight.innerHTML;
290
+ if (charSequenceLength(this_1) === 0) {
291
+ replacementRight.innerHTML = '<br />';
292
+ }
293
+ parent.replaceWith(replacementLeft);
294
+ replacementLeft.after(markdownBreak);
295
+ markdownBreak.after(replacementRight);
296
+ var range = document.createRange();
297
+ range.selectNodeContents(replacementRight);
298
+ range.collapse(true);
299
+ var tmp4_safe_receiver = this.sj_1;
300
+ if (tmp4_safe_receiver == null)
301
+ null;
302
+ else {
303
+ tmp4_safe_receiver.removeAllRanges();
304
+ }
305
+ var tmp5_safe_receiver = this.sj_1;
306
+ if (tmp5_safe_receiver == null)
307
+ null;
308
+ else {
309
+ tmp5_safe_receiver.addRange(range);
310
+ }
311
+ // Inline function 'org.w3c.dom.CustomEventInit' call
312
+ var o = {};
313
+ o['detail'] = markdownBreak;
314
+ o['bubbles'] = false;
315
+ o['cancelable'] = false;
316
+ o['composed'] = false;
317
+ this.dispatchEvent(new CustomEvent('markdown-inserted', o));
318
+ onChange(this);
319
+ }
320
+ }
321
+ ml() {
322
+ domModificationOperation(this, BaseMarkdownDocument$makeBold$lambda(this));
323
+ onChange(this);
324
+ }
325
+ nl() {
326
+ domModificationOperation(this, BaseMarkdownDocument$removeBold$lambda(this));
327
+ onChange(this);
328
+ }
329
+ ol(elementName) {
330
+ var tmp0_safe_receiver = this.sj_1;
331
+ var anchorOffset = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorOffset;
332
+ var tmp1_safe_receiver = this.sj_1;
333
+ var focusOffset = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.focusOffset;
334
+ var tmp2_safe_receiver = this.sj_1;
335
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.anchorNode;
336
+ var parent = tmp3_safe_receiver == null ? null : tmp3_safe_receiver.parentElement;
337
+ if (parent == null || anchorOffset == null || focusOffset == null)
338
+ return null;
339
+ var selectionLength = abs(focusOffset - anchorOffset | 0);
340
+ var tmp4_safe_receiver = this.sj_1;
341
+ var tmp = tmp4_safe_receiver == null ? null : tmp4_safe_receiver.anchorNode;
342
+ var tmp5_elvis_lhs = tmp instanceof Text ? tmp : null;
343
+ var tmp_0;
344
+ if (tmp5_elvis_lhs == null) {
345
+ return null;
346
+ } else {
347
+ tmp_0 = tmp5_elvis_lhs;
348
+ }
349
+ var text = tmp_0;
350
+ // Inline function 'kotlin.comparisons.minOf' call
351
+ var tmp$ret$0 = Math.min(anchorOffset, focusOffset);
352
+ var secondPart = text.splitText(tmp$ret$0);
353
+ secondPart.splitText(selectionLength);
354
+ var replacement = document.createElement(elementName);
355
+ replacement.appendChild(document.createTextNode(secondPart.data));
356
+ secondPart.replaceWith(replacement);
357
+ var range = document.createRange();
358
+ range.selectNodeContents(replacement);
359
+ var tmp6_safe_receiver = this.sj_1;
360
+ if (tmp6_safe_receiver == null)
361
+ null;
362
+ else {
363
+ tmp6_safe_receiver.removeAllRanges();
364
+ }
365
+ var tmp7_safe_receiver = this.sj_1;
366
+ if (tmp7_safe_receiver == null)
367
+ null;
368
+ else {
369
+ tmp7_safe_receiver.addRange(range);
370
+ }
371
+ onChange(this);
372
+ return replacement;
373
+ }
374
+ pl() {
375
+ domModificationOperation(this, BaseMarkdownDocument$makeItalic$lambda(this));
376
+ onChange(this);
377
+ }
378
+ ql() {
379
+ domModificationOperation(this, BaseMarkdownDocument$removeItalic$lambda(this));
380
+ onChange(this);
381
+ }
382
+ rl() {
383
+ domModificationOperation(this, BaseMarkdownDocument$makeStrike$lambda(this));
384
+ onChange(this);
385
+ }
386
+ sl() {
387
+ domModificationOperation(this, BaseMarkdownDocument$removeStrike$lambda(this));
388
+ onChange(this);
389
+ }
390
+ tl() {
391
+ domModificationOperation(this, BaseMarkdownDocument$makeCodeInline$lambda(this));
392
+ onChange(this);
393
+ }
394
+ ul() {
395
+ var tmp0_safe_receiver = this.sj_1;
396
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorNode;
397
+ var tmp;
398
+ if (tmp1_elvis_lhs == null) {
399
+ return Unit_instance;
400
+ } else {
401
+ tmp = tmp1_elvis_lhs;
402
+ }
403
+ var anchorNode = tmp;
404
+ var list = document.createElement('markdown-list');
405
+ var item = document.createElement('markdown-list-item');
406
+ item.innerHTML = '<br />';
407
+ list.appendChild(item);
408
+ var tmp2_safe_receiver = this.fk();
409
+ if (tmp2_safe_receiver == null)
410
+ null;
411
+ else {
412
+ // Inline function 'kotlin.let' call
413
+ item.innerHTML = tmp2_safe_receiver.innerHTML;
414
+ }
415
+ (!(anchorNode == null) ? anchorNode : THROW_CCE()).replaceWith(list);
416
+ var range = document.createRange();
417
+ range.selectNodeContents(item);
418
+ range.collapse(true);
419
+ var tmp3_safe_receiver = this.sj_1;
420
+ if (tmp3_safe_receiver == null)
421
+ null;
422
+ else {
423
+ tmp3_safe_receiver.removeAllRanges();
424
+ }
425
+ var tmp4_safe_receiver = this.sj_1;
426
+ if (tmp4_safe_receiver == null)
427
+ null;
428
+ else {
429
+ tmp4_safe_receiver.addRange(range);
430
+ }
431
+ // Inline function 'org.w3c.dom.CustomEventInit' call
432
+ var o = {};
433
+ o['detail'] = item;
434
+ o['bubbles'] = false;
435
+ o['cancelable'] = false;
436
+ o['composed'] = false;
437
+ this.dispatchEvent(new CustomEvent('markdown-inserted', o));
438
+ onChange(this);
439
+ }
440
+ vl() {
441
+ var tmp0_safe_receiver = this.sj_1;
442
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorNode;
443
+ var tmp;
444
+ if (tmp1_elvis_lhs == null) {
445
+ return Unit_instance;
446
+ } else {
447
+ tmp = tmp1_elvis_lhs;
448
+ }
449
+ var anchorNode = tmp;
450
+ var list = document.createElement('markdown-numeric-list');
451
+ var item = document.createElement('markdown-numeric-list-item');
452
+ item.innerHTML = '<br />';
453
+ list.appendChild(item);
454
+ var tmp2_safe_receiver = this.fk();
455
+ if (tmp2_safe_receiver == null)
456
+ null;
457
+ else {
458
+ // Inline function 'kotlin.let' call
459
+ item.innerHTML = tmp2_safe_receiver.innerHTML;
460
+ }
461
+ (!(anchorNode == null) ? anchorNode : THROW_CCE()).replaceWith(list);
462
+ var range = document.createRange();
463
+ range.selectNodeContents(item);
464
+ range.collapse(true);
465
+ var tmp3_safe_receiver = this.sj_1;
466
+ if (tmp3_safe_receiver == null)
467
+ null;
468
+ else {
469
+ tmp3_safe_receiver.removeAllRanges();
470
+ }
471
+ var tmp4_safe_receiver = this.sj_1;
472
+ if (tmp4_safe_receiver == null)
473
+ null;
474
+ else {
475
+ tmp4_safe_receiver.addRange(range);
476
+ }
477
+ // Inline function 'org.w3c.dom.CustomEventInit' call
478
+ var o = {};
479
+ o['detail'] = item;
480
+ o['bubbles'] = false;
481
+ o['cancelable'] = false;
482
+ o['composed'] = false;
483
+ this.dispatchEvent(new CustomEvent('markdown-inserted', o));
484
+ onChange(this);
485
+ }
486
+ wl(url, text) {
487
+ var tmp0_safe_receiver = this.sj_1;
488
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorNode;
489
+ var tmp;
490
+ if (tmp1_elvis_lhs == null) {
491
+ return Unit_instance;
492
+ } else {
493
+ tmp = tmp1_elvis_lhs;
494
+ }
495
+ var anchorNode = tmp;
496
+ var tmp_0 = document.createElement('markdown-image');
497
+ var image = tmp_0 instanceof MarkdownImage ? tmp_0 : THROW_CCE();
498
+ if (!(text == null)) {
499
+ image.title = text;
500
+ }
501
+ if (!(url == null)) {
502
+ image.rk(url);
503
+ }
504
+ var tmp2_safe_receiver = this.sj_1;
505
+ var anchorOffset = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.anchorOffset;
506
+ var text2 = anchorNode instanceof Text ? anchorNode : null;
507
+ if (!(anchorOffset == null) && !(text2 == null)) {
508
+ text2.splitText(anchorOffset);
509
+ text2.after(image);
510
+ // Inline function 'org.w3c.dom.CustomEventInit' call
511
+ var o = {};
512
+ o['detail'] = image;
513
+ o['bubbles'] = false;
514
+ o['cancelable'] = false;
515
+ o['composed'] = false;
516
+ this.dispatchEvent(new CustomEvent('markdown-inserted', o));
517
+ onChange(this);
518
+ }
519
+ }
520
+ xl() {
521
+ var tmp = this.ol('markdown-link');
522
+ var tmp0_elvis_lhs = tmp instanceof MarkdownLink ? tmp : null;
523
+ var tmp_0;
524
+ if (tmp0_elvis_lhs == null) {
525
+ return Unit_instance;
526
+ } else {
527
+ tmp_0 = tmp0_elvis_lhs;
528
+ }
529
+ var link = tmp_0;
530
+ // Inline function 'kotlin.text.isNullOrEmpty' call
531
+ var this_0 = link.textContent;
532
+ if (this_0 == null || charSequenceLength(this_0) === 0) {
533
+ link.textContent = 'http://';
534
+ }
535
+ var tmp1_elvis_lhs = link.textContent;
536
+ link.rk(tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs);
537
+ link.classList.add('fresh');
538
+ }
539
+ bm() {
540
+ return replaceCurrentLeafBlockWith(this, 'markdown-header-1');
541
+ }
542
+ cm() {
543
+ return replaceCurrentLeafBlockWith(this, 'markdown-header-2');
544
+ }
545
+ dm() {
546
+ return replaceCurrentLeafBlockWith(this, 'markdown-header-3');
547
+ }
548
+ em() {
549
+ return replaceCurrentLeafBlockWith(this, 'markdown-header-4');
550
+ }
551
+ fm() {
552
+ return replaceCurrentLeafBlockWith(this, 'markdown-header-5');
553
+ }
554
+ gm() {
555
+ return replaceCurrentLeafBlockWith(this, 'markdown-header-6');
556
+ }
557
+ hm() {
558
+ return replaceCurrentLeafBlockWith(this, 'markdown-paragraph');
559
+ }
560
+ im() {
561
+ var tmp0_elvis_lhs = this.fk();
562
+ var tmp;
563
+ if (tmp0_elvis_lhs == null) {
564
+ return Unit_instance;
565
+ } else {
566
+ tmp = tmp0_elvis_lhs;
567
+ }
568
+ var oldElement = tmp;
569
+ var element = document.createElement('markdown-code');
570
+ element.innerHTML = oldElement.innerHTML;
571
+ oldElement.replaceWith(element);
572
+ // Inline function 'org.w3c.dom.CustomEventInit' call
573
+ var o = {};
574
+ o['detail'] = element;
575
+ o['bubbles'] = false;
576
+ o['cancelable'] = false;
577
+ o['composed'] = false;
578
+ this.dispatchEvent(new CustomEvent('markdown-inserted', o));
579
+ onChange(this);
580
+ }
581
+ jm() {
582
+ var tmp0_elvis_lhs = this.fk();
583
+ var tmp;
584
+ if (tmp0_elvis_lhs == null) {
585
+ return Unit_instance;
586
+ } else {
587
+ tmp = tmp0_elvis_lhs;
588
+ }
589
+ var oldElement = tmp;
590
+ var element = document.createElement('markdown-quote');
591
+ var p = document.createElement('markdown-paragraph');
592
+ element.appendChild(p);
593
+ p.innerHTML = oldElement.innerHTML;
594
+ oldElement.replaceWith(element);
595
+ // Inline function 'org.w3c.dom.CustomEventInit' call
596
+ var o = {};
597
+ o['detail'] = element;
598
+ o['bubbles'] = false;
599
+ o['cancelable'] = false;
600
+ o['composed'] = false;
601
+ this.dispatchEvent(new CustomEvent('markdown-inserted', o));
602
+ onChange(this);
603
+ }
604
+ }
605
+ class MarkdownDocument extends BaseMarkdownDocument {
606
+ constructor() {
607
+ super();
608
+ this.dl();
609
+ }
610
+ }
611
+ class MarkdownEditor extends BaseMarkdownDocument {
612
+ constructor() {
613
+ super();
614
+ // Inline function 'org.w3c.dom.OPEN' call
615
+ // Inline function 'kotlin.js.asDynamic' call
616
+ // Inline function 'kotlin.js.unsafeCast' call
617
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
618
+ var o = {};
619
+ o['mode'] = 'open';
620
+ var shadow = this.attachShadow(o);
621
+ var toolbarElement = element(shadow, 'markdown-toolbar');
622
+ slot(shadow);
623
+ this.wk(toolbarElement);
624
+ }
625
+ }
626
+ class MarkdownToolbar extends BaseWebComponent {
627
+ constructor() {
628
+ super();
629
+ this.fl_1 = null;
630
+ // Inline function 'org.w3c.dom.OPEN' call
631
+ // Inline function 'kotlin.js.asDynamic' call
632
+ // Inline function 'kotlin.js.unsafeCast' call
633
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
634
+ var o = {};
635
+ o['mode'] = 'open';
636
+ var shadow = this.attachShadow(o);
637
+ style(shadow, ':host(.focus-disabled:hover) {\n opacity: 1.0;\n}\n:host {\n display: block;\n border: solid 1px gray;\n padding: 5px;\n}\n:host(.focus-disabled) {\n opacity: 0.1;\n}\n.toolbar {\n height: 24px;\n display: flex;\n}\n.looks-like-header1 { font-size: var(--header1-font-size); font-weight: bold; }\n.looks-like-header2 { font-size: var(--header2-font-size); font-weight: bold; }\n.looks-like-header3 { font-size: var(--header3-font-size); font-weight: bold; }\n.looks-like-header4 { font-size: var(--header4-font-size); font-weight: bold; }\n.looks-like-header5 { font-size: var(--header5-font-size); font-weight: bold; }\n.looks-like-header6 { font-size: var(--header6-font-size); font-weight: bold; }\n@media print {\n :host {\n display: none;\n }\n}');
638
+ var toolbarRow = element(shadow, 'div', MarkdownToolbar$lambda);
639
+ var dropdown = element(toolbarRow, 'toolbar-dropdown');
640
+ var tmp = this;
641
+ tmp.jl_1 = element(dropdown, 'span', MarkdownToolbar$lambda_0);
642
+ dropdown.appendChild(document.createTextNode(' \u25BE'));
643
+ var dropdownElements = element(dropdown, 'dropdown-elements', MarkdownToolbar$lambda_1);
644
+ headingOption(this, dropdownElements, 1, MarkdownToolbar$lambda_2(this));
645
+ headingOption(this, dropdownElements, 2, MarkdownToolbar$lambda_3(this));
646
+ headingOption(this, dropdownElements, 3, MarkdownToolbar$lambda_4(this));
647
+ headingOption(this, dropdownElements, 4, MarkdownToolbar$lambda_5(this));
648
+ headingOption(this, dropdownElements, 5, MarkdownToolbar$lambda_6(this));
649
+ headingOption(this, dropdownElements, 6, MarkdownToolbar$lambda_7(this));
650
+ paragraphOption(this, dropdownElements, MarkdownToolbar$lambda_8(this));
651
+ element(toolbarRow, 'toolbar-separator');
652
+ var tmp_0 = this;
653
+ tmp_0.gl_1 = toggleButton(this, toolbarRow, 'bold', 'toggle bold', MarkdownToolbar$lambda_9(this));
654
+ var tmp_1 = this;
655
+ tmp_1.hl_1 = toggleButton(this, toolbarRow, 'italic', 'toggle italic', MarkdownToolbar$lambda_10(this));
656
+ var tmp_2 = this;
657
+ tmp_2.il_1 = toggleButton(this, toolbarRow, 'strikethrough', 'toggle strike', MarkdownToolbar$lambda_11(this));
658
+ element(toolbarRow, 'toolbar-separator');
659
+ actionButton(this, toolbarRow, 'list-bulleted', 'list', MarkdownToolbar$lambda_12(this));
660
+ actionButton(this, toolbarRow, 'list-numbered', 'numbered list', MarkdownToolbar$lambda_13(this));
661
+ element(toolbarRow, 'toolbar-separator');
662
+ actionButton(this, toolbarRow, 'code-inline', 'code inline', MarkdownToolbar$lambda_14(this));
663
+ actionButton(this, toolbarRow, 'break', 'break', MarkdownToolbar$lambda_15(this));
664
+ actionButton(this, toolbarRow, 'insert-photo', 'insert image', MarkdownToolbar$lambda_16(this));
665
+ actionButton(this, toolbarRow, 'insert-link', 'insert link', MarkdownToolbar$lambda_17(this));
666
+ actionButton(this, toolbarRow, 'code-block', 'insert code block', MarkdownToolbar$lambda_18(this));
667
+ actionButton(this, toolbarRow, 'quote', 'insert quote', MarkdownToolbar$lambda_19(this));
668
+ element(toolbarRow, 'toolbar-separator');
669
+ element(toolbarRow, 'slot', MarkdownToolbar$lambda_20);
670
+ slot(shadow);
671
+ }
672
+ w9() {
673
+ super.w9();
674
+ this.addEventListener('mousedown', MarkdownToolbar$connectedCallback$lambda);
675
+ }
676
+ connectedCallback() {
677
+ return this.w9();
678
+ }
679
+ kl(document) {
680
+ this.fl_1 = document;
681
+ }
682
+ cj() {
683
+ this.gl_1.bj(true);
684
+ }
685
+ dj() {
686
+ this.gl_1.bj(false);
687
+ }
688
+ ej() {
689
+ this.hl_1.bj(true);
690
+ }
691
+ fj() {
692
+ this.hl_1.bj(false);
693
+ }
694
+ gj() {
695
+ this.il_1.bj(true);
696
+ }
697
+ hj() {
698
+ this.il_1.bj(false);
699
+ }
700
+ ij(title) {
701
+ this.jl_1.textContent = title;
702
+ }
703
+ }
704
+ class ToggleToolbarButton extends BaseWebComponent {
705
+ constructor() {
706
+ super();
707
+ // Inline function 'org.w3c.dom.OPEN' call
708
+ // Inline function 'kotlin.js.asDynamic' call
709
+ // Inline function 'kotlin.js.unsafeCast' call
710
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
711
+ var o = {};
712
+ o['mode'] = 'open';
713
+ var shadow = this.attachShadow(o);
714
+ var tmp = this;
715
+ var tmp_0 = element(shadow, 'toolbar-button', ToggleToolbarButton$lambda);
716
+ tmp.lm_1 = tmp_0 instanceof ToolbarButton ? tmp_0 : THROW_CCE();
717
+ var tmp_1 = this;
718
+ var tmp_2 = element(this.lm_1, 'toolbar-icon', ToggleToolbarButton$lambda_0);
719
+ tmp_1.mm_1 = tmp_2 instanceof ToolbarIcon ? tmp_2 : THROW_CCE();
720
+ }
721
+ bj(value) {
722
+ var tmp;
723
+ if (value) {
724
+ this.setAttribute('highlighted', '');
725
+ tmp = Unit_instance;
726
+ } else {
727
+ this.removeAttribute('highlighted');
728
+ tmp = Unit_instance;
729
+ }
730
+ return tmp;
731
+ }
732
+ zi() {
733
+ return this.hasAttribute('highlighted');
734
+ }
735
+ z9(name, oldValue, newValue) {
736
+ if (name === 'highlighted') {
737
+ this.lm_1.bj(this.zi());
738
+ } else if (name === 'icon') {
739
+ this.mm_1.om(newValue == null ? '' : newValue);
740
+ }
741
+ }
742
+ attributeChangedCallback(name, oldValue, newValue) {
743
+ return this.z9(name, oldValue, newValue);
744
+ }
745
+ }
746
+ class ToolbarButton extends BaseWebComponent {
747
+ constructor() {
748
+ super();
749
+ // Inline function 'org.w3c.dom.OPEN' call
750
+ // Inline function 'kotlin.js.asDynamic' call
751
+ // Inline function 'kotlin.js.unsafeCast' call
752
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
753
+ var o = {};
754
+ o['mode'] = 'open';
755
+ var shadow = this.attachShadow(o);
756
+ style(shadow, 'button {\n padding: 0;\n margin: 0;\n border: none;\n background-color: transparent;\n vertical-align: center;\n height: 24px;\n}\nbutton:hover {\n background-color: lightblue;\n}\n.highlighted {\n background-color: gray;\n}');
757
+ var tmp = this;
758
+ tmp.aj_1 = element(shadow, 'button', ToolbarButton$lambda);
759
+ }
760
+ bj(value) {
761
+ var tmp;
762
+ if (value) {
763
+ this.setAttribute('highlighted', '');
764
+ tmp = Unit_instance;
765
+ } else {
766
+ this.removeAttribute('highlighted');
767
+ tmp = Unit_instance;
768
+ }
769
+ return tmp;
770
+ }
771
+ z9(name, oldValue, newValue) {
772
+ if (name === 'highlighted') {
773
+ if (!(newValue == null)) {
774
+ this.aj_1.classList.add('highlighted');
775
+ } else {
776
+ this.aj_1.classList.remove('highlighted');
777
+ }
778
+ }
779
+ }
780
+ attributeChangedCallback(name, oldValue, newValue) {
781
+ return this.z9(name, oldValue, newValue);
782
+ }
783
+ }
784
+ class ToolbarDropdown extends BaseWebComponent {
785
+ constructor() {
786
+ super();
787
+ var tmp = this;
788
+ tmp.qm_1 = ToolbarDropdown$hideOnOutsideMouseDown$lambda(this);
789
+ // Inline function 'org.w3c.dom.OPEN' call
790
+ // Inline function 'kotlin.js.asDynamic' call
791
+ // Inline function 'kotlin.js.unsafeCast' call
792
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
793
+ var o = {};
794
+ o['mode'] = 'open';
795
+ var shadow = this.attachShadow(o);
796
+ style(shadow, ':host {\n position: relative;\n z-index: 10;\n}\nslot[name=dropdown-elements] {\n display: none;\n position: fixed;\n}');
797
+ var button = element(shadow, 'toolbar-button', ToolbarDropdown$lambda);
798
+ button.addEventListener('mousedown', ToolbarDropdown$lambda_0(this));
799
+ var tmp_0 = this;
800
+ tmp_0.pm_1 = element(shadow, 'slot', ToolbarDropdown$lambda_1);
801
+ }
802
+ w9() {
803
+ super.w9();
804
+ document.addEventListener('mousedown', this.qm_1);
805
+ }
806
+ connectedCallback() {
807
+ return this.w9();
808
+ }
809
+ x9() {
810
+ document.removeEventListener('mousedown', this.qm_1);
811
+ }
812
+ disconnectedCallback() {
813
+ return this.x9();
814
+ }
815
+ }
816
+ class ToolbarIcon extends BaseWebComponent {
817
+ constructor() {
818
+ super();
819
+ // Inline function 'org.w3c.dom.OPEN' call
820
+ // Inline function 'kotlin.js.asDynamic' call
821
+ // Inline function 'kotlin.js.unsafeCast' call
822
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
823
+ var o = {};
824
+ o['mode'] = 'open';
825
+ var shadow = this.attachShadow(o);
826
+ style(shadow, ':host {\n display: inline-flex;\n width: 24px;\n height: 24px;\n align-items: center;\n justify-content: center;\n color: inherit;\n}\nspan, svg {\n display: block;\n width: 100%;\n height: 100%;\n}');
827
+ this.nm_1 = element(shadow, 'span');
828
+ }
829
+ om(value) {
830
+ return this.setAttribute('icon', value);
831
+ }
832
+ z9(name, oldValue, newValue) {
833
+ if (name === 'icon') {
834
+ this.nm_1.innerHTML = svgFor(this, newValue == null ? '' : newValue);
835
+ }
836
+ }
837
+ attributeChangedCallback(name, oldValue, newValue) {
838
+ return this.z9(name, oldValue, newValue);
839
+ }
840
+ }
841
+ class ToolbarSeparator extends BaseWebComponent {
842
+ constructor() {
843
+ super();
844
+ // Inline function 'org.w3c.dom.OPEN' call
845
+ // Inline function 'kotlin.js.asDynamic' call
846
+ // Inline function 'kotlin.js.unsafeCast' call
847
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
848
+ var o = {};
849
+ o['mode'] = 'open';
850
+ // Inline function 'kotlin.apply' call
851
+ var this_0 = this.attachShadow(o);
852
+ style(this_0, '.separator { width: 1px; background-color: gray; height: 24px; margin: 0 4px 0 4px; }');
853
+ element(this_0, 'div', ToolbarSeparator$lambda);
854
+ }
855
+ }
856
+ class MarkdownComponent extends BaseWebComponent {
857
+ ik() {
858
+ return true;
859
+ }
860
+ xk() {
861
+ return false;
862
+ }
863
+ nk() {
864
+ return normalizeContent(this);
865
+ }
866
+ rm(content) {
867
+ var tmp0_elvis_lhs = this.parentNode;
868
+ var tmp;
869
+ if (tmp0_elvis_lhs == null) {
870
+ return Unit_instance;
871
+ } else {
872
+ tmp = tmp0_elvis_lhs;
873
+ }
874
+ var parent = tmp;
875
+ var siblings = asList(this.childNodes);
876
+ var indexOfBreak = siblings.m1(content);
877
+ var elementsToMove = drop(siblings, indexOfBreak + 1 | 0);
878
+ var tmp_0;
879
+ if (elementsToMove.e1()) {
880
+ tmp_0 = this.um();
881
+ } else {
882
+ var tmp_1;
883
+ if (elementsToMove.t() === 1) {
884
+ // Inline function 'kotlin.let' call
885
+ var it = elementsToMove.s(0);
886
+ var tmp_2;
887
+ if (it instanceof Text) {
888
+ tmp_2 = it.textContent === get_ZERO_WIDTH_SPACE();
889
+ } else {
890
+ tmp_2 = false;
891
+ }
892
+ tmp_1 = tmp_2;
893
+ } else {
894
+ tmp_1 = false;
895
+ }
896
+ if (tmp_1) {
897
+ var tmp1_safe_receiver = this.vm();
898
+ var tmp_3;
899
+ if (tmp1_safe_receiver == null) {
900
+ tmp_3 = null;
901
+ } else {
902
+ // Inline function 'kotlin.let' call
903
+ tmp_3 = document.createElement(tmp1_safe_receiver);
904
+ }
905
+ tmp_0 = tmp_3;
906
+ } else {
907
+ tmp_0 = document.createElement(this.tagName);
908
+ }
909
+ }
910
+ var rightElement = tmp_0;
911
+ if (!(rightElement == null)) {
912
+ // Inline function 'kotlin.collections.forEach' call
913
+ var _iterator__ex2g4s = elementsToMove.p();
914
+ while (_iterator__ex2g4s.q()) {
915
+ var element = _iterator__ex2g4s.r();
916
+ rightElement.append(element);
917
+ }
918
+ parent.insertBefore(rightElement, this.nextSibling);
919
+ } else {
920
+ // Inline function 'kotlin.collections.forEach' call
921
+ var _iterator__ex2g4s_0 = elementsToMove.p();
922
+ while (_iterator__ex2g4s_0.q()) {
923
+ var element_0 = _iterator__ex2g4s_0.r();
924
+ parent.insertBefore(element_0, this.nextSibling);
925
+ }
926
+ }
927
+ }
928
+ sm(tagName) {
929
+ var result = document.createElement(tagName);
930
+ if (result instanceof MarkdownComponent) {
931
+ result.tm();
932
+ }
933
+ return result;
934
+ }
935
+ tm() {
936
+ this.appendChild(document.createTextNode(get_ZERO_WIDTH_SPACE()));
937
+ }
938
+ um() {
939
+ var tmp0_safe_receiver = this.vm();
940
+ var tmp;
941
+ if (tmp0_safe_receiver == null) {
942
+ tmp = null;
943
+ } else {
944
+ // Inline function 'kotlin.let' call
945
+ tmp = this.sm(tmp0_safe_receiver);
946
+ }
947
+ return tmp;
948
+ }
949
+ vm() {
950
+ return this.tagName;
951
+ }
952
+ fn(content) {
953
+ this.rm(content);
954
+ var tmp0_safe_receiver = this.parentNode;
955
+ if (tmp0_safe_receiver == null)
956
+ null;
957
+ else
958
+ tmp0_safe_receiver.insertBefore(content, this.nextSibling);
959
+ }
960
+ yk(currentSelection) {
961
+ }
962
+ al() {
963
+ }
964
+ wm(currentSelection) {
965
+ var last = this;
966
+ while (!(last.lastChild == null)) {
967
+ last = ensureNotNull(last.lastChild);
968
+ }
969
+ if (last instanceof Text) {
970
+ var range = document.createRange();
971
+ range.setStart(last, last.length);
972
+ range.collapse(true);
973
+ if (currentSelection == null)
974
+ null;
975
+ else {
976
+ currentSelection.removeAllRanges();
977
+ }
978
+ if (currentSelection == null)
979
+ null;
980
+ else {
981
+ currentSelection.addRange(range);
982
+ }
983
+ }
984
+ }
985
+ el() {
986
+ var result = 0;
987
+ // Inline function 'kotlin.collections.forEach' call
988
+ var _iterator__ex2g4s = asList(this.childNodes).p();
989
+ while (_iterator__ex2g4s.q()) {
990
+ var element = _iterator__ex2g4s.r();
991
+ var tmp = result;
992
+ var tmp_0;
993
+ if (element instanceof MarkdownComponent) {
994
+ tmp_0 = element.el();
995
+ } else {
996
+ if (element instanceof HTMLBRElement) {
997
+ tmp_0 = 1;
998
+ } else {
999
+ var tmp0_safe_receiver = element.textContent;
1000
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : replace(tmp0_safe_receiver, get_ZERO_WIDTH_SPACE(), '');
1001
+ var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
1002
+ tmp_0 = tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
1003
+ }
1004
+ }
1005
+ result = tmp + tmp_0 | 0;
1006
+ }
1007
+ return result + this.xm() | 0;
1008
+ }
1009
+ jk(child) {
1010
+ var nodes = asList(this.childNodes);
1011
+ var indexOfChild = child == null ? -1 : nodes.m1(child);
1012
+ var result = 0;
1013
+ if (indexOfChild >= 0) {
1014
+ // Inline function 'kotlin.collections.forEach' call
1015
+ var _iterator__ex2g4s = nodes.n1(0, indexOfChild).p();
1016
+ while (_iterator__ex2g4s.q()) {
1017
+ var element = _iterator__ex2g4s.r();
1018
+ var tmp = result;
1019
+ var tmp_0;
1020
+ if (element instanceof MarkdownComponent) {
1021
+ tmp_0 = element.el();
1022
+ } else {
1023
+ if (element instanceof HTMLBRElement) {
1024
+ tmp_0 = 1;
1025
+ } else {
1026
+ var tmp0_safe_receiver = element.textContent;
1027
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : replace(tmp0_safe_receiver, get_ZERO_WIDTH_SPACE(), '');
1028
+ var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
1029
+ tmp_0 = tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
1030
+ }
1031
+ }
1032
+ result = tmp + tmp_0 | 0;
1033
+ }
1034
+ }
1035
+ return result;
1036
+ }
1037
+ lk() {
1038
+ return false;
1039
+ }
1040
+ xm() {
1041
+ return this.lk() ? 1 : 0;
1042
+ }
1043
+ kk(contentOffset) {
1044
+ var nodes = asList(this.childNodes);
1045
+ if (nodes.e1())
1046
+ return to(this, contentOffset);
1047
+ var resultNode = nodes.s(0);
1048
+ var _iterator__ex2g4s = nodes.p();
1049
+ $l$loop_0: while (_iterator__ex2g4s.q()) {
1050
+ var child = _iterator__ex2g4s.r();
1051
+ var lengthUntilChild = this.jk(child);
1052
+ if (contentOffset === lengthUntilChild) {
1053
+ resultNode = child;
1054
+ break $l$loop_0;
1055
+ }
1056
+ if (contentOffset < lengthUntilChild)
1057
+ break $l$loop_0;
1058
+ resultNode = child;
1059
+ }
1060
+ var tmp;
1061
+ if (resultNode instanceof MarkdownComponent) {
1062
+ tmp = resultNode.kk(contentOffset - this.jk(resultNode) | 0);
1063
+ } else {
1064
+ tmp = to(resultNode, contentOffset - this.jk(resultNode) | 0);
1065
+ }
1066
+ return tmp;
1067
+ }
1068
+ mk(contentOffset) {
1069
+ var nodes = asList(this.childNodes);
1070
+ if (nodes.e1())
1071
+ return to(this, contentOffset);
1072
+ var resultNode = nodes.s(0);
1073
+ var previousNodeWasEol = false;
1074
+ var _iterator__ex2g4s = nodes.p();
1075
+ $l$loop_0: while (_iterator__ex2g4s.q()) {
1076
+ var child = _iterator__ex2g4s.r();
1077
+ var lengthUntilChild = this.jk(child);
1078
+ if (contentOffset === lengthUntilChild) {
1079
+ if (previousNodeWasEol)
1080
+ resultNode = child;
1081
+ break $l$loop_0;
1082
+ }
1083
+ if (contentOffset < lengthUntilChild)
1084
+ break $l$loop_0;
1085
+ resultNode = child;
1086
+ var tmp;
1087
+ if (child instanceof MarkdownComponent) {
1088
+ tmp = child.lk();
1089
+ } else {
1090
+ tmp = false;
1091
+ }
1092
+ previousNodeWasEol = tmp;
1093
+ }
1094
+ var tmp_0;
1095
+ if (resultNode instanceof MarkdownComponent) {
1096
+ tmp_0 = resultNode.mk(contentOffset - this.jk(resultNode) | 0);
1097
+ } else {
1098
+ tmp_0 = to(resultNode, contentOffset - this.jk(resultNode) | 0);
1099
+ }
1100
+ return tmp_0;
1101
+ }
1102
+ }
1103
+ class BlockElement extends MarkdownComponent {}
1104
+ class ContainerElement extends MarkdownComponent {
1105
+ el() {
1106
+ var result = 0;
1107
+ // Inline function 'kotlin.collections.forEach' call
1108
+ var _iterator__ex2g4s = asList(this.childNodes).p();
1109
+ while (_iterator__ex2g4s.q()) {
1110
+ var element = _iterator__ex2g4s.r();
1111
+ if (element instanceof MarkdownComponent)
1112
+ result = result + element.el() | 0;
1113
+ }
1114
+ return result + this.xm() | 0;
1115
+ }
1116
+ jk(child) {
1117
+ var nodes = asList(this.childNodes);
1118
+ var indexOfChild = child == null ? -1 : nodes.m1(child);
1119
+ var result = 0;
1120
+ if (indexOfChild >= 0) {
1121
+ // Inline function 'kotlin.collections.forEach' call
1122
+ var _iterator__ex2g4s = nodes.n1(0, indexOfChild).p();
1123
+ while (_iterator__ex2g4s.q()) {
1124
+ var element = _iterator__ex2g4s.r();
1125
+ if (element instanceof MarkdownComponent)
1126
+ result = result + element.el() | 0;
1127
+ }
1128
+ }
1129
+ return result;
1130
+ }
1131
+ lk() {
1132
+ return this.children.length > 0;
1133
+ }
1134
+ }
1135
+ class LeafElement extends BlockElement {
1136
+ bn() {
1137
+ return false;
1138
+ }
1139
+ nk() {
1140
+ this.normalize();
1141
+ if (this.childNodes.length === 0 && !this.bn()) {
1142
+ this.remove();
1143
+ return true;
1144
+ }
1145
+ var sawBr = false;
1146
+ var _iterator__ex2g4s = asList(this.childNodes).p();
1147
+ $l$loop: while (_iterator__ex2g4s.q()) {
1148
+ var content = _iterator__ex2g4s.r();
1149
+ if (content instanceof HTMLBRElement) {
1150
+ if (sawBr) {
1151
+ this.removeChild(content);
1152
+ break $l$loop;
1153
+ }
1154
+ sawBr = true;
1155
+ }
1156
+ }
1157
+ // Inline function 'kotlin.collections.forEach' call
1158
+ var _iterator__ex2g4s_0 = asList(this.childNodes).p();
1159
+ while (_iterator__ex2g4s_0.q()) {
1160
+ var element = _iterator__ex2g4s_0.r();
1161
+ if (element instanceof HTMLBRElement) {
1162
+ this.rm(element);
1163
+ this.removeChild(element);
1164
+ if (this.childNodes.length === 0) {
1165
+ this.appendChild(document.createTextNode(get_ZERO_WIDTH_SPACE()));
1166
+ }
1167
+ return true;
1168
+ } else {
1169
+ if (element instanceof MarkdownComponent) {
1170
+ if (element.nk())
1171
+ return this.nk();
1172
+ } else {
1173
+ if (element instanceof Text) {
1174
+ var tmp0_safe_receiver = element.textContent;
1175
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : indexOf_0(tmp0_safe_receiver, get_ZERO_WIDTH_SPACE());
1176
+ var hasZwsp = (tmp1_elvis_lhs == null ? -1 : tmp1_elvis_lhs) >= 0;
1177
+ if (element.length > 1 && hasZwsp) {
1178
+ var tmp2_safe_receiver = element.textContent;
1179
+ element.textContent = tmp2_safe_receiver == null ? null : replace(tmp2_safe_receiver, get_ZERO_WIDTH_SPACE(), '');
1180
+ }
1181
+ } else {
1182
+ if (normalizeUnknownChild(element)) {
1183
+ return true;
1184
+ }
1185
+ }
1186
+ }
1187
+ }
1188
+ }
1189
+ return false;
1190
+ }
1191
+ yk(currentSelection) {
1192
+ this.cn(currentSelection, this.previousElementSibling);
1193
+ }
1194
+ cn(currentSelection, other) {
1195
+ if (other == null)
1196
+ return Unit_instance;
1197
+ if (other instanceof LeafElement) {
1198
+ if ((currentSelection == null ? null : currentSelection.containsNode(this, true)) === true) {
1199
+ other.wm(currentSelection);
1200
+ }
1201
+ // Inline function 'kotlin.collections.forEach' call
1202
+ var _iterator__ex2g4s = toList(asList(this.childNodes)).p();
1203
+ while (_iterator__ex2g4s.q()) {
1204
+ var element = _iterator__ex2g4s.r();
1205
+ other.appendChild(element);
1206
+ }
1207
+ this.remove();
1208
+ } else {
1209
+ if (other instanceof ContainerElement) {
1210
+ this.cn(currentSelection, other.lastElementChild);
1211
+ }
1212
+ }
1213
+ }
1214
+ al() {
1215
+ var next = this.nextElementSibling;
1216
+ if (next instanceof LeafElement) {
1217
+ // Inline function 'kotlin.collections.forEach' call
1218
+ var _iterator__ex2g4s = toList(asList(next.childNodes)).p();
1219
+ while (_iterator__ex2g4s.q()) {
1220
+ var element = _iterator__ex2g4s.r();
1221
+ this.appendChild(element);
1222
+ }
1223
+ next.remove();
1224
+ }
1225
+ }
1226
+ lk() {
1227
+ var tmp;
1228
+ var tmp0_safe_receiver = this.textContent;
1229
+ var tmp_0;
1230
+ if (tmp0_safe_receiver == null) {
1231
+ tmp_0 = null;
1232
+ } else {
1233
+ // Inline function 'kotlin.text.isNotEmpty' call
1234
+ tmp_0 = charSequenceLength(tmp0_safe_receiver) > 0;
1235
+ }
1236
+ if (tmp_0 === true) {
1237
+ tmp = true;
1238
+ } else {
1239
+ tmp = this.children.length > 0;
1240
+ }
1241
+ return tmp;
1242
+ }
1243
+ }
1244
+ class Heading extends LeafElement {
1245
+ constructor() {
1246
+ super();
1247
+ this.ym_1 = true;
1248
+ }
1249
+ hk() {
1250
+ return this.ym_1;
1251
+ }
1252
+ vm() {
1253
+ return 'markdown-paragraph';
1254
+ }
1255
+ km() {
1256
+ return true;
1257
+ }
1258
+ an() {
1259
+ // Inline function 'org.w3c.dom.OPEN' call
1260
+ // Inline function 'kotlin.js.asDynamic' call
1261
+ // Inline function 'kotlin.js.unsafeCast' call
1262
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1263
+ var o = {};
1264
+ o['mode'] = 'open';
1265
+ // Inline function 'kotlin.apply' call
1266
+ var this_0 = this.attachShadow(o);
1267
+ style(this_0, trimIndent('\n :host {\n position: relative;\n min-height: 1em;\n }\n h' + this.zm() + ' {\n font-size: var(--header' + this.zm() + '-font-size);\n }\n '));
1268
+ var tmp = 'h' + this.zm();
1269
+ element(this_0, tmp, Heading$renderHeading$lambda);
1270
+ }
1271
+ }
1272
+ class InlineElement extends MarkdownComponent {
1273
+ constructor() {
1274
+ super();
1275
+ this.dn_1 = false;
1276
+ }
1277
+ hk() {
1278
+ return this.dn_1;
1279
+ }
1280
+ nk() {
1281
+ var next = this.nextSibling;
1282
+ var tmp;
1283
+ var tmp_0;
1284
+ if (this.en()) {
1285
+ tmp_0 = next instanceof InlineElement;
1286
+ } else {
1287
+ tmp_0 = false;
1288
+ }
1289
+ if (tmp_0) {
1290
+ tmp = this.tagName === next.tagName;
1291
+ } else {
1292
+ tmp = false;
1293
+ }
1294
+ if (tmp) {
1295
+ // Inline function 'kotlin.collections.forEach' call
1296
+ var _iterator__ex2g4s = toList(asList(next.childNodes)).p();
1297
+ while (_iterator__ex2g4s.q()) {
1298
+ var element = _iterator__ex2g4s.r();
1299
+ this.appendChild(element);
1300
+ }
1301
+ var tmp0_safe_receiver = this.parentNode;
1302
+ if (tmp0_safe_receiver == null)
1303
+ null;
1304
+ else
1305
+ tmp0_safe_receiver.removeChild(next);
1306
+ this.nk();
1307
+ return true;
1308
+ }
1309
+ // Inline function 'kotlin.collections.forEach' call
1310
+ var _iterator__ex2g4s_0 = asList(this.childNodes).p();
1311
+ while (_iterator__ex2g4s_0.q()) {
1312
+ var element_0 = _iterator__ex2g4s_0.r();
1313
+ if (element_0 instanceof HTMLBRElement) {
1314
+ this.fn(element_0);
1315
+ return true;
1316
+ } else {
1317
+ if (element_0 instanceof MarkdownComponent) {
1318
+ if (element_0.nk())
1319
+ return this.nk();
1320
+ } else {
1321
+ if (normalizeUnknownChild(element_0)) {
1322
+ return true;
1323
+ }
1324
+ }
1325
+ }
1326
+ }
1327
+ return false;
1328
+ }
1329
+ en() {
1330
+ return false;
1331
+ }
1332
+ yk(currentSelection) {
1333
+ var tmp = this.parentNode;
1334
+ var tmp0_safe_receiver = tmp instanceof MarkdownComponent ? tmp : null;
1335
+ if (tmp0_safe_receiver == null)
1336
+ null;
1337
+ else {
1338
+ tmp0_safe_receiver.yk(currentSelection);
1339
+ }
1340
+ }
1341
+ al() {
1342
+ var tmp = this.parentNode;
1343
+ var tmp0_safe_receiver = tmp instanceof MarkdownComponent ? tmp : null;
1344
+ if (tmp0_safe_receiver == null)
1345
+ null;
1346
+ else {
1347
+ tmp0_safe_receiver.al();
1348
+ }
1349
+ }
1350
+ }
1351
+ class TerminalInlineElement extends MarkdownComponent {}
1352
+ class ListItem extends ContainerElement {
1353
+ constructor() {
1354
+ super();
1355
+ this.gn_1 = false;
1356
+ }
1357
+ hk() {
1358
+ return this.gn_1;
1359
+ }
1360
+ nk() {
1361
+ this.normalize();
1362
+ if (this.childNodes.length === 0) {
1363
+ this.remove();
1364
+ return true;
1365
+ }
1366
+ // Inline function 'kotlin.collections.forEach' call
1367
+ var _iterator__ex2g4s = asList(this.childNodes).p();
1368
+ while (_iterator__ex2g4s.q()) {
1369
+ var element = _iterator__ex2g4s.r();
1370
+ if (element instanceof HTMLBRElement) {
1371
+ this.rm(element);
1372
+ this.removeChild(element);
1373
+ return true;
1374
+ } else {
1375
+ if (element instanceof MarkdownComponent) {
1376
+ if (element.nk())
1377
+ return this.nk();
1378
+ } else {
1379
+ if (element instanceof Text) {
1380
+ var tmp0_safe_receiver = element.textContent;
1381
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : indexOf_0(tmp0_safe_receiver, get_ZERO_WIDTH_SPACE());
1382
+ var hasZwsp = (tmp1_elvis_lhs == null ? -1 : tmp1_elvis_lhs) >= 0;
1383
+ if (element.length > 1 && hasZwsp) {
1384
+ var tmp2_safe_receiver = element.textContent;
1385
+ element.textContent = tmp2_safe_receiver == null ? null : replace(tmp2_safe_receiver, get_ZERO_WIDTH_SPACE(), '');
1386
+ }
1387
+ } else {
1388
+ if (normalizeUnknownChild(element)) {
1389
+ return true;
1390
+ }
1391
+ }
1392
+ }
1393
+ }
1394
+ }
1395
+ return false;
1396
+ }
1397
+ el() {
1398
+ var result = 0;
1399
+ // Inline function 'kotlin.collections.forEach' call
1400
+ var _iterator__ex2g4s = asList(this.childNodes).p();
1401
+ while (_iterator__ex2g4s.q()) {
1402
+ var element = _iterator__ex2g4s.r();
1403
+ var tmp = result;
1404
+ var tmp_0;
1405
+ if (element instanceof MarkdownComponent) {
1406
+ tmp_0 = element.el();
1407
+ } else {
1408
+ if (element instanceof HTMLBRElement) {
1409
+ tmp_0 = 1;
1410
+ } else {
1411
+ var tmp0_safe_receiver = element.textContent;
1412
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : replace(tmp0_safe_receiver, get_ZERO_WIDTH_SPACE(), '');
1413
+ var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
1414
+ tmp_0 = tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
1415
+ }
1416
+ }
1417
+ result = tmp + tmp_0 | 0;
1418
+ }
1419
+ return result + this.xm() | 0;
1420
+ }
1421
+ jk(child) {
1422
+ var nodes = asList(this.childNodes);
1423
+ var indexOfChild = child == null ? -1 : nodes.m1(child);
1424
+ var result = 0;
1425
+ if (indexOfChild >= 0) {
1426
+ // Inline function 'kotlin.collections.forEach' call
1427
+ var _iterator__ex2g4s = nodes.n1(0, indexOfChild).p();
1428
+ while (_iterator__ex2g4s.q()) {
1429
+ var element = _iterator__ex2g4s.r();
1430
+ var tmp = result;
1431
+ var tmp_0;
1432
+ if (element instanceof MarkdownComponent) {
1433
+ tmp_0 = element.el();
1434
+ } else {
1435
+ if (element instanceof HTMLBRElement) {
1436
+ tmp_0 = 1;
1437
+ } else {
1438
+ var tmp0_safe_receiver = element.textContent;
1439
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : replace(tmp0_safe_receiver, get_ZERO_WIDTH_SPACE(), '');
1440
+ var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
1441
+ tmp_0 = tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
1442
+ }
1443
+ }
1444
+ result = tmp + tmp_0 | 0;
1445
+ }
1446
+ }
1447
+ return result;
1448
+ }
1449
+ yk(currentSelection) {
1450
+ var previous = this.previousElementSibling;
1451
+ if (previous instanceof ListItem) {
1452
+ if ((currentSelection == null ? null : currentSelection.containsNode(this, true)) === true) {
1453
+ previous.wm(currentSelection);
1454
+ }
1455
+ // Inline function 'kotlin.collections.forEach' call
1456
+ var _iterator__ex2g4s = toList(asList(this.childNodes)).p();
1457
+ while (_iterator__ex2g4s.q()) {
1458
+ var element = _iterator__ex2g4s.r();
1459
+ previous.appendChild(element);
1460
+ }
1461
+ this.remove();
1462
+ } else {
1463
+ var tmp2_safe_receiver = this.parentElement;
1464
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.childNodes;
1465
+ if ((tmp3_safe_receiver == null ? null : tmp3_safe_receiver.length) === 1) {
1466
+ // Inline function 'kotlin.collections.forEach' call
1467
+ var _iterator__ex2g4s_0 = toList(asList(this.childNodes)).p();
1468
+ while (_iterator__ex2g4s_0.q()) {
1469
+ var element_0 = _iterator__ex2g4s_0.r();
1470
+ var tmp0_safe_receiver = this.parentElement;
1471
+ if (tmp0_safe_receiver == null)
1472
+ null;
1473
+ else {
1474
+ tmp0_safe_receiver.after(element_0);
1475
+ }
1476
+ }
1477
+ var tmp1_safe_receiver = this.parentElement;
1478
+ if (tmp1_safe_receiver == null)
1479
+ null;
1480
+ else {
1481
+ tmp1_safe_receiver.remove();
1482
+ }
1483
+ }
1484
+ }
1485
+ }
1486
+ al() {
1487
+ var next = this.nextElementSibling;
1488
+ if (next instanceof ListItem) {
1489
+ // Inline function 'kotlin.collections.forEach' call
1490
+ var _iterator__ex2g4s = toList(asList(next.childNodes)).p();
1491
+ while (_iterator__ex2g4s.q()) {
1492
+ var element = _iterator__ex2g4s.r();
1493
+ this.appendChild(element);
1494
+ }
1495
+ next.remove();
1496
+ }
1497
+ }
1498
+ lk() {
1499
+ var tmp;
1500
+ var tmp0_safe_receiver = this.textContent;
1501
+ var tmp_0;
1502
+ if (tmp0_safe_receiver == null) {
1503
+ tmp_0 = null;
1504
+ } else {
1505
+ // Inline function 'kotlin.text.isNotEmpty' call
1506
+ tmp_0 = charSequenceLength(tmp0_safe_receiver) > 0;
1507
+ }
1508
+ if (tmp_0 === true) {
1509
+ tmp = true;
1510
+ } else {
1511
+ tmp = this.children.length > 0;
1512
+ }
1513
+ return tmp;
1514
+ }
1515
+ km() {
1516
+ return true;
1517
+ }
1518
+ }
1519
+ class MarkdownElementWithLevel {}
1520
+ class MarkdownElementEscapeByBackspace {}
1521
+ class TableCell extends ContainerElement {
1522
+ constructor() {
1523
+ super();
1524
+ this.hn_1 = false;
1525
+ }
1526
+ hk() {
1527
+ return this.hn_1;
1528
+ }
1529
+ in(hostCss) {
1530
+ // Inline function 'org.w3c.dom.OPEN' call
1531
+ // Inline function 'kotlin.js.asDynamic' call
1532
+ // Inline function 'kotlin.js.unsafeCast' call
1533
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1534
+ var o = {};
1535
+ o['mode'] = 'open';
1536
+ // Inline function 'kotlin.apply' call
1537
+ var this_0 = this.attachShadow(o);
1538
+ style(this_0, ':host { ' + hostCss + ' }');
1539
+ slot(this_0);
1540
+ }
1541
+ km() {
1542
+ return true;
1543
+ }
1544
+ }
1545
+ class MarkdownBreak extends LeafElement {
1546
+ constructor() {
1547
+ super();
1548
+ this.jn_1 = true;
1549
+ // Inline function 'org.w3c.dom.OPEN' call
1550
+ // Inline function 'kotlin.js.asDynamic' call
1551
+ // Inline function 'kotlin.js.unsafeCast' call
1552
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1553
+ var o = {};
1554
+ o['mode'] = 'open';
1555
+ element(this.attachShadow(o), 'hr');
1556
+ }
1557
+ hk() {
1558
+ return this.jn_1;
1559
+ }
1560
+ km() {
1561
+ return false;
1562
+ }
1563
+ bn() {
1564
+ return true;
1565
+ }
1566
+ }
1567
+ class MarkdownCode extends LeafElement {
1568
+ constructor() {
1569
+ super();
1570
+ this.kn_1 = true;
1571
+ // Inline function 'org.w3c.dom.OPEN' call
1572
+ // Inline function 'kotlin.js.asDynamic' call
1573
+ // Inline function 'kotlin.js.unsafeCast' call
1574
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1575
+ var o = {};
1576
+ o['mode'] = 'open';
1577
+ var tmp = element(this.attachShadow(o), 'pre');
1578
+ element(tmp, 'code', MarkdownCode$lambda);
1579
+ }
1580
+ hk() {
1581
+ return this.kn_1;
1582
+ }
1583
+ w9() {
1584
+ super.w9();
1585
+ highlight(this);
1586
+ this.addEventListener('input', MarkdownCode$connectedCallback$lambda(this));
1587
+ }
1588
+ connectedCallback() {
1589
+ return this.w9();
1590
+ }
1591
+ km() {
1592
+ return true;
1593
+ }
1594
+ }
1595
+ class MarkdownCodeSpan extends TerminalInlineElement {
1596
+ constructor() {
1597
+ super();
1598
+ this.ln_1 = false;
1599
+ // Inline function 'org.w3c.dom.OPEN' call
1600
+ // Inline function 'kotlin.js.asDynamic' call
1601
+ // Inline function 'kotlin.js.unsafeCast' call
1602
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1603
+ var o = {};
1604
+ o['mode'] = 'open';
1605
+ var tmp = this.attachShadow(o);
1606
+ element(tmp, 'code', MarkdownCodeSpan$lambda);
1607
+ }
1608
+ hk() {
1609
+ return this.ln_1;
1610
+ }
1611
+ km() {
1612
+ return true;
1613
+ }
1614
+ }
1615
+ class MarkdownEmphasis extends InlineElement {
1616
+ constructor() {
1617
+ super();
1618
+ // Inline function 'org.w3c.dom.OPEN' call
1619
+ // Inline function 'kotlin.js.asDynamic' call
1620
+ // Inline function 'kotlin.js.unsafeCast' call
1621
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1622
+ var o = {};
1623
+ o['mode'] = 'open';
1624
+ var tmp = this.attachShadow(o);
1625
+ element(tmp, 'i', MarkdownEmphasis$lambda);
1626
+ }
1627
+ km() {
1628
+ return true;
1629
+ }
1630
+ }
1631
+ class MarkdownHeading1 extends Heading {
1632
+ constructor() {
1633
+ super();
1634
+ this.on_1 = 1;
1635
+ this.an();
1636
+ }
1637
+ zm() {
1638
+ return this.on_1;
1639
+ }
1640
+ }
1641
+ class MarkdownHeading2 extends Heading {
1642
+ constructor() {
1643
+ super();
1644
+ this.qn_1 = 2;
1645
+ this.an();
1646
+ }
1647
+ zm() {
1648
+ return this.qn_1;
1649
+ }
1650
+ }
1651
+ class MarkdownHeading3 extends Heading {
1652
+ constructor() {
1653
+ super();
1654
+ this.sn_1 = 3;
1655
+ this.an();
1656
+ }
1657
+ zm() {
1658
+ return this.sn_1;
1659
+ }
1660
+ }
1661
+ class MarkdownHeading4 extends Heading {
1662
+ constructor() {
1663
+ super();
1664
+ this.un_1 = 4;
1665
+ this.an();
1666
+ }
1667
+ zm() {
1668
+ return this.un_1;
1669
+ }
1670
+ }
1671
+ class MarkdownHeading5 extends Heading {
1672
+ constructor() {
1673
+ super();
1674
+ this.wn_1 = 5;
1675
+ this.an();
1676
+ }
1677
+ zm() {
1678
+ return this.wn_1;
1679
+ }
1680
+ }
1681
+ class MarkdownHeading6 extends Heading {
1682
+ constructor() {
1683
+ super();
1684
+ this.yn_1 = 6;
1685
+ this.an();
1686
+ }
1687
+ zm() {
1688
+ return this.yn_1;
1689
+ }
1690
+ }
1691
+ class MarkdownHtml extends LeafElement {
1692
+ constructor() {
1693
+ super();
1694
+ this.zn_1 = false;
1695
+ // Inline function 'org.w3c.dom.OPEN' call
1696
+ // Inline function 'kotlin.js.asDynamic' call
1697
+ // Inline function 'kotlin.js.unsafeCast' call
1698
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1699
+ var o = {};
1700
+ o['mode'] = 'open';
1701
+ slot(this.attachShadow(o));
1702
+ }
1703
+ hk() {
1704
+ return this.zn_1;
1705
+ }
1706
+ ik() {
1707
+ return false;
1708
+ }
1709
+ km() {
1710
+ return true;
1711
+ }
1712
+ }
1713
+ class MarkdownImage extends TerminalInlineElement {
1714
+ constructor() {
1715
+ super();
1716
+ this.ok_1 = false;
1717
+ // Inline function 'org.w3c.dom.OPEN' call
1718
+ // Inline function 'kotlin.js.asDynamic' call
1719
+ // Inline function 'kotlin.js.unsafeCast' call
1720
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1721
+ var o = {};
1722
+ o['mode'] = 'open';
1723
+ var shadow = this.attachShadow(o);
1724
+ style(shadow, ':host([destination]) .upload {\n display: none;\n}\n.upload {\n border: #c7c7c7 1px dashed;\n padding: 10px;\n}');
1725
+ var tmp = this;
1726
+ var tmp_0 = element(shadow, 'input', MarkdownImage$lambda);
1727
+ tmp.qk_1 = tmp_0 instanceof HTMLInputElement ? tmp_0 : THROW_CCE();
1728
+ this.qk_1.addEventListener('change', MarkdownImage$lambda_0(this));
1729
+ var tmp_1 = this;
1730
+ var tmp_2 = element(shadow, 'img', MarkdownImage$lambda_1);
1731
+ tmp_1.pk_1 = tmp_2 instanceof HTMLImageElement ? tmp_2 : THROW_CCE();
1732
+ this.pk_1.addEventListener('error', MarkdownImage$lambda_2(this));
1733
+ element(shadow, 'slot', MarkdownImage$lambda_3);
1734
+ }
1735
+ hk() {
1736
+ return this.ok_1;
1737
+ }
1738
+ rk(value) {
1739
+ return this.setAttribute('destination', value);
1740
+ }
1741
+ ao() {
1742
+ var tmp0_elvis_lhs = this.getAttribute('destination');
1743
+ return tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
1744
+ }
1745
+ w9() {
1746
+ super.w9();
1747
+ updateImage(this);
1748
+ }
1749
+ connectedCallback() {
1750
+ return this.w9();
1751
+ }
1752
+ z9(name, oldValue, newValue) {
1753
+ if (name === 'destination' || name === 'title') {
1754
+ updateImage(this);
1755
+ }
1756
+ }
1757
+ attributeChangedCallback(name, oldValue, newValue) {
1758
+ return this.z9(name, oldValue, newValue);
1759
+ }
1760
+ km() {
1761
+ return false;
1762
+ }
1763
+ xk() {
1764
+ return true;
1765
+ }
1766
+ }
1767
+ class MarkdownLink extends TerminalInlineElement {
1768
+ constructor() {
1769
+ super();
1770
+ this.yl_1 = false;
1771
+ // Inline function 'org.w3c.dom.OPEN' call
1772
+ // Inline function 'kotlin.js.asDynamic' call
1773
+ // Inline function 'kotlin.js.unsafeCast' call
1774
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1775
+ var o = {};
1776
+ o['mode'] = 'open';
1777
+ var shadow = this.attachShadow(o);
1778
+ style(shadow, ':host {\n position: relative;\n}\n.show-link {\n user-select: none;\n position: absolute;\n background: white;\n padding: 3px;\n top: -8px;\n right: -20px;\n cursor: default;\n opacity: 0.0;\n transition: opacity 1s ease-in-out;\n}\n:host(:hover) .show-link, :host(.fresh) .show-link {\n opacity: 1.0;\n}\n.destination-input.visible {\n display: block;\n}\n.destination-input {\n display: none;\n position: absolute;\n z-index: 10;\n top: -15px;\n left: 15px;\n box-shadow: 0px 0px 5px 2px rgb(0 0 0 / 50%);\n}');
1779
+ var tmp = this;
1780
+ var tmp_0 = element(shadow, 'a', MarkdownLink$lambda);
1781
+ // Inline function 'kotlin.also' call
1782
+ var this_0 = tmp_0 instanceof HTMLAnchorElement ? tmp_0 : THROW_CCE();
1783
+ slot(this_0);
1784
+ tmp.zl_1 = this_0;
1785
+ var showLink = element(shadow, 'span', MarkdownLink$lambda_0);
1786
+ showLink.addEventListener('click', MarkdownLink$lambda_1(this));
1787
+ var tmp_1 = this;
1788
+ var tmp_2 = element(shadow, 'input', MarkdownLink$lambda_2);
1789
+ tmp_1.am_1 = tmp_2 instanceof HTMLInputElement ? tmp_2 : THROW_CCE();
1790
+ this.am_1.addEventListener('input', MarkdownLink$lambda_3(this));
1791
+ this.am_1.addEventListener('blur', MarkdownLink$lambda_4(this));
1792
+ this.am_1.addEventListener('keydown', MarkdownLink$lambda_5(this));
1793
+ }
1794
+ hk() {
1795
+ return this.yl_1;
1796
+ }
1797
+ rk(value) {
1798
+ return this.setAttribute('destination', value);
1799
+ }
1800
+ ao() {
1801
+ var tmp0_elvis_lhs = this.getAttribute('destination');
1802
+ return tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
1803
+ }
1804
+ w9() {
1805
+ super.w9();
1806
+ var tmp = window;
1807
+ tmp.setTimeout(MarkdownLink$connectedCallback$lambda(this), 5000);
1808
+ updateLinkTarget(this);
1809
+ }
1810
+ connectedCallback() {
1811
+ return this.w9();
1812
+ }
1813
+ z9(name, oldValue, newValue) {
1814
+ if (name === 'destination' || name === 'title') {
1815
+ updateLinkTarget(this);
1816
+ }
1817
+ }
1818
+ attributeChangedCallback(name, oldValue, newValue) {
1819
+ return this.z9(name, oldValue, newValue);
1820
+ }
1821
+ vm() {
1822
+ return null;
1823
+ }
1824
+ km() {
1825
+ return true;
1826
+ }
1827
+ }
1828
+ class MarkdownList extends ContainerElement {
1829
+ constructor() {
1830
+ super();
1831
+ this.bo_1 = false;
1832
+ // Inline function 'org.w3c.dom.OPEN' call
1833
+ // Inline function 'kotlin.js.asDynamic' call
1834
+ // Inline function 'kotlin.js.unsafeCast' call
1835
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1836
+ var o = {};
1837
+ o['mode'] = 'open';
1838
+ // Inline function 'kotlin.apply' call
1839
+ var this_0 = this.attachShadow(o);
1840
+ style(this_0, ":host {\n counter-reset: section;\n}\n:host ::slotted(*) {\n display: list-item;\n}\n:host([ordered='true']) ::slotted(*) {\n list-style-type: decimal;\n}");
1841
+ slot(this_0);
1842
+ }
1843
+ hk() {
1844
+ return this.bo_1;
1845
+ }
1846
+ km() {
1847
+ return false;
1848
+ }
1849
+ bl(child) {
1850
+ if (child == null)
1851
+ return Unit_instance;
1852
+ var list = document.createElement('markdown-list');
1853
+ var item = document.createElement('markdown-list-item');
1854
+ item.innerHTML = child.innerHTML;
1855
+ list.appendChild(item);
1856
+ child.innerHTML = '&nbsp';
1857
+ child.appendChild(list);
1858
+ }
1859
+ cl(child) {
1860
+ if (child == null)
1861
+ return Unit_instance;
1862
+ var tmp0_safe_receiver = this.parentElement;
1863
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.closest('markdown-list-item');
1864
+ var tmp;
1865
+ if (tmp1_elvis_lhs == null) {
1866
+ return Unit_instance;
1867
+ } else {
1868
+ tmp = tmp1_elvis_lhs;
1869
+ }
1870
+ var nextUp = tmp;
1871
+ var nodes = asList(this.childNodes);
1872
+ var indexOfChild = nodes.m1(child);
1873
+ // Inline function 'kotlin.collections.forEach' call
1874
+ var _iterator__ex2g4s = drop(nodes, indexOfChild).p();
1875
+ while (_iterator__ex2g4s.q()) {
1876
+ var element = _iterator__ex2g4s.r();
1877
+ nextUp.after(element);
1878
+ }
1879
+ }
1880
+ }
1881
+ class MarkdownListItem extends ListItem {
1882
+ constructor() {
1883
+ super();
1884
+ // Inline function 'org.w3c.dom.OPEN' call
1885
+ // Inline function 'kotlin.js.asDynamic' call
1886
+ // Inline function 'kotlin.js.unsafeCast' call
1887
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1888
+ var o = {};
1889
+ o['mode'] = 'open';
1890
+ // Inline function 'kotlin.apply' call
1891
+ var this_0 = this.attachShadow(o);
1892
+ style(this_0, ':host {\n position: relative;\n left: 20px;\n}');
1893
+ element(this_0, 'div', MarkdownListItem$lambda);
1894
+ }
1895
+ }
1896
+ class MarkdownNumericList extends ContainerElement {
1897
+ constructor() {
1898
+ super();
1899
+ this.co_1 = false;
1900
+ // Inline function 'org.w3c.dom.OPEN' call
1901
+ // Inline function 'kotlin.js.asDynamic' call
1902
+ // Inline function 'kotlin.js.unsafeCast' call
1903
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1904
+ var o = {};
1905
+ o['mode'] = 'open';
1906
+ // Inline function 'kotlin.apply' call
1907
+ var this_0 = this.attachShadow(o);
1908
+ style(this_0, ":host {\n /* fallback for browsers without ::marker { content } support */\n list-style-type: decimal;\n /* a real <ol> gets a fresh counter scope per nesting level for free (it's baked\n into the UA stylesheet); a custom element doesn't, so this does it explicitly \u2014\n without it, nested lists just continue the outer count instead of showing 1.1 */\n counter-reset: numbered-item;\n}");
1909
+ slot(this_0);
1910
+ }
1911
+ hk() {
1912
+ return this.co_1;
1913
+ }
1914
+ km() {
1915
+ return false;
1916
+ }
1917
+ bl(child) {
1918
+ if (child == null)
1919
+ return Unit_instance;
1920
+ var list = document.createElement('markdown-numeric-list');
1921
+ var item = document.createElement('markdown-numeric-list-item');
1922
+ item.innerHTML = child.innerHTML;
1923
+ list.appendChild(item);
1924
+ child.innerHTML = '&nbsp';
1925
+ child.appendChild(list);
1926
+ }
1927
+ cl(child) {
1928
+ if (child == null)
1929
+ return Unit_instance;
1930
+ var tmp0_safe_receiver = this.parentElement;
1931
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.closest('markdown-numeric-list-item');
1932
+ var tmp;
1933
+ if (tmp1_elvis_lhs == null) {
1934
+ return Unit_instance;
1935
+ } else {
1936
+ tmp = tmp1_elvis_lhs;
1937
+ }
1938
+ var nextUp = tmp;
1939
+ var nodes = asList(this.childNodes);
1940
+ var indexOfChild = nodes.m1(child);
1941
+ // Inline function 'kotlin.collections.forEach' call
1942
+ var _iterator__ex2g4s = drop(nodes, indexOfChild).p();
1943
+ while (_iterator__ex2g4s.q()) {
1944
+ var element = _iterator__ex2g4s.r();
1945
+ nextUp.after(element);
1946
+ }
1947
+ }
1948
+ }
1949
+ class MarkdownNumericListItem extends ListItem {
1950
+ constructor() {
1951
+ super();
1952
+ // Inline function 'org.w3c.dom.OPEN' call
1953
+ // Inline function 'kotlin.js.asDynamic' call
1954
+ // Inline function 'kotlin.js.unsafeCast' call
1955
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1956
+ var o = {};
1957
+ o['mode'] = 'open';
1958
+ // Inline function 'kotlin.apply' call
1959
+ var this_0 = this.attachShadow(o);
1960
+ style(this_0, ':host {\n position: relative;\n left: 20px;\n display: list-item;\n counter-increment: numbered-item;\n}\n:host::marker {\n content: counters(numbered-item, ".") ". ";\n}');
1961
+ element(this_0, 'div', MarkdownNumericListItem$lambda);
1962
+ }
1963
+ }
1964
+ class MarkdownParagraph extends LeafElement {
1965
+ constructor() {
1966
+ super();
1967
+ this.do_1 = true;
1968
+ // Inline function 'org.w3c.dom.OPEN' call
1969
+ // Inline function 'kotlin.js.asDynamic' call
1970
+ // Inline function 'kotlin.js.unsafeCast' call
1971
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
1972
+ var o = {};
1973
+ o['mode'] = 'open';
1974
+ // Inline function 'kotlin.apply' call
1975
+ var this_0 = this.attachShadow(o);
1976
+ style(this_0, ':host {\n position: relative;\n display: block;\n margin-block-start: 1em;\n margin-block-end: 1em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n}');
1977
+ slot(this_0);
1978
+ }
1979
+ hk() {
1980
+ return this.do_1;
1981
+ }
1982
+ km() {
1983
+ return true;
1984
+ }
1985
+ nk() {
1986
+ var onlyChild = singleOrNull(asList(this.childNodes));
1987
+ if (onlyChild instanceof HTMLBRElement) {
1988
+ onlyChild.remove();
1989
+ this.appendChild(document.createTextNode(get_ZERO_WIDTH_SPACE()));
1990
+ }
1991
+ var tmp = this.lastChild;
1992
+ if (tmp instanceof MarkdownComponent) {
1993
+ this.appendChild(document.createTextNode(get_ZERO_WIDTH_SPACE()));
1994
+ }
1995
+ return super.nk();
1996
+ }
1997
+ }
1998
+ class MarkdownQuote extends ContainerElement {
1999
+ constructor() {
2000
+ super();
2001
+ this.eo_1 = true;
2002
+ // Inline function 'org.w3c.dom.OPEN' call
2003
+ // Inline function 'kotlin.js.asDynamic' call
2004
+ // Inline function 'kotlin.js.unsafeCast' call
2005
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2006
+ var o = {};
2007
+ o['mode'] = 'open';
2008
+ // Inline function 'kotlin.apply' call
2009
+ var this_0 = this.attachShadow(o);
2010
+ style(this_0, ":host {\n position: relative;\n}\nblockquote::before {\n position: absolute;\n width: 3px;\n height: 100%;\n left: 20px;\n background-color: lightgray;\n content: '';\n}");
2011
+ element(this_0, 'blockquote', MarkdownQuote$lambda);
2012
+ }
2013
+ hk() {
2014
+ return this.eo_1;
2015
+ }
2016
+ km() {
2017
+ return true;
2018
+ }
2019
+ yk(currentSelection) {
2020
+ var tmp0_safe_receiver = this.firstChild;
2021
+ if (tmp0_safe_receiver == null)
2022
+ null;
2023
+ else {
2024
+ // Inline function 'kotlin.let' call
2025
+ this.before(tmp0_safe_receiver);
2026
+ }
2027
+ }
2028
+ bl(child) {
2029
+ if (!(child == null)) {
2030
+ var quote = document.createElement('markdown-quote');
2031
+ child.replaceWith(quote);
2032
+ quote.append(child);
2033
+ }
2034
+ }
2035
+ cl(child) {
2036
+ if (!(child == null) && this.childNodes.length > 1) {
2037
+ var nodes = asList(this.childNodes);
2038
+ var indexOfChild = nodes.m1(child);
2039
+ if (indexOfChild < (nodes.t() - 1 | 0)) {
2040
+ var quote = document.createElement('markdown-quote');
2041
+ this.after(quote);
2042
+ // Inline function 'kotlin.collections.forEach' call
2043
+ var _iterator__ex2g4s = drop(nodes, indexOfChild + 1 | 0).p();
2044
+ while (_iterator__ex2g4s.q()) {
2045
+ var element = _iterator__ex2g4s.r();
2046
+ quote.append(element);
2047
+ }
2048
+ }
2049
+ if (indexOfChild > 0) {
2050
+ this.after(child);
2051
+ } else {
2052
+ this.before(child);
2053
+ }
2054
+ if (this.childNodes.length === 0) {
2055
+ this.remove();
2056
+ }
2057
+ } else {
2058
+ // Inline function 'kotlin.collections.forEach' call
2059
+ var _iterator__ex2g4s_0 = toList(asList(this.childNodes)).p();
2060
+ while (_iterator__ex2g4s_0.q()) {
2061
+ var element_0 = _iterator__ex2g4s_0.r();
2062
+ this.before(element_0);
2063
+ }
2064
+ this.remove();
2065
+ }
2066
+ }
2067
+ zk(child) {
2068
+ this.cl(child);
2069
+ }
2070
+ }
2071
+ class MarkdownStrike extends InlineElement {
2072
+ constructor() {
2073
+ super();
2074
+ // Inline function 'org.w3c.dom.OPEN' call
2075
+ // Inline function 'kotlin.js.asDynamic' call
2076
+ // Inline function 'kotlin.js.unsafeCast' call
2077
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2078
+ var o = {};
2079
+ o['mode'] = 'open';
2080
+ var tmp = this.attachShadow(o);
2081
+ element(tmp, 'del', MarkdownStrike$lambda);
2082
+ }
2083
+ km() {
2084
+ return true;
2085
+ }
2086
+ }
2087
+ class MarkdownStrong extends InlineElement {
2088
+ constructor() {
2089
+ super();
2090
+ // Inline function 'org.w3c.dom.OPEN' call
2091
+ // Inline function 'kotlin.js.asDynamic' call
2092
+ // Inline function 'kotlin.js.unsafeCast' call
2093
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2094
+ var o = {};
2095
+ o['mode'] = 'open';
2096
+ // Inline function 'kotlin.apply' call
2097
+ var this_0 = this.attachShadow(o);
2098
+ style(this_0, ':host { font-weight: bold; }');
2099
+ slot(this_0);
2100
+ }
2101
+ en() {
2102
+ return true;
2103
+ }
2104
+ km() {
2105
+ return true;
2106
+ }
2107
+ }
2108
+ class MarkdownTable extends ContainerElement {
2109
+ constructor() {
2110
+ super();
2111
+ this.ho_1 = true;
2112
+ // Inline function 'org.w3c.dom.OPEN' call
2113
+ // Inline function 'kotlin.js.asDynamic' call
2114
+ // Inline function 'kotlin.js.unsafeCast' call
2115
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2116
+ var o = {};
2117
+ o['mode'] = 'open';
2118
+ // Inline function 'kotlin.apply' call
2119
+ var this_0 = this.attachShadow(o);
2120
+ style(this_0, ':host {\n display: table;\n border-collapse: collapse;\n}');
2121
+ slot(this_0);
2122
+ }
2123
+ hk() {
2124
+ return this.ho_1;
2125
+ }
2126
+ km() {
2127
+ return false;
2128
+ }
2129
+ }
2130
+ class MarkdownTableCell extends TableCell {
2131
+ constructor() {
2132
+ super();
2133
+ this.in('display: table-cell; border: lightgrey 1px solid;');
2134
+ }
2135
+ }
2136
+ class MarkdownTableHeaderCell extends TableCell {
2137
+ constructor() {
2138
+ super();
2139
+ this.in('display: table-cell; border: lightgrey 1px solid; background-color: lightgray;');
2140
+ }
2141
+ }
2142
+ class MarkdownTableRow extends ContainerElement {
2143
+ constructor() {
2144
+ super();
2145
+ this.io_1 = false;
2146
+ // Inline function 'org.w3c.dom.OPEN' call
2147
+ // Inline function 'kotlin.js.asDynamic' call
2148
+ // Inline function 'kotlin.js.unsafeCast' call
2149
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2150
+ var o = {};
2151
+ o['mode'] = 'open';
2152
+ // Inline function 'kotlin.apply' call
2153
+ var this_0 = this.attachShadow(o);
2154
+ style(this_0, ':host {\n display: table-row;\n border: lightgrey 1px solid;\n}');
2155
+ slot(this_0);
2156
+ }
2157
+ hk() {
2158
+ return this.io_1;
2159
+ }
2160
+ km() {
2161
+ return false;
2162
+ }
2163
+ }
2164
+ class MarkdownTableHeaderRow extends MarkdownTableRow {}
2165
+ class MarkdownTaskListItem extends ListItem {
2166
+ constructor() {
2167
+ super();
2168
+ // Inline function 'org.w3c.dom.OPEN' call
2169
+ // Inline function 'kotlin.js.asDynamic' call
2170
+ // Inline function 'kotlin.js.unsafeCast' call
2171
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2172
+ var o = {};
2173
+ o['mode'] = 'open';
2174
+ var shadow = this.attachShadow(o);
2175
+ style(shadow, ':host {\n position: relative;\n left: 20px;\n}\n.item-container {\n padding-left: 20px;\n}\ninput {\n position: absolute;\n z-index: 3;\n}\n.task-and-container {\n display: inline;\n}');
2176
+ var container = element(shadow, 'div', MarkdownTaskListItem$lambda);
2177
+ var tmp = this;
2178
+ var tmp_0 = element(container, 'input', MarkdownTaskListItem$lambda_0);
2179
+ tmp.ko_1 = tmp_0 instanceof HTMLInputElement ? tmp_0 : THROW_CCE();
2180
+ this.ko_1.addEventListener('change', MarkdownTaskListItem$lambda_1(this));
2181
+ element(container, 'div', MarkdownTaskListItem$lambda_2);
2182
+ }
2183
+ lo() {
2184
+ return this.getAttribute('checked') === 'true';
2185
+ }
2186
+ z9(name, oldValue, newValue) {
2187
+ if (name === 'checked') {
2188
+ this.ko_1.checked = this.lo();
2189
+ }
2190
+ }
2191
+ attributeChangedCallback(name, oldValue, newValue) {
2192
+ return this.z9(name, oldValue, newValue);
2193
+ }
2194
+ }
2195
+ class MarkdownToc extends BaseWebComponent {
2196
+ constructor() {
2197
+ super();
2198
+ this.sk_1 = false;
2199
+ this.tk_1 = null;
2200
+ this.uk_1 = null;
2201
+ // Inline function 'org.w3c.dom.OPEN' call
2202
+ // Inline function 'kotlin.js.asDynamic' call
2203
+ // Inline function 'kotlin.js.unsafeCast' call
2204
+ // Inline function 'org.w3c.dom.ShadowRootInit' call
2205
+ var o = {};
2206
+ o['mode'] = 'open';
2207
+ style(this.attachShadow(o), ':host {\n display: block;\n}\n@media screen {\n :host(.floating) {\n position: absolute;\n right: 0px;\n top: 0px;\n }\n :host(.floating) .level-2 {\n height: 0px;\n visibility: collapse;\n }\n :host(.floating:hover) .level-2 {\n height: auto;\n visibility: visible;\n }\n}\n.level {\n padding-left: 10px;\n font-size: 0.9em;\n}\n.level a {\n display: block;\n}\ndiv {\n display: flex;\n flex-direction: column;\n}');
2208
+ }
2209
+ vk(value) {
2210
+ this.uk_1 = value;
2211
+ refresh(this);
2212
+ }
2213
+ w9() {
2214
+ super.w9();
2215
+ if (this.uk_1 == null) {
2216
+ this.vk(this.closest('markdown-document'));
2217
+ var tmp = window;
2218
+ tmp.setTimeout(MarkdownToc$connectedCallback$lambda(this), 1000);
2219
+ }
2220
+ }
2221
+ connectedCallback() {
2222
+ return this.w9();
2223
+ }
2224
+ }
2225
+ //endregion
2226
+ var registerAllComponentsOnLoad;
2227
+ function registerAllComponentsOnLoad$init$() {
2228
+ // Inline function 'kotlin.run' call
2229
+ registerMarkdownComponents();
2230
+ registerEditorComponents();
2231
+ return Unit_instance;
2232
+ }
2233
+ function createElement(tagName, content) {
2234
+ var tmp;
2235
+ if (content === VOID) {
2236
+ tmp = createElement$lambda;
2237
+ } else {
2238
+ tmp = content;
2239
+ }
2240
+ content = tmp;
2241
+ var child = document.createElement(tagName);
2242
+ content(child);
2243
+ return child;
2244
+ }
2245
+ function element(_this__u8e3s4, tagName, content) {
2246
+ var tmp;
2247
+ if (content === VOID) {
2248
+ tmp = element$lambda;
2249
+ } else {
2250
+ tmp = content;
2251
+ }
2252
+ content = tmp;
2253
+ // Inline function 'kotlin.also' call
2254
+ var this_0 = createElement(tagName, content);
2255
+ _this__u8e3s4.appendChild(this_0);
2256
+ return this_0;
2257
+ }
2258
+ function slot(_this__u8e3s4, name) {
2259
+ name = name === VOID ? null : name;
2260
+ return element(_this__u8e3s4, 'slot', slot$lambda(name));
2261
+ }
2262
+ function style(_this__u8e3s4, css) {
2263
+ return element(_this__u8e3s4, 'style', style$lambda(css));
2264
+ }
2265
+ function createElement$lambda(_this__u8e3s4) {
2266
+ return Unit_instance;
2267
+ }
2268
+ function element$lambda(_this__u8e3s4) {
2269
+ return Unit_instance;
2270
+ }
2271
+ function slot$lambda($name) {
2272
+ return ($this$element) => {
2273
+ var tmp0_safe_receiver = $name;
2274
+ if (tmp0_safe_receiver == null)
2275
+ null;
2276
+ else {
2277
+ // Inline function 'kotlin.let' call
2278
+ $this$element.setAttribute('name', tmp0_safe_receiver);
2279
+ }
2280
+ return Unit_instance;
2281
+ };
2282
+ }
2283
+ function style$lambda($css) {
2284
+ return ($this$element) => {
2285
+ $this$element.textContent = $css;
2286
+ return Unit_instance;
2287
+ };
2288
+ }
2289
+ function main() {
2290
+ }
2291
+ function mainWrapper() {
2292
+ main();
2293
+ }
2294
+ function getSelection(_this__u8e3s4) {
2295
+ // Inline function 'kotlin.js.asDynamic' call
2296
+ return _this__u8e3s4.getSelection();
2297
+ }
2298
+ function caretRangeFromPoint(_this__u8e3s4, x, y) {
2299
+ // Inline function 'kotlin.js.asDynamic' call
2300
+ return _this__u8e3s4.caretRangeFromPoint(x, y);
2301
+ }
2302
+ function define_0(_this__u8e3s4, name, elementClass, observedAttributes) {
2303
+ var tmp;
2304
+ if (observedAttributes === VOID) {
2305
+ // Inline function 'kotlin.emptyArray' call
2306
+ tmp = [];
2307
+ } else {
2308
+ tmp = observedAttributes;
2309
+ }
2310
+ observedAttributes = tmp;
2311
+ // Inline function 'kotlin.collections.isNotEmpty' call
2312
+ // Inline function 'kotlin.collections.isEmpty' call
2313
+ if (!(observedAttributes.length === 0)) {
2314
+ // Inline function 'kotlin.js.asDynamic' call
2315
+ elementClass.observedAttributes = observedAttributes;
2316
+ }
2317
+ // Inline function 'kotlin.js.unsafeCast' call
2318
+ // Inline function 'kotlin.js.asDynamic' call
2319
+ _this__u8e3s4.define(name, elementClass);
2320
+ }
2321
+ function BoldToolbarButton$lambda($this$element) {
2322
+ element($this$element, 'toolbar-icon', BoldToolbarButton$lambda$lambda);
2323
+ return Unit_instance;
2324
+ }
2325
+ function BoldToolbarButton$lambda$lambda($this$element) {
2326
+ $this$element.setAttribute('icon', 'bold');
2327
+ return Unit_instance;
2328
+ }
2329
+ function DropdownElement$lambda($this$element) {
2330
+ $this$element.className = 'clickable';
2331
+ slot($this$element);
2332
+ return Unit_instance;
2333
+ }
2334
+ function onKeyDown($this, event) {
2335
+ if ($this.tj_1) {
2336
+ switch (event.code) {
2337
+ case 'Enter':
2338
+ event.preventDefault();
2339
+ document.execCommand('insertLineBreak');
2340
+ break;
2341
+ case 'Backspace':
2342
+ handleBackspaceKeyDown($this, event);
2343
+ break;
2344
+ case 'Delete':
2345
+ handleDeleteKeyDown($this, event);
2346
+ break;
2347
+ case 'Tab':
2348
+ event.preventDefault();
2349
+ handleTabKeyDown($this, event.shiftKey);
2350
+ break;
2351
+ }
2352
+ if (event.defaultPrevented) {
2353
+ $this.ek();
2354
+ onChange($this);
2355
+ }
2356
+ var current = $this.fk();
2357
+ var tmp;
2358
+ if (!(current == null)) {
2359
+ // Inline function 'kotlin.js.asDynamic' call
2360
+ tmp = current.scrollIntoViewIfNeeded != null;
2361
+ } else {
2362
+ tmp = false;
2363
+ }
2364
+ if (tmp) {
2365
+ // Inline function 'kotlin.js.asDynamic' call
2366
+ current.scrollIntoViewIfNeeded();
2367
+ }
2368
+ }
2369
+ }
2370
+ function onDrop($this, event) {
2371
+ var tmp0_safe_receiver = event.dataTransfer;
2372
+ var files = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.files;
2373
+ if (!(files == null) && files.length === 1) {
2374
+ var file = ensureNotNull(files.item(0));
2375
+ var tmp0 = file.type;
2376
+ // Inline function 'kotlin.text.matches' call
2377
+ if (Regex.u7('image.*').v7(tmp0)) {
2378
+ event.stopPropagation();
2379
+ event.preventDefault();
2380
+ var reader = new FileReader();
2381
+ reader.onload = BaseMarkdownDocument$onDrop$lambda(reader, $this, event);
2382
+ reader.readAsDataURL(file);
2383
+ }
2384
+ }
2385
+ }
2386
+ function onDragOver($this, event) {
2387
+ var pos = $this.pj_1.caretPositionFromPoint(event.clientX, event.clientY);
2388
+ if (!(pos == null)) {
2389
+ var range = document.createRange();
2390
+ range.setStart(pos.offsetNode, pos.offset);
2391
+ range.collapse();
2392
+ var tmp0_safe_receiver = $this.gk();
2393
+ if (tmp0_safe_receiver == null)
2394
+ null;
2395
+ else {
2396
+ tmp0_safe_receiver.removeAllRanges();
2397
+ }
2398
+ var tmp1_safe_receiver = $this.gk();
2399
+ if (tmp1_safe_receiver == null)
2400
+ null;
2401
+ else {
2402
+ tmp1_safe_receiver.addRange(range);
2403
+ }
2404
+ } else {
2405
+ var range_0 = caretRangeFromPoint($this.pj_1, event.clientX, event.clientY);
2406
+ if (!(range_0 == null)) {
2407
+ var tmp2_safe_receiver = $this.gk();
2408
+ if (tmp2_safe_receiver == null)
2409
+ null;
2410
+ else {
2411
+ tmp2_safe_receiver.removeAllRanges();
2412
+ }
2413
+ var tmp3_safe_receiver = $this.gk();
2414
+ if (tmp3_safe_receiver == null)
2415
+ null;
2416
+ else {
2417
+ tmp3_safe_receiver.addRange(range_0);
2418
+ }
2419
+ }
2420
+ }
2421
+ event.preventDefault();
2422
+ }
2423
+ function onPaste($this, event) {
2424
+ var tmp0_safe_receiver = event.clipboardData;
2425
+ var pastedMarkdown = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.getData('text/markdown');
2426
+ // Inline function 'kotlin.text.isNullOrEmpty' call
2427
+ if (!(pastedMarkdown == null || charSequenceLength(pastedMarkdown) === 0)) {
2428
+ var tmp1_safe_receiver = $this.gk();
2429
+ if (tmp1_safe_receiver == null)
2430
+ null;
2431
+ else {
2432
+ tmp1_safe_receiver.deleteFromDocument();
2433
+ }
2434
+ var tmp2_safe_receiver = $this.gk();
2435
+ var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.getRangeAt(0);
2436
+ var tmp;
2437
+ if (tmp3_elvis_lhs == null) {
2438
+ return Unit_instance;
2439
+ } else {
2440
+ tmp = tmp3_elvis_lhs;
2441
+ }
2442
+ var range = tmp;
2443
+ var pastedNode = range.createContextualFragment($this.nj_1(pastedMarkdown));
2444
+ var firstChild = pastedNode.firstChild;
2445
+ var tmp_0;
2446
+ var tmp_1;
2447
+ var tmp_2;
2448
+ if (pastedNode.childNodes.length === 1) {
2449
+ tmp_2 = firstChild instanceof MarkdownComponent;
2450
+ } else {
2451
+ tmp_2 = false;
2452
+ }
2453
+ if (tmp_2) {
2454
+ tmp_1 = firstChild.hk();
2455
+ } else {
2456
+ tmp_1 = false;
2457
+ }
2458
+ if (tmp_1) {
2459
+ var tmp9_safe_receiver = $this.gk();
2460
+ tmp_0 = !equals(tmp9_safe_receiver == null ? null : tmp9_safe_receiver.anchorNode, $this);
2461
+ } else {
2462
+ tmp_0 = false;
2463
+ }
2464
+ if (tmp_0) {
2465
+ var tmp4_safe_receiver = $this.gk();
2466
+ var documentChild = tmp4_safe_receiver == null ? null : tmp4_safe_receiver.anchorNode;
2467
+ while (!(documentChild == null) && !equals(documentChild.parentElement, $this)) {
2468
+ documentChild = documentChild.parentElement;
2469
+ }
2470
+ if (documentChild instanceof Element) {
2471
+ var tmp5_safe_receiver = $this.gk();
2472
+ var offset = tmp5_safe_receiver == null ? null : tmp5_safe_receiver.anchorOffset;
2473
+ var tmp6_safe_receiver = $this.gk();
2474
+ var tmp7_safe_receiver = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.anchorNode;
2475
+ var tmp8_safe_receiver = tmp7_safe_receiver == null ? null : tmp7_safe_receiver.textContent;
2476
+ var length = tmp8_safe_receiver == null ? null : tmp8_safe_receiver.length;
2477
+ if (!(offset == null) && !(length == null) && offset > (length / 2 | 0)) {
2478
+ documentChild.after(pastedNode);
2479
+ } else {
2480
+ documentChild.before(pastedNode);
2481
+ }
2482
+ } else {
2483
+ range.insertNode(pastedNode);
2484
+ }
2485
+ } else {
2486
+ range.insertNode(pastedNode);
2487
+ }
2488
+ event.preventDefault();
2489
+ onChange($this);
2490
+ }
2491
+ }
2492
+ function onMouseSelection($this) {
2493
+ if ($this.yj_1 && $this.getAttribute('contenteditable') === 'true') {
2494
+ $this.setAttribute('contenteditable', 'false');
2495
+ }
2496
+ }
2497
+ function onEndMouseSelection($this) {
2498
+ if ($this.yj_1 && $this.getAttribute('contenteditable') === 'false') {
2499
+ $this.setAttribute('contenteditable', $this.getAttribute('readonly') === 'true' ? 'false' : 'true');
2500
+ $this.focus();
2501
+ }
2502
+ }
2503
+ function mousedown($this, event) {
2504
+ if ((event.buttons % 2 | 0) === 1) {
2505
+ $this.xj_1 = true;
2506
+ }
2507
+ }
2508
+ function mouseup($this) {
2509
+ $this.xj_1 = false;
2510
+ onEndMouseSelection($this);
2511
+ }
2512
+ function selectstart($this) {
2513
+ }
2514
+ function selectionchange($this) {
2515
+ var selection = $this.gk();
2516
+ var anchorNode = selection == null ? null : selection.anchorNode;
2517
+ if (!(selection == null) && !(anchorNode == null) && $this.contains(anchorNode)) {
2518
+ var element = anchorNode;
2519
+ $l$loop: while (true) {
2520
+ var tmp;
2521
+ if (!(element == null)) {
2522
+ tmp = !(element instanceof MarkdownComponent);
2523
+ } else {
2524
+ tmp = false;
2525
+ }
2526
+ if (!tmp) {
2527
+ break $l$loop;
2528
+ }
2529
+ element = element.parentNode;
2530
+ }
2531
+ var tmp_0;
2532
+ if (element instanceof MarkdownComponent) {
2533
+ tmp_0 = element.ik();
2534
+ } else {
2535
+ tmp_0 = false;
2536
+ }
2537
+ if (tmp_0) {
2538
+ if ($this.xj_1) {
2539
+ onMouseSelection($this);
2540
+ }
2541
+ enableEditable($this);
2542
+ } else {
2543
+ disableEditable($this);
2544
+ }
2545
+ $this.sj_1 = selection;
2546
+ $this.uj_1 = anchorNode;
2547
+ $this.vj_1 = selection.anchorOffset;
2548
+ $this.wj_1 = new StashedSelection(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);
2549
+ affectToolbar($this);
2550
+ } else {
2551
+ disableEditable($this);
2552
+ }
2553
+ }
2554
+ function enableEditable($this) {
2555
+ if (!$this.tj_1) {
2556
+ $this.tj_1 = true;
2557
+ var tmp0_safe_receiver = $this.oj_1;
2558
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.classList;
2559
+ if (tmp1_safe_receiver == null)
2560
+ null;
2561
+ else {
2562
+ tmp1_safe_receiver.add('focus-enabled');
2563
+ }
2564
+ var tmp2_safe_receiver = $this.oj_1;
2565
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.classList;
2566
+ if (tmp3_safe_receiver == null)
2567
+ null;
2568
+ else {
2569
+ tmp3_safe_receiver.remove('focus-disabled');
2570
+ }
2571
+ }
2572
+ }
2573
+ function disableEditable($this) {
2574
+ if ($this.tj_1) {
2575
+ $this.tj_1 = false;
2576
+ var tmp0_safe_receiver = $this.oj_1;
2577
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.classList;
2578
+ if (tmp1_safe_receiver == null)
2579
+ null;
2580
+ else {
2581
+ tmp1_safe_receiver.remove('focus-enabled');
2582
+ }
2583
+ var tmp2_safe_receiver = $this.oj_1;
2584
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.classList;
2585
+ if (tmp3_safe_receiver == null)
2586
+ null;
2587
+ else {
2588
+ tmp3_safe_receiver.add('focus-disabled');
2589
+ }
2590
+ }
2591
+ }
2592
+ function selectionToContentRange($this) {
2593
+ var tmp0_elvis_lhs = $this.gk();
2594
+ var tmp;
2595
+ if (tmp0_elvis_lhs == null) {
2596
+ return null;
2597
+ } else {
2598
+ tmp = tmp0_elvis_lhs;
2599
+ }
2600
+ var selection = tmp;
2601
+ var tmp1_elvis_lhs = selection.anchorNode;
2602
+ var tmp_0;
2603
+ if (tmp1_elvis_lhs == null) {
2604
+ return null;
2605
+ } else {
2606
+ tmp_0 = tmp1_elvis_lhs;
2607
+ }
2608
+ var anchorNode = tmp_0;
2609
+ var tmp2_elvis_lhs = selection.focusNode;
2610
+ var tmp_1;
2611
+ if (tmp2_elvis_lhs == null) {
2612
+ return null;
2613
+ } else {
2614
+ tmp_1 = tmp2_elvis_lhs;
2615
+ }
2616
+ var focusNode = tmp_1;
2617
+ var tmp3_elvis_lhs = selectionNodeAndOffsetToContentOffset($this, anchorNode, selection.anchorOffset);
2618
+ var tmp_2;
2619
+ if (tmp3_elvis_lhs == null) {
2620
+ return null;
2621
+ } else {
2622
+ tmp_2 = tmp3_elvis_lhs;
2623
+ }
2624
+ var anchorOffset = tmp_2;
2625
+ var tmp4_elvis_lhs = selectionNodeAndOffsetToContentOffset($this, focusNode, selection.focusOffset);
2626
+ var tmp_3;
2627
+ if (tmp4_elvis_lhs == null) {
2628
+ return null;
2629
+ } else {
2630
+ tmp_3 = tmp4_elvis_lhs;
2631
+ }
2632
+ var focusOffset = tmp_3;
2633
+ return to(anchorOffset, focusOffset);
2634
+ }
2635
+ function selectionNodeAndOffsetToContentOffset($this, node, offset) {
2636
+ if (equals(node, $this)) {
2637
+ return $this.jk(getOrNull(asList($this.childNodes), offset));
2638
+ } else {
2639
+ if (node instanceof MarkdownComponent) {
2640
+ var tmp0_elvis_lhs = node.parentNode;
2641
+ var tmp;
2642
+ if (tmp0_elvis_lhs == null) {
2643
+ return null;
2644
+ } else {
2645
+ tmp = tmp0_elvis_lhs;
2646
+ }
2647
+ var parent = tmp;
2648
+ var parentOffset = selectionNodeAndOffsetToContentOffset($this, parent, asList(parent.childNodes).m1(node));
2649
+ var tmp_0;
2650
+ if (parentOffset == null) {
2651
+ tmp_0 = null;
2652
+ } else {
2653
+ // Inline function 'kotlin.let' call
2654
+ tmp_0 = parentOffset + node.jk(getOrNull(asList(node.childNodes), offset)) | 0;
2655
+ }
2656
+ return tmp_0;
2657
+ } else {
2658
+ if (node instanceof Text) {
2659
+ var tmp2_elvis_lhs = node.parentNode;
2660
+ var tmp_1;
2661
+ if (tmp2_elvis_lhs == null) {
2662
+ return null;
2663
+ } else {
2664
+ tmp_1 = tmp2_elvis_lhs;
2665
+ }
2666
+ var parent_0 = tmp_1;
2667
+ var parentOffset_0 = selectionNodeAndOffsetToContentOffset($this, parent_0, asList(parent_0.childNodes).m1(node));
2668
+ var tmp_2;
2669
+ if (parentOffset_0 == null) {
2670
+ tmp_2 = null;
2671
+ } else {
2672
+ // Inline function 'kotlin.let' call
2673
+ var tmp0_safe_receiver = node.textContent;
2674
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : take(tmp0_safe_receiver, offset);
2675
+ var tmp2_safe_receiver = tmp1_safe_receiver == null ? null : split(tmp1_safe_receiver, [get_ZERO_WIDTH_SPACE()]);
2676
+ var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.t();
2677
+ var numberOfSpecialChars = (tmp3_elvis_lhs == null ? 1 : tmp3_elvis_lhs) - 1 | 0;
2678
+ tmp_2 = (parentOffset_0 + offset | 0) - numberOfSpecialChars | 0;
2679
+ }
2680
+ return tmp_2;
2681
+ }
2682
+ }
2683
+ }
2684
+ return null;
2685
+ }
2686
+ function setSelectionToContentRange($this, range) {
2687
+ var _destruct__k2r9zo = getNodeAndOffsetFromContentOffsetAnchor($this, range.j9_1);
2688
+ var anchorNode = _destruct__k2r9zo.l9();
2689
+ var anchorOffset = _destruct__k2r9zo.m9();
2690
+ var _destruct__k2r9zo_0 = getNodeAndOffsetFromContentOffset($this, range.k9_1);
2691
+ var focusNode = _destruct__k2r9zo_0.l9();
2692
+ var focusOffset = _destruct__k2r9zo_0.m9();
2693
+ var domRange = document.createRange();
2694
+ domRange.setStart(anchorNode, anchorOffset);
2695
+ domRange.setEnd(focusNode, focusOffset);
2696
+ var tmp0_safe_receiver = $this.sj_1;
2697
+ if (tmp0_safe_receiver == null)
2698
+ null;
2699
+ else {
2700
+ tmp0_safe_receiver.removeAllRanges();
2701
+ }
2702
+ var tmp1_safe_receiver = $this.sj_1;
2703
+ if (tmp1_safe_receiver == null)
2704
+ null;
2705
+ else {
2706
+ tmp1_safe_receiver.addRange(domRange);
2707
+ }
2708
+ }
2709
+ function getNodeAndOffsetFromContentOffsetAnchor($this, contentOffset) {
2710
+ var elements = asList($this.children);
2711
+ if (elements.e1())
2712
+ return to($this, contentOffset);
2713
+ var resultNode = elements.s(0);
2714
+ var _iterator__ex2g4s = elements.p();
2715
+ $l$loop_0: while (_iterator__ex2g4s.q()) {
2716
+ var child = _iterator__ex2g4s.r();
2717
+ var lengthUntilChild = $this.jk(child);
2718
+ if (contentOffset === lengthUntilChild) {
2719
+ resultNode = child;
2720
+ break $l$loop_0;
2721
+ }
2722
+ if (contentOffset === 0 || contentOffset < lengthUntilChild)
2723
+ break $l$loop_0;
2724
+ resultNode = child;
2725
+ }
2726
+ var tmp;
2727
+ if (resultNode instanceof MarkdownComponent) {
2728
+ tmp = resultNode.kk(contentOffset - $this.jk(resultNode) | 0);
2729
+ } else {
2730
+ tmp = to(resultNode, contentOffset - $this.jk(resultNode) | 0);
2731
+ }
2732
+ return tmp;
2733
+ }
2734
+ function getNodeAndOffsetFromContentOffset($this, contentOffset) {
2735
+ var elements = asList($this.children);
2736
+ if (elements.e1())
2737
+ return to($this, contentOffset);
2738
+ var resultNode = elements.s(0);
2739
+ var previousNodeWasEol = false;
2740
+ var _iterator__ex2g4s = elements.p();
2741
+ $l$loop_0: while (_iterator__ex2g4s.q()) {
2742
+ var child = _iterator__ex2g4s.r();
2743
+ var lengthUntilChild = $this.jk(child);
2744
+ if (contentOffset === lengthUntilChild) {
2745
+ if (previousNodeWasEol)
2746
+ resultNode = child;
2747
+ break $l$loop_0;
2748
+ }
2749
+ if (contentOffset < lengthUntilChild)
2750
+ break $l$loop_0;
2751
+ resultNode = child;
2752
+ var tmp;
2753
+ if (child instanceof MarkdownComponent) {
2754
+ tmp = child.lk();
2755
+ } else {
2756
+ tmp = false;
2757
+ }
2758
+ previousNodeWasEol = tmp;
2759
+ }
2760
+ var tmp_0;
2761
+ if (resultNode instanceof MarkdownComponent) {
2762
+ tmp_0 = resultNode.mk(contentOffset - $this.jk(resultNode) | 0);
2763
+ } else {
2764
+ tmp_0 = to(resultNode, contentOffset - $this.jk(resultNode) | 0);
2765
+ }
2766
+ return tmp_0;
2767
+ }
2768
+ function domModificationOperation($this, operation) {
2769
+ var before = selectionToContentRange($this);
2770
+ operation();
2771
+ var after = selectionToContentRange($this);
2772
+ if (!equals(before, after) && !(before == null)) {
2773
+ setSelectionToContentRange($this, before);
2774
+ }
2775
+ affectToolbar($this);
2776
+ }
2777
+ function normalizeDOM($this) {
2778
+ var _iterator__ex2g4s = asList($this.childNodes).p();
2779
+ while (_iterator__ex2g4s.q()) {
2780
+ var child = _iterator__ex2g4s.r();
2781
+ if (child instanceof MarkdownComponent) {
2782
+ if (child.nk()) {
2783
+ normalizeDOM($this);
2784
+ return Unit_instance;
2785
+ }
2786
+ } else {
2787
+ if (child instanceof HTMLDivElement) {
2788
+ // Inline function 'kotlin.collections.forEach' call
2789
+ var _iterator__ex2g4s_0 = toList(asList(child.childNodes)).p();
2790
+ while (_iterator__ex2g4s_0.q()) {
2791
+ var element = _iterator__ex2g4s_0.r();
2792
+ $this.append(element);
2793
+ }
2794
+ child.remove();
2795
+ } else {
2796
+ if (child instanceof HTMLImageElement) {
2797
+ var tmp = document.createElement('markdown-image');
2798
+ var img = tmp instanceof MarkdownImage ? tmp : THROW_CCE();
2799
+ child.replaceWith(img);
2800
+ var tmp0_safe_receiver = child.getAttribute('src');
2801
+ if (tmp0_safe_receiver == null)
2802
+ null;
2803
+ else {
2804
+ // Inline function 'kotlin.let' call
2805
+ img.rk(tmp0_safe_receiver);
2806
+ }
2807
+ var tmp1_safe_receiver = child.getAttribute('title');
2808
+ if (tmp1_safe_receiver == null)
2809
+ null;
2810
+ else {
2811
+ // Inline function 'kotlin.let' call
2812
+ img.rk(tmp1_safe_receiver);
2813
+ }
2814
+ var tmp2_safe_receiver = child.getAttribute('alt');
2815
+ if (tmp2_safe_receiver == null)
2816
+ null;
2817
+ else {
2818
+ // Inline function 'kotlin.let' call
2819
+ img.innerText = tmp2_safe_receiver;
2820
+ }
2821
+ } else {
2822
+ var tmp_0;
2823
+ var tmp_1;
2824
+ if (child instanceof Element) {
2825
+ // Inline function 'kotlin.text.lowercase' call
2826
+ // Inline function 'kotlin.js.asDynamic' call
2827
+ tmp_1 = child.tagName.toLowerCase() === 'markdown-paragraph';
2828
+ } else {
2829
+ tmp_1 = false;
2830
+ }
2831
+ if (tmp_1) {
2832
+ var tmp_2 = singleOrNull(asList(child.childNodes));
2833
+ tmp_0 = tmp_2 instanceof HTMLBRElement;
2834
+ } else {
2835
+ tmp_0 = false;
2836
+ }
2837
+ if (tmp_0) {
2838
+ var tmp_3 = single(asList(child.childNodes));
2839
+ (tmp_3 instanceof HTMLBRElement ? tmp_3 : THROW_CCE()).remove();
2840
+ child.appendChild(document.createTextNode(get_ZERO_WIDTH_SPACE()));
2841
+ } else {
2842
+ var tmp_4;
2843
+ if (child instanceof Text) {
2844
+ var tmp3_safe_receiver = child.textContent;
2845
+ var tmp_5;
2846
+ if (tmp3_safe_receiver == null) {
2847
+ tmp_5 = null;
2848
+ } else {
2849
+ // Inline function 'kotlin.text.trim' call
2850
+ tmp_5 = toString_0(trim(isCharSequence(tmp3_safe_receiver) ? tmp3_safe_receiver : THROW_CCE()));
2851
+ }
2852
+ var tmp4_safe_receiver = tmp_5;
2853
+ var tmp_6;
2854
+ if (tmp4_safe_receiver == null) {
2855
+ tmp_6 = null;
2856
+ } else {
2857
+ // Inline function 'kotlin.text.isNotEmpty' call
2858
+ tmp_6 = charSequenceLength(tmp4_safe_receiver) > 0;
2859
+ }
2860
+ tmp_4 = tmp_6 === true;
2861
+ } else {
2862
+ tmp_4 = false;
2863
+ }
2864
+ if (tmp_4) {
2865
+ var p = document.createElement('markdown-paragraph');
2866
+ p.textContent = child.textContent;
2867
+ child.replaceWith(p);
2868
+ (p instanceof MarkdownComponent ? p : THROW_CCE()).nk();
2869
+ } else {
2870
+ var html = document.createElement('markdown-html');
2871
+ (!(child == null) ? child : THROW_CCE()).replaceWith(html);
2872
+ html.appendChild(child);
2873
+ }
2874
+ }
2875
+ }
2876
+ }
2877
+ }
2878
+ }
2879
+ var tmp_7;
2880
+ if ($this.lastElementChild == null) {
2881
+ tmp_7 = true;
2882
+ } else {
2883
+ var tmp5_safe_receiver = $this.lastElementChild;
2884
+ var tmp6_safe_receiver = tmp5_safe_receiver == null ? null : tmp5_safe_receiver.tagName;
2885
+ var tmp_8;
2886
+ if (tmp6_safe_receiver == null) {
2887
+ tmp_8 = null;
2888
+ } else {
2889
+ // Inline function 'kotlin.text.lowercase' call
2890
+ // Inline function 'kotlin.js.asDynamic' call
2891
+ tmp_8 = tmp6_safe_receiver.toLowerCase();
2892
+ }
2893
+ tmp_7 = !(tmp_8 === 'markdown-paragraph');
2894
+ }
2895
+ if (tmp_7) {
2896
+ var p_0 = document.createElement('markdown-paragraph');
2897
+ p_0.textContent = get_ZERO_WIDTH_SPACE();
2898
+ $this.appendChild(p_0);
2899
+ }
2900
+ }
2901
+ function onChange($this) {
2902
+ var tmp = window;
2903
+ tmp.setTimeout(BaseMarkdownDocument$onChange$lambda($this), 0);
2904
+ }
2905
+ function firstUpdated($this) {
2906
+ if ($this.getAttribute('floating-toc') === 'true') {
2907
+ var tmp = document.createElement('markdown-toc');
2908
+ var toc = tmp instanceof MarkdownToc ? tmp : THROW_CCE();
2909
+ toc.classList.add('floating');
2910
+ toc.vk($this);
2911
+ var tmp0_safe_receiver = $this.shadowRoot;
2912
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.querySelector('.toc');
2913
+ if (tmp1_safe_receiver == null)
2914
+ null;
2915
+ else
2916
+ tmp1_safe_receiver.appendChild(toc);
2917
+ }
2918
+ if ($this.getAttribute('toolbar') === 'true') {
2919
+ var newToolbar = document.createElement('markdown-toolbar');
2920
+ var tmp2_safe_receiver = $this.shadowRoot;
2921
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.querySelector('.toolbar');
2922
+ if (tmp3_safe_receiver == null)
2923
+ null;
2924
+ else
2925
+ tmp3_safe_receiver.appendChild(newToolbar);
2926
+ $this.wk(newToolbar);
2927
+ }
2928
+ }
2929
+ function handleBackspaceKeyDown($this, event) {
2930
+ var tmp0_safe_receiver = $this.sj_1;
2931
+ var anchorOffset = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorOffset;
2932
+ var tmp1_safe_receiver = $this.sj_1;
2933
+ var focusOffset = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.focusOffset;
2934
+ var tmp2_safe_receiver = $this.sj_1;
2935
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.anchorNode;
2936
+ var parent = tmp3_safe_receiver == null ? null : tmp3_safe_receiver.parentElement;
2937
+ var tmp4_safe_receiver = $this.sj_1;
2938
+ var tmp5_safe_receiver = tmp4_safe_receiver == null ? null : tmp4_safe_receiver.anchorNode;
2939
+ var sibling = tmp5_safe_receiver == null ? null : tmp5_safe_receiver.previousSibling;
2940
+ var tmp;
2941
+ var tmp_0;
2942
+ if (!(parent == null) && anchorOffset === 0 && focusOffset === 0) {
2943
+ tmp_0 = parent instanceof MarkdownComponent;
2944
+ } else {
2945
+ tmp_0 = false;
2946
+ }
2947
+ if (tmp_0) {
2948
+ tmp = sibling == null;
2949
+ } else {
2950
+ tmp = false;
2951
+ }
2952
+ if (tmp) {
2953
+ event.preventDefault();
2954
+ var grandparent = parent.parentElement;
2955
+ if (!(grandparent == null) ? isInterface(grandparent, MarkdownElementEscapeByBackspace) : false) {
2956
+ grandparent.zk(parent);
2957
+ } else {
2958
+ parent.yk($this.sj_1);
2959
+ }
2960
+ } else {
2961
+ var tmp_1;
2962
+ var tmp_2;
2963
+ if (!(sibling == null) && anchorOffset === 0 && focusOffset === 0) {
2964
+ tmp_2 = sibling instanceof MarkdownComponent;
2965
+ } else {
2966
+ tmp_2 = false;
2967
+ }
2968
+ if (tmp_2) {
2969
+ tmp_1 = sibling.xk();
2970
+ } else {
2971
+ tmp_1 = false;
2972
+ }
2973
+ if (tmp_1) {
2974
+ event.preventDefault();
2975
+ sibling.remove();
2976
+ }
2977
+ }
2978
+ }
2979
+ function handleDeleteKeyDown($this, event) {
2980
+ var tmp0_safe_receiver = $this.sj_1;
2981
+ var anchor = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorNode;
2982
+ var tmp1_safe_receiver = $this.sj_1;
2983
+ var anchorOffset = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.anchorOffset;
2984
+ var tmp2_safe_receiver = $this.sj_1;
2985
+ var focusOffset = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.focusOffset;
2986
+ var parent = anchor == null ? null : anchor.parentElement;
2987
+ var tmp;
2988
+ var tmp_0;
2989
+ var tmp_1;
2990
+ var tmp_2;
2991
+ var tmp_3;
2992
+ if (!(parent == null)) {
2993
+ tmp_3 = anchor instanceof Text;
2994
+ } else {
2995
+ tmp_3 = false;
2996
+ }
2997
+ if (tmp_3) {
2998
+ tmp_2 = anchor.nextSibling == null;
2999
+ } else {
3000
+ tmp_2 = false;
3001
+ }
3002
+ if (tmp_2) {
3003
+ tmp_1 = anchorOffset === anchor.length;
3004
+ } else {
3005
+ tmp_1 = false;
3006
+ }
3007
+ if (tmp_1) {
3008
+ tmp_0 = focusOffset === anchor.length;
3009
+ } else {
3010
+ tmp_0 = false;
3011
+ }
3012
+ if (tmp_0) {
3013
+ tmp = parent instanceof MarkdownComponent;
3014
+ } else {
3015
+ tmp = false;
3016
+ }
3017
+ if (tmp) {
3018
+ event.preventDefault();
3019
+ parent.al();
3020
+ }
3021
+ }
3022
+ function handleTabKeyDown($this, shift) {
3023
+ var tmp0_safe_receiver = $this.sj_1;
3024
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.anchorNode;
3025
+ var parent = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.parentElement;
3026
+ var child = null;
3027
+ $l$loop: while (true) {
3028
+ var tmp;
3029
+ if (!(parent == null) && !equals(parent, $this)) {
3030
+ tmp = !isInterface(parent, MarkdownElementWithLevel);
3031
+ } else {
3032
+ tmp = false;
3033
+ }
3034
+ if (!tmp) {
3035
+ break $l$loop;
3036
+ }
3037
+ child = parent;
3038
+ parent = parent.parentElement;
3039
+ }
3040
+ if (!(parent == null) ? isInterface(parent, MarkdownElementWithLevel) : false) {
3041
+ if (shift) {
3042
+ parent.cl(child);
3043
+ } else {
3044
+ parent.bl(child);
3045
+ }
3046
+ onChange($this);
3047
+ }
3048
+ }
3049
+ function allRangeUnderInline($this, tagName) {
3050
+ var selection = $this.sj_1;
3051
+ return !(selection == null) && selection.rangeCount > 0 ? allRangeUnderInline_0(tagName, selection.getRangeAt(0)) : null;
3052
+ }
3053
+ function affectToolbar($this) {
3054
+ var tmp = $this.oj_1;
3055
+ var toolbar = (!(tmp == null) ? isInterface(tmp, EditorToolbar) : false) ? tmp : null;
3056
+ if (allRangeUnderInline($this, 'markdown-strong') === true) {
3057
+ if (toolbar == null)
3058
+ null;
3059
+ else {
3060
+ toolbar.cj();
3061
+ }
3062
+ } else {
3063
+ if (toolbar == null)
3064
+ null;
3065
+ else {
3066
+ toolbar.dj();
3067
+ }
3068
+ }
3069
+ if (allRangeUnderInline($this, 'markdown-emphasis') === true) {
3070
+ if (toolbar == null)
3071
+ null;
3072
+ else {
3073
+ toolbar.ej();
3074
+ }
3075
+ } else {
3076
+ if (toolbar == null)
3077
+ null;
3078
+ else {
3079
+ toolbar.fj();
3080
+ }
3081
+ }
3082
+ if (allRangeUnderInline($this, 'markdown-strike') === true) {
3083
+ if (toolbar == null)
3084
+ null;
3085
+ else {
3086
+ toolbar.gj();
3087
+ }
3088
+ } else {
3089
+ if (toolbar == null)
3090
+ null;
3091
+ else {
3092
+ toolbar.hj();
3093
+ }
3094
+ }
3095
+ var tmp6_safe_receiver = $this.sj_1;
3096
+ var tmp7_safe_receiver = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.anchorNode;
3097
+ var tmp8_safe_receiver = tmp7_safe_receiver == null ? null : tmp7_safe_receiver.parentElement;
3098
+ var tagName = tmp8_safe_receiver == null ? null : tmp8_safe_receiver.tagName;
3099
+ switch (tagName) {
3100
+ case 'MARKDOWN-PARAGRAPH':
3101
+ if (toolbar == null)
3102
+ null;
3103
+ else {
3104
+ toolbar.ij('Paragraph');
3105
+ }
3106
+
3107
+ break;
3108
+ case 'MARKDOWN-HEADER-1':
3109
+ if (toolbar == null)
3110
+ null;
3111
+ else {
3112
+ toolbar.ij('Heading 1');
3113
+ }
3114
+
3115
+ break;
3116
+ case 'MARKDOWN-HEADER-2':
3117
+ if (toolbar == null)
3118
+ null;
3119
+ else {
3120
+ toolbar.ij('Heading 2');
3121
+ }
3122
+
3123
+ break;
3124
+ case 'MARKDOWN-HEADER-3':
3125
+ if (toolbar == null)
3126
+ null;
3127
+ else {
3128
+ toolbar.ij('Heading 3');
3129
+ }
3130
+
3131
+ break;
3132
+ case 'MARKDOWN-HEADER-4':
3133
+ if (toolbar == null)
3134
+ null;
3135
+ else {
3136
+ toolbar.ij('Heading 4');
3137
+ }
3138
+
3139
+ break;
3140
+ case 'MARKDOWN-HEADER-5':
3141
+ if (toolbar == null)
3142
+ null;
3143
+ else {
3144
+ toolbar.ij('Heading 5');
3145
+ }
3146
+
3147
+ break;
3148
+ case 'MARKDOWN-HEADER-6':
3149
+ if (toolbar == null)
3150
+ null;
3151
+ else {
3152
+ toolbar.ij('Heading 6');
3153
+ }
3154
+
3155
+ break;
3156
+ }
3157
+ }
3158
+ function replaceCurrentLeafBlockWith($this, tagName) {
3159
+ var tmp0_elvis_lhs = $this.fk();
3160
+ var tmp;
3161
+ if (tmp0_elvis_lhs == null) {
3162
+ return Unit_instance;
3163
+ } else {
3164
+ tmp = tmp0_elvis_lhs;
3165
+ }
3166
+ var oldElement = tmp;
3167
+ var element = document.createElement(tagName);
3168
+ element.innerHTML = oldElement.innerHTML;
3169
+ oldElement.replaceWith(element);
3170
+ onChange($this);
3171
+ }
3172
+ function BaseMarkdownDocument$parser$lambda(md) {
3173
+ return '<markdown-paragraph>' + md + '<\/markdown-paragraph>';
3174
+ }
3175
+ function BaseMarkdownDocument$onMouseDown$lambda(this$0) {
3176
+ return (event) => {
3177
+ mousedown(this$0, event instanceof MouseEvent ? event : THROW_CCE());
3178
+ return Unit_instance;
3179
+ };
3180
+ }
3181
+ function BaseMarkdownDocument$onMouseUp$lambda(this$0) {
3182
+ return (it) => {
3183
+ mouseup(this$0);
3184
+ return Unit_instance;
3185
+ };
3186
+ }
3187
+ function BaseMarkdownDocument$onSelectStart$lambda(this$0) {
3188
+ return (it) => {
3189
+ selectstart(this$0);
3190
+ return Unit_instance;
3191
+ };
3192
+ }
3193
+ function BaseMarkdownDocument$onSelectionChange$lambda(this$0) {
3194
+ return (it) => {
3195
+ selectionchange(this$0);
3196
+ return Unit_instance;
3197
+ };
3198
+ }
3199
+ function BaseMarkdownDocument$renderStandardShadow$lambda($this$element) {
3200
+ element($this$element, 'div', BaseMarkdownDocument$renderStandardShadow$lambda$lambda);
3201
+ element($this$element, 'div', BaseMarkdownDocument$renderStandardShadow$lambda$lambda_0);
3202
+ slot($this$element);
3203
+ return Unit_instance;
3204
+ }
3205
+ function BaseMarkdownDocument$renderStandardShadow$lambda$lambda($this$element) {
3206
+ $this$element.className = 'toolbar';
3207
+ slot($this$element, 'toolbar');
3208
+ return Unit_instance;
3209
+ }
3210
+ function BaseMarkdownDocument$renderStandardShadow$lambda$lambda_0($this$element) {
3211
+ $this$element.className = 'toc';
3212
+ return Unit_instance;
3213
+ }
3214
+ function BaseMarkdownDocument$connectedCallback$lambda(this$0) {
3215
+ return (event) => {
3216
+ onKeyDown(this$0, event instanceof KeyboardEvent ? event : THROW_CCE());
3217
+ return Unit_instance;
3218
+ };
3219
+ }
3220
+ function BaseMarkdownDocument$connectedCallback$lambda_0(this$0) {
3221
+ return (it) => {
3222
+ var tmp;
3223
+ if (this$0.rj_1) {
3224
+ this$0.ek();
3225
+ tmp = Unit_instance;
3226
+ }
3227
+ onChange(this$0);
3228
+ return Unit_instance;
3229
+ };
3230
+ }
3231
+ function BaseMarkdownDocument$connectedCallback$lambda_1(this$0) {
3232
+ return (it) => {
3233
+ var tmp;
3234
+ if (this$0.getAttribute('contenteditable') === 'true') {
3235
+ disableEditable(this$0);
3236
+ tmp = Unit_instance;
3237
+ }
3238
+ return Unit_instance;
3239
+ };
3240
+ }
3241
+ function BaseMarkdownDocument$connectedCallback$lambda_2(this$0) {
3242
+ return (event) => {
3243
+ onDrop(this$0, event instanceof DragEvent ? event : THROW_CCE());
3244
+ return Unit_instance;
3245
+ };
3246
+ }
3247
+ function BaseMarkdownDocument$connectedCallback$lambda_3(this$0) {
3248
+ return (event) => {
3249
+ onDragOver(this$0, event instanceof DragEvent ? event : THROW_CCE());
3250
+ return Unit_instance;
3251
+ };
3252
+ }
3253
+ function BaseMarkdownDocument$connectedCallback$lambda_4(this$0) {
3254
+ return (event) => {
3255
+ onPaste(this$0, event instanceof ClipboardEvent ? event : THROW_CCE());
3256
+ return Unit_instance;
3257
+ };
3258
+ }
3259
+ function BaseMarkdownDocument$onDrop$lambda($reader, this$0, $event) {
3260
+ return (it) => {
3261
+ var tmp = $reader.result;
3262
+ var dataUri = (!(tmp == null) ? typeof tmp === 'string' : false) ? tmp : THROW_CCE();
3263
+ var tmp_0 = document.createElement('markdown-image');
3264
+ var img = tmp_0 instanceof MarkdownImage ? tmp_0 : THROW_CCE();
3265
+ img.rk(dataUri);
3266
+ var pos = this$0.pj_1.caretPositionFromPoint($event.clientX, $event.clientY);
3267
+ var tmp_1;
3268
+ if (!(pos == null)) {
3269
+ var range = document.createRange();
3270
+ range.setStart(pos.offsetNode, pos.offset);
3271
+ range.collapse();
3272
+ range.insertNode(img);
3273
+ tmp_1 = Unit_instance;
3274
+ } else {
3275
+ var range_0 = caretRangeFromPoint(this$0.pj_1, $event.clientX, $event.clientY);
3276
+ if (!(range_0 == null)) {
3277
+ range_0.insertNode(img);
3278
+ } else {
3279
+ var tmp2_safe_receiver = this$0.gk();
3280
+ var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.rangeCount;
3281
+ if ((tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) > 0) {
3282
+ var tmp0_safe_receiver = this$0.gk();
3283
+ var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.getRangeAt(0);
3284
+ if (tmp1_safe_receiver == null)
3285
+ null;
3286
+ else {
3287
+ tmp1_safe_receiver.insertNode(img);
3288
+ }
3289
+ }
3290
+ }
3291
+ tmp_1 = Unit_instance;
3292
+ }
3293
+ return tmp_1;
3294
+ };
3295
+ }
3296
+ function BaseMarkdownDocument$normalizeContent$lambda(this$0) {
3297
+ return () => {
3298
+ normalizeDOM(this$0);
3299
+ return Unit_instance;
3300
+ };
3301
+ }
3302
+ function BaseMarkdownDocument$onChange$lambda(this$0) {
3303
+ return () => this$0.dispatchEvent(new CustomEvent('change'));
3304
+ }
3305
+ function BaseMarkdownDocument$makeBold$lambda(this$0) {
3306
+ return () => {
3307
+ var tmp0_safe_receiver = this$0.sj_1;
3308
+ if (tmp0_safe_receiver == null)
3309
+ null;
3310
+ else {
3311
+ // Inline function 'kotlin.let' call
3312
+ if (tmp0_safe_receiver.rangeCount > 0) {
3313
+ surroundRangeIfNotYet('markdown-strong', tmp0_safe_receiver.getRangeAt(0));
3314
+ }
3315
+ }
3316
+ normalizeDOM(this$0);
3317
+ return Unit_instance;
3318
+ };
3319
+ }
3320
+ function BaseMarkdownDocument$removeBold$lambda(this$0) {
3321
+ return () => {
3322
+ var tmp0_safe_receiver = this$0.sj_1;
3323
+ if (tmp0_safe_receiver == null)
3324
+ null;
3325
+ else {
3326
+ // Inline function 'kotlin.let' call
3327
+ if (tmp0_safe_receiver.rangeCount > 0) {
3328
+ unsurroundRange('markdown-strong', tmp0_safe_receiver.getRangeAt(0));
3329
+ }
3330
+ }
3331
+ normalizeDOM(this$0);
3332
+ return Unit_instance;
3333
+ };
3334
+ }
3335
+ function BaseMarkdownDocument$makeItalic$lambda(this$0) {
3336
+ return () => {
3337
+ var tmp0_safe_receiver = this$0.sj_1;
3338
+ if (tmp0_safe_receiver == null)
3339
+ null;
3340
+ else {
3341
+ // Inline function 'kotlin.let' call
3342
+ if (tmp0_safe_receiver.rangeCount > 0) {
3343
+ surroundRangeIfNotYet('markdown-emphasis', tmp0_safe_receiver.getRangeAt(0));
3344
+ }
3345
+ }
3346
+ normalizeDOM(this$0);
3347
+ return Unit_instance;
3348
+ };
3349
+ }
3350
+ function BaseMarkdownDocument$removeItalic$lambda(this$0) {
3351
+ return () => {
3352
+ var tmp0_safe_receiver = this$0.sj_1;
3353
+ if (tmp0_safe_receiver == null)
3354
+ null;
3355
+ else {
3356
+ // Inline function 'kotlin.let' call
3357
+ if (tmp0_safe_receiver.rangeCount > 0) {
3358
+ unsurroundRange('markdown-emphasis', tmp0_safe_receiver.getRangeAt(0));
3359
+ }
3360
+ }
3361
+ normalizeDOM(this$0);
3362
+ return Unit_instance;
3363
+ };
3364
+ }
3365
+ function BaseMarkdownDocument$makeStrike$lambda(this$0) {
3366
+ return () => {
3367
+ var tmp0_safe_receiver = this$0.sj_1;
3368
+ if (tmp0_safe_receiver == null)
3369
+ null;
3370
+ else {
3371
+ // Inline function 'kotlin.let' call
3372
+ if (tmp0_safe_receiver.rangeCount > 0) {
3373
+ surroundRangeIfNotYet('markdown-strike', tmp0_safe_receiver.getRangeAt(0));
3374
+ }
3375
+ }
3376
+ normalizeDOM(this$0);
3377
+ return Unit_instance;
3378
+ };
3379
+ }
3380
+ function BaseMarkdownDocument$removeStrike$lambda(this$0) {
3381
+ return () => {
3382
+ var tmp0_safe_receiver = this$0.sj_1;
3383
+ if (tmp0_safe_receiver == null)
3384
+ null;
3385
+ else {
3386
+ // Inline function 'kotlin.let' call
3387
+ if (tmp0_safe_receiver.rangeCount > 0) {
3388
+ unsurroundRange('markdown-strike', tmp0_safe_receiver.getRangeAt(0));
3389
+ }
3390
+ }
3391
+ normalizeDOM(this$0);
3392
+ return Unit_instance;
3393
+ };
3394
+ }
3395
+ function BaseMarkdownDocument$makeCodeInline$lambda(this$0) {
3396
+ return () => {
3397
+ var tmp0_safe_receiver = this$0.sj_1;
3398
+ if (tmp0_safe_receiver == null)
3399
+ null;
3400
+ else {
3401
+ // Inline function 'kotlin.let' call
3402
+ if (tmp0_safe_receiver.rangeCount > 0) {
3403
+ surroundRangeIfNotYet('markdown-code-span', tmp0_safe_receiver.getRangeAt(0));
3404
+ }
3405
+ }
3406
+ normalizeDOM(this$0);
3407
+ return Unit_instance;
3408
+ };
3409
+ }
3410
+ function getWord(range) {
3411
+ var container = range.commonAncestorContainer;
3412
+ var tmp;
3413
+ if (range.collapsed) {
3414
+ tmp = container instanceof Text;
3415
+ } else {
3416
+ tmp = false;
3417
+ }
3418
+ if (tmp) {
3419
+ var tmp0_elvis_lhs = container.textContent;
3420
+ var text = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
3421
+ // Inline function 'kotlin.comparisons.maxOf' call
3422
+ var b = lastIndexOf(substring(text, 0, range.startOffset), _Char___init__impl__6a9atx(32));
3423
+ var leftIndex = Math.max(0, b);
3424
+ var rightIndex = indexOf(substring_0(text, range.startOffset), _Char___init__impl__6a9atx(32)) + range.startOffset | 0;
3425
+ if (rightIndex <= range.startOffset)
3426
+ rightIndex = text.length;
3427
+ var result = new Range();
3428
+ result.setStart(range.startContainer, leftIndex);
3429
+ result.setEnd(range.startContainer, rightIndex);
3430
+ return result;
3431
+ }
3432
+ return null;
3433
+ }
3434
+ function allRangeUnderInline_0(tagName, range) {
3435
+ var container = range.commonAncestorContainer;
3436
+ if (container instanceof Text) {
3437
+ var tmp0_safe_receiver = container.parentElement;
3438
+ return !((tmp0_safe_receiver == null ? null : tmp0_safe_receiver.closest(tagName)) == null);
3439
+ } else {
3440
+ var tmp;
3441
+ if (container instanceof Element) {
3442
+ tmp = !(container.closest(tagName) == null);
3443
+ } else {
3444
+ tmp = false;
3445
+ }
3446
+ if (tmp) {
3447
+ return true;
3448
+ }
3449
+ }
3450
+ var walker = document.createTreeWalker(container, NodeFilter.SHOW_TEXT, null);
3451
+ var result = false;
3452
+ var node = walker.nextNode();
3453
+ while (!(node == null)) {
3454
+ var tmp_0;
3455
+ var tmp_1;
3456
+ if (node instanceof Text) {
3457
+ tmp_1 = range.intersectsNode(node);
3458
+ } else {
3459
+ tmp_1 = false;
3460
+ }
3461
+ if (tmp_1) {
3462
+ tmp_0 = isMarkdownContentTextNode(node);
3463
+ } else {
3464
+ tmp_0 = false;
3465
+ }
3466
+ if (tmp_0) {
3467
+ var tmp1_safe_receiver = node.parentElement;
3468
+ if ((tmp1_safe_receiver == null ? null : tmp1_safe_receiver.closest(tagName)) == null)
3469
+ return false;
3470
+ result = true;
3471
+ }
3472
+ node = walker.nextNode();
3473
+ }
3474
+ return result;
3475
+ }
3476
+ function getAllTextNodesForRange(range) {
3477
+ var startNode = range.startContainer;
3478
+ var endNode = range.endContainer;
3479
+ var startOffset = range.startOffset;
3480
+ var endOffset = range.endOffset;
3481
+ var tmp;
3482
+ var tmp_0;
3483
+ if (startNode instanceof Text) {
3484
+ tmp_0 = startOffset > 0;
3485
+ } else {
3486
+ tmp_0 = false;
3487
+ }
3488
+ if (tmp_0) {
3489
+ var tmp2_safe_receiver = startNode.textContent;
3490
+ var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.length;
3491
+ tmp = startOffset < (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs);
3492
+ } else {
3493
+ tmp = false;
3494
+ }
3495
+ if (tmp) {
3496
+ var tmp0_elvis_lhs = startNode.textContent;
3497
+ var text = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
3498
+ var tmp1_safe_receiver = startNode.parentElement;
3499
+ if (tmp1_safe_receiver == null)
3500
+ null;
3501
+ else
3502
+ tmp1_safe_receiver.insertBefore(document.createTextNode(substring(text, 0, startOffset)), startNode);
3503
+ startNode.textContent = substring_0(text, startOffset);
3504
+ range.setStart(startNode, 0);
3505
+ if (equals(startNode, endNode))
3506
+ endOffset = endOffset - startOffset | 0;
3507
+ }
3508
+ var tmp_1;
3509
+ if (endNode instanceof Text) {
3510
+ var tmp_2 = endOffset;
3511
+ var tmp5_safe_receiver = endNode.textContent;
3512
+ var tmp6_elvis_lhs = tmp5_safe_receiver == null ? null : tmp5_safe_receiver.length;
3513
+ tmp_1 = tmp_2 < (tmp6_elvis_lhs == null ? 0 : tmp6_elvis_lhs);
3514
+ } else {
3515
+ tmp_1 = false;
3516
+ }
3517
+ if (tmp_1) {
3518
+ var tmp4_elvis_lhs = endNode.textContent;
3519
+ var text_0 = tmp4_elvis_lhs == null ? '' : tmp4_elvis_lhs;
3520
+ var after = document.createTextNode(substring_0(text_0, endOffset));
3521
+ endNode.textContent = substring(text_0, 0, endOffset);
3522
+ endNode.after(after);
3523
+ }
3524
+ var container = range.commonAncestorContainer;
3525
+ if (container instanceof Text)
3526
+ return listOf(container);
3527
+ // Inline function 'kotlin.collections.mutableListOf' call
3528
+ var result = ArrayList.x();
3529
+ var walker = document.createTreeWalker(container, NodeFilter.SHOW_TEXT, null);
3530
+ var node = walker.nextNode();
3531
+ while (!(node == null)) {
3532
+ var tmp_3;
3533
+ var tmp_4;
3534
+ if (node instanceof Text) {
3535
+ tmp_4 = range.intersectsNode(node);
3536
+ } else {
3537
+ tmp_4 = false;
3538
+ }
3539
+ if (tmp_4) {
3540
+ tmp_3 = isMarkdownContentTextNode(node);
3541
+ } else {
3542
+ tmp_3 = false;
3543
+ }
3544
+ if (tmp_3) {
3545
+ result.l(node);
3546
+ }
3547
+ node = walker.nextNode();
3548
+ }
3549
+ return result;
3550
+ }
3551
+ function isMarkdownContentTextNode(node) {
3552
+ var parent = node.parentNode;
3553
+ var tmp;
3554
+ if (parent instanceof MarkdownComponent) {
3555
+ tmp = parent.km();
3556
+ } else {
3557
+ tmp = false;
3558
+ }
3559
+ return tmp;
3560
+ }
3561
+ function surroundRangeIfNotYet(tagName, range) {
3562
+ if (range.collapsed) {
3563
+ var wordRange = getWord(range);
3564
+ if (!(wordRange == null)) {
3565
+ surroundRangeIfNotYet(tagName, wordRange);
3566
+ } else {
3567
+ document.execCommand('insertHTML', false, '<' + tagName + '>&ZeroWidthSpace;<\/' + tagName + '>');
3568
+ }
3569
+ return Unit_instance;
3570
+ }
3571
+ // Inline function 'kotlin.collections.forEach' call
3572
+ var _iterator__ex2g4s = getAllTextNodesForRange(range).p();
3573
+ while (_iterator__ex2g4s.q()) {
3574
+ var element = _iterator__ex2g4s.r();
3575
+ var tmp0_safe_receiver = element.parentElement;
3576
+ if ((tmp0_safe_receiver == null ? null : tmp0_safe_receiver.closest(tagName)) == null) {
3577
+ var replaceLevel = element;
3578
+ $l$loop: while (true) {
3579
+ var tmp = replaceLevel.parentElement;
3580
+ if (!(tmp instanceof TerminalInlineElement)) {
3581
+ break $l$loop;
3582
+ }
3583
+ replaceLevel = ensureNotNull(replaceLevel.parentElement);
3584
+ }
3585
+ var enclosing = document.createElement(tagName);
3586
+ (!(replaceLevel == null) ? replaceLevel : THROW_CCE()).replaceWith(enclosing);
3587
+ enclosing.appendChild(replaceLevel);
3588
+ }
3589
+ }
3590
+ }
3591
+ function dispatchToChildren(element) {
3592
+ var sibling = element.nextSibling;
3593
+ var parent = element.parentElement;
3594
+ element.remove();
3595
+ // Inline function 'kotlin.collections.forEach' call
3596
+ var _iterator__ex2g4s = toList(asList(element.childNodes)).p();
3597
+ while (_iterator__ex2g4s.q()) {
3598
+ var element_0 = _iterator__ex2g4s.r();
3599
+ var tmp = element.cloneNode(false);
3600
+ var clone = tmp instanceof Element ? tmp : THROW_CCE();
3601
+ clone.appendChild(element_0);
3602
+ if (parent == null)
3603
+ null;
3604
+ else
3605
+ parent.insertBefore(clone, sibling);
3606
+ }
3607
+ }
3608
+ function unsurroundRange(tagName, range) {
3609
+ if (range.collapsed) {
3610
+ var wordRange = getWord(range);
3611
+ if (!(wordRange == null)) {
3612
+ unsurroundRange(tagName, wordRange);
3613
+ }
3614
+ return Unit_instance;
3615
+ }
3616
+ var allTexts = getAllTextNodesForRange(range);
3617
+ var surrounded;
3618
+ do {
3619
+ surrounded = false;
3620
+ // Inline function 'kotlin.collections.forEach' call
3621
+ var _iterator__ex2g4s = allTexts.p();
3622
+ while (_iterator__ex2g4s.q()) {
3623
+ var element = _iterator__ex2g4s.r();
3624
+ var tmp0_safe_receiver = element.parentElement;
3625
+ var enclosing = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.closest(tagName);
3626
+ if (!(enclosing == null)) {
3627
+ surrounded = true;
3628
+ dispatchToChildren(enclosing);
3629
+ var tmp2_safe_receiver = element.parentElement;
3630
+ var tmp3_safe_receiver = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.tagName;
3631
+ var tmp;
3632
+ if (tmp3_safe_receiver == null) {
3633
+ tmp = null;
3634
+ } else {
3635
+ // Inline function 'kotlin.text.lowercase' call
3636
+ // Inline function 'kotlin.js.asDynamic' call
3637
+ tmp = tmp3_safe_receiver.toLowerCase();
3638
+ }
3639
+ if (tmp === tagName) {
3640
+ var tmp1_safe_receiver = element.parentElement;
3641
+ if (tmp1_safe_receiver == null)
3642
+ null;
3643
+ else {
3644
+ tmp1_safe_receiver.replaceWith(element);
3645
+ }
3646
+ } else {
3647
+ var tmp4_safe_receiver = element.parentElement;
3648
+ enclosing = ensureNotNull(tmp4_safe_receiver == null ? null : tmp4_safe_receiver.closest(tagName));
3649
+ var child = asList(enclosing.childNodes).s(0);
3650
+ enclosing.replaceWith(child);
3651
+ // Inline function 'kotlin.collections.forEach' call
3652
+ var _iterator__ex2g4s_0 = toList(asList(child.childNodes)).p();
3653
+ while (_iterator__ex2g4s_0.q()) {
3654
+ var element_0 = _iterator__ex2g4s_0.r();
3655
+ child.removeChild(element_0);
3656
+ enclosing.appendChild(element_0);
3657
+ }
3658
+ child.appendChild(enclosing);
3659
+ }
3660
+ }
3661
+ }
3662
+ }
3663
+ while (surrounded);
3664
+ }
3665
+ function actionButton($this, parent, icon, titleText, onClick) {
3666
+ var button = element(parent, 'toolbar-button', MarkdownToolbar$actionButton$lambda(titleText));
3667
+ element(button, 'toolbar-icon', MarkdownToolbar$actionButton$lambda_0(icon));
3668
+ button.addEventListener('click', MarkdownToolbar$actionButton$lambda_1(onClick));
3669
+ return button;
3670
+ }
3671
+ function toggleButton($this, parent, icon, titleText, onClick) {
3672
+ var tmp = element(parent, 'toggle-toolbar-button', MarkdownToolbar$toggleButton$lambda(titleText, icon));
3673
+ var button = tmp instanceof ToggleToolbarButton ? tmp : THROW_CCE();
3674
+ button.addEventListener('click', MarkdownToolbar$toggleButton$lambda_0(onClick));
3675
+ return button;
3676
+ }
3677
+ function headingOption($this, parent, level, onClick) {
3678
+ var item = element(parent, 'dropdown-element');
3679
+ element(item, 'div', MarkdownToolbar$headingOption$lambda(level));
3680
+ item.addEventListener('mousedown', MarkdownToolbar$headingOption$lambda_0(onClick));
3681
+ }
3682
+ function paragraphOption($this, parent, onClick) {
3683
+ var item = element(parent, 'dropdown-element');
3684
+ element(item, 'markdown-paragraph', MarkdownToolbar$paragraphOption$lambda);
3685
+ item.addEventListener('mousedown', MarkdownToolbar$paragraphOption$lambda_0(onClick));
3686
+ }
3687
+ function onBoldClick($this) {
3688
+ if ($this.gl_1.zi()) {
3689
+ var tmp0_safe_receiver = $this.fl_1;
3690
+ if (tmp0_safe_receiver == null)
3691
+ null;
3692
+ else {
3693
+ tmp0_safe_receiver.nl();
3694
+ }
3695
+ } else {
3696
+ var tmp1_safe_receiver = $this.fl_1;
3697
+ if (tmp1_safe_receiver == null)
3698
+ null;
3699
+ else {
3700
+ tmp1_safe_receiver.ml();
3701
+ }
3702
+ }
3703
+ }
3704
+ function onItalicClick($this) {
3705
+ if ($this.hl_1.zi()) {
3706
+ var tmp0_safe_receiver = $this.fl_1;
3707
+ if (tmp0_safe_receiver == null)
3708
+ null;
3709
+ else {
3710
+ tmp0_safe_receiver.ql();
3711
+ }
3712
+ } else {
3713
+ var tmp1_safe_receiver = $this.fl_1;
3714
+ if (tmp1_safe_receiver == null)
3715
+ null;
3716
+ else {
3717
+ tmp1_safe_receiver.pl();
3718
+ }
3719
+ }
3720
+ }
3721
+ function onStrikeClick($this) {
3722
+ if ($this.il_1.zi()) {
3723
+ var tmp0_safe_receiver = $this.fl_1;
3724
+ if (tmp0_safe_receiver == null)
3725
+ null;
3726
+ else {
3727
+ tmp0_safe_receiver.sl();
3728
+ }
3729
+ } else {
3730
+ var tmp1_safe_receiver = $this.fl_1;
3731
+ if (tmp1_safe_receiver == null)
3732
+ null;
3733
+ else {
3734
+ tmp1_safe_receiver.rl();
3735
+ }
3736
+ }
3737
+ }
3738
+ function MarkdownToolbar$lambda($this$element) {
3739
+ $this$element.className = 'toolbar';
3740
+ return Unit_instance;
3741
+ }
3742
+ function MarkdownToolbar$lambda_0($this$element) {
3743
+ $this$element.className = 'dropdown-title';
3744
+ $this$element.textContent = 'Paragraph';
3745
+ return Unit_instance;
3746
+ }
3747
+ function MarkdownToolbar$lambda_1($this$element) {
3748
+ $this$element.setAttribute('slot', 'dropdown-elements');
3749
+ return Unit_instance;
3750
+ }
3751
+ function MarkdownToolbar$lambda_2(this$0) {
3752
+ return () => {
3753
+ var tmp0_safe_receiver = this$0.fl_1;
3754
+ if (tmp0_safe_receiver == null)
3755
+ null;
3756
+ else {
3757
+ tmp0_safe_receiver.bm();
3758
+ }
3759
+ return Unit_instance;
3760
+ };
3761
+ }
3762
+ function MarkdownToolbar$lambda_3(this$0) {
3763
+ return () => {
3764
+ var tmp0_safe_receiver = this$0.fl_1;
3765
+ if (tmp0_safe_receiver == null)
3766
+ null;
3767
+ else {
3768
+ tmp0_safe_receiver.cm();
3769
+ }
3770
+ return Unit_instance;
3771
+ };
3772
+ }
3773
+ function MarkdownToolbar$lambda_4(this$0) {
3774
+ return () => {
3775
+ var tmp0_safe_receiver = this$0.fl_1;
3776
+ if (tmp0_safe_receiver == null)
3777
+ null;
3778
+ else {
3779
+ tmp0_safe_receiver.dm();
3780
+ }
3781
+ return Unit_instance;
3782
+ };
3783
+ }
3784
+ function MarkdownToolbar$lambda_5(this$0) {
3785
+ return () => {
3786
+ var tmp0_safe_receiver = this$0.fl_1;
3787
+ if (tmp0_safe_receiver == null)
3788
+ null;
3789
+ else {
3790
+ tmp0_safe_receiver.em();
3791
+ }
3792
+ return Unit_instance;
3793
+ };
3794
+ }
3795
+ function MarkdownToolbar$lambda_6(this$0) {
3796
+ return () => {
3797
+ var tmp0_safe_receiver = this$0.fl_1;
3798
+ if (tmp0_safe_receiver == null)
3799
+ null;
3800
+ else {
3801
+ tmp0_safe_receiver.fm();
3802
+ }
3803
+ return Unit_instance;
3804
+ };
3805
+ }
3806
+ function MarkdownToolbar$lambda_7(this$0) {
3807
+ return () => {
3808
+ var tmp0_safe_receiver = this$0.fl_1;
3809
+ if (tmp0_safe_receiver == null)
3810
+ null;
3811
+ else {
3812
+ tmp0_safe_receiver.gm();
3813
+ }
3814
+ return Unit_instance;
3815
+ };
3816
+ }
3817
+ function MarkdownToolbar$lambda_8(this$0) {
3818
+ return () => {
3819
+ var tmp0_safe_receiver = this$0.fl_1;
3820
+ if (tmp0_safe_receiver == null)
3821
+ null;
3822
+ else {
3823
+ tmp0_safe_receiver.hm();
3824
+ }
3825
+ return Unit_instance;
3826
+ };
3827
+ }
3828
+ function MarkdownToolbar$lambda_9(this$0) {
3829
+ return () => {
3830
+ onBoldClick(this$0);
3831
+ return Unit_instance;
3832
+ };
3833
+ }
3834
+ function MarkdownToolbar$lambda_10(this$0) {
3835
+ return () => {
3836
+ onItalicClick(this$0);
3837
+ return Unit_instance;
3838
+ };
3839
+ }
3840
+ function MarkdownToolbar$lambda_11(this$0) {
3841
+ return () => {
3842
+ onStrikeClick(this$0);
3843
+ return Unit_instance;
3844
+ };
3845
+ }
3846
+ function MarkdownToolbar$lambda_12(this$0) {
3847
+ return () => {
3848
+ var tmp0_safe_receiver = this$0.fl_1;
3849
+ if (tmp0_safe_receiver == null)
3850
+ null;
3851
+ else {
3852
+ tmp0_safe_receiver.ul();
3853
+ }
3854
+ return Unit_instance;
3855
+ };
3856
+ }
3857
+ function MarkdownToolbar$lambda_13(this$0) {
3858
+ return () => {
3859
+ var tmp0_safe_receiver = this$0.fl_1;
3860
+ if (tmp0_safe_receiver == null)
3861
+ null;
3862
+ else {
3863
+ tmp0_safe_receiver.vl();
3864
+ }
3865
+ return Unit_instance;
3866
+ };
3867
+ }
3868
+ function MarkdownToolbar$lambda_14(this$0) {
3869
+ return () => {
3870
+ var tmp0_safe_receiver = this$0.fl_1;
3871
+ if (tmp0_safe_receiver == null)
3872
+ null;
3873
+ else {
3874
+ tmp0_safe_receiver.tl();
3875
+ }
3876
+ return Unit_instance;
3877
+ };
3878
+ }
3879
+ function MarkdownToolbar$lambda_15(this$0) {
3880
+ return () => {
3881
+ var tmp0_safe_receiver = this$0.fl_1;
3882
+ if (tmp0_safe_receiver == null)
3883
+ null;
3884
+ else {
3885
+ tmp0_safe_receiver.ll();
3886
+ }
3887
+ return Unit_instance;
3888
+ };
3889
+ }
3890
+ function MarkdownToolbar$lambda_16(this$0) {
3891
+ return () => {
3892
+ var tmp0_safe_receiver = this$0.fl_1;
3893
+ if (tmp0_safe_receiver == null)
3894
+ null;
3895
+ else {
3896
+ tmp0_safe_receiver.wl(null, null);
3897
+ }
3898
+ return Unit_instance;
3899
+ };
3900
+ }
3901
+ function MarkdownToolbar$lambda_17(this$0) {
3902
+ return () => {
3903
+ var tmp0_safe_receiver = this$0.fl_1;
3904
+ if (tmp0_safe_receiver == null)
3905
+ null;
3906
+ else {
3907
+ tmp0_safe_receiver.xl();
3908
+ }
3909
+ return Unit_instance;
3910
+ };
3911
+ }
3912
+ function MarkdownToolbar$lambda_18(this$0) {
3913
+ return () => {
3914
+ var tmp0_safe_receiver = this$0.fl_1;
3915
+ if (tmp0_safe_receiver == null)
3916
+ null;
3917
+ else {
3918
+ tmp0_safe_receiver.im();
3919
+ }
3920
+ return Unit_instance;
3921
+ };
3922
+ }
3923
+ function MarkdownToolbar$lambda_19(this$0) {
3924
+ return () => {
3925
+ var tmp0_safe_receiver = this$0.fl_1;
3926
+ if (tmp0_safe_receiver == null)
3927
+ null;
3928
+ else {
3929
+ tmp0_safe_receiver.jm();
3930
+ }
3931
+ return Unit_instance;
3932
+ };
3933
+ }
3934
+ function MarkdownToolbar$lambda_20($this$element) {
3935
+ $this$element.setAttribute('name', 'toolbar');
3936
+ return Unit_instance;
3937
+ }
3938
+ function MarkdownToolbar$connectedCallback$lambda(event) {
3939
+ event.preventDefault();
3940
+ return Unit_instance;
3941
+ }
3942
+ function MarkdownToolbar$actionButton$lambda($titleText) {
3943
+ return ($this$element) => {
3944
+ $this$element.setAttribute('title', $titleText);
3945
+ return Unit_instance;
3946
+ };
3947
+ }
3948
+ function MarkdownToolbar$actionButton$lambda_0($icon) {
3949
+ return ($this$element) => {
3950
+ $this$element.setAttribute('icon', $icon);
3951
+ return Unit_instance;
3952
+ };
3953
+ }
3954
+ function MarkdownToolbar$actionButton$lambda_1($onClick) {
3955
+ return (it) => {
3956
+ $onClick();
3957
+ return Unit_instance;
3958
+ };
3959
+ }
3960
+ function MarkdownToolbar$toggleButton$lambda($titleText, $icon) {
3961
+ return ($this$element) => {
3962
+ $this$element.setAttribute('title', $titleText);
3963
+ $this$element.setAttribute('icon', $icon);
3964
+ return Unit_instance;
3965
+ };
3966
+ }
3967
+ function MarkdownToolbar$toggleButton$lambda_0($onClick) {
3968
+ return (it) => {
3969
+ $onClick();
3970
+ return Unit_instance;
3971
+ };
3972
+ }
3973
+ function MarkdownToolbar$headingOption$lambda($level) {
3974
+ return ($this$element) => {
3975
+ $this$element.className = 'looks-like-header' + $level;
3976
+ $this$element.textContent = 'Heading ' + $level;
3977
+ return Unit_instance;
3978
+ };
3979
+ }
3980
+ function MarkdownToolbar$headingOption$lambda_0($onClick) {
3981
+ return (it) => {
3982
+ $onClick();
3983
+ return Unit_instance;
3984
+ };
3985
+ }
3986
+ function MarkdownToolbar$paragraphOption$lambda($this$element) {
3987
+ $this$element.textContent = 'Paragraph';
3988
+ return Unit_instance;
3989
+ }
3990
+ function MarkdownToolbar$paragraphOption$lambda_0($onClick) {
3991
+ return (it) => {
3992
+ $onClick();
3993
+ return Unit_instance;
3994
+ };
3995
+ }
3996
+ function registerEditorComponents() {
3997
+ var tmp = window.customElements;
3998
+ var tmp_0 = ToolbarButton;
3999
+ // Inline function 'kotlin.arrayOf' call
4000
+ // Inline function 'kotlin.js.unsafeCast' call
4001
+ // Inline function 'kotlin.js.asDynamic' call
4002
+ var tmp$ret$0 = ['highlighted'];
4003
+ define_0(tmp, 'toolbar-button', tmp_0, tmp$ret$0);
4004
+ define_0(window.customElements, 'toolbar-separator', ToolbarSeparator);
4005
+ define_0(window.customElements, 'toolbar-dropdown', ToolbarDropdown);
4006
+ define_0(window.customElements, 'dropdown-element', DropdownElement);
4007
+ define_0(window.customElements, 'dropdown-elements', DropdownElements);
4008
+ var tmp_1 = window.customElements;
4009
+ var tmp_2 = ToolbarIcon;
4010
+ // Inline function 'kotlin.arrayOf' call
4011
+ // Inline function 'kotlin.js.unsafeCast' call
4012
+ // Inline function 'kotlin.js.asDynamic' call
4013
+ var tmp$ret$3 = ['icon'];
4014
+ define_0(tmp_1, 'toolbar-icon', tmp_2, tmp$ret$3);
4015
+ var tmp_3 = window.customElements;
4016
+ var tmp_4 = ToggleToolbarButton;
4017
+ // Inline function 'kotlin.arrayOf' call
4018
+ // Inline function 'kotlin.js.unsafeCast' call
4019
+ // Inline function 'kotlin.js.asDynamic' call
4020
+ var tmp$ret$6 = ['highlighted', 'icon'];
4021
+ define_0(tmp_3, 'toggle-toolbar-button', tmp_4, tmp$ret$6);
4022
+ var tmp_5 = window.customElements;
4023
+ var tmp_6 = BoldToolbarButton;
4024
+ // Inline function 'kotlin.arrayOf' call
4025
+ // Inline function 'kotlin.js.unsafeCast' call
4026
+ // Inline function 'kotlin.js.asDynamic' call
4027
+ var tmp$ret$9 = ['highlighted'];
4028
+ define_0(tmp_5, 'bold-toolbar-button', tmp_6, tmp$ret$9);
4029
+ define_0(window.customElements, 'markdown-toolbar', MarkdownToolbar);
4030
+ define_0(window.customElements, 'markdown-document', MarkdownDocument);
4031
+ define_0(window.customElements, 'markdown-editor', MarkdownEditor);
4032
+ }
4033
+ function ToggleToolbarButton$lambda($this$element) {
4034
+ return Unit_instance;
4035
+ }
4036
+ function ToggleToolbarButton$lambda_0($this$element) {
4037
+ return Unit_instance;
4038
+ }
4039
+ function ToolbarButton$lambda($this$element) {
4040
+ slot($this$element);
4041
+ return Unit_instance;
4042
+ }
4043
+ function showDropdown($this, event) {
4044
+ event.stopPropagation();
4045
+ var tmp = $this.pm_1;
4046
+ (tmp instanceof HTMLElement ? tmp : THROW_CCE()).style.display = 'block';
4047
+ }
4048
+ function hideDropdown($this) {
4049
+ var tmp = $this.pm_1;
4050
+ (tmp instanceof HTMLElement ? tmp : THROW_CCE()).style.display = 'none';
4051
+ }
4052
+ function ToolbarDropdown$hideOnOutsideMouseDown$lambda(this$0) {
4053
+ return (it) => {
4054
+ hideDropdown(this$0);
4055
+ return Unit_instance;
4056
+ };
4057
+ }
4058
+ function ToolbarDropdown$lambda($this$element) {
4059
+ slot($this$element);
4060
+ return Unit_instance;
4061
+ }
4062
+ function ToolbarDropdown$lambda_0(this$0) {
4063
+ return (event) => {
4064
+ showDropdown(this$0, event);
4065
+ return Unit_instance;
4066
+ };
4067
+ }
4068
+ function ToolbarDropdown$lambda_1($this$element) {
4069
+ $this$element.setAttribute('name', 'dropdown-elements');
4070
+ return Unit_instance;
4071
+ }
4072
+ function svgFor($this, icon) {
4073
+ switch (icon) {
4074
+ case 'bold':
4075
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <text x="12" y="17" text-anchor="middle" font-size="15" font-weight="900" font-family="serif">B<\/text>\n <\/svg>';
4076
+ case 'italic':
4077
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <text x="12" y="17" text-anchor="middle" font-size="15" font-style="italic" font-family="serif">I<\/text>\n <\/svg>';
4078
+ case 'strikethrough':
4079
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="currentColor">\n <text x="12" y="17" text-anchor="middle" font-size="15" font-family="serif" stroke="none">S<\/text>\n <line x1="4" y1="12" x2="20" y2="12" stroke-width="1.5"/>\n <\/svg>';
4080
+ case 'list-bulleted':
4081
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <circle cx="4" cy="6" r="1.6"/><rect x="9" y="5" width="11" height="2"/>\n <circle cx="4" cy="12" r="1.6"/><rect x="9" y="11" width="11" height="2"/>\n <circle cx="4" cy="18" r="1.6"/><rect x="9" y="17" width="11" height="2"/>\n <\/svg>';
4082
+ case 'list-numbered':
4083
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <text x="4" y="8" text-anchor="middle" font-size="7">1<\/text><rect x="9" y="5" width="11" height="2"/>\n <text x="4" y="14" text-anchor="middle" font-size="7">2<\/text><rect x="9" y="11" width="11" height="2"/>\n <text x="4" y="20" text-anchor="middle" font-size="7">3<\/text><rect x="9" y="17" width="11" height="2"/>\n <\/svg>';
4084
+ case 'code-inline':
4085
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <text x="12" y="17" text-anchor="middle" font-size="15" font-family="monospace">{ }<\/text>\n <\/svg>';
4086
+ case 'break':
4087
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <rect x="3" y="11" width="18" height="2.5"/>\n <\/svg>';
4088
+ case 'insert-photo':
4089
+ return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round">\n <rect x="3" y="4" width="18" height="16" rx="1.5"/>\n <circle cx="8.5" cy="9.5" r="1.5" fill="currentColor" stroke="none"/>\n <polyline points="5,16 9,11 12,14 16,9 19,16" fill="none"/>\n <\/svg>';
4090
+ case 'insert-link':
4091
+ return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8">\n <rect x="1.5" y="9.5" width="9" height="5" rx="2.5" transform="rotate(-45 6 12)"/>\n <rect x="13.5" y="9.5" width="9" height="5" rx="2.5" transform="rotate(-45 18 12)"/>\n <\/svg>';
4092
+ case 'code-block':
4093
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <text x="12" y="17" text-anchor="middle" font-size="12" font-family="monospace">&lt;/&gt;<\/text>\n <\/svg>';
4094
+ case 'quote':
4095
+ return '<svg viewBox="0 0 24 24" fill="currentColor" stroke="none">\n <text x="12" y="19" text-anchor="middle" font-size="24" font-family="serif">"<\/text>\n <\/svg>';
4096
+ default:
4097
+ return '';
4098
+ }
4099
+ }
4100
+ function ToolbarSeparator$lambda($this$element) {
4101
+ $this$element.className = 'separator';
4102
+ return Unit_instance;
4103
+ }
4104
+ function Heading$renderHeading$lambda($this$element) {
4105
+ slot($this$element);
4106
+ return Unit_instance;
4107
+ }
4108
+ function get_ZERO_WIDTH_SPACE() {
4109
+ return ZERO_WIDTH_SPACE;
4110
+ }
4111
+ var ZERO_WIDTH_SPACE;
4112
+ function normalizeContent(element) {
4113
+ // Inline function 'kotlin.collections.forEach' call
4114
+ var _iterator__ex2g4s = asList(element.childNodes).p();
4115
+ while (_iterator__ex2g4s.q()) {
4116
+ var element_0 = _iterator__ex2g4s.r();
4117
+ if (element_0 instanceof MarkdownComponent) {
4118
+ if (element_0.nk())
4119
+ return normalizeContent(element);
4120
+ } else {
4121
+ if (normalizeUnknownChild(element_0)) {
4122
+ return true;
4123
+ }
4124
+ }
4125
+ }
4126
+ return false;
4127
+ }
4128
+ function normalizeUnknownChild(content) {
4129
+ if (content instanceof HTMLImageElement) {
4130
+ var image = document.createElement('markdown-image');
4131
+ content.replaceWith(image);
4132
+ var tmp0_safe_receiver = content.getAttribute('src');
4133
+ if (tmp0_safe_receiver == null)
4134
+ null;
4135
+ else {
4136
+ // Inline function 'kotlin.let' call
4137
+ image.setAttribute('destination', tmp0_safe_receiver);
4138
+ }
4139
+ var tmp1_safe_receiver = content.getAttribute('title');
4140
+ if (tmp1_safe_receiver == null)
4141
+ null;
4142
+ else {
4143
+ // Inline function 'kotlin.let' call
4144
+ image.setAttribute('title', tmp1_safe_receiver);
4145
+ }
4146
+ var tmp2_safe_receiver = content.getAttribute('alt');
4147
+ if (tmp2_safe_receiver == null)
4148
+ null;
4149
+ else {
4150
+ // Inline function 'kotlin.let' call
4151
+ image.textContent = tmp2_safe_receiver;
4152
+ }
4153
+ return true;
4154
+ }
4155
+ // Inline function 'kotlin.text.lowercase' call
4156
+ // Inline function 'kotlin.js.asDynamic' call
4157
+ if (content.nodeName.toLowerCase() === 'markdown-paragraph') {
4158
+ var onlyChild = singleOrNull(asList(content.childNodes));
4159
+ if (onlyChild instanceof HTMLBRElement) {
4160
+ onlyChild.remove();
4161
+ content.appendChild(document.createTextNode(get_ZERO_WIDTH_SPACE()));
4162
+ return true;
4163
+ }
4164
+ }
4165
+ return false;
4166
+ }
4167
+ function highlight($this) {
4168
+ var lang = $this.getAttribute('lang');
4169
+ var text = $this.textContent;
4170
+ if (!(lang == null) && !(text == null)) {
4171
+ $this.innerHTML = logic_tools_markdown_komponents_hljs_kfbjap.highlight(lang, text).value;
4172
+ }
4173
+ }
4174
+ function MarkdownCode$lambda($this$element) {
4175
+ slot($this$element);
4176
+ return Unit_instance;
4177
+ }
4178
+ function MarkdownCode$connectedCallback$lambda(this$0) {
4179
+ return (it) => {
4180
+ highlight(this$0);
4181
+ return Unit_instance;
4182
+ };
4183
+ }
4184
+ function MarkdownCodeSpan$lambda($this$element) {
4185
+ slot($this$element);
4186
+ return Unit_instance;
4187
+ }
4188
+ function MarkdownEmphasis$lambda($this$element) {
4189
+ slot($this$element);
4190
+ return Unit_instance;
4191
+ }
4192
+ function updateImage($this) {
4193
+ $this.pk_1.src = $this.ao();
4194
+ $this.pk_1.title = $this.title;
4195
+ $this.pk_1.alt = $this.innerText;
4196
+ }
4197
+ function onError($this) {
4198
+ // Inline function 'org.w3c.dom.CustomEventInit' call
4199
+ var detail = $this.ao();
4200
+ var o = {};
4201
+ o['detail'] = detail;
4202
+ o['bubbles'] = true;
4203
+ o['cancelable'] = true;
4204
+ o['composed'] = false;
4205
+ $this.dispatchEvent(new CustomEvent('error-image', o));
4206
+ }
4207
+ function upload($this) {
4208
+ var tmp0_safe_receiver = $this.qk_1.files;
4209
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.item(0);
4210
+ var tmp;
4211
+ if (tmp1_elvis_lhs == null) {
4212
+ return Unit_instance;
4213
+ } else {
4214
+ tmp = tmp1_elvis_lhs;
4215
+ }
4216
+ var file = tmp;
4217
+ var reader = new FileReader();
4218
+ reader.onload = MarkdownImage$upload$lambda($this, reader);
4219
+ reader.readAsDataURL(file);
4220
+ }
4221
+ function MarkdownImage$lambda($this$element) {
4222
+ $this$element.className = 'upload';
4223
+ $this$element.setAttribute('type', 'file');
4224
+ $this$element.setAttribute('accept', 'image/*');
4225
+ return Unit_instance;
4226
+ }
4227
+ function MarkdownImage$lambda_0(this$0) {
4228
+ return (it) => {
4229
+ upload(this$0);
4230
+ return Unit_instance;
4231
+ };
4232
+ }
4233
+ function MarkdownImage$lambda_1($this$element) {
4234
+ $this$element.setAttribute('part', 'image');
4235
+ return Unit_instance;
4236
+ }
4237
+ function MarkdownImage$lambda_2(this$0) {
4238
+ return (it) => {
4239
+ onError(this$0);
4240
+ return Unit_instance;
4241
+ };
4242
+ }
4243
+ function MarkdownImage$lambda_3($this$element) {
4244
+ $this$element.setAttribute('style', 'display:none;');
4245
+ return Unit_instance;
4246
+ }
4247
+ function MarkdownImage$upload$lambda(this$0, $reader) {
4248
+ return (it) => {
4249
+ var tmp = $reader.result;
4250
+ this$0.setAttribute('destination', (!(tmp == null) ? typeof tmp === 'string' : false) ? tmp : THROW_CCE());
4251
+ return Unit_instance;
4252
+ };
4253
+ }
4254
+ function updateLinkTarget($this) {
4255
+ $this.zl_1.href = $this.ao();
4256
+ $this.zl_1.title = $this.title;
4257
+ $this.zl_1.target = startsWith($this.ao(), '#') ? '_self' : '_blank';
4258
+ $this.zl_1.onclick = MarkdownLink$updateLinkTarget$lambda($this);
4259
+ }
4260
+ function onDestinationInput($this) {
4261
+ $this.rk($this.am_1.value);
4262
+ updateLinkTarget($this);
4263
+ }
4264
+ function hideDestinationInput($this) {
4265
+ $this.classList.remove('fresh');
4266
+ $this.am_1.classList.remove('visible');
4267
+ }
4268
+ function showDestinationInput($this) {
4269
+ $this.am_1.classList.add('visible');
4270
+ $this.am_1.focus();
4271
+ $this.am_1.setSelectionRange($this.am_1.value.length, $this.am_1.value.length);
4272
+ }
4273
+ function onDestinationKey($this, event) {
4274
+ if (event.key === 'Enter') {
4275
+ var tmp = event.target;
4276
+ var tmp0_safe_receiver = tmp instanceof HTMLElement ? tmp : null;
4277
+ if (tmp0_safe_receiver == null)
4278
+ null;
4279
+ else {
4280
+ tmp0_safe_receiver.blur();
4281
+ }
4282
+ }
4283
+ }
4284
+ function MarkdownLink$lambda($this$element) {
4285
+ $this$element.setAttribute('part', 'anchor');
4286
+ return Unit_instance;
4287
+ }
4288
+ function MarkdownLink$lambda_0($this$element) {
4289
+ $this$element.className = 'show-link';
4290
+ $this$element.textContent = '\u270E';
4291
+ return Unit_instance;
4292
+ }
4293
+ function MarkdownLink$lambda_1(this$0) {
4294
+ return (it) => {
4295
+ showDestinationInput(this$0);
4296
+ return Unit_instance;
4297
+ };
4298
+ }
4299
+ function MarkdownLink$lambda_2($this$element) {
4300
+ $this$element.setAttribute('placeholder', 'http://');
4301
+ $this$element.className = 'destination-input';
4302
+ return Unit_instance;
4303
+ }
4304
+ function MarkdownLink$lambda_3(this$0) {
4305
+ return (it) => {
4306
+ onDestinationInput(this$0);
4307
+ return Unit_instance;
4308
+ };
4309
+ }
4310
+ function MarkdownLink$lambda_4(this$0) {
4311
+ return (it) => {
4312
+ hideDestinationInput(this$0);
4313
+ return Unit_instance;
4314
+ };
4315
+ }
4316
+ function MarkdownLink$lambda_5(this$0) {
4317
+ return (event) => {
4318
+ onDestinationKey(this$0, event instanceof KeyboardEvent ? event : THROW_CCE());
4319
+ return Unit_instance;
4320
+ };
4321
+ }
4322
+ function MarkdownLink$connectedCallback$lambda(this$0) {
4323
+ return () => {
4324
+ this$0.classList.remove('fresh');
4325
+ return Unit_instance;
4326
+ };
4327
+ }
4328
+ function MarkdownLink$updateLinkTarget$lambda(this$0) {
4329
+ return (event) => {
4330
+ // Inline function 'org.w3c.dom.CustomEventInit' call
4331
+ var detail = this$0.ao();
4332
+ var o = {};
4333
+ o['detail'] = detail;
4334
+ o['bubbles'] = true;
4335
+ o['cancelable'] = true;
4336
+ o['composed'] = false;
4337
+ var continueDefault = this$0.dispatchEvent(new CustomEvent('link-click', o));
4338
+ var tmp;
4339
+ if (!continueDefault) {
4340
+ event.preventDefault();
4341
+ tmp = Unit_instance;
4342
+ }
4343
+ return Unit_instance;
4344
+ };
4345
+ }
4346
+ function MarkdownListItem$lambda($this$element) {
4347
+ $this$element.className = 'item-container';
4348
+ slot($this$element);
4349
+ return Unit_instance;
4350
+ }
4351
+ function MarkdownNumericListItem$lambda($this$element) {
4352
+ $this$element.className = 'item-container';
4353
+ slot($this$element);
4354
+ return Unit_instance;
4355
+ }
4356
+ function MarkdownQuote$lambda($this$element) {
4357
+ slot($this$element);
4358
+ return Unit_instance;
4359
+ }
4360
+ function MarkdownStrike$lambda($this$element) {
4361
+ slot($this$element);
4362
+ return Unit_instance;
4363
+ }
4364
+ function MarkdownTaskListItem$lambda($this$element) {
4365
+ $this$element.className = 'task-and-container';
4366
+ return Unit_instance;
4367
+ }
4368
+ function MarkdownTaskListItem$lambda_0($this$element) {
4369
+ $this$element.setAttribute('type', 'checkbox');
4370
+ return Unit_instance;
4371
+ }
4372
+ function MarkdownTaskListItem$lambda_1(this$0) {
4373
+ return (it) => {
4374
+ this$0.setAttribute('checked', this$0.ko_1.checked.toString());
4375
+ return Unit_instance;
4376
+ };
4377
+ }
4378
+ function MarkdownTaskListItem$lambda_2($this$element) {
4379
+ $this$element.className = 'item-container';
4380
+ slot($this$element);
4381
+ return Unit_instance;
4382
+ }
4383
+ function refresh($this) {
4384
+ var tmp0_elvis_lhs = $this.uk_1;
4385
+ var tmp;
4386
+ if (tmp0_elvis_lhs == null) {
4387
+ return Unit_instance;
4388
+ } else {
4389
+ tmp = tmp0_elvis_lhs;
4390
+ }
4391
+ var root = tmp;
4392
+ var tmp1_elvis_lhs = $this.shadowRoot;
4393
+ var tmp_0;
4394
+ if (tmp1_elvis_lhs == null) {
4395
+ return Unit_instance;
4396
+ } else {
4397
+ tmp_0 = tmp1_elvis_lhs;
4398
+ }
4399
+ var shadow = tmp_0;
4400
+ var tmp2_safe_receiver = $this.tk_1;
4401
+ if (tmp2_safe_receiver == null)
4402
+ null;
4403
+ else {
4404
+ tmp2_safe_receiver.remove();
4405
+ }
4406
+ var currentDepth = 1;
4407
+ var currentList = document.createElement('div');
4408
+ $this.tk_1 = currentList;
4409
+ shadow.appendChild(currentList);
4410
+ // Inline function 'kotlin.collections.filterIsInstance' call
4411
+ var tmp0 = asList(root.querySelectorAll('*'));
4412
+ // Inline function 'kotlin.collections.filterIsInstanceTo' call
4413
+ var destination = ArrayList.x();
4414
+ var _iterator__ex2g4s = tmp0.p();
4415
+ while (_iterator__ex2g4s.q()) {
4416
+ var element = _iterator__ex2g4s.r();
4417
+ if (element instanceof Heading) {
4418
+ destination.l(element);
4419
+ }
4420
+ }
4421
+ var headings = destination;
4422
+ // Inline function 'kotlin.collections.forEach' call
4423
+ var _iterator__ex2g4s_0 = headings.p();
4424
+ while (_iterator__ex2g4s_0.q()) {
4425
+ var element_0 = _iterator__ex2g4s_0.r();
4426
+ var tmp_1 = document.createElement('a');
4427
+ var a = tmp_1 instanceof HTMLAnchorElement ? tmp_1 : THROW_CCE();
4428
+ a.href = '#' + element_0.id;
4429
+ a.innerHTML = element_0.innerHTML;
4430
+ a.onclick = MarkdownToc$refresh$lambda(element_0);
4431
+ while (currentDepth < element_0.zm()) {
4432
+ currentDepth = currentDepth + 1 | 0;
4433
+ var nextList = document.createElement('div');
4434
+ nextList.classList.add('level');
4435
+ nextList.classList.add('level-' + currentDepth);
4436
+ currentList.appendChild(nextList);
4437
+ currentList = nextList;
4438
+ }
4439
+ while (currentDepth > element_0.zm()) {
4440
+ currentDepth = currentDepth - 1 | 0;
4441
+ currentList = ensureNotNull(currentList.parentElement);
4442
+ }
4443
+ currentList.appendChild(a);
4444
+ }
4445
+ }
4446
+ function MarkdownToc$connectedCallback$lambda(this$0) {
4447
+ return () => {
4448
+ refresh(this$0);
4449
+ return Unit_instance;
4450
+ };
4451
+ }
4452
+ function MarkdownToc$refresh$lambda($heading) {
4453
+ return (it) => {
4454
+ $heading.scrollIntoView();
4455
+ return Unit_instance;
4456
+ };
4457
+ }
4458
+ function registerMarkdownComponents() {
4459
+ define_0(window.customElements, 'markdown-paragraph', MarkdownParagraph);
4460
+ define_0(window.customElements, 'markdown-break', MarkdownBreak);
4461
+ define_0(window.customElements, 'markdown-header-1', MarkdownHeading1);
4462
+ define_0(window.customElements, 'markdown-header-2', MarkdownHeading2);
4463
+ define_0(window.customElements, 'markdown-header-3', MarkdownHeading3);
4464
+ define_0(window.customElements, 'markdown-header-4', MarkdownHeading4);
4465
+ define_0(window.customElements, 'markdown-header-5', MarkdownHeading5);
4466
+ define_0(window.customElements, 'markdown-header-6', MarkdownHeading6);
4467
+ define_0(window.customElements, 'markdown-strong', MarkdownStrong);
4468
+ define_0(window.customElements, 'markdown-emphasis', MarkdownEmphasis);
4469
+ define_0(window.customElements, 'markdown-strike', MarkdownStrike);
4470
+ define_0(window.customElements, 'markdown-code-span', MarkdownCodeSpan);
4471
+ define_0(window.customElements, 'markdown-html', MarkdownHtml);
4472
+ define_0(window.customElements, 'markdown-quote', MarkdownQuote);
4473
+ define_0(window.customElements, 'markdown-list', MarkdownList);
4474
+ define_0(window.customElements, 'markdown-list-item', MarkdownListItem);
4475
+ define_0(window.customElements, 'markdown-numeric-list', MarkdownNumericList);
4476
+ define_0(window.customElements, 'markdown-numeric-list-item', MarkdownNumericListItem);
4477
+ var tmp = window.customElements;
4478
+ var tmp_0 = MarkdownTaskListItem;
4479
+ // Inline function 'kotlin.arrayOf' call
4480
+ // Inline function 'kotlin.js.unsafeCast' call
4481
+ // Inline function 'kotlin.js.asDynamic' call
4482
+ var tmp$ret$0 = ['checked'];
4483
+ define_0(tmp, 'markdown-task-list-item', tmp_0, tmp$ret$0);
4484
+ define_0(window.customElements, 'markdown-table', MarkdownTable);
4485
+ define_0(window.customElements, 'markdown-table-row', MarkdownTableRow);
4486
+ define_0(window.customElements, 'markdown-table-header-row', MarkdownTableHeaderRow);
4487
+ define_0(window.customElements, 'markdown-table-cell', MarkdownTableCell);
4488
+ define_0(window.customElements, 'markdown-table-header-cell', MarkdownTableHeaderCell);
4489
+ var tmp_1 = window.customElements;
4490
+ var tmp_2 = MarkdownLink;
4491
+ // Inline function 'kotlin.arrayOf' call
4492
+ // Inline function 'kotlin.js.unsafeCast' call
4493
+ // Inline function 'kotlin.js.asDynamic' call
4494
+ var tmp$ret$3 = ['destination', 'title'];
4495
+ define_0(tmp_1, 'markdown-link', tmp_2, tmp$ret$3);
4496
+ var tmp_3 = window.customElements;
4497
+ var tmp_4 = MarkdownImage;
4498
+ // Inline function 'kotlin.arrayOf' call
4499
+ // Inline function 'kotlin.js.unsafeCast' call
4500
+ // Inline function 'kotlin.js.asDynamic' call
4501
+ var tmp$ret$6 = ['destination', 'title'];
4502
+ define_0(tmp_3, 'markdown-image', tmp_4, tmp$ret$6);
4503
+ define_0(window.customElements, 'markdown-code', MarkdownCode);
4504
+ define_0(window.customElements, 'markdown-toc', MarkdownToc);
4505
+ }
4506
+ //region block: post-declaration
4507
+ initMetadataForClass(BaseWebComponent, 'BaseWebComponent');
4508
+ initMetadataForClass(BoldToolbarButton, 'BoldToolbarButton', BoldToolbarButton);
4509
+ initMetadataForClass(DropdownElement, 'DropdownElement', DropdownElement);
4510
+ initMetadataForClass(DropdownElements, 'DropdownElements', DropdownElements);
4511
+ initMetadataForInterface(EditorToolbar, 'EditorToolbar');
4512
+ initMetadataForClass(StashedSelection, 'StashedSelection');
4513
+ initMetadataForClass(BaseMarkdownDocument, 'BaseMarkdownDocument');
4514
+ initMetadataForClass(MarkdownDocument, 'MarkdownDocument', MarkdownDocument);
4515
+ initMetadataForClass(MarkdownEditor, 'MarkdownEditor', MarkdownEditor);
4516
+ initMetadataForClass(MarkdownToolbar, 'MarkdownToolbar', MarkdownToolbar, VOID, [EditorToolbar]);
4517
+ initMetadataForClass(ToggleToolbarButton, 'ToggleToolbarButton', ToggleToolbarButton);
4518
+ initMetadataForClass(ToolbarButton, 'ToolbarButton', ToolbarButton);
4519
+ initMetadataForClass(ToolbarDropdown, 'ToolbarDropdown', ToolbarDropdown);
4520
+ initMetadataForClass(ToolbarIcon, 'ToolbarIcon', ToolbarIcon);
4521
+ initMetadataForClass(ToolbarSeparator, 'ToolbarSeparator', ToolbarSeparator);
4522
+ initMetadataForClass(MarkdownComponent, 'MarkdownComponent');
4523
+ initMetadataForClass(BlockElement, 'BlockElement');
4524
+ initMetadataForClass(ContainerElement, 'ContainerElement');
4525
+ initMetadataForClass(LeafElement, 'LeafElement');
4526
+ initMetadataForClass(Heading, 'Heading');
4527
+ initMetadataForClass(InlineElement, 'InlineElement');
4528
+ initMetadataForClass(TerminalInlineElement, 'TerminalInlineElement');
4529
+ initMetadataForClass(ListItem, 'ListItem');
4530
+ initMetadataForInterface(MarkdownElementWithLevel, 'MarkdownElementWithLevel');
4531
+ initMetadataForInterface(MarkdownElementEscapeByBackspace, 'MarkdownElementEscapeByBackspace');
4532
+ initMetadataForClass(TableCell, 'TableCell');
4533
+ initMetadataForClass(MarkdownBreak, 'MarkdownBreak', MarkdownBreak);
4534
+ initMetadataForClass(MarkdownCode, 'MarkdownCode', MarkdownCode);
4535
+ initMetadataForClass(MarkdownCodeSpan, 'MarkdownCodeSpan', MarkdownCodeSpan);
4536
+ initMetadataForClass(MarkdownEmphasis, 'MarkdownEmphasis', MarkdownEmphasis);
4537
+ initMetadataForClass(MarkdownHeading1, 'MarkdownHeading1', MarkdownHeading1);
4538
+ initMetadataForClass(MarkdownHeading2, 'MarkdownHeading2', MarkdownHeading2);
4539
+ initMetadataForClass(MarkdownHeading3, 'MarkdownHeading3', MarkdownHeading3);
4540
+ initMetadataForClass(MarkdownHeading4, 'MarkdownHeading4', MarkdownHeading4);
4541
+ initMetadataForClass(MarkdownHeading5, 'MarkdownHeading5', MarkdownHeading5);
4542
+ initMetadataForClass(MarkdownHeading6, 'MarkdownHeading6', MarkdownHeading6);
4543
+ initMetadataForClass(MarkdownHtml, 'MarkdownHtml', MarkdownHtml);
4544
+ initMetadataForClass(MarkdownImage, 'MarkdownImage', MarkdownImage);
4545
+ initMetadataForClass(MarkdownLink, 'MarkdownLink', MarkdownLink);
4546
+ initMetadataForClass(MarkdownList, 'MarkdownList', MarkdownList, VOID, [MarkdownElementWithLevel]);
4547
+ initMetadataForClass(MarkdownListItem, 'MarkdownListItem', MarkdownListItem);
4548
+ initMetadataForClass(MarkdownNumericList, 'MarkdownNumericList', MarkdownNumericList, VOID, [MarkdownElementWithLevel]);
4549
+ initMetadataForClass(MarkdownNumericListItem, 'MarkdownNumericListItem', MarkdownNumericListItem);
4550
+ initMetadataForClass(MarkdownParagraph, 'MarkdownParagraph', MarkdownParagraph);
4551
+ initMetadataForClass(MarkdownQuote, 'MarkdownQuote', MarkdownQuote, VOID, [MarkdownElementWithLevel, MarkdownElementEscapeByBackspace]);
4552
+ initMetadataForClass(MarkdownStrike, 'MarkdownStrike', MarkdownStrike);
4553
+ initMetadataForClass(MarkdownStrong, 'MarkdownStrong', MarkdownStrong);
4554
+ initMetadataForClass(MarkdownTable, 'MarkdownTable', MarkdownTable);
4555
+ initMetadataForClass(MarkdownTableCell, 'MarkdownTableCell', MarkdownTableCell);
4556
+ initMetadataForClass(MarkdownTableHeaderCell, 'MarkdownTableHeaderCell', MarkdownTableHeaderCell);
4557
+ initMetadataForClass(MarkdownTableRow, 'MarkdownTableRow', MarkdownTableRow);
4558
+ initMetadataForClass(MarkdownTableHeaderRow, 'MarkdownTableHeaderRow', MarkdownTableHeaderRow);
4559
+ initMetadataForClass(MarkdownTaskListItem, 'MarkdownTaskListItem', MarkdownTaskListItem);
4560
+ initMetadataForClass(MarkdownToc, 'MarkdownToc', MarkdownToc);
4561
+ //endregion
4562
+ //region block: init
4563
+ ZERO_WIDTH_SPACE = '\u200B';
4564
+ //endregion
4565
+ //region block: eager init
4566
+ registerAllComponentsOnLoad = registerAllComponentsOnLoad$init$();
4567
+ //endregion
4568
+ mainWrapper();
4569
+
4570
+ //# sourceMappingURL=markdown-komponents.mjs.map