@burger-editor/local 4.0.0-alpha.59 → 4.0.0-alpha.60

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 (61) hide show
  1. package/dist/client.js +366 -216
  2. package/dist/client.js.map +1 -1
  3. package/import/index.d.ts +5 -2
  4. package/import/index.js +34 -30
  5. package/package.json +8 -8
  6. package/server/commands/search.d.ts +28 -16
  7. package/server/commands/search.js +84 -79
  8. package/server/commands/server.d.ts +1 -1
  9. package/server/commands/server.js +17 -16
  10. package/server/constants.d.ts +2 -2
  11. package/server/create-health-checker.d.ts +1 -1
  12. package/server/create-health-checker.js +13 -14
  13. package/server/helpers/$upload.d.ts +12 -6
  14. package/server/helpers/$upload.js +22 -22
  15. package/server/helpers/client-path-validation.d.ts +1 -1
  16. package/server/helpers/client-path-validation.js +7 -7
  17. package/server/helpers/debug.d.ts +1 -1
  18. package/server/helpers/edit-content.d.ts +13 -3
  19. package/server/helpers/edit-content.js +106 -90
  20. package/server/helpers/file-name.d.ts +5 -5
  21. package/server/helpers/file-name.js +28 -28
  22. package/server/helpers/front-matter.d.ts +10 -3
  23. package/server/helpers/front-matter.js +39 -37
  24. package/server/helpers/get-candidate-name.d.ts +5 -2
  25. package/server/helpers/get-candidate-name.js +6 -6
  26. package/server/helpers/get-max-file-id.d.ts +1 -1
  27. package/server/helpers/get-max-file-id.js +9 -9
  28. package/server/helpers/html-detection.d.ts +15 -6
  29. package/server/helpers/html-detection.js +79 -81
  30. package/server/helpers/no-editable-area-error.d.ts +3 -3
  31. package/server/helpers/no-editable-area-error.js +5 -5
  32. package/server/helpers/pagination.d.ts +14 -10
  33. package/server/helpers/pagination.js +33 -33
  34. package/server/helpers/scan-directory.d.ts +10 -7
  35. package/server/helpers/scan-directory.js +27 -25
  36. package/server/helpers/upload.d.ts +12 -8
  37. package/server/helpers/upload.js +20 -20
  38. package/server/index.d.ts +1 -1
  39. package/server/index.js +10 -11
  40. package/server/model/default-config.d.ts +6 -6
  41. package/server/model/default-config.js +5 -5
  42. package/server/model/file-list-manager.d.ts +20 -11
  43. package/server/model/file-list-manager.js +156 -150
  44. package/server/model/file-tree.d.ts +10 -7
  45. package/server/model/file-tree.js +26 -25
  46. package/server/model/get-user-config.d.ts +1 -1
  47. package/server/model/get-user-config.js +88 -86
  48. package/server/route.d.ts +378 -327
  49. package/server/route.d.ts.map +1 -1
  50. package/server/route.js +305 -225
  51. package/server/search/output-formatter.d.ts +3 -3
  52. package/server/search/output-formatter.js +10 -10
  53. package/server/types.d.ts +57 -54
  54. package/server/view/app.d.ts +15 -8
  55. package/server/view/app.js +40 -3
  56. package/server/view/layout.d.ts +6 -3
  57. package/server/view/layout.js +23 -2
  58. package/server/view/nav-tree.d.ts +6 -4
  59. package/server/view/nav-tree.js +19 -2
  60. package/server/view/nav.d.ts +6 -4
  61. package/server/view/nav.js +46 -3
package/dist/client.js CHANGED
@@ -1296,7 +1296,7 @@ var style$b = "/* No Styling */\n";
1296
1296
  var template$b = "<a href=\"\" data-kind=\"primary\" data-before-icon=\"none\" data-after-icon=\"none\" data-bge=\"link:href, target:target, kind:data-kind, before-icon:data-before-icon, after-icon:data-after-icon\">\n\t<div>\n\t\t<span data-bge=\"text\">ボタン</span>\n\t\t<span data-bge=\"subtext\">サブテキスト</span>\n\t</div>\n</a>\n";
1297
1297
 
1298
1298
  var button = createItem$1({
1299
- version: "4.0.0-alpha.58",
1299
+ version: "4.0.0-alpha.59",
1300
1300
  name: "button",
1301
1301
  template: template$b,
1302
1302
  style: style$b,
@@ -1352,7 +1352,7 @@ var style$a = "/* No Styling */\n";
1352
1352
  var template$a = "<details data-bge=\"open:open\">\n\t<summary data-bge=\"summary\">折りたたみコンテンツ</summary>\n\t<div data-bge=\"content\"><p>内容を入力してください</p></div>\n</details>\n";
1353
1353
 
1354
1354
  var details = createItem$1({
1355
- version: "4.0.0-alpha.58",
1355
+ version: "4.0.0-alpha.59",
1356
1356
  name: "details",
1357
1357
  template: template$a,
1358
1358
  style: style$a,
@@ -1366,7 +1366,7 @@ var style$9 = "[data-bgi='download-file'] {\n\t[data-bge*='size'] {\n\t\t&::befo
1366
1366
  var template$9 = "<a href=\"./files/bgeditor/bg-sample.pdf\" target=\"_blank\" data-bge=\"path:href, download:download\">\n\t<div>\n\t\t<span data-bge=\"name\">サンプルダウンロードファイル</span>\n\t\t<span data-bge=\"formated-size, size:data-size\" data-size=\"138158\">134.92kB</span>\n\t</div>\n</a>\n";
1367
1367
 
1368
1368
  var downloadFile = createItem$1({
1369
- version: "4.0.0-alpha.58",
1369
+ version: "4.0.0-alpha.59",
1370
1370
  name: "download-file",
1371
1371
  template: template$9,
1372
1372
  style: style$9,
@@ -1405,7 +1405,7 @@ var style$8 = "[data-bgi='google-maps'] {\n\tdiv {\n\t\tinline-size: 100%;\n\t\t
1405
1405
  var template$8 = "<div data-lat=\"35.681382\" data-lng=\"139.766084\" data-zoom=\"16\" data-bge=\"lat:data-lat, lng:data-lng, zoom:data-zoom\">\n\t<img data-bge=\"img:src\" src=\"https://maps.google.com/maps/api/staticmap?center=35.681382,139.766084&amp;zoom=16&amp;size=640x400&amp;markers=color:red|color:red|35.681382,139.766084&amp;scale=2&amp;key=%googleMapsApiKey%\" width=\"8\" height=\"5\" alt=\"Google Maps\" />\n</div>\n<a href=\"https://maps.apple.com/?q=35.681382,139.766084\" data-bge=\"url:href\" target=\"_blank\"><span>アプリで開く</span></a>\n";
1406
1406
 
1407
1407
  var googleMaps = createItem$1({
1408
- version: "4.0.0-alpha.58",
1408
+ version: "4.0.0-alpha.59",
1409
1409
  name: "google-maps",
1410
1410
  template: template$8,
1411
1411
  style: style$8,
@@ -1540,7 +1540,7 @@ var style$7 = "[data-bgi='hr'] {\n\t--inline-size: 100%;\n\t--border-color: #000
1540
1540
  var template$7 = "<div data-bgi-hr-kind=\"primary\" data-bge=\"kind:data-bgi-hr-kind\">\n\t<hr />\n</div>\n";
1541
1541
 
1542
1542
  var hr = createItem$1({
1543
- version: "4.0.0-alpha.58",
1543
+ version: "4.0.0-alpha.59",
1544
1544
  name: "hr",
1545
1545
  template: template$7,
1546
1546
  style: style$7,
@@ -1630,7 +1630,7 @@ function createWidthState() {
1630
1630
 
1631
1631
  const ORIGIN = "__org";
1632
1632
  var image = createItem$1({
1633
- version: "4.0.0-alpha.58",
1633
+ version: "4.0.0-alpha.59",
1634
1634
  name: "image",
1635
1635
  template: template$6,
1636
1636
  style: style$6,
@@ -1828,7 +1828,7 @@ var style$5 = "[data-bgi='import'] {\n\tbge-import {\n\t\t&::before {\n\t\t\tfon
1828
1828
  var template$5 = "<bge-import data-bge=\":src\" src=\"\"></bge-import>\n";
1829
1829
 
1830
1830
  var importItem = createItem$1({
1831
- version: "4.0.0-alpha.58",
1831
+ version: "4.0.0-alpha.59",
1832
1832
  name: "import",
1833
1833
  template: template$5,
1834
1834
  style: style$5,
@@ -1842,7 +1842,7 @@ var style$4 = "/* No Styling */\n";
1842
1842
  var template$4 = "<div data-bge=\":scrollable\" data-bge-scrollable=\"false\">\n\t<table>\n\t\t<caption data-bge=\"caption\">\n\t\t\tキャプションを入力してください\n\t\t</caption>\n\t\t<tbody data-bge-list>\n\t\t\t<tr>\n\t\t\t\t<th data-bge=\"th\">表組の見出し</th>\n\t\t\t\t<td data-bge=\"td\">表組の内容を入力してください</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n";
1843
1843
 
1844
1844
  var table = createItem$1({
1845
- version: "4.0.0-alpha.58",
1845
+ version: "4.0.0-alpha.59",
1846
1846
  name: "table",
1847
1847
  template: template$4,
1848
1848
  style: style$4,
@@ -1870,7 +1870,7 @@ var style$3 = "/* No Styling */\n";
1870
1870
  var template$3 = "<h2 data-bge=\"title-h2\">見出しを入力してください</h2>\n";
1871
1871
 
1872
1872
  var titleH2 = createItem$1({
1873
- version: "4.0.0-alpha.58",
1873
+ version: "4.0.0-alpha.59",
1874
1874
  name: "title-h2",
1875
1875
  template: template$3,
1876
1876
  style: style$3,
@@ -1884,7 +1884,7 @@ var style$2 = "/* No Styling */\n";
1884
1884
  var template$2 = "<h3 data-bge=\"title-h3\">見出しを入力してください</h3>\n";
1885
1885
 
1886
1886
  var titleH3 = createItem$1({
1887
- version: "4.0.0-alpha.58",
1887
+ version: "4.0.0-alpha.59",
1888
1888
  name: "title-h3",
1889
1889
  template: template$2,
1890
1890
  style: style$2,
@@ -1898,7 +1898,7 @@ var style$1 = "/* No Styling */\n";
1898
1898
  var template$1 = "<div data-bge=\"wysiwyg\"><p>本文を入力してください</p></div>\n";
1899
1899
 
1900
1900
  var wysiwyg = createItem$1({
1901
- version: "4.0.0-alpha.58",
1901
+ version: "4.0.0-alpha.59",
1902
1902
  name: "wysiwyg",
1903
1903
  template: template$1,
1904
1904
  style: style$1,
@@ -1913,7 +1913,7 @@ var template = "<div data-id=\"3KtWfp0UopM\" data-title=\"YouTube動画\" data-w
1913
1913
 
1914
1914
  const FALLBACK_TITLE = "YouTube\u52D5\u753B";
1915
1915
  var youtube = createItem$1({
1916
- version: "4.0.0-alpha.58",
1916
+ version: "4.0.0-alpha.59",
1917
1917
  name: "youtube",
1918
1918
  template,
1919
1919
  style: style$c,
@@ -1968,7 +1968,7 @@ const items = {
1968
1968
  youtube
1969
1969
  };
1970
1970
 
1971
- var general = "[data-bge-container] {\n\t--bge-auto-repeat-base-width: calc(800 / 16 * 1rem);\n\n\t/* Custom max-width */\n\t--bge-options-max-width--normal: calc(800 / 16 * 1rem);\n\t--bge-options-max-width--small: calc(400 / 16 * 1rem);\n\t--bge-options-max-width--large: calc(1200 / 16 * 1rem);\n\t--bge-options-max-width--full: 100dvi;\n\t--bge-options-max-width: var(--bge-options-max-width--normal);\n\n\t/* Custom margin */\n\t--bge-options-margin--normal: 3rem;\n\t--bge-options-margin--none: 0;\n\t--bge-options-margin--small: 1rem;\n\t--bge-options-margin--large: 8rem;\n\t--bge-options-margin: var(--bge-options-margin--normal);\n\n\t/* Custom background color */\n\t--bge-options-bg-color--transparent: transparent;\n\t--bge-options-bg-color--white: #fff;\n\t--bge-options-bg-color--gray: #dfdfdf;\n\t--bge-options-bg-color--blue: #eaf3f8;\n\t--bge-options-bg-color--red: #fcc;\n\t--bge-options-bg-color: var(--bge-options-bg-color--transparent);\n\n\t/* Custom padding-block */\n\t--bge-options-padding-block--none: 0;\n\t--bge-options-padding-block--small: 1rem;\n\t--bge-options-padding-block--medium: 3rem;\n\t--bge-options-padding-block--large: 5rem;\n\t--bge-options-padding-block: var(--bge-options-padding-block--none);\n\n\t/* Custom padding-inline */\n\t--bge-options-padding-inline--default-gutter: 2rem;\n\t--bge-options-padding-inline--none: 0;\n\t--bge-options-padding-inline--small: 1rem;\n\t--bge-options-padding-inline--medium: 3rem;\n\t--bge-options-padding-inline--large: 5rem;\n\t--bge-options-padding-inline: var(--bge-options-padding-inline--default-gutter);\n\n\t/* Custom column gap */\n\t--bge-options-column-gap--normal: 1rem;\n\t--bge-options-column-gap--none: 0;\n\t--bge-options-column-gap--small: 0.5rem;\n\t--bge-options-column-gap--large: 5rem;\n\t--bge-options-column-gap: var(--bge-options-column-gap--normal);\n\n\t/* Custom row gap */\n\t--bge-options-row-gap--normal: 1rem;\n\t--bge-options-row-gap--none: 0;\n\t--bge-options-row-gap--small: 0.5rem;\n\t--bge-options-row-gap--large: 5rem;\n\t--bge-options-row-gap: var(--bge-options-row-gap--normal);\n\n\t/* Custom subgrid gap factor (grid type only) */\n\t--bge-options-_grid_subgrid-gap--normal: 1rem;\n\t--bge-options-_grid_subgrid-gap--none: 0;\n\t--bge-options-_grid_subgrid-gap--small: 0.5rem;\n\t--bge-options-_grid_subgrid-gap--large: 1rem;\n\t--bge-options-_grid_subgrid-gap: var(--bge-options-_grid_subgrid-gap--normal);\n}\n\n:where([data-bge-container]) {\n\t--_margin-block-end: var(--bge-options-margin);\n\t--_margin-block-end_when-last: 0;\n\tinline-size: 100%;\n\tmax-inline-size: var(--bge-options-max-width);\n\tpadding-block: var(--bge-options-padding-block);\n\tpadding-inline: var(--bge-options-padding-inline);\n\tmargin-block-end: var(--_margin-block-end);\n\tmargin-inline: auto;\n\tcontainer-name: bge-container;\n\tcontainer-type: inline-size;\n\tbackground-color: var(--bge-options-bg-color);\n\n\t&:where(:last-child) {\n\t\t--_margin-block-end: var(--_margin-block-end_when-last);\n\t}\n}\n\n:where([data-bge-container-frame]) {\n\tinline-size: 100%;\n\n\t/* Reset list styles for semantic container frames */\n\t&:is(ul, ol) {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tlist-style: none;\n\t}\n}\n\n:where([data-bge-container='grid'], [data-bge-container^='grid:']) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\t--_subgrid-gap: var(--bge-options-_grid_subgrid-gap, var(--_gap-block));\n\n\t&:where([data-bge-container$=':2'], [data-bge-container*=':2:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 2;\n\t}\n\n\t&:where([data-bge-container$=':3'], [data-bge-container*=':3:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 3;\n\t}\n\n\t&:where([data-bge-container$=':4'], [data-bge-container*=':4:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 4;\n\t}\n\n\t&:where([data-bge-container$=':5'], [data-bge-container*=':5:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 5;\n\t}\n\n\t:where([data-bge-container-frame]) {\n\t\t--_grid-col: var(--bge-grid-col, 1);\n\t\t--_repeat-base-width: calc(var(--bge-auto-repeat-base-width) / var(--_grid-col));\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(var(--_grid-col), minmax(0, 1fr));\n\t\tgap: var(--_gap-block) var(--_gap-inline);\n\n\t\t&:is([data-bge-container*=':auto-fit:'] *) {\n\t\t\tgrid-template-columns: repeat(\n\t\t\t\tauto-fit,\n\t\t\t\tminmax(min(100%, var(--_repeat-base-width)), 1fr)\n\t\t\t);\n\t\t}\n\n\t\t&:is([data-bge-container*=':auto-fill:'] *) {\n\t\t\tgrid-template-columns: repeat(\n\t\t\t\tauto-fill,\n\t\t\t\tminmax(min(100%, var(--_repeat-base-width)), 1fr)\n\t\t\t);\n\t\t}\n\t}\n\n\t:where([data-bge-group]) {\n\t\t--item-count: 1;\n\t\tdisplay: grid;\n\t\tgrid-template-rows: subgrid;\n\t\tgrid-row: span var(--item-count);\n\t\tgap: var(--_subgrid-gap) 0;\n\n\t\t/* Reset list styles for semantic groups */\n\t\t&:is(li) {\n\t\t\tlist-style: none;\n\t\t}\n\n\t\t/* Subgrid hack 2 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(2):last-child) {\n\t\t\t--item-count: 2;\n\t\t}\n\n\t\t/* Subgrid hack 3 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(3):last-child) {\n\t\t\t--item-count: 3;\n\t\t}\n\n\t\t/* Subgrid hack 4 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(4):last-child) {\n\t\t\t--item-count: 4;\n\t\t}\n\n\t\t/* Subgrid hack 5 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(5):last-child) {\n\t\t\t--item-count: 5;\n\t\t}\n\n\t\t/* Subgrid hack 6 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(6):last-child) {\n\t\t\t--item-count: 6;\n\t\t}\n\n\t\t/* Subgrid hack 7 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(7):last-child) {\n\t\t\t--item-count: 7;\n\t\t}\n\n\t\t/* Subgrid hack 8 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(8):last-child) {\n\t\t\t--item-count: 8;\n\t\t}\n\t}\n\n\t:where([data-bge-item]) {\n\t\tdisplay: flex;\n\t\talign-items: stretch;\n\t\talign-self: stretch;\n\t\tjustify-content: start;\n\t\tcontainer-name: bge-item;\n\t\tcontainer-type: inline-size;\n\n\t\t> * {\n\t\t\tflex: 0 0 100%;\n\t\t}\n\t}\n}\n\n:where([data-bge-container='inline'], [data-bge-container^='inline:']) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\n\t:where([data-bge-container-frame]) {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tgap: var(--_gap-block) var(--_gap-inline);\n\t\talign-items: stretch;\n\t\tjustify-content: center;\n\n\t\t&:where(:is([data-bge-container$=':center'], [data-bge-container*=':center:']) *) {\n\t\t\tjustify-content: center;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':start'], [data-bge-container*=':start:']) *) {\n\t\t\tjustify-content: start;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':end'], [data-bge-container*=':end:']) *) {\n\t\t\tjustify-content: end;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':between'], [data-bge-container*=':between:']) *) {\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':around'], [data-bge-container*=':around:']) *) {\n\t\t\tjustify-content: space-around;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':evenly'], [data-bge-container*=':evenly:']) *) {\n\t\t\tjustify-content: space-evenly;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-center'], [data-bge-container*=':align-center:']) *\n\t\t) {\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-start'], [data-bge-container*=':align-start:']) *\n\t\t) {\n\t\t\talign-items: start;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-end'], [data-bge-container*=':align-end:']) *\n\t\t) {\n\t\t\talign-items: end;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-stretch'], [data-bge-container*=':align-stretch:'])\n\t\t\t\t*\n\t\t) {\n\t\t\talign-items: stretch;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is(\n\t\t\t\t\t[data-bge-container$=':align-baseline'],\n\t\t\t\t\t[data-bge-container*=':align-baseline:']\n\t\t\t\t)\n\t\t\t\t*\n\t\t) {\n\t\t\t--align: baseline;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':wrap'], [data-bge-container*=':wrap:']) *) {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':nowrap'], [data-bge-container*=':nowrap:']) *) {\n\t\t\tflex-wrap: nowrap;\n\t\t}\n\t}\n\n\t&:where([data-bge-container$=':immutable'], [data-bge-container*=':immutable:']) {\n\t\t/* Left-right split box with resizable item (has `[data-bge-scale]`) on one side */\n\t\t&:has([data-bge-group]:nth-child(2):last-child) {\n\t\t\t:where([data-bge-group]) {\n\t\t\t\t&:has([data-bge-scale]) {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\tflex-shrink: 0;\n\t\t\t\t}\n\n\t\t\t\t&:not(:has([data-bge-scale])) {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\tflex-shrink: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Standard with immutable container */\n\t\t:where([data-bge-group]) {\n\t\t\tflex: 1 1 auto;\n\t\t}\n\t}\n}\n\n:where([data-bge-container='float'], [data-bge-container^='float:']) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\t--bge-grid-float: none;\n\t--margin-inline: 0;\n\n\t&:where([data-bge-container$=':start'], [data-bge-container*=':start:']) {\n\t\t--bge-grid-float: inline-start;\n\t\t--margin-inline: 0 var(--_gap-inline);\n\t}\n\n\t&:where([data-bge-container$=':end'], [data-bge-container*=':end:']) {\n\t\t--bge-grid-float: inline-end;\n\t\t--margin-inline: var(--_gap-inline) 0;\n\t}\n\n\t:where([data-bge-container-frame]) {\n\t\t&::after {\n\t\t\tclear: both;\n\t\t\tdisplay: block;\n\t\t\tcontent: '';\n\t\t}\n\n\t\t& > :where(:first-child) {\n\t\t\tfloat: var(--bge-grid-float, none);\n\t\t\tinline-size: fit-content;\n\t\t\tmargin-inline: var(--margin-inline);\n\t\t}\n\t}\n}\n\n/**\n * MARK: Wysiwyg内 横並び(フレックス)ボックス\n */\n:where([data-bgc-flex-box]) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: var(--_gap-block) var(--_gap-inline);\n\talign-items: center;\n\n\t&[data-bgc-flex-box='start'] {\n\t\tjustify-content: start;\n\t}\n\n\t&[data-bgc-flex-box='end'] {\n\t\tjustify-content: end;\n\t}\n\n\t&[data-bgc-flex-box='center'] {\n\t\tjustify-content: center;\n\t}\n\n\t&[data-bgc-flex-box='between'] {\n\t\tjustify-content: space-between;\n\t}\n\n\t&[data-bgc-flex-box='around'] {\n\t\tjustify-content: space-around;\n\t}\n\n\t&[data-bgc-flex-box='evenly'] {\n\t\tjustify-content: space-evenly;\n\t}\n}\n\n/**\n * MARK: Wysiwyg内 段落整列\n */\n:where([data-bgc-align]) {\n\t&[data-bgc-align='start'] {\n\t\ttext-align: start;\n\t}\n\n\t&[data-bgc-align='center'] {\n\t\ttext-align: center;\n\t}\n\n\t&[data-bgc-align='end'] {\n\t\ttext-align: end;\n\t}\n}\n";
1971
+ var general = "[data-bge-container] {\n\t--bge-auto-repeat-base-width: calc(800 / 16 * 1rem);\n\n\t/* Custom repeat min width (for auto-fit/auto-fill) */\n\t--bge-repeat-min-inline-size--small: 150px;\n\t--bge-repeat-min-inline-size--medium: 300px;\n\t--bge-repeat-min-inline-size--large: 500px;\n\t--bge-repeat-min-inline-size: var(--bge-repeat-min-inline-size--medium);\n\n\t/* Custom max-width */\n\t--bge-options-max-width--normal: calc(800 / 16 * 1rem);\n\t--bge-options-max-width--small: calc(400 / 16 * 1rem);\n\t--bge-options-max-width--large: calc(1200 / 16 * 1rem);\n\t--bge-options-max-width--full: 100dvi;\n\t--bge-options-max-width: var(--bge-options-max-width--normal);\n\n\t/* Custom margin */\n\t--bge-options-margin--normal: 3rem;\n\t--bge-options-margin--none: 0;\n\t--bge-options-margin--small: 1rem;\n\t--bge-options-margin--large: 8rem;\n\t--bge-options-margin: var(--bge-options-margin--normal);\n\n\t/* Custom background color */\n\t--bge-options-bg-color--transparent: transparent;\n\t--bge-options-bg-color--white: #fff;\n\t--bge-options-bg-color--gray: #dfdfdf;\n\t--bge-options-bg-color--blue: #eaf3f8;\n\t--bge-options-bg-color--red: #fcc;\n\t--bge-options-bg-color: var(--bge-options-bg-color--transparent);\n\n\t/* Custom padding-block */\n\t--bge-options-padding-block--none: 0;\n\t--bge-options-padding-block--small: 1rem;\n\t--bge-options-padding-block--medium: 3rem;\n\t--bge-options-padding-block--large: 5rem;\n\t--bge-options-padding-block: var(--bge-options-padding-block--none);\n\n\t/* Custom padding-inline */\n\t--bge-options-padding-inline--default-gutter: 2rem;\n\t--bge-options-padding-inline--none: 0;\n\t--bge-options-padding-inline--small: 1rem;\n\t--bge-options-padding-inline--medium: 3rem;\n\t--bge-options-padding-inline--large: 5rem;\n\t--bge-options-padding-inline: var(--bge-options-padding-inline--default-gutter);\n\n\t/* Custom column gap */\n\t--bge-options-column-gap--normal: 1rem;\n\t--bge-options-column-gap--none: 0;\n\t--bge-options-column-gap--small: 0.5rem;\n\t--bge-options-column-gap--large: 5rem;\n\t--bge-options-column-gap: var(--bge-options-column-gap--normal);\n\n\t/* Custom row gap */\n\t--bge-options-row-gap--normal: 1rem;\n\t--bge-options-row-gap--none: 0;\n\t--bge-options-row-gap--small: 0.5rem;\n\t--bge-options-row-gap--large: 5rem;\n\t--bge-options-row-gap: var(--bge-options-row-gap--normal);\n\n\t/* Custom subgrid gap factor (grid type only) */\n\t--bge-options-_grid_subgrid-gap--normal: 1rem;\n\t--bge-options-_grid_subgrid-gap--none: 0;\n\t--bge-options-_grid_subgrid-gap--small: 0.5rem;\n\t--bge-options-_grid_subgrid-gap--large: 1rem;\n\t--bge-options-_grid_subgrid-gap: var(--bge-options-_grid_subgrid-gap--normal);\n}\n\n:where([data-bge-container]) {\n\t--_margin-block-end: var(--bge-options-margin);\n\t--_margin-block-end_when-last: 0;\n\tinline-size: 100%;\n\tmax-inline-size: var(--bge-options-max-width);\n\tpadding-block: var(--bge-options-padding-block);\n\tpadding-inline: var(--bge-options-padding-inline);\n\tmargin-block-end: var(--_margin-block-end);\n\tmargin-inline: auto;\n\tcontainer-name: bge-container;\n\tcontainer-type: inline-size;\n\tbackground-color: var(--bge-options-bg-color);\n\n\t&:where(:last-child) {\n\t\t--_margin-block-end: var(--_margin-block-end_when-last);\n\t}\n}\n\n:where([data-bge-container-frame]) {\n\tinline-size: 100%;\n\n\t/* Reset list styles for semantic container frames */\n\t&:is(ul, ol) {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tlist-style: none;\n\t}\n}\n\n:where([data-bge-container='grid'], [data-bge-container^='grid:']) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\t--_subgrid-gap: var(--bge-options-_grid_subgrid-gap, var(--_gap-block));\n\n\t&:where([data-bge-container$=':2'], [data-bge-container*=':2:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 2;\n\t}\n\n\t&:where([data-bge-container$=':3'], [data-bge-container*=':3:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 3;\n\t}\n\n\t&:where([data-bge-container$=':4'], [data-bge-container*=':4:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 4;\n\t}\n\n\t&:where([data-bge-container$=':5'], [data-bge-container*=':5:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-grid-col: 5;\n\t}\n\n\t:where([data-bge-container-frame]) {\n\t\t--_grid-col: var(--bge-grid-col, 1);\n\t\t--_grid-repeat: var(--_grid-repeat-type, var(--_grid-col));\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(\n\t\t\tvar(--_grid-repeat),\n\t\t\tminmax(min(100%, var(--_repeat-min-inline-size, 0px)), 1fr)\n\t\t);\n\t\tgap: var(--_gap-block) var(--_gap-inline);\n\t}\n\n\t&:where([data-bge-container$=':auto-fit'], [data-bge-container*=':auto-fit:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--_grid-repeat-type: auto-fit;\n\t\t--_repeat-min-inline-size: var(--bge-repeat-min-inline-size);\n\t}\n\n\t&:where([data-bge-container$=':auto-fill'], [data-bge-container*=':auto-fill:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--_grid-repeat-type: auto-fill;\n\t\t--_repeat-min-inline-size: var(--bge-repeat-min-inline-size);\n\t}\n\n\t&:where([data-bge-container$=':--small'], [data-bge-container*=':--small:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-repeat-min-inline-size: var(--bge-repeat-min-inline-size--small);\n\t}\n\n\t&:where([data-bge-container$=':--medium'], [data-bge-container*=':--medium:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-repeat-min-inline-size: var(--bge-repeat-min-inline-size--medium);\n\t}\n\n\t&:where([data-bge-container$=':--large'], [data-bge-container*=':--large:'])\n\t\t:where([data-bge-container-frame]) {\n\t\t--bge-repeat-min-inline-size: var(--bge-repeat-min-inline-size--large);\n\t}\n\n\t:where([data-bge-group]) {\n\t\t--item-count: 1;\n\t\tdisplay: grid;\n\t\tgrid-template-rows: subgrid;\n\t\tgrid-row: span var(--item-count);\n\t\tgap: var(--_subgrid-gap) 0;\n\n\t\t/* Reset list styles for semantic groups */\n\t\t&:is(li) {\n\t\t\tlist-style: none;\n\t\t}\n\n\t\t/* Subgrid hack 2 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(2):last-child) {\n\t\t\t--item-count: 2;\n\t\t}\n\n\t\t/* Subgrid hack 3 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(3):last-child) {\n\t\t\t--item-count: 3;\n\t\t}\n\n\t\t/* Subgrid hack 4 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(4):last-child) {\n\t\t\t--item-count: 4;\n\t\t}\n\n\t\t/* Subgrid hack 5 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(5):last-child) {\n\t\t\t--item-count: 5;\n\t\t}\n\n\t\t/* Subgrid hack 6 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(6):last-child) {\n\t\t\t--item-count: 6;\n\t\t}\n\n\t\t/* Subgrid hack 7 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(7):last-child) {\n\t\t\t--item-count: 7;\n\t\t}\n\n\t\t/* Subgrid hack 8 items */\n\t\t&[data-bge-group]:has([data-bge-item]:nth-child(8):last-child) {\n\t\t\t--item-count: 8;\n\t\t}\n\t}\n\n\t:where([data-bge-item]) {\n\t\tdisplay: flex;\n\t\talign-items: stretch;\n\t\talign-self: stretch;\n\t\tjustify-content: start;\n\t\tcontainer-name: bge-item;\n\t\tcontainer-type: inline-size;\n\n\t\t> * {\n\t\t\tflex: 0 0 100%;\n\t\t}\n\t}\n}\n\n:where([data-bge-container='inline'], [data-bge-container^='inline:']) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\n\t:where([data-bge-container-frame]) {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tgap: var(--_gap-block) var(--_gap-inline);\n\t\talign-items: stretch;\n\t\tjustify-content: center;\n\n\t\t&:where(:is([data-bge-container$=':center'], [data-bge-container*=':center:']) *) {\n\t\t\tjustify-content: center;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':start'], [data-bge-container*=':start:']) *) {\n\t\t\tjustify-content: start;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':end'], [data-bge-container*=':end:']) *) {\n\t\t\tjustify-content: end;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':between'], [data-bge-container*=':between:']) *) {\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':around'], [data-bge-container*=':around:']) *) {\n\t\t\tjustify-content: space-around;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':evenly'], [data-bge-container*=':evenly:']) *) {\n\t\t\tjustify-content: space-evenly;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-center'], [data-bge-container*=':align-center:']) *\n\t\t) {\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-start'], [data-bge-container*=':align-start:']) *\n\t\t) {\n\t\t\talign-items: start;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-end'], [data-bge-container*=':align-end:']) *\n\t\t) {\n\t\t\talign-items: end;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is([data-bge-container$=':align-stretch'], [data-bge-container*=':align-stretch:'])\n\t\t\t\t*\n\t\t) {\n\t\t\talign-items: stretch;\n\t\t}\n\n\t\t&:where(\n\t\t\t:is(\n\t\t\t\t\t[data-bge-container$=':align-baseline'],\n\t\t\t\t\t[data-bge-container*=':align-baseline:']\n\t\t\t\t)\n\t\t\t\t*\n\t\t) {\n\t\t\t--align: baseline;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':wrap'], [data-bge-container*=':wrap:']) *) {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&:where(:is([data-bge-container$=':nowrap'], [data-bge-container*=':nowrap:']) *) {\n\t\t\tflex-wrap: nowrap;\n\t\t}\n\t}\n\n\t&:where([data-bge-container$=':immutable'], [data-bge-container*=':immutable:']) {\n\t\t/* Left-right split box with resizable item (has `[data-bge-scale]`) on one side */\n\t\t&:has([data-bge-group]:nth-child(2):last-child) {\n\t\t\t:where([data-bge-group]) {\n\t\t\t\t&:has([data-bge-scale]) {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\tflex-shrink: 0;\n\t\t\t\t}\n\n\t\t\t\t&:not(:has([data-bge-scale])) {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\tflex-shrink: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Standard with immutable container */\n\t\t:where([data-bge-group]) {\n\t\t\tflex: 1 1 auto;\n\t\t}\n\t}\n}\n\n:where([data-bge-container='float'], [data-bge-container^='float:']) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\t--bge-grid-float: none;\n\t--margin-inline: 0;\n\n\t&:where([data-bge-container$=':start'], [data-bge-container*=':start:']) {\n\t\t--bge-grid-float: inline-start;\n\t\t--margin-inline: 0 var(--_gap-inline);\n\t}\n\n\t&:where([data-bge-container$=':end'], [data-bge-container*=':end:']) {\n\t\t--bge-grid-float: inline-end;\n\t\t--margin-inline: var(--_gap-inline) 0;\n\t}\n\n\t:where([data-bge-container-frame]) {\n\t\t&::after {\n\t\t\tclear: both;\n\t\t\tdisplay: block;\n\t\t\tcontent: '';\n\t\t}\n\n\t\t& > :where(:first-child) {\n\t\t\tfloat: var(--bge-grid-float, none);\n\t\t\tinline-size: fit-content;\n\t\t\tmargin-inline: var(--margin-inline);\n\t\t}\n\t}\n}\n\n/**\n * MARK: Wysiwyg内 横並び(フレックス)ボックス\n */\n:where([data-bgc-flex-box]) {\n\t--_gap-block: var(--bge-options-row-gap, var(--bge-options-gap));\n\t--_gap-inline: var(--bge-options-column-gap, var(--bge-options-gap));\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: var(--_gap-block) var(--_gap-inline);\n\talign-items: center;\n\n\t&[data-bgc-flex-box='start'] {\n\t\tjustify-content: start;\n\t}\n\n\t&[data-bgc-flex-box='end'] {\n\t\tjustify-content: end;\n\t}\n\n\t&[data-bgc-flex-box='center'] {\n\t\tjustify-content: center;\n\t}\n\n\t&[data-bgc-flex-box='between'] {\n\t\tjustify-content: space-between;\n\t}\n\n\t&[data-bgc-flex-box='around'] {\n\t\tjustify-content: space-around;\n\t}\n\n\t&[data-bgc-flex-box='evenly'] {\n\t\tjustify-content: space-evenly;\n\t}\n}\n\n/**\n * MARK: Wysiwyg内 段落整列\n */\n:where([data-bgc-align]) {\n\t&[data-bgc-align='start'] {\n\t\ttext-align: start;\n\t}\n\n\t&[data-bgc-align='center'] {\n\t\ttext-align: center;\n\t}\n\n\t&[data-bgc-align='end'] {\n\t\ttext-align: end;\n\t}\n}\n";
1972
1972
 
1973
1973
  function changeFrameSemantics(el, frameSemantics) {
1974
1974
  const containerFrame = el.querySelector("[data-bge-container-frame]");
@@ -2036,7 +2036,7 @@ function sanitizeStyle(el) {
2036
2036
  }
2037
2037
  }
2038
2038
  function importContainerProps(containerProps) {
2039
- const { type = "inline", immutable = false, autoRepeat = "fixed", justify = null, align = null, wrap: wrap2 = null, columns = null, float = null, frameSemantics = "div" } = containerProps ?? {};
2039
+ const { type = "inline", immutable = false, autoRepeat = "fixed", justify = null, align = null, wrap: wrap2 = null, columns = null, float = null, frameSemantics = "div", repeatMinInlineSize = null } = containerProps ?? {};
2040
2040
  const options = /* @__PURE__ */ new Set();
2041
2041
  if (immutable) {
2042
2042
  options.add("immutable");
@@ -2055,7 +2055,7 @@ function importContainerProps(containerProps) {
2055
2055
  if (wrap2) {
2056
2056
  options.add(wrap2);
2057
2057
  }
2058
- if (columns) {
2058
+ if (columns && autoRepeat === "fixed") {
2059
2059
  options.add(columns.toString());
2060
2060
  }
2061
2061
  if (float) {
@@ -2064,6 +2064,9 @@ function importContainerProps(containerProps) {
2064
2064
  if (frameSemantics && frameSemantics !== "div") {
2065
2065
  options.add(frameSemantics);
2066
2066
  }
2067
+ if (repeatMinInlineSize) {
2068
+ options.add(`--${repeatMinInlineSize}`);
2069
+ }
2067
2070
  const query = [type, ...options].join(":");
2068
2071
  return query;
2069
2072
  }
@@ -2171,10 +2174,11 @@ function exportContainerProps(containerPropsQuery) {
2171
2174
  "align-baseline"
2172
2175
  ]) : null,
2173
2176
  wrap: type === "inline" ? findValueFromArray(options, ["wrap", "nowrap"]) : null,
2174
- columns: type === "grid" ? Number.parseInt(findValuePatternFromArray(options, /[1-9]\d*/) ?? "", 10) ?? 1 : null,
2177
+ columns: type === "grid" ? Number.parseInt(findValuePatternFromArray(options, /[1-9]\d*/) ?? "", 10) || 1 : null,
2175
2178
  float: type === "float" ? findValueFromArray(options, ["start", "end"]) : null,
2176
2179
  frameSemantics: findValueFromArray(options, ["div", "ul", "ol"]) ?? "div",
2177
- linkarea: false
2180
+ linkarea: false,
2181
+ repeatMinInlineSize: findValuePatternFromArray(options, /^--(.+)$/)?.slice(2) ?? null
2178
2182
  };
2179
2183
  }
2180
2184
  function exportStyleOptions(el) {
@@ -5714,6 +5718,7 @@ class BlockOptionsDialog extends EditorDialog {
5714
5718
  const classes = formData.get("bge-options-classes");
5715
5719
  const id = formData.get("bge-options-id");
5716
5720
  const linkarea = formData.get("bge-options-linkarea");
5721
+ const repeatMinInlineSize = formData.get("bge-options-repeat-min-inline-size");
5717
5722
  const styles = formData.keys().toArray().filter((key) => key.startsWith("bge-options-style-")).map((key) => {
5718
5723
  const propName = formData.get(key);
5719
5724
  const category = key.replace("bge-options-style-", "");
@@ -5729,7 +5734,8 @@ class BlockOptionsDialog extends EditorDialog {
5729
5734
  justify,
5730
5735
  align,
5731
5736
  float,
5732
- linkarea: linkarea === "true"
5737
+ linkarea: linkarea === "true",
5738
+ repeatMinInlineSize: repeatMinInlineSize || null
5733
5739
  },
5734
5740
  classList: classes?.toString().split(/\s+/).map((cls) => cls.trim()).filter((cls) => !!cls) ?? [],
5735
5741
  id: id?.toString().trim() || null,
@@ -5990,6 +5996,45 @@ function searchCustomProperty(scope, found2) {
5990
5996
  }
5991
5997
  }
5992
5998
  }
5999
+ function getRepeatMinInlineSizeVariants(scope) {
6000
+ const PREFIX = "--bge-repeat-min-inline-size";
6001
+ const properties = /* @__PURE__ */ new Map();
6002
+ const baseRef = {
6003
+ value: null,
6004
+ priority: []
6005
+ };
6006
+ searchCustomProperty(scope, (cssProperty, value, layers) => {
6007
+ if (cssProperty === PREFIX) {
6008
+ const newPriority = layers.map((l) => l.priority);
6009
+ if (!baseRef.value || comparePriority(baseRef.priority, newPriority) <= 0) {
6010
+ baseRef.value = value;
6011
+ baseRef.priority = newPriority;
6012
+ }
6013
+ } else if (cssProperty.startsWith(PREFIX + "--")) {
6014
+ const key = cssProperty.slice((PREFIX + "--").length);
6015
+ const newProperty = {
6016
+ value,
6017
+ priority: layers.map((l) => l.priority),
6018
+ isDefault: false
6019
+ };
6020
+ const existing = properties.get(key);
6021
+ properties.set(key, existing ? compareCustomPropertyByLayerPriority(existing, newProperty) : newProperty);
6022
+ }
6023
+ });
6024
+ if (properties.size === 0)
6025
+ return null;
6026
+ if (baseRef.value) {
6027
+ const match = baseRef.value.match(/--bge-repeat-min-inline-size--([^)]+)/);
6028
+ const defaultKey = match?.[1]?.trim();
6029
+ if (defaultKey) {
6030
+ const prop2 = properties.get(defaultKey);
6031
+ if (prop2) {
6032
+ properties.set(defaultKey, { ...prop2, isDefault: true });
6033
+ }
6034
+ }
6035
+ }
6036
+ return { id: "repeat-min-inline-size", name: "repeat-min-inline-size", properties };
6037
+ }
5993
6038
  function compareCustomPropertyByLayerPriority(a, b2) {
5994
6039
  const result = comparePriority(a.priority, b2.priority);
5995
6040
  if (result === 1) {
@@ -6904,6 +6949,9 @@ class BurgerEditorEngine {
6904
6949
  getCustomProperty(property) {
6905
6950
  return getCustomProperty(this.#current.containerElement.ownerDocument, property);
6906
6951
  }
6952
+ getRepeatMinInlineSizeVariants() {
6953
+ return getRepeatMinInlineSizeVariants(this.#current.containerElement.ownerDocument);
6954
+ }
6907
6955
  hasDraft() {
6908
6956
  return !!this.#draft;
6909
6957
  }
@@ -33969,14 +34017,14 @@ const DIRTY = 1 << 11;
33969
34017
  const MAYBE_DIRTY = 1 << 12;
33970
34018
  const INERT = 1 << 13;
33971
34019
  const DESTROYED = 1 << 14;
33972
- const EFFECT_RAN = 1 << 15;
34020
+ const REACTION_RAN = 1 << 15;
33973
34021
  const EFFECT_TRANSPARENT = 1 << 16;
33974
34022
  const EAGER_EFFECT = 1 << 17;
33975
34023
  const HEAD_EFFECT = 1 << 18;
33976
34024
  const EFFECT_PRESERVED = 1 << 19;
33977
34025
  const USER_EFFECT = 1 << 20;
33978
34026
  const EFFECT_OFFSCREEN = 1 << 25;
33979
- const WAS_MARKED = 1 << 15;
34027
+ const WAS_MARKED = 1 << 16;
33980
34028
  const REACTION_IS_UPDATING = 1 << 21;
33981
34029
  const ASYNC = 1 << 22;
33982
34030
  const ERROR_VALUE = 1 << 23;
@@ -33987,6 +34035,7 @@ const STALE_REACTION = new class StaleReactionError extends Error {
33987
34035
  name = "StaleReactionError";
33988
34036
  message = "The reaction that called `getAbortSignal()` was re-run or destroyed";
33989
34037
  }();
34038
+ const IS_XHTML = /* @__PURE__ */ globalThis.document?.contentType?.includes("xml") ?? false;
33990
34039
  function lifecycle_outside_component(name) {
33991
34040
  {
33992
34041
  throw new Error(`https://svelte.dev/e/lifecycle_outside_component`);
@@ -34129,18 +34178,17 @@ function handle_error(error) {
34129
34178
  active_reaction.f |= ERROR_VALUE;
34130
34179
  return error;
34131
34180
  }
34132
- if ((effect2.f & EFFECT_RAN) === 0) {
34133
- if ((effect2.f & BOUNDARY_EFFECT) === 0) {
34134
- throw error;
34135
- }
34136
- effect2.b.error(error);
34137
- } else {
34138
- invoke_error_boundary(error, effect2);
34181
+ if ((effect2.f & REACTION_RAN) === 0 && (effect2.f & EFFECT) === 0) {
34182
+ throw error;
34139
34183
  }
34184
+ invoke_error_boundary(error, effect2);
34140
34185
  }
34141
34186
  function invoke_error_boundary(error, effect2) {
34142
34187
  while (effect2 !== null) {
34143
34188
  if ((effect2.f & BOUNDARY_EFFECT) !== 0) {
34189
+ if ((effect2.f & REACTION_RAN) === 0) {
34190
+ throw error;
34191
+ }
34144
34192
  try {
34145
34193
  effect2.b.error(error);
34146
34194
  return;
@@ -34588,12 +34636,8 @@ function flush_queued_effects(effects) {
34588
34636
  if ((effect2.f & (DESTROYED | INERT)) === 0 && is_dirty(effect2)) {
34589
34637
  eager_block_effects = /* @__PURE__ */ new Set();
34590
34638
  update_effect(effect2);
34591
- if (effect2.deps === null && effect2.first === null && effect2.nodes === null) {
34592
- if (effect2.teardown === null && effect2.ac === null) {
34593
- unlink_effect(effect2);
34594
- } else {
34595
- effect2.fn = null;
34596
- }
34639
+ if (effect2.deps === null && effect2.first === null && effect2.nodes === null && effect2.teardown === null && effect2.ac === null) {
34640
+ unlink_effect(effect2);
34597
34641
  }
34598
34642
  if (eager_block_effects?.size > 0) {
34599
34643
  old_values.clear();
@@ -35303,6 +35347,27 @@ function update_derived(derived2) {
35303
35347
  update_derived_status(derived2);
35304
35348
  }
35305
35349
  }
35350
+ function freeze_derived_effects(derived2) {
35351
+ if (derived2.effects === null) return;
35352
+ for (const e of derived2.effects) {
35353
+ if (e.teardown || e.ac) {
35354
+ e.teardown?.();
35355
+ e.ac?.abort(STALE_REACTION);
35356
+ e.teardown = noop;
35357
+ e.ac = null;
35358
+ remove_reactions(e, 0);
35359
+ destroy_effect_children(e);
35360
+ }
35361
+ }
35362
+ }
35363
+ function unfreeze_derived_effects(derived2) {
35364
+ if (derived2.effects === null) return;
35365
+ for (const e of derived2.effects) {
35366
+ if (e.teardown) {
35367
+ update_effect(e);
35368
+ }
35369
+ }
35370
+ }
35306
35371
  let eager_effects = /* @__PURE__ */ new Set();
35307
35372
  const old_values = /* @__PURE__ */ new Map();
35308
35373
  let eager_effects_deferred = false;
@@ -35717,6 +35782,13 @@ function sibling(node, count = 1, is_text = false) {
35717
35782
  function clear_text_content(node) {
35718
35783
  node.textContent = "";
35719
35784
  }
35785
+ function create_element(tag, namespace, is2) {
35786
+ let options = void 0;
35787
+ return (
35788
+ /** @type {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element} */
35789
+ document.createElementNS(namespace ?? NAMESPACE_HTML, tag, options)
35790
+ );
35791
+ }
35720
35792
  function autofocus(dom, value) {
35721
35793
  if (value) {
35722
35794
  const body = document.body;
@@ -35822,7 +35894,6 @@ function create_effect(type, fn, sync) {
35822
35894
  if (sync) {
35823
35895
  try {
35824
35896
  update_effect(effect2);
35825
- effect2.f |= EFFECT_RAN;
35826
35897
  } catch (e2) {
35827
35898
  destroy_effect(effect2);
35828
35899
  throw e2;
@@ -35868,7 +35939,7 @@ function user_effect(fn) {
35868
35939
  /** @type {Effect} */
35869
35940
  active_effect.f
35870
35941
  );
35871
- var defer = !active_reaction && (flags2 & BRANCH_EFFECT) !== 0 && (flags2 & EFFECT_RAN) === 0;
35942
+ var defer = !active_reaction && (flags2 & BRANCH_EFFECT) !== 0 && (flags2 & REACTION_RAN) === 0;
35872
35943
  if (defer) {
35873
35944
  var context = (
35874
35945
  /** @type {ComponentContext} */
@@ -36281,6 +36352,7 @@ function update_reaction(reaction) {
36281
36352
  reaction.fn
36282
36353
  );
36283
36354
  var result = fn();
36355
+ reaction.f |= REACTION_RAN;
36284
36356
  var deps = reaction.deps;
36285
36357
  var is_fork = current_batch?.is_fork;
36286
36358
  if (new_deps !== null) {
@@ -36381,7 +36453,7 @@ function remove_reaction(signal, dependency) {
36381
36453
  derived2.f &= ~WAS_MARKED;
36382
36454
  }
36383
36455
  update_derived_status(derived2);
36384
- destroy_derived_effects(derived2);
36456
+ freeze_derived_effects(derived2);
36385
36457
  remove_reactions(derived2, 0);
36386
36458
  }
36387
36459
  }
@@ -36470,7 +36542,7 @@ function get2(signal) {
36470
36542
  return value;
36471
36543
  }
36472
36544
  var should_connect = (derived2.f & CONNECTED) === 0 && !untracking && active_reaction !== null && (is_updating_effect || (active_reaction.f & CONNECTED) !== 0);
36473
- var is_new = derived2.deps === null;
36545
+ var is_new = (derived2.f & REACTION_RAN) === 0;
36474
36546
  if (is_dirty(derived2)) {
36475
36547
  if (should_connect) {
36476
36548
  derived2.f |= CONNECTED;
@@ -36478,6 +36550,7 @@ function get2(signal) {
36478
36550
  update_derived(derived2);
36479
36551
  }
36480
36552
  if (should_connect && !is_new) {
36553
+ unfreeze_derived_effects(derived2);
36481
36554
  reconnect(derived2);
36482
36555
  }
36483
36556
  }
@@ -36490,11 +36563,15 @@ function get2(signal) {
36490
36563
  return signal.v;
36491
36564
  }
36492
36565
  function reconnect(derived2) {
36493
- if (derived2.deps === null) return;
36494
36566
  derived2.f |= CONNECTED;
36567
+ if (derived2.deps === null) return;
36495
36568
  for (const dep of derived2.deps) {
36496
36569
  (dep.reactions ??= []).push(derived2);
36497
36570
  if ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) {
36571
+ unfreeze_derived_effects(
36572
+ /** @type {Derived} */
36573
+ dep
36574
+ );
36498
36575
  reconnect(
36499
36576
  /** @type {Derived} */
36500
36577
  dep
@@ -36570,6 +36647,61 @@ function deep_read(value, visited = /* @__PURE__ */ new Set()) {
36570
36647
  }
36571
36648
  }
36572
36649
  }
36650
+ function is_capture_event(name) {
36651
+ return name.endsWith("capture") && name !== "gotpointercapture" && name !== "lostpointercapture";
36652
+ }
36653
+ const DELEGATED_EVENTS = [
36654
+ "beforeinput",
36655
+ "click",
36656
+ "change",
36657
+ "dblclick",
36658
+ "contextmenu",
36659
+ "focusin",
36660
+ "focusout",
36661
+ "input",
36662
+ "keydown",
36663
+ "keyup",
36664
+ "mousedown",
36665
+ "mousemove",
36666
+ "mouseout",
36667
+ "mouseover",
36668
+ "mouseup",
36669
+ "pointerdown",
36670
+ "pointermove",
36671
+ "pointerout",
36672
+ "pointerover",
36673
+ "pointerup",
36674
+ "touchend",
36675
+ "touchmove",
36676
+ "touchstart"
36677
+ ];
36678
+ function can_delegate_event(event_name) {
36679
+ return DELEGATED_EVENTS.includes(event_name);
36680
+ }
36681
+ const ATTRIBUTE_ALIASES = {
36682
+ // no `class: 'className'` because we handle that separately
36683
+ formnovalidate: "formNoValidate",
36684
+ ismap: "isMap",
36685
+ nomodule: "noModule",
36686
+ playsinline: "playsInline",
36687
+ readonly: "readOnly",
36688
+ defaultvalue: "defaultValue",
36689
+ defaultchecked: "defaultChecked",
36690
+ srcobject: "srcObject",
36691
+ novalidate: "noValidate",
36692
+ allowfullscreen: "allowFullscreen",
36693
+ disablepictureinpicture: "disablePictureInPicture",
36694
+ disableremoteplayback: "disableRemotePlayback"
36695
+ };
36696
+ function normalize_attribute(name) {
36697
+ name = name.toLowerCase();
36698
+ return ATTRIBUTE_ALIASES[name] ?? name;
36699
+ }
36700
+ const PASSIVE_EVENTS = ["touchstart", "touchmove"];
36701
+ function is_passive_event(name) {
36702
+ return PASSIVE_EVENTS.includes(name);
36703
+ }
36704
+ const event_symbol = /* @__PURE__ */ Symbol("events");
36573
36705
  const all_registered_events = /* @__PURE__ */ new Set();
36574
36706
  const root_event_handles = /* @__PURE__ */ new Set();
36575
36707
  function create_event(event_name, dom, handler, options = {}) {
@@ -36604,6 +36736,9 @@ function event(event_name, dom, handler, capture2, passive) {
36604
36736
  });
36605
36737
  }
36606
36738
  }
36739
+ function delegated(event_name, element2, handler) {
36740
+ (element2[event_symbol] ??= {})[event_name] = handler;
36741
+ }
36607
36742
  function delegate(events) {
36608
36743
  for (var i = 0; i < events.length; i++) {
36609
36744
  all_registered_events.add(events[i]);
@@ -36663,12 +36798,12 @@ function handle_event_propagation(event2) {
36663
36798
  var parent_element = current_target.assignedSlot || current_target.parentNode || /** @type {any} */
36664
36799
  current_target.host || null;
36665
36800
  try {
36666
- var delegated = current_target["__" + event_name];
36667
- if (delegated != null && (!/** @type {any} */
36801
+ var delegated2 = current_target[event_symbol]?.[event_name];
36802
+ if (delegated2 != null && (!/** @type {any} */
36668
36803
  current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
36669
36804
  // -> the target could not have been disabled because it emits the event in the first place
36670
36805
  event2.target === current_target)) {
36671
- delegated.call(current_target, event2);
36806
+ delegated2.call(current_target, event2);
36672
36807
  }
36673
36808
  } catch (error) {
36674
36809
  if (throw_error) {
@@ -36697,9 +36832,25 @@ function handle_event_propagation(event2) {
36697
36832
  set_active_effect(previous_effect);
36698
36833
  }
36699
36834
  }
36700
- function create_fragment_from_html(html2) {
36701
- var elem = document.createElement("template");
36702
- elem.innerHTML = html2.replaceAll("<!>", "<!---->");
36835
+ const policy = /* @__PURE__ */ globalThis?.window?.trustedTypes?.createPolicy(
36836
+ "svelte-trusted-html",
36837
+ {
36838
+ /** @param {string} html */
36839
+ createHTML: (html2) => {
36840
+ return html2;
36841
+ }
36842
+ }
36843
+ );
36844
+ function create_trusted_html(html2) {
36845
+ return (
36846
+ /** @type {string} */
36847
+ policy?.createHTML(html2) ?? html2
36848
+ );
36849
+ }
36850
+ function create_fragment_from_html(html2, trusted = false) {
36851
+ var elem = create_element("template");
36852
+ html2 = html2.replaceAll("<!>", "<!---->");
36853
+ elem.innerHTML = trusted ? create_trusted_html(html2) : html2;
36703
36854
  return elem.content;
36704
36855
  }
36705
36856
  function assign_nodes(start, end) {
@@ -36719,7 +36870,7 @@ function from_html(content, flags2) {
36719
36870
  var has_start = !content.startsWith("<!>");
36720
36871
  return () => {
36721
36872
  if (node === void 0) {
36722
- node = create_fragment_from_html(has_start ? content : "<!>" + content);
36873
+ node = create_fragment_from_html(has_start ? content : "<!>" + content, true);
36723
36874
  if (!is_fragment) node = /** @type {TemplateNode} */
36724
36875
  /* @__PURE__ */ get_first_child(node);
36725
36876
  }
@@ -36752,7 +36903,7 @@ function from_namespace(content, flags2, ns = "svg") {
36752
36903
  if (!node) {
36753
36904
  var fragment = (
36754
36905
  /** @type {DocumentFragment} */
36755
- create_fragment_from_html(wrapped)
36906
+ create_fragment_from_html(wrapped, true)
36756
36907
  );
36757
36908
  var root2 = (
36758
36909
  /** @type {Element} */
@@ -36805,60 +36956,6 @@ function props_id() {
36805
36956
  (window.__svelte ??= {}).uid ??= 1;
36806
36957
  return `c${window.__svelte.uid++}`;
36807
36958
  }
36808
- function is_capture_event(name) {
36809
- return name.endsWith("capture") && name !== "gotpointercapture" && name !== "lostpointercapture";
36810
- }
36811
- const DELEGATED_EVENTS = [
36812
- "beforeinput",
36813
- "click",
36814
- "change",
36815
- "dblclick",
36816
- "contextmenu",
36817
- "focusin",
36818
- "focusout",
36819
- "input",
36820
- "keydown",
36821
- "keyup",
36822
- "mousedown",
36823
- "mousemove",
36824
- "mouseout",
36825
- "mouseover",
36826
- "mouseup",
36827
- "pointerdown",
36828
- "pointermove",
36829
- "pointerout",
36830
- "pointerover",
36831
- "pointerup",
36832
- "touchend",
36833
- "touchmove",
36834
- "touchstart"
36835
- ];
36836
- function can_delegate_event(event_name) {
36837
- return DELEGATED_EVENTS.includes(event_name);
36838
- }
36839
- const ATTRIBUTE_ALIASES = {
36840
- // no `class: 'className'` because we handle that separately
36841
- formnovalidate: "formNoValidate",
36842
- ismap: "isMap",
36843
- nomodule: "noModule",
36844
- playsinline: "playsInline",
36845
- readonly: "readOnly",
36846
- defaultvalue: "defaultValue",
36847
- defaultchecked: "defaultChecked",
36848
- srcobject: "srcObject",
36849
- novalidate: "noValidate",
36850
- allowfullscreen: "allowFullscreen",
36851
- disablepictureinpicture: "disablePictureInPicture",
36852
- disableremoteplayback: "disableRemotePlayback"
36853
- };
36854
- function normalize_attribute(name) {
36855
- name = name.toLowerCase();
36856
- return ATTRIBUTE_ALIASES[name] ?? name;
36857
- }
36858
- const PASSIVE_EVENTS = ["touchstart", "touchmove"];
36859
- function is_passive_event(name) {
36860
- return PASSIVE_EVENTS.includes(name);
36861
- }
36862
36959
  function set_text(text2, value) {
36863
36960
  var str = value == null ? "" : typeof value === "object" ? value + "" : value;
36864
36961
  if (str !== (text2.__t ??= text2.nodeValue)) {
@@ -36869,7 +36966,7 @@ function set_text(text2, value) {
36869
36966
  function mount(component, options) {
36870
36967
  return _mount(component, options);
36871
36968
  }
36872
- const document_listeners = /* @__PURE__ */ new Map();
36969
+ const listeners = /* @__PURE__ */ new Map();
36873
36970
  function _mount(Component, { target, anchor, props = {}, events, context, intro = true }) {
36874
36971
  init_operations();
36875
36972
  var registered_events = /* @__PURE__ */ new Set();
@@ -36879,13 +36976,19 @@ function _mount(Component, { target, anchor, props = {}, events, context, intro
36879
36976
  if (registered_events.has(event_name)) continue;
36880
36977
  registered_events.add(event_name);
36881
36978
  var passive = is_passive_event(event_name);
36882
- target.addEventListener(event_name, handle_event_propagation, { passive });
36883
- var n = document_listeners.get(event_name);
36884
- if (n === void 0) {
36885
- document.addEventListener(event_name, handle_event_propagation, { passive });
36886
- document_listeners.set(event_name, 1);
36887
- } else {
36888
- document_listeners.set(event_name, n + 1);
36979
+ for (const node of [target, document]) {
36980
+ var counts = listeners.get(node);
36981
+ if (counts === void 0) {
36982
+ counts = /* @__PURE__ */ new Map();
36983
+ listeners.set(node, counts);
36984
+ }
36985
+ var count = counts.get(event_name);
36986
+ if (count === void 0) {
36987
+ node.addEventListener(event_name, handle_event_propagation, { passive });
36988
+ counts.set(event_name, 1);
36989
+ } else {
36990
+ counts.set(event_name, count + 1);
36991
+ }
36889
36992
  }
36890
36993
  }
36891
36994
  };
@@ -36917,16 +37020,24 @@ function _mount(Component, { target, anchor, props = {}, events, context, intro
36917
37020
  );
36918
37021
  return () => {
36919
37022
  for (var event_name of registered_events) {
36920
- target.removeEventListener(event_name, handle_event_propagation);
36921
- var n = (
36922
- /** @type {number} */
36923
- document_listeners.get(event_name)
36924
- );
36925
- if (--n === 0) {
36926
- document.removeEventListener(event_name, handle_event_propagation);
36927
- document_listeners.delete(event_name);
36928
- } else {
36929
- document_listeners.set(event_name, n);
37023
+ for (const node of [target, document]) {
37024
+ var counts = (
37025
+ /** @type {Map<string, number>} */
37026
+ listeners.get(node)
37027
+ );
37028
+ var count = (
37029
+ /** @type {number} */
37030
+ counts.get(event_name)
37031
+ );
37032
+ if (--count == 0) {
37033
+ node.removeEventListener(event_name, handle_event_propagation);
37034
+ counts.delete(event_name);
37035
+ if (counts.size === 0) {
37036
+ listeners.delete(node);
37037
+ }
37038
+ } else {
37039
+ counts.set(event_name, count);
37040
+ }
36930
37041
  }
36931
37042
  }
36932
37043
  root_event_handles.delete(event_handle);
@@ -37575,7 +37686,7 @@ function element(node, get_tag, is_svg, render_fn, get_namespace, location2) {
37575
37686
  }
37576
37687
  branches.ensure(next_tag, (anchor2) => {
37577
37688
  if (next_tag) {
37578
- element2 = document.createElementNS(ns, next_tag);
37689
+ element2 = create_element(next_tag, ns);
37579
37690
  assign_nodes(element2, element2);
37580
37691
  if (render_fn) {
37581
37692
  var child_anchor = element2.appendChild(create_text());
@@ -37862,12 +37973,15 @@ const CLASS = /* @__PURE__ */ Symbol("class");
37862
37973
  const STYLE = /* @__PURE__ */ Symbol("style");
37863
37974
  const IS_CUSTOM_ELEMENT = /* @__PURE__ */ Symbol("is custom element");
37864
37975
  const IS_HTML = /* @__PURE__ */ Symbol("is html");
37976
+ const OPTION_TAG = IS_XHTML ? "option" : "OPTION";
37977
+ const SELECT_TAG = IS_XHTML ? "select" : "SELECT";
37978
+ const PROGRESS_TAG = IS_XHTML ? "progress" : "PROGRESS";
37865
37979
  function set_value(element2, value) {
37866
37980
  var attributes = get_attributes(element2);
37867
37981
  if (attributes.value === (attributes.value = // treat null and undefined the same for the initial value
37868
37982
  value ?? void 0) || // @ts-expect-error
37869
37983
  // `progress` elements always need their value set when it's `0`
37870
- element2.value === value && (value !== 0 || element2.nodeName !== "PROGRESS")) {
37984
+ element2.value === value && (value !== 0 || element2.nodeName !== PROGRESS_TAG)) {
37871
37985
  return;
37872
37986
  }
37873
37987
  element2.value = value ?? "";
@@ -37900,7 +38014,7 @@ function set_attributes(element2, prev, next, css_hash, should_remove_defaults =
37900
38014
  var is_custom_element = attributes[IS_CUSTOM_ELEMENT];
37901
38015
  var preserve_attribute_case = !attributes[IS_HTML];
37902
38016
  var current = prev || {};
37903
- var is_option_element = element2.tagName === "OPTION";
38017
+ var is_option_element = element2.nodeName === OPTION_TAG;
37904
38018
  for (var key in prev) {
37905
38019
  if (!(key in next)) {
37906
38020
  next[key] = null;
@@ -37946,28 +38060,24 @@ function set_attributes(element2, prev, next, css_hash, should_remove_defaults =
37946
38060
  const opts = {};
37947
38061
  const event_handle_key = "$$" + key2;
37948
38062
  let event_name = key2.slice(2);
37949
- var delegated = can_delegate_event(event_name);
38063
+ var is_delegated = can_delegate_event(event_name);
37950
38064
  if (is_capture_event(event_name)) {
37951
38065
  event_name = event_name.slice(0, -7);
37952
38066
  opts.capture = true;
37953
38067
  }
37954
- if (!delegated && prev_value) {
38068
+ if (!is_delegated && prev_value) {
37955
38069
  if (value != null) continue;
37956
38070
  element2.removeEventListener(event_name, current[event_handle_key], opts);
37957
38071
  current[event_handle_key] = null;
37958
38072
  }
37959
- if (value != null) {
37960
- if (!delegated) {
37961
- let handle = function(evt) {
37962
- current[key2].call(this, evt);
37963
- };
37964
- current[event_handle_key] = create_event(event_name, element2, handle, opts);
37965
- } else {
37966
- element2[`__${event_name}`] = value;
37967
- delegate([event_name]);
37968
- }
37969
- } else if (delegated) {
37970
- element2[`__${event_name}`] = void 0;
38073
+ if (is_delegated) {
38074
+ delegated(event_name, element2, value);
38075
+ delegate([event_name]);
38076
+ } else if (value != null) {
38077
+ let handle = function(evt) {
38078
+ current[key2].call(this, evt);
38079
+ };
38080
+ current[event_handle_key] = create_event(event_name, element2, handle, opts);
37971
38081
  }
37972
38082
  } else if (key2 === "style") {
37973
38083
  set_attribute(element2, key2, value);
@@ -38027,7 +38137,7 @@ function attribute_effect(element2, fn, sync = [], async = [], blockers = [], cs
38027
38137
  flatten(blockers, sync, async, (values) => {
38028
38138
  var prev = void 0;
38029
38139
  var effects = {};
38030
- var is_select = element2.nodeName === "SELECT";
38140
+ var is_select = element2.nodeName === SELECT_TAG;
38031
38141
  var inited = false;
38032
38142
  managed(() => {
38033
38143
  var next = fn(...values.map(get2));
@@ -38978,9 +39088,6 @@ function Block_menu_button($$anchor, $$props) {
38978
39088
  var div = root$9();
38979
39089
  let styles;
38980
39090
  var button = child(div);
38981
- button.__click = function(...$$args) {
38982
- $$props.action?.apply(this, $$args);
38983
- };
38984
39091
  var node = child(button);
38985
39092
  snippet(node, () => $$props.children);
38986
39093
  var span = sibling(button, 2);
@@ -38991,6 +39098,9 @@ function Block_menu_button($$anchor, $$props) {
38991
39098
  set_attribute(span, "id", uid);
38992
39099
  set_text(text2, $$props.label);
38993
39100
  });
39101
+ delegated("click", button, function(...$$args) {
39102
+ $$props.action?.apply(this, $$args);
39103
+ });
38994
39104
  append2($$anchor, div);
38995
39105
  }
38996
39106
  delegate(["click"]);
@@ -39261,12 +39371,15 @@ var root_3$3 = /* @__PURE__ */ from_html(`<label><span>コンテナタイプ</sp
39261
39371
  var root_4$3 = /* @__PURE__ */ from_html(`<label><span>セマンティック要素</span> <select name="bge-options-frame-semantics"><option>div(汎用)</option><option>ul(順序なしリスト)</option><option>ol(順序ありリスト)</option></select></label>`);
39262
39372
  var root_5$2 = /* @__PURE__ */ from_html(`<div role="radiogroup" aria-labelledby="justify-group"><div id="justify-group">横方向配置</div> <label><input type="radio" name="bge-options-justify" value="center"/><span>中央寄せ</span></label> <label><input type="radio" name="bge-options-justify" value="start"/><span>左寄せ</span></label> <label><input type="radio" name="bge-options-justify" value="end"/><span>右寄せ</span></label> <label><input type="radio" name="bge-options-justify" value="between"/><span>両端寄せ</span></label> <label><input type="radio" name="bge-options-justify" value="around"/><span>要素間余白均等</span></label> <label><input type="radio" name="bge-options-justify" value="evenly"/><span>要素間均等</span></label></div> <div role="radiogroup" aria-labelledby="align-group"><div id="align-group">縦向配置</div> <label><input type="radio" name="bge-options-align" value="align-center"/><span>垂直中央寄せ</span></label> <label><input type="radio" name="bge-options-align" value="align-start"/><span>上寄せ</span></label> <label><input type="radio" name="bge-options-align" value="align-end"/><span>下寄せ</span></label> <label><input type="radio" name="bge-options-align" value="align-stretch"/><span>伸縮</span></label> <label><input type="radio" name="bge-options-align" value="align-baseline"/><span>ベースライン</span></label></div>`, 1);
39263
39373
  var root_7$2 = /* @__PURE__ */ from_html(`<p>このブロックはコンテナタイプを変更できません。</p>`);
39264
- var root_8$1 = /* @__PURE__ */ from_html(`<label><span>基準列数</span> <output> </output> <input name="bge-options-columns" type="range" min="1" max="5"/></label> <label><span>列の自動調整</span> <select name="bge-options-auto-repeat"><option>固定列数</option><option>auto-fill(空白保持)</option><option>auto-fit(空白最小)</option></select></label> <small>規定幅(<code title="CSSカスタムプロパティ: --bge-auto-repeat-base-width に設定されている値"> </code>)を基準に「基準列数: <code> </code>」で割った数値に近い幅を保ちます。「空白保持」は空のスペースを残し、「空白最小」はアイテムの幅を広げます。</small>`, 1);
39265
- var root_9$1 = /* @__PURE__ */ from_html(`<div role="radiogroup" aria-labelledby="float-group"><div id="float-group">回り込み</div> <label><input type="radio" name="bge-options-float" value="start"/><span>左寄せ</span></label> <label><input type="radio" name="bge-options-float" value="end"/><span>右寄せ</span></label></div>`);
39374
+ var root_9$1 = /* @__PURE__ */ from_html(`<label><span>基準列数</span> <output> </output> <input name="bge-options-columns" type="range" min="1" max="5"/></label>`);
39375
+ var root_11 = /* @__PURE__ */ from_html(`<option> </option>`);
39376
+ var root_10 = /* @__PURE__ */ from_html(`<label><span>折り返し基準幅</span> <select name="bge-options-repeat-min-inline-size"></select></label>`);
39377
+ var root_8$1 = /* @__PURE__ */ from_html(`<label><span>列の自動調整</span> <select name="bge-options-auto-repeat"><option>固定列数</option><option>auto-fill(空白保持)</option><option>auto-fit(空白最小)</option></select></label> <!> <!>`, 1);
39378
+ var root_12 = /* @__PURE__ */ from_html(`<div role="radiogroup" aria-labelledby="float-group"><div id="float-group">回り込み</div> <label><input type="radio" name="bge-options-float" value="start"/><span>左寄せ</span></label> <label><input type="radio" name="bge-options-float" value="end"/><span>右寄せ</span></label></div>`);
39266
39379
  var root_1$5 = /* @__PURE__ */ from_html(`<fieldset><legend>コンテナ特性</legend> <!> <!> <!> <!> <!> <label><input type="checkbox" name="bge-options-linkarea" value="true"/> <span>リンクエリア機能を有効にする</span></label></fieldset>`);
39267
- var root_12 = /* @__PURE__ */ from_html(`<option> </option>`);
39268
- var root_11 = /* @__PURE__ */ from_html(`<label><span> </span> <select></select></label>`);
39269
- var root_10 = /* @__PURE__ */ from_html(`<fieldset><legend>ブロックのスタイル拡張</legend> <!></fieldset>`);
39380
+ var root_15 = /* @__PURE__ */ from_html(`<option> </option>`);
39381
+ var root_14 = /* @__PURE__ */ from_html(`<label><span> </span> <select></select></label>`);
39382
+ var root_13 = /* @__PURE__ */ from_html(`<fieldset><legend>ブロックのスタイル拡張</legend> <!></fieldset>`);
39270
39383
  var root$7 = /* @__PURE__ */ from_html(`<!> <!> <label><span>独自class設定</span> <input type="text" name="bge-options-classes" aria-describedby="block-option-classes-desc"/></label> <small id="block-option-classes-desc">複数指定する場合はスペース(空白文字)で区切ってください。</small> <label><span>ID設定: <code>bge-</code></span> <input name="bge-options-id" type="text" aria-describedby="block-option-id-desc"/></label> <small id="block-option-id-desc">アンカーリンク用のID属性を設定します。実際のIDは<code>bge-</code>が自動的に先頭に付加されます。</small>`, 1);
39271
39384
  function Block_options($$anchor, $$props) {
39272
39385
  push($$props, true);
@@ -39277,16 +39390,21 @@ function Block_options($$anchor, $$props) {
39277
39390
  }
39278
39391
  const options = currentBlock.exportOptions();
39279
39392
  const cssProps = $$props.engine.getCustomProperties(options.containerProps.type);
39280
- const autoRepeatBaseWidth = $$props.engine.getCustomProperty("--bge-auto-repeat-base-width");
39393
+ const repeatMinInlineSizeVariants = $$props.engine.getRepeatMinInlineSizeVariants();
39281
39394
  let currentColumns = /* @__PURE__ */ state(proxy(options.containerProps.columns ?? 1));
39282
39395
  let currentContainerType = /* @__PURE__ */ state(proxy(options.containerProps.type));
39283
39396
  let currentFrameSemantics = /* @__PURE__ */ state(proxy(options.containerProps.frameSemantics));
39397
+ let currentAutoRepeat = /* @__PURE__ */ state(proxy(options.containerProps.autoRepeat ?? "fixed"));
39284
39398
  const itemCount = /* @__PURE__ */ user_derived(() => currentBlock.items.length);
39285
39399
  const effectiveContainerType = /* @__PURE__ */ user_derived(() => options.containerProps.type === "float" ? options.containerProps.type : get2(currentContainerType));
39286
39400
  function handleContainerTypeChange(e) {
39287
39401
  const target = e.currentTarget;
39288
39402
  set(currentContainerType, target.value, true);
39289
39403
  }
39404
+ function handleAutoRepeatChange(e) {
39405
+ const target = e.currentTarget;
39406
+ set(currentAutoRepeat, target.value, true);
39407
+ }
39290
39408
  function handleFrameSemanticsChange(e) {
39291
39409
  const target = e.currentTarget;
39292
39410
  const newSemantics = target.value;
@@ -39299,7 +39417,7 @@ function Block_options($$anchor, $$props) {
39299
39417
  var fragment = root$7();
39300
39418
  var node = first_child(fragment);
39301
39419
  {
39302
- var consequent_6 = ($$anchor2) => {
39420
+ var consequent_8 = ($$anchor2) => {
39303
39421
  var fieldset = root_1$5();
39304
39422
  var node_1 = sibling(child(fieldset), 2);
39305
39423
  {
@@ -39313,7 +39431,6 @@ function Block_options($$anchor, $$props) {
39313
39431
  var alternate = ($$anchor3) => {
39314
39432
  var label_1 = root_3$3();
39315
39433
  var select = sibling(child(label_1), 2);
39316
- select.__change = handleContainerTypeChange;
39317
39434
  var option = child(select);
39318
39435
  var text_1 = child(option);
39319
39436
  option.value = option.__value = "grid";
@@ -39326,6 +39443,7 @@ function Block_options($$anchor, $$props) {
39326
39443
  set_selected(option_1, get2(currentContainerType) === "inline");
39327
39444
  set_text(text_2, containerTypeLabel.inline);
39328
39445
  });
39446
+ delegated("change", select, handleContainerTypeChange);
39329
39447
  append2($$anchor3, label_1);
39330
39448
  };
39331
39449
  if_block(node_1, ($$render) => {
@@ -39338,7 +39456,6 @@ function Block_options($$anchor, $$props) {
39338
39456
  var consequent_1 = ($$anchor3) => {
39339
39457
  var label_2 = root_4$3();
39340
39458
  var select_1 = sibling(child(label_2), 2);
39341
- select_1.__change = handleFrameSemanticsChange;
39342
39459
  var option_2 = child(select_1);
39343
39460
  option_2.value = option_2.__value = "div";
39344
39461
  var option_3 = sibling(option_2);
@@ -39350,6 +39467,7 @@ function Block_options($$anchor, $$props) {
39350
39467
  set_selected(option_3, get2(currentFrameSemantics) === "ul");
39351
39468
  set_selected(option_4, get2(currentFrameSemantics) === "ol");
39352
39469
  });
39470
+ delegated("change", select_1, handleFrameSemanticsChange);
39353
39471
  append2($$anchor3, label_2);
39354
39472
  };
39355
39473
  if_block(node_2, ($$render) => {
@@ -39405,7 +39523,7 @@ function Block_options($$anchor, $$props) {
39405
39523
  }
39406
39524
  var node_4 = sibling(node_3, 2);
39407
39525
  {
39408
- var consequent_4 = ($$anchor3) => {
39526
+ var consequent_6 = ($$anchor3) => {
39409
39527
  var fragment_2 = comment();
39410
39528
  var node_5 = first_child(fragment_2);
39411
39529
  {
@@ -39416,32 +39534,64 @@ function Block_options($$anchor, $$props) {
39416
39534
  var alternate_1 = ($$anchor4) => {
39417
39535
  var fragment_3 = root_8$1();
39418
39536
  var label_14 = first_child(fragment_3);
39419
- var output_1 = sibling(child(label_14), 2);
39420
- var text_3 = child(output_1);
39421
- var input_11 = sibling(output_1, 2);
39422
- var label_15 = sibling(label_14, 2);
39423
- var select_2 = sibling(child(label_15), 2);
39537
+ var select_2 = sibling(child(label_14), 2);
39424
39538
  var option_5 = child(select_2);
39425
39539
  option_5.value = option_5.__value = "fixed";
39426
39540
  var option_6 = sibling(option_5);
39427
39541
  option_6.value = option_6.__value = "auto-fill";
39428
39542
  var option_7 = sibling(option_6);
39429
39543
  option_7.value = option_7.__value = "auto-fit";
39430
- var small = sibling(label_15, 2);
39431
- var code = sibling(child(small));
39432
- var text_4 = child(code);
39433
- var code_1 = sibling(code, 2);
39434
- var text_5 = child(code_1);
39544
+ var node_6 = sibling(label_14, 2);
39545
+ {
39546
+ var consequent_4 = ($$anchor5) => {
39547
+ var label_15 = root_9$1();
39548
+ var output_1 = sibling(child(label_15), 2);
39549
+ var text_3 = child(output_1);
39550
+ var input_11 = sibling(output_1, 2);
39551
+ template_effect(() => {
39552
+ set_text(text_3, get2(currentColumns));
39553
+ input_11.defaultValue = options.containerProps.columns ?? 1;
39554
+ });
39555
+ bind_value(input_11, () => get2(currentColumns), ($$value) => set(currentColumns, $$value));
39556
+ append2($$anchor5, label_15);
39557
+ };
39558
+ if_block(node_6, ($$render) => {
39559
+ if (get2(currentAutoRepeat) === "fixed") $$render(consequent_4);
39560
+ });
39561
+ }
39562
+ var node_7 = sibling(node_6, 2);
39563
+ {
39564
+ var consequent_5 = ($$anchor5) => {
39565
+ var label_16 = root_10();
39566
+ var select_3 = sibling(child(label_16), 2);
39567
+ each(select_3, 21, () => repeatMinInlineSizeVariants.properties, ([variantName, data]) => variantName, ($$anchor6, $$item) => {
39568
+ var $$array = /* @__PURE__ */ user_derived(() => to_array(get2($$item), 2));
39569
+ let variantName = () => get2($$array)[0];
39570
+ let data = () => get2($$array)[1];
39571
+ var option_8 = root_11();
39572
+ var text_4 = child(option_8);
39573
+ var option_8_value = {};
39574
+ template_effect(() => {
39575
+ set_selected(option_8, options.containerProps.repeatMinInlineSize == null ? data().isDefault : options.containerProps.repeatMinInlineSize === variantName());
39576
+ set_text(text_4, `${variantName()} (${data().value})`);
39577
+ if (option_8_value !== (option_8_value = variantName())) {
39578
+ option_8.value = (option_8.__value = variantName()) ?? "";
39579
+ }
39580
+ });
39581
+ append2($$anchor6, option_8);
39582
+ });
39583
+ append2($$anchor5, label_16);
39584
+ };
39585
+ if_block(node_7, ($$render) => {
39586
+ if (get2(currentAutoRepeat) !== "fixed" && repeatMinInlineSizeVariants) $$render(consequent_5);
39587
+ });
39588
+ }
39435
39589
  template_effect(() => {
39436
- set_text(text_3, get2(currentColumns));
39437
- input_11.defaultValue = options.containerProps.columns ?? 1;
39438
39590
  set_selected(option_5, (options.containerProps.autoRepeat ?? "fixed") === "fixed");
39439
39591
  set_selected(option_6, options.containerProps.autoRepeat === "auto-fill");
39440
39592
  set_selected(option_7, options.containerProps.autoRepeat === "auto-fit");
39441
- set_text(text_4, autoRepeatBaseWidth);
39442
- set_text(text_5, get2(currentColumns));
39443
39593
  });
39444
- bind_value(input_11, () => get2(currentColumns), ($$value) => set(currentColumns, $$value));
39594
+ delegated("change", select_2, handleAutoRepeatChange);
39445
39595
  append2($$anchor4, fragment_3);
39446
39596
  };
39447
39597
  if_block(node_5, ($$render) => {
@@ -39452,80 +39602,80 @@ function Block_options($$anchor, $$props) {
39452
39602
  append2($$anchor3, fragment_2);
39453
39603
  };
39454
39604
  if_block(node_4, ($$render) => {
39455
- if (get2(effectiveContainerType) === "grid") $$render(consequent_4);
39605
+ if (get2(effectiveContainerType) === "grid") $$render(consequent_6);
39456
39606
  });
39457
39607
  }
39458
- var node_6 = sibling(node_4, 2);
39608
+ var node_8 = sibling(node_4, 2);
39459
39609
  {
39460
- var consequent_5 = ($$anchor3) => {
39461
- var div_2 = root_9$1();
39462
- var label_16 = sibling(child(div_2), 2);
39463
- var input_12 = child(label_16);
39464
- var label_17 = sibling(label_16, 2);
39465
- var input_13 = child(label_17);
39610
+ var consequent_7 = ($$anchor3) => {
39611
+ var div_2 = root_12();
39612
+ var label_17 = sibling(child(div_2), 2);
39613
+ var input_12 = child(label_17);
39614
+ var label_18 = sibling(label_17, 2);
39615
+ var input_13 = child(label_18);
39466
39616
  template_effect(() => {
39467
39617
  input_12.defaultChecked = options.containerProps.float === "start";
39468
39618
  input_13.defaultChecked = options.containerProps.float === "end";
39469
39619
  });
39470
39620
  append2($$anchor3, div_2);
39471
39621
  };
39472
- if_block(node_6, ($$render) => {
39473
- if (get2(effectiveContainerType) === "float") $$render(consequent_5);
39622
+ if_block(node_8, ($$render) => {
39623
+ if (get2(effectiveContainerType) === "float") $$render(consequent_7);
39474
39624
  });
39475
39625
  }
39476
- var label_18 = sibling(node_6, 2);
39477
- var input_14 = child(label_18);
39626
+ var label_19 = sibling(node_8, 2);
39627
+ var input_14 = child(label_19);
39478
39628
  template_effect(() => input_14.defaultChecked = options.containerProps.linkarea ?? false);
39479
39629
  append2($$anchor2, fieldset);
39480
39630
  };
39481
39631
  if_block(node, ($$render) => {
39482
- if (options) $$render(consequent_6);
39632
+ if (options) $$render(consequent_8);
39483
39633
  });
39484
39634
  }
39485
- var node_7 = sibling(node, 2);
39635
+ var node_9 = sibling(node, 2);
39486
39636
  {
39487
- var consequent_7 = ($$anchor2) => {
39488
- var fieldset_1 = root_10();
39489
- var node_8 = sibling(child(fieldset_1), 2);
39490
- each(node_8, 17, () => cssProps, ([, category]) => `bge-options-style-${category.id}`, ($$anchor3, $$item) => {
39491
- var $$array = /* @__PURE__ */ user_derived(() => to_array(get2($$item), 2));
39492
- let category = () => get2($$array)[1];
39493
- var label_19 = root_11();
39494
- var span = child(label_19);
39495
- var text_6 = child(span);
39496
- var select_3 = sibling(span, 2);
39497
- each(select_3, 21, () => category().properties, ([propName, data]) => propName, ($$anchor4, $$item2) => {
39498
- var $$array_1 = /* @__PURE__ */ user_derived(() => to_array(get2($$item2), 2));
39499
- let propName = () => get2($$array_1)[0];
39500
- let data = () => get2($$array_1)[1];
39501
- var option_8 = root_12();
39502
- var text_7 = child(option_8);
39503
- var option_8_value = {};
39637
+ var consequent_9 = ($$anchor2) => {
39638
+ var fieldset_1 = root_13();
39639
+ var node_10 = sibling(child(fieldset_1), 2);
39640
+ each(node_10, 17, () => cssProps, ([, category]) => `bge-options-style-${category.id}`, ($$anchor3, $$item) => {
39641
+ var $$array_1 = /* @__PURE__ */ user_derived(() => to_array(get2($$item), 2));
39642
+ let category = () => get2($$array_1)[1];
39643
+ var label_20 = root_14();
39644
+ var span = child(label_20);
39645
+ var text_5 = child(span);
39646
+ var select_4 = sibling(span, 2);
39647
+ each(select_4, 21, () => category().properties, ([propName, data]) => propName, ($$anchor4, $$item2) => {
39648
+ var $$array_2 = /* @__PURE__ */ user_derived(() => to_array(get2($$item2), 2));
39649
+ let propName = () => get2($$array_2)[0];
39650
+ let data = () => get2($$array_2)[1];
39651
+ var option_9 = root_15();
39652
+ var text_6 = child(option_9);
39653
+ var option_9_value = {};
39504
39654
  template_effect(() => {
39505
- set_selected(option_8, options.style?.[category().id] == null ? data().isDefault : options.style[category().id] === propName());
39506
- set_text(text_7, `${propName()} (${data().value})`);
39507
- if (option_8_value !== (option_8_value = data().isDefault ? "@@default" : propName())) {
39508
- option_8.value = (option_8.__value = data().isDefault ? "@@default" : propName()) ?? "";
39655
+ set_selected(option_9, options.style?.[category().id] == null ? data().isDefault : options.style[category().id] === propName());
39656
+ set_text(text_6, `${propName()} (${data().value})`);
39657
+ if (option_9_value !== (option_9_value = data().isDefault ? "@@default" : propName())) {
39658
+ option_9.value = (option_9.__value = data().isDefault ? "@@default" : propName()) ?? "";
39509
39659
  }
39510
39660
  });
39511
- append2($$anchor4, option_8);
39661
+ append2($$anchor4, option_9);
39512
39662
  });
39513
39663
  template_effect(() => {
39514
- set_text(text_6, category().name);
39515
- set_attribute(select_3, "name", `bge-options-style-${category().id}`);
39664
+ set_text(text_5, category().name);
39665
+ set_attribute(select_4, "name", `bge-options-style-${category().id}`);
39516
39666
  });
39517
- append2($$anchor3, label_19);
39667
+ append2($$anchor3, label_20);
39518
39668
  });
39519
39669
  append2($$anchor2, fieldset_1);
39520
39670
  };
39521
- if_block(node_7, ($$render) => {
39522
- if (cssProps.size > 0) $$render(consequent_7);
39671
+ if_block(node_9, ($$render) => {
39672
+ if (cssProps.size > 0) $$render(consequent_9);
39523
39673
  });
39524
39674
  }
39525
- var label_20 = sibling(node_7, 2);
39526
- var input_15 = sibling(child(label_20), 2);
39527
- var label_21 = sibling(label_20, 4);
39528
- var input_16 = sibling(child(label_21), 2);
39675
+ var label_21 = sibling(node_9, 2);
39676
+ var input_15 = sibling(child(label_21), 2);
39677
+ var label_22 = sibling(label_21, 4);
39678
+ var input_16 = sibling(child(label_22), 2);
39529
39679
  template_effect(
39530
39680
  ($0) => {
39531
39681
  input_15.defaultValue = $0;
@@ -40329,35 +40479,35 @@ function Table_editor($$anchor, $$props) {
40329
40479
  var textarea = child(div_2);
40330
40480
  set_attribute(textarea, "aria-label", `${i}行目の見出しセル`);
40331
40481
  set_attribute(textarea, "name", `bge-th-${i}`);
40332
- textarea.__input = updateDataEl;
40333
40482
  var div_3 = sibling(div_2, 2);
40334
40483
  var textarea_1 = child(div_3);
40335
40484
  set_attribute(textarea_1, "aria-label", `${i}行目の内容セル`);
40336
40485
  set_attribute(textarea_1, "name", `bge-td-${i}`);
40337
- textarea_1.__input = updateDataEl;
40338
40486
  var div_4 = sibling(div_3, 2);
40339
40487
  var ul = child(div_4);
40340
40488
  var li = child(ul);
40341
40489
  var button = child(li);
40342
- button.__click = () => add(i);
40343
40490
  var node = child(button);
40344
40491
  Row_insert_bottom(node, {});
40345
40492
  var li_1 = sibling(li, 2);
40346
40493
  var button_1 = child(li_1);
40347
- button_1.__click = () => remove(i);
40348
40494
  var node_1 = child(button_1);
40349
40495
  Trash(node_1, {});
40350
40496
  var li_2 = sibling(li_1, 2);
40351
40497
  var button_2 = child(li_2);
40352
- button_2.__click = () => move2(i, i + 1);
40353
40498
  var node_2 = child(button_2);
40354
40499
  Arrows_transfer_down(node_2, { class: "icon" });
40355
40500
  template_effect(() => {
40356
40501
  button_1.disabled = (get2(table), untrack(() => get2(table).length === 1));
40357
40502
  button_2.disabled = (get2(table), untrack(() => i === get2(table).length - 1));
40358
40503
  });
40504
+ delegated("input", textarea, updateDataEl);
40359
40505
  bind_value(textarea, () => get2(row)[0], ($$value) => (get2(row)[0] = $$value, invalidate_inner_signals(() => get2(table))));
40506
+ delegated("input", textarea_1, updateDataEl);
40360
40507
  bind_value(textarea_1, () => get2(row)[1], ($$value) => (get2(row)[1] = $$value, invalidate_inner_signals(() => get2(table))));
40508
+ delegated("click", button, () => add(i));
40509
+ delegated("click", button_1, () => remove(i));
40510
+ delegated("click", button_2, () => move2(i, i + 1));
40361
40511
  append2($$anchor2, div_1);
40362
40512
  });
40363
40513
  append2($$anchor, div);
@@ -40409,8 +40559,6 @@ function Tabs($$anchor, $$props) {
40409
40559
  var div = root();
40410
40560
  each(div, 5, () => untrack(() => Array.from({ length }, (_2, index2) => index2)), (index2) => index2, ($$anchor2, index2) => {
40411
40561
  var button = root_1();
40412
- button.__click = () => onClick(get2(index2));
40413
- button.__keydown = onKeyDown;
40414
40562
  var text2 = child(button);
40415
40563
  bind_this(button, ($$value, index3) => mutate(refs, get2(refs)[index3] = $$value), (index3) => get2(refs)?.[index3], () => [get2(index2)]);
40416
40564
  template_effect(
@@ -40424,6 +40572,8 @@ function Tabs($$anchor, $$props) {
40424
40572
  () => (get2(index2), untrack(() => createLabel(get2(index2))))
40425
40573
  ]
40426
40574
  );
40575
+ delegated("click", button, () => onClick(get2(index2)));
40576
+ delegated("keydown", button, onKeyDown);
40427
40577
  append2($$anchor2, button);
40428
40578
  });
40429
40579
  append2($$anchor, div);