quikdown 1.2.11 → 1.2.13

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 (66) hide show
  1. package/dist/quikdown.cjs +3 -3
  2. package/dist/quikdown.dark.css +1 -1
  3. package/dist/quikdown.esm.js +3 -3
  4. package/dist/quikdown.esm.min.js +2 -2
  5. package/dist/quikdown.esm.min.js.gz +0 -0
  6. package/dist/quikdown.esm.min.js.map +1 -1
  7. package/dist/quikdown.light.css +1 -1
  8. package/dist/quikdown.umd.js +3 -3
  9. package/dist/quikdown.umd.min.js +2 -2
  10. package/dist/quikdown.umd.min.js.gz +0 -0
  11. package/dist/quikdown.umd.min.js.map +1 -1
  12. package/dist/quikdown_ast.cjs +9 -5
  13. package/dist/quikdown_ast.esm.js +9 -5
  14. package/dist/quikdown_ast.esm.min.js +2 -2
  15. package/dist/quikdown_ast.esm.min.js.gz +0 -0
  16. package/dist/quikdown_ast.esm.min.js.map +1 -1
  17. package/dist/quikdown_ast.umd.js +9 -5
  18. package/dist/quikdown_ast.umd.min.js +2 -2
  19. package/dist/quikdown_ast.umd.min.js.gz +0 -0
  20. package/dist/quikdown_ast.umd.min.js.map +1 -1
  21. package/dist/quikdown_ast_html.cjs +10 -6
  22. package/dist/quikdown_ast_html.esm.js +10 -6
  23. package/dist/quikdown_ast_html.esm.min.js +2 -2
  24. package/dist/quikdown_ast_html.esm.min.js.gz +0 -0
  25. package/dist/quikdown_ast_html.esm.min.js.map +1 -1
  26. package/dist/quikdown_ast_html.umd.js +10 -6
  27. package/dist/quikdown_ast_html.umd.min.js +2 -2
  28. package/dist/quikdown_ast_html.umd.min.js.gz +0 -0
  29. package/dist/quikdown_ast_html.umd.min.js.map +1 -1
  30. package/dist/quikdown_bd.cjs +3 -3
  31. package/dist/quikdown_bd.esm.js +3 -3
  32. package/dist/quikdown_bd.esm.min.js +2 -2
  33. package/dist/quikdown_bd.esm.min.js.gz +0 -0
  34. package/dist/quikdown_bd.esm.min.js.map +1 -1
  35. package/dist/quikdown_bd.umd.js +3 -3
  36. package/dist/quikdown_bd.umd.min.js +2 -2
  37. package/dist/quikdown_bd.umd.min.js.gz +0 -0
  38. package/dist/quikdown_bd.umd.min.js.map +1 -1
  39. package/dist/quikdown_edit.cjs +26 -43
  40. package/dist/quikdown_edit.esm.js +26 -43
  41. package/dist/quikdown_edit.esm.min.js +3 -3
  42. package/dist/quikdown_edit.esm.min.js.gz +0 -0
  43. package/dist/quikdown_edit.esm.min.js.map +1 -1
  44. package/dist/quikdown_edit.umd.js +26 -43
  45. package/dist/quikdown_edit.umd.min.js +3 -3
  46. package/dist/quikdown_edit.umd.min.js.gz +0 -0
  47. package/dist/quikdown_edit.umd.min.js.map +1 -1
  48. package/dist/quikdown_json.cjs +10 -6
  49. package/dist/quikdown_json.esm.js +10 -6
  50. package/dist/quikdown_json.esm.min.js +2 -2
  51. package/dist/quikdown_json.esm.min.js.gz +0 -0
  52. package/dist/quikdown_json.esm.min.js.map +1 -1
  53. package/dist/quikdown_json.umd.js +10 -6
  54. package/dist/quikdown_json.umd.min.js +2 -2
  55. package/dist/quikdown_json.umd.min.js.gz +0 -0
  56. package/dist/quikdown_json.umd.min.js.map +1 -1
  57. package/dist/quikdown_yaml.cjs +10 -6
  58. package/dist/quikdown_yaml.esm.js +10 -6
  59. package/dist/quikdown_yaml.esm.min.js +2 -2
  60. package/dist/quikdown_yaml.esm.min.js.gz +0 -0
  61. package/dist/quikdown_yaml.esm.min.js.map +1 -1
  62. package/dist/quikdown_yaml.umd.js +10 -6
  63. package/dist/quikdown_yaml.umd.min.js +2 -2
  64. package/dist/quikdown_yaml.umd.min.js.gz +0 -0
  65. package/dist/quikdown_yaml.umd.min.js.map +1 -1
  66. package/package.json +1 -3
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Quikdown Editor - Drop-in Markdown Parser
3
- * @version 1.2.11
3
+ * @version 1.2.13
4
4
  * @license BSD-2-Clause
5
5
  * @copyright DeftIO 2025
6
6
  */
@@ -228,7 +228,7 @@
228
228
  // ────────────────────────────────────────────────────────────────────
229
229
 
230
230
  /** Build-time version stamp (injected by tools/updateVersion) */
231
- const quikdownVersion = '1.2.11';
231
+ const quikdownVersion = '1.2.13';
232
232
 
233
233
  /** CSS class prefix used for all generated elements */
234
234
  const CLASS_PREFIX = 'quikdown-';
@@ -590,7 +590,7 @@
590
590
  [/\*\*(.+?)\*\*/g, 'strong', '**'],
591
591
  [/__(.+?)__/g, 'strong', '__'],
592
592
  [/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g, 'em', '*'],
593
- [/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g, 'em', '_'],
593
+ [/(?<![A-Za-z0-9_])_(?![_\s])(.+?)(?<![\s_])_(?![A-Za-z0-9_])/g, 'em', '_'],
594
594
  [/~~(.+?)~~/g, 'del', '~~']
595
595
  ];
596
596
  inlinePatterns.forEach(([pattern, tag, marker]) => {
@@ -1577,6 +1577,19 @@
1577
1577
  return 'unknown';
1578
1578
  }
1579
1579
 
1580
+ const COPY_HEADING_STYLES = {
1581
+ h1: { fontSize: '24pt', marginTop: '0.6em', marginBottom: '0.35em' },
1582
+ h2: { fontSize: '18pt', marginTop: '0.55em', marginBottom: '0.3em' },
1583
+ h3: { fontSize: '15pt', marginTop: '0.5em', marginBottom: '0.25em' },
1584
+ h4: { fontSize: '13pt', marginTop: '0.45em', marginBottom: '0.25em' },
1585
+ h5: { fontSize: '11pt', marginTop: '0.4em', marginBottom: '0.2em' },
1586
+ h6: { fontSize: '10pt', marginTop: '0.35em', marginBottom: '0.2em' }
1587
+ };
1588
+
1589
+ const COPY_HEADING_CSS = Object.entries(COPY_HEADING_STYLES)
1590
+ .map(([tag, style]) => `${tag} { font-size:${style.fontSize}; font-weight:bold; line-height:1.25; margin:${style.marginTop} 0 ${style.marginBottom}; }`)
1591
+ .join('\n ');
1592
+
1580
1593
  /**
1581
1594
  * Copy to clipboard using HTML selection fallback (for Safari)
1582
1595
  * Uses div with selection to preserve HTML formatting
@@ -1908,46 +1921,14 @@
1908
1921
  });
1909
1922
 
1910
1923
  // 1.2 Block elements - add inline styles
1911
- clone.querySelectorAll('h1').forEach(el => {
1912
- el.style.fontSize = '2em';
1913
- el.style.fontWeight = 'bold';
1914
- el.style.marginTop = '0.67em';
1915
- el.style.marginBottom = '0.67em';
1916
- });
1917
-
1918
- clone.querySelectorAll('h2').forEach(el => {
1919
- el.style.fontSize = '1.5em';
1920
- el.style.fontWeight = 'bold';
1921
- el.style.marginTop = '0.83em';
1922
- el.style.marginBottom = '0.83em';
1923
- });
1924
-
1925
- clone.querySelectorAll('h3').forEach(el => {
1926
- el.style.fontSize = '1.17em';
1927
- el.style.fontWeight = 'bold';
1928
- el.style.marginTop = '1em';
1929
- el.style.marginBottom = '1em';
1930
- });
1931
-
1932
- clone.querySelectorAll('h4').forEach(el => {
1933
- el.style.fontSize = '1em';
1934
- el.style.fontWeight = 'bold';
1935
- el.style.marginTop = '1.33em';
1936
- el.style.marginBottom = '1.33em';
1937
- });
1938
-
1939
- clone.querySelectorAll('h5').forEach(el => {
1940
- el.style.fontSize = '0.83em';
1941
- el.style.fontWeight = 'bold';
1942
- el.style.marginTop = '1.67em';
1943
- el.style.marginBottom = '1.67em';
1944
- });
1945
-
1946
- clone.querySelectorAll('h6').forEach(el => {
1947
- el.style.fontSize = '0.67em';
1948
- el.style.fontWeight = 'bold';
1949
- el.style.marginTop = '2.33em';
1950
- el.style.marginBottom = '2.33em';
1924
+ Object.entries(COPY_HEADING_STYLES).forEach(([tag, style]) => {
1925
+ clone.querySelectorAll(tag).forEach(el => {
1926
+ el.style.fontSize = style.fontSize;
1927
+ el.style.fontWeight = 'bold';
1928
+ el.style.lineHeight = '1.25';
1929
+ el.style.marginTop = style.marginTop;
1930
+ el.style.marginBottom = style.marginBottom;
1931
+ });
1951
1932
  });
1952
1933
 
1953
1934
  clone.querySelectorAll('blockquote').forEach(el => {
@@ -2929,6 +2910,8 @@
2929
2910
  <head>
2930
2911
  <meta charset="utf-8">
2931
2912
  <style>
2913
+ ${COPY_HEADING_CSS}
2914
+
2932
2915
  /* Table styling */
2933
2916
  table { border-collapse: collapse; width: 100%; margin-bottom: 1em; }
2934
2917
  th, td { border: 1px solid #ccc; padding: 8px; text-align: left; }