panelui-native 0.77.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/lib/module/components/area-chart/index.js +32 -25
  2. package/lib/module/components/area-chart/index.js.map +1 -1
  3. package/lib/module/components/bottom-sheet/index.js +97 -15
  4. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  5. package/lib/module/components/funnel-chart/index.js +15 -2
  6. package/lib/module/components/funnel-chart/index.js.map +1 -1
  7. package/lib/module/components/heatmap-chart/index.js +19 -27
  8. package/lib/module/components/heatmap-chart/index.js.map +1 -1
  9. package/lib/module/components/hex-chart/index.js +2 -0
  10. package/lib/module/components/hex-chart/index.js.map +1 -1
  11. package/lib/module/components/line-chart/index.js +38 -31
  12. package/lib/module/components/line-chart/index.js.map +1 -1
  13. package/lib/module/components/map/index.js +63 -39
  14. package/lib/module/components/map/index.js.map +1 -1
  15. package/lib/module/components/map/map-children.js +54 -0
  16. package/lib/module/components/map/map-children.js.map +1 -0
  17. package/lib/module/components/map/maplibre.js +31 -3
  18. package/lib/module/components/map/maplibre.js.map +1 -1
  19. package/lib/module/components/markdown-editor/index.js +288 -34
  20. package/lib/module/components/markdown-editor/index.js.map +1 -1
  21. package/lib/module/components/markdown-editor/markdown-transforms.js +272 -9
  22. package/lib/module/components/markdown-editor/markdown-transforms.js.map +1 -1
  23. package/lib/module/components/marquee/index.js +205 -46
  24. package/lib/module/components/marquee/index.js.map +1 -1
  25. package/lib/module/components/panelside/index.js +162 -34
  26. package/lib/module/components/panelside/index.js.map +1 -1
  27. package/lib/module/components/pie-chart/index.js +15 -2
  28. package/lib/module/components/pie-chart/index.js.map +1 -1
  29. package/lib/module/components/plot/index.js +42 -44
  30. package/lib/module/components/plot/index.js.map +1 -1
  31. package/lib/module/components/progress-button/index.js +617 -0
  32. package/lib/module/components/progress-button/index.js.map +1 -0
  33. package/lib/module/components/progress-button/progress-button-hold.js +91 -0
  34. package/lib/module/components/progress-button/progress-button-hold.js.map +1 -0
  35. package/lib/module/components/scatter-chart/index.js +6 -25
  36. package/lib/module/components/scatter-chart/index.js.map +1 -1
  37. package/lib/module/components/section-rail/index.js +40 -17
  38. package/lib/module/components/section-rail/index.js.map +1 -1
  39. package/lib/module/components/split-view/index.js +54 -10
  40. package/lib/module/components/split-view/index.js.map +1 -1
  41. package/lib/module/components/theme-selector/index.js +239 -0
  42. package/lib/module/components/theme-selector/index.js.map +1 -0
  43. package/lib/module/components/theme-selector/theme-preview.js +320 -0
  44. package/lib/module/components/theme-selector/theme-preview.js.map +1 -0
  45. package/lib/module/components/timeline/index.js +145 -14
  46. package/lib/module/components/timeline/index.js.map +1 -1
  47. package/lib/module/components/toast/index.js +45 -11
  48. package/lib/module/components/toast/index.js.map +1 -1
  49. package/lib/module/components/treemap-chart/index.js +63 -6
  50. package/lib/module/components/treemap-chart/index.js.map +1 -1
  51. package/lib/module/components/waterfall-chart/index.js +20 -4
  52. package/lib/module/components/waterfall-chart/index.js.map +1 -1
  53. package/lib/module/hooks/index.js +1 -0
  54. package/lib/module/hooks/index.js.map +1 -1
  55. package/lib/module/hooks/use-scroll-sections.js +44 -2
  56. package/lib/module/hooks/use-scroll-sections.js.map +1 -1
  57. package/lib/module/hooks/use-skeleton-handoff.js +58 -0
  58. package/lib/module/hooks/use-skeleton-handoff.js.map +1 -0
  59. package/lib/module/index.js +2 -0
  60. package/lib/module/index.js.map +1 -1
  61. package/lib/typescript/src/components/area-chart/index.d.ts +1 -1
  62. package/lib/typescript/src/components/area-chart/index.d.ts.map +1 -1
  63. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  64. package/lib/typescript/src/components/funnel-chart/index.d.ts.map +1 -1
  65. package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -1
  66. package/lib/typescript/src/components/hex-chart/index.d.ts.map +1 -1
  67. package/lib/typescript/src/components/line-chart/index.d.ts +1 -1
  68. package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -1
  69. package/lib/typescript/src/components/map/index.d.ts +8 -4
  70. package/lib/typescript/src/components/map/index.d.ts.map +1 -1
  71. package/lib/typescript/src/components/map/map-children.d.ts +41 -0
  72. package/lib/typescript/src/components/map/map-children.d.ts.map +1 -0
  73. package/lib/typescript/src/components/map/maplibre.d.ts +8 -4
  74. package/lib/typescript/src/components/map/maplibre.d.ts.map +1 -1
  75. package/lib/typescript/src/components/markdown-editor/index.d.ts +64 -5
  76. package/lib/typescript/src/components/markdown-editor/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts +33 -5
  78. package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts.map +1 -1
  79. package/lib/typescript/src/components/marquee/index.d.ts +55 -2
  80. package/lib/typescript/src/components/marquee/index.d.ts.map +1 -1
  81. package/lib/typescript/src/components/panelside/index.d.ts +79 -4
  82. package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
  83. package/lib/typescript/src/components/pie-chart/index.d.ts.map +1 -1
  84. package/lib/typescript/src/components/plot/index.d.ts +1 -3
  85. package/lib/typescript/src/components/plot/index.d.ts.map +1 -1
  86. package/lib/typescript/src/components/progress-button/index.d.ts +311 -0
  87. package/lib/typescript/src/components/progress-button/index.d.ts.map +1 -0
  88. package/lib/typescript/src/components/progress-button/progress-button-hold.d.ts +60 -0
  89. package/lib/typescript/src/components/progress-button/progress-button-hold.d.ts.map +1 -0
  90. package/lib/typescript/src/components/scatter-chart/index.d.ts +1 -1
  91. package/lib/typescript/src/components/scatter-chart/index.d.ts.map +1 -1
  92. package/lib/typescript/src/components/section-rail/index.d.ts.map +1 -1
  93. package/lib/typescript/src/components/split-view/index.d.ts +10 -1
  94. package/lib/typescript/src/components/split-view/index.d.ts.map +1 -1
  95. package/lib/typescript/src/components/theme-selector/index.d.ts +107 -0
  96. package/lib/typescript/src/components/theme-selector/index.d.ts.map +1 -0
  97. package/lib/typescript/src/components/theme-selector/theme-preview.d.ts +32 -0
  98. package/lib/typescript/src/components/theme-selector/theme-preview.d.ts.map +1 -0
  99. package/lib/typescript/src/components/timeline/index.d.ts +7 -0
  100. package/lib/typescript/src/components/timeline/index.d.ts.map +1 -1
  101. package/lib/typescript/src/components/toast/index.d.ts.map +1 -1
  102. package/lib/typescript/src/components/treemap-chart/index.d.ts.map +1 -1
  103. package/lib/typescript/src/components/waterfall-chart/index.d.ts.map +1 -1
  104. package/lib/typescript/src/hooks/index.d.ts +1 -0
  105. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  106. package/lib/typescript/src/hooks/use-scroll-sections.d.ts +1 -0
  107. package/lib/typescript/src/hooks/use-scroll-sections.d.ts.map +1 -1
  108. package/lib/typescript/src/hooks/use-skeleton-handoff.d.ts +11 -0
  109. package/lib/typescript/src/hooks/use-skeleton-handoff.d.ts.map +1 -0
  110. package/lib/typescript/src/index.d.ts +6 -4
  111. package/lib/typescript/src/index.d.ts.map +1 -1
  112. package/package.json +1 -1
  113. package/src/components/area-chart/index.tsx +49 -37
  114. package/src/components/bottom-sheet/index.tsx +109 -11
  115. package/src/components/funnel-chart/index.tsx +10 -2
  116. package/src/components/heatmap-chart/index.tsx +27 -22
  117. package/src/components/hex-chart/index.tsx +22 -6
  118. package/src/components/line-chart/index.tsx +57 -43
  119. package/src/components/map/index.tsx +63 -36
  120. package/src/components/map/map-children.ts +66 -0
  121. package/src/components/map/maplibre.ts +32 -4
  122. package/src/components/markdown-editor/index.tsx +413 -35
  123. package/src/components/markdown-editor/markdown-transforms.ts +274 -10
  124. package/src/components/marquee/index.tsx +254 -58
  125. package/src/components/panelside/index.tsx +179 -40
  126. package/src/components/pie-chart/index.tsx +10 -2
  127. package/src/components/plot/index.tsx +66 -50
  128. package/src/components/progress-button/index.tsx +684 -0
  129. package/src/components/progress-button/progress-button-hold.ts +88 -0
  130. package/src/components/scatter-chart/index.tsx +4 -25
  131. package/src/components/section-rail/index.tsx +39 -19
  132. package/src/components/split-view/index.tsx +53 -8
  133. package/src/components/theme-selector/index.tsx +281 -0
  134. package/src/components/theme-selector/theme-preview.tsx +205 -0
  135. package/src/components/timeline/index.tsx +143 -17
  136. package/src/components/toast/index.tsx +60 -11
  137. package/src/components/treemap-chart/index.tsx +65 -8
  138. package/src/components/waterfall-chart/index.tsx +14 -4
  139. package/src/hooks/index.ts +5 -0
  140. package/src/hooks/use-scroll-sections.ts +52 -3
  141. package/src/hooks/use-skeleton-handoff.ts +69 -0
  142. package/src/index.ts +25 -0
@@ -76,6 +76,26 @@ export function toggleWrap(text, selection, marker) {
76
76
  }
77
77
  };
78
78
  }
79
+
80
+ /*
81
+ * A selection that crosses a line break is wrapped line by line.
82
+ *
83
+ * `**one\ntwo**` is not bold in any reader — an inline marker cannot span a
84
+ * paragraph break — so wrapping the whole span produces asterisks the writer
85
+ * can see and no emphasis they asked for. Each line gets its own pair, and
86
+ * blank lines are left alone rather than given an empty pair of markers.
87
+ */
88
+ if (selected.includes('\n')) {
89
+ const wrapped = selected.split('\n').map(line => line.trim() === '' ? line : marker + line + marker).join('\n');
90
+ const next = text.slice(0, start) + wrapped + text.slice(end);
91
+ return {
92
+ text: next,
93
+ selection: {
94
+ start,
95
+ end: start + wrapped.length
96
+ }
97
+ };
98
+ }
79
99
  const next = text.slice(0, start) + marker + selected + marker + text.slice(end);
80
100
 
81
101
  // Nothing selected: the caret goes between the markers, which is where the
@@ -131,6 +151,64 @@ function replaceBlock(text, range, replacement) {
131
151
  };
132
152
  }
133
153
 
154
+ /**
155
+ * The same replacement, with the caret left where the writer's was.
156
+ *
157
+ * A line-level action applies to whole lines, but the writer's caret was in the
158
+ * middle of one of them, and handing back the whole block selected means the
159
+ * next thing they type replaces the list they just made. So the caret is put
160
+ * back at the same distance from the start of the block, shifted by however
161
+ * much the text before it grew.
162
+ */
163
+ function replaceBlockKeepingCaret(text, range, replacement, selection) {
164
+ const next = text.slice(0, range.start) + replacement + text.slice(range.end);
165
+ const {
166
+ start,
167
+ end
168
+ } = normalise(text, selection);
169
+
170
+ // A real selection is kept as a selection over the same lines; only a caret
171
+ // is followed precisely.
172
+ if (start !== end) {
173
+ return {
174
+ text: next,
175
+ selection: {
176
+ start: range.start,
177
+ end: range.start + replacement.length
178
+ }
179
+ };
180
+ }
181
+ const before = text.slice(range.start, start);
182
+ const line = before.split('\n').length - 1;
183
+ const column = before.length - (before.lastIndexOf('\n') + 1);
184
+ const oldLines = text.slice(range.start, range.end).split('\n');
185
+ const newLines = replacement.split('\n');
186
+ const index = Math.min(line, newLines.length - 1);
187
+ const oldLine = oldLines[Math.min(line, oldLines.length - 1)] ?? '';
188
+ const newLine = newLines[index] ?? '';
189
+
190
+ /*
191
+ * The caret keeps its distance from the *end* of its line, not from the
192
+ * start of it.
193
+ *
194
+ * These actions change what is in front of the text: a caret held at the
195
+ * same column ends up inside the bullet it just gained, and after removing
196
+ * one it ends up two characters into the word. The distance to the end of
197
+ * the line is the thing a prefix cannot move.
198
+ */
199
+ const fromEnd = Math.max(0, oldLine.length - column);
200
+ const nextColumn = Math.max(0, newLine.length - fromEnd);
201
+ const offsetToLine = newLines.slice(0, index).reduce((total, each) => total + each.length + 1, 0);
202
+ const at = range.start + offsetToLine + Math.min(nextColumn, newLine.length);
203
+ return {
204
+ text: next,
205
+ selection: {
206
+ start: at,
207
+ end: at
208
+ }
209
+ };
210
+ }
211
+
134
212
  /**
135
213
  * Puts `prefix` on the front of every line the selection touches, or takes it
136
214
  * off if every one of them already has it.
@@ -143,7 +221,7 @@ export function toggleLinePrefix(text, selection, prefix) {
143
221
  const lines = text.slice(range.start, range.end).split('\n');
144
222
  const has = line => line.startsWith(prefix);
145
223
  const next = lines.every(has) ? lines.map(line => line.slice(prefix.length)) : lines.map(line => has(line) ? line : prefix + line);
146
- return replaceBlock(text, range, next.join('\n'));
224
+ return replaceBlockKeepingCaret(text, range, next.join('\n'), selection);
147
225
  }
148
226
 
149
227
  /** How an ordered-list line starts, so it can be recognised and removed. */
@@ -161,7 +239,7 @@ export function toggleOrderedList(text, selection) {
161
239
  const range = lineRange(text, selection);
162
240
  const lines = text.slice(range.start, range.end).split('\n');
163
241
  const next = lines.every(line => ORDERED.test(line)) ? lines.map(line => line.replace(ORDERED, '')) : lines.map((line, i) => `${i + 1}. ${line.replace(ORDERED, '')}`);
164
- return replaceBlock(text, range, next.join('\n'));
242
+ return replaceBlockKeepingCaret(text, range, next.join('\n'), selection);
165
243
  }
166
244
 
167
245
  /* -------------------------------------------------------------------------- *
@@ -218,20 +296,60 @@ export function insertLink(text, selection) {
218
296
  * makes room for itself: a blank line before it when it is not already at the
219
297
  * start of a paragraph, and one after it at the end.
220
298
  */
299
+ /**
300
+ * The whole fenced block the selection is inside, or `null`.
301
+ *
302
+ * Scanned from the top of the document rather than read off the lines the
303
+ * selection touches, because a caret sitting on a line of code touches one
304
+ * line and that line says nothing about the fence around it. Without this,
305
+ * pressing the code button inside a fence wrapped it in a second one.
306
+ */
307
+ function enclosingFence(text, selection) {
308
+ const {
309
+ start,
310
+ end
311
+ } = normalise(text, selection);
312
+ let offset = 0;
313
+ let openedAt = null;
314
+ for (const line of text.split('\n')) {
315
+ const lineStart = offset;
316
+ const lineEnd = offset + line.length;
317
+ if (line.startsWith('```')) {
318
+ if (openedAt === null) openedAt = lineStart;else {
319
+ if (start >= openedAt && end <= lineEnd) return {
320
+ start: openedAt,
321
+ end: lineEnd
322
+ };
323
+ openedAt = null;
324
+ }
325
+ }
326
+ offset = lineEnd + 1;
327
+ }
328
+ return null;
329
+ }
221
330
  export function toggleFence(text, selection) {
331
+ const enclosing = enclosingFence(text, selection);
332
+ if (enclosing) {
333
+ const inner = text.slice(enclosing.start, enclosing.end).split('\n').slice(1, -1).join('\n');
334
+ return replaceBlock(text, enclosing, inner);
335
+ }
222
336
  const range = lineRange(text, selection);
223
337
  const block = text.slice(range.start, range.end);
224
- const lines = block.split('\n');
225
- if (lines.length >= 2 && lines[0]?.startsWith('```') && lines.at(-1) === '```') {
226
- return replaceBlock(text, range, lines.slice(1, -1).join('\n'));
227
- }
228
338
  const leadIn = range.start > 0 && text[range.start - 1] !== '\n' ? '\n' : '';
229
- const fenced = `${leadIn}\`\`\`\n${block}\n\`\`\``;
339
+ // And a blank line after it, unless the fence already ends the document or
340
+ // the line below it is blank. A paragraph butted up against a closing fence
341
+ // is a paragraph some readers swallow into the code block.
342
+ const rest = text.slice(range.end);
343
+ const leadOut = rest === '' || rest.startsWith('\n\n') ? '' : '\n';
344
+ const opener = `${leadIn}\`\`\`\n`;
345
+ const fenced = `${opener}${block}\n\`\`\`${leadOut}`;
230
346
  const result = replaceBlock(text, range, fenced);
231
347
 
232
348
  // Inside the fence, on the line the code goes on — not around the whole
233
- // block, which would be selecting the markers along with the content.
234
- const inner = range.start + leadIn.length + 4;
349
+ // block, which would be selecting the markers along with the content. The
350
+ // offset is the opener's own length rather than a written-down number, so it
351
+ // cannot drift from the string above it.
352
+ const inner = range.start + opener.length;
235
353
  return {
236
354
  text: result.text,
237
355
  selection: {
@@ -240,4 +358,149 @@ export function toggleFence(text, selection) {
240
358
  }
241
359
  };
242
360
  }
361
+
362
+ /* -------------------------------------------------------------------------- *
363
+ * Images
364
+ * -------------------------------------------------------------------------- */
365
+
366
+ /** Placeholder left where an image's description goes. */
367
+ export const IMAGE_PLACEHOLDER = 'description';
368
+
369
+ /**
370
+ * Inserts an image, and selects the part that still needs filling in.
371
+ *
372
+ * The description first, not the URL. An image with no alt text is the failure
373
+ * that actually happens, and the writer is far more likely to have the URL on
374
+ * the clipboard than the sentence describing what is in it — so the sentence is
375
+ * what the caret is left on.
376
+ */
377
+ export function insertImage(text, selection) {
378
+ const {
379
+ start,
380
+ end
381
+ } = normalise(text, selection);
382
+ const label = text.slice(start, end);
383
+ const alt = label || IMAGE_PLACEHOLDER;
384
+ const inserted = `![${alt}](${LINK_PLACEHOLDER})`;
385
+ const next = text.slice(0, start) + inserted + text.slice(end);
386
+
387
+ // With a description already written, what is missing is the target.
388
+ if (label) {
389
+ const from = start + label.length + 4; // `![` + label + `](`
390
+ return {
391
+ text: next,
392
+ selection: {
393
+ start: from,
394
+ end: from + LINK_PLACEHOLDER.length
395
+ }
396
+ };
397
+ }
398
+ const from = start + 2; // `![`
399
+ return {
400
+ text: next,
401
+ selection: {
402
+ start: from,
403
+ end: from + alt.length
404
+ }
405
+ };
406
+ }
407
+
408
+ /* -------------------------------------------------------------------------- *
409
+ * Continuing a list
410
+ * -------------------------------------------------------------------------- */
411
+
412
+ /** A bullet line, and how much of it is the marker. */
413
+ const BULLET = /^(\s*)([-*+])(\s+)(.*)$/;
414
+ /** A numbered line, split the same way. */
415
+ const NUMBERED = /^(\s*)(\d+)\.(\s+)(.*)$/;
416
+
417
+ /**
418
+ * What Return should do inside a list.
419
+ *
420
+ * Returns `null` when the caret is not on a list line, which is the signal to
421
+ * let the newline happen normally. Otherwise it either starts the next item or,
422
+ * on an item with nothing in it, ends the list — because a writer pressing
423
+ * Return on an empty bullet is telling you they have run out of items, and the
424
+ * alternative is a trail of empty bullets they have to delete by hand.
425
+ */
426
+ export function continueList(text, selection) {
427
+ const {
428
+ start,
429
+ end
430
+ } = normalise(text, selection);
431
+ // Only a caret continues a list. With a range selected, Return replaces it,
432
+ // and guessing which end of it the writer meant is worse than not guessing.
433
+ if (start !== end) return null;
434
+ const lineStart = text.lastIndexOf('\n', start - 1) + 1;
435
+ const line = text.slice(lineStart, start);
436
+ const bullet = BULLET.exec(line);
437
+ const numbered = bullet ? null : NUMBERED.exec(line);
438
+ if (!bullet && !numbered) return null;
439
+ const [, indent = '', marker = '', gap = ' ', content = ''] = bullet ?? numbered;
440
+
441
+ // An item with nothing in it ends the list: the line becomes empty and the
442
+ // caret stays on it, ready for an ordinary paragraph.
443
+ if (content.trim() === '') {
444
+ const next = text.slice(0, lineStart) + text.slice(start);
445
+ return {
446
+ text: next,
447
+ selection: {
448
+ start: lineStart,
449
+ end: lineStart
450
+ }
451
+ };
452
+ }
453
+ const opener = numbered ? `${indent}${Number(marker) + 1}.${gap}` : `${indent}${marker}${gap}`;
454
+ const inserted = `\n${opener}`;
455
+ const next = text.slice(0, start) + inserted + text.slice(start);
456
+ const at = start + inserted.length;
457
+ return {
458
+ text: next,
459
+ selection: {
460
+ start: at,
461
+ end: at
462
+ }
463
+ };
464
+ }
465
+
466
+ /* -------------------------------------------------------------------------- *
467
+ * What is already applied
468
+ * -------------------------------------------------------------------------- */
469
+
470
+ /**
471
+ * Whether an inline marker is already around the caret or the selection.
472
+ *
473
+ * Both arrangements count, for the same reason `toggleWrap` accepts both: the
474
+ * writer may have selected `**bold**` or selected `bold` inside it, and with
475
+ * nothing selected at all the caret may simply be sitting between the markers.
476
+ */
477
+ export function hasWrap(text, selection, marker) {
478
+ const {
479
+ start,
480
+ end
481
+ } = normalise(text, selection);
482
+ const selected = text.slice(start, end);
483
+ const len = marker.length;
484
+ if (selected.length >= len * 2 && selected.startsWith(marker) && selected.endsWith(marker)) {
485
+ return true;
486
+ }
487
+ return text.slice(Math.max(0, start - len), start) === marker && text.slice(end, end + len) === marker;
488
+ }
489
+
490
+ /** Whether every line the selection touches already starts with `prefix`. */
491
+ export function hasLinePrefix(text, selection, prefix) {
492
+ const range = lineRange(text, selection);
493
+ return text.slice(range.start, range.end).split('\n').every(line => line.startsWith(prefix));
494
+ }
495
+
496
+ /** Whether every line the selection touches is already numbered. */
497
+ export function hasOrderedList(text, selection) {
498
+ const range = lineRange(text, selection);
499
+ return text.slice(range.start, range.end).split('\n').every(line => ORDERED.test(line));
500
+ }
501
+
502
+ /** Whether the selection is inside a fence. */
503
+ export function hasFence(text, selection) {
504
+ return enclosingFence(text, selection) !== null;
505
+ }
243
506
  //# sourceMappingURL=markdown-transforms.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["normalise","text","selection","a","Math","max","min","length","start","b","end","toggleWrap","marker","selected","slice","len","startsWith","endsWith","inner","before","after","next","lineRange","from","lastIndexOf","lineEnd","indexOf","replaceBlock","range","replacement","toggleLinePrefix","prefix","lines","split","has","line","every","map","join","ORDERED","toggleOrderedList","test","replace","i","LINK_PLACEHOLDER","insertLink","label","inserted","toggleFence","block","at","leadIn","fenced","result"],"sourceRoot":"../../../../src","sources":["components/markdown-editor/markdown-transforms.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["normalise","text","selection","a","Math","max","min","length","start","b","end","toggleWrap","marker","selected","slice","len","startsWith","endsWith","inner","before","after","includes","wrapped","split","map","line","trim","join","next","lineRange","from","lastIndexOf","lineEnd","indexOf","replaceBlock","range","replacement","replaceBlockKeepingCaret","column","oldLines","newLines","index","oldLine","newLine","fromEnd","nextColumn","offsetToLine","reduce","total","each","at","toggleLinePrefix","prefix","lines","has","every","ORDERED","toggleOrderedList","test","replace","i","LINK_PLACEHOLDER","insertLink","label","inserted","enclosingFence","offset","openedAt","lineStart","toggleFence","enclosing","block","leadIn","rest","leadOut","opener","fenced","result","IMAGE_PLACEHOLDER","insertImage","alt","BULLET","NUMBERED","continueList","bullet","exec","numbered","indent","gap","content","Number","hasWrap","hasLinePrefix","hasOrderedList","hasFence"],"sourceRoot":"../../../../src","sources":["components/markdown-editor/markdown-transforms.ts"],"mappings":"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","ignoreList":[]}