@burger-editor/local 4.0.0-alpha.57 → 4.0.0-alpha.58

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.
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.56",
1299
+ version: "4.0.0-alpha.57",
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.56",
1355
+ version: "4.0.0-alpha.57",
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.56",
1369
+ version: "4.0.0-alpha.57",
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.56",
1408
+ version: "4.0.0-alpha.57",
1409
1409
  name: "google-maps",
1410
1410
  template: template$8,
1411
1411
  style: style$8,
@@ -1540,18 +1540,18 @@ 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.56",
1543
+ version: "4.0.0-alpha.57",
1544
1544
  name: "hr",
1545
1545
  template: template$7,
1546
1546
  style: style$7,
1547
1547
  editor: editor$7
1548
1548
  });
1549
1549
 
1550
- var editor$6 = "<div data-bge-dialog=\"2col\">\n\t<div data-bge-dialog-ui=\"sticky\">\n\t\t<div>\n\t\t\t<div data-bge-editor-ui=\"tabs\" data-bge-editor-ui-for=\"bgi-image__tabs-content\"></div>\n\n\t\t\t<div id=\"bgi-image__tabs-content\" role=\"tabpanel\" aria-label=\"画像\">\n\t\t\t\t<div data-bge-editor-ui=\"preview\"></div>\n\t\t\t\t<input type=\"hidden\" name=\"bge-path[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-alt[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-width[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-height[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-media[]\" />\n\n\t\t\t\t<input type=\"hidden\" name=\"bge-file-size\" />\n\t\t\t\t<div>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>メディアクエリー</span>\n\t\t\t\t\t\t<input type=\"text\" name=\"bge-media-input\" />\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<fieldset id=\"bge-image-size-fieldset\">\n\t\t\t\t<legend>画像のサイズ</legend>\n\t\t\t\t<div role=\"radiogroup\" aria-labelledby=\"bgi-image__radio-group1\">\n\t\t\t\t\t<div id=\"bgi-image__radio-group1\">基準</div>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-scale-type\" value=\"container\" /><span>基準</span></label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-scale-type\" value=\"original\" checked />画像基準</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<label for=\"bgi-image__range-number\">幅</label>\n\t\t\t\t\t\t<input type=\"number\" id=\"bgi-image__range-number\" name=\"bge-css-width-number\" min=\"1\" step=\"1\" value=\"100\" />\n\t\t\t\t\t\t<output name=\"bge-css-width-unit\">px</output>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input aria-label=\"幅\" type=\"range\" name=\"bge-scale\" min=\"1\" max=\"100\" step=\"1\" value=\"100\" />\n\t\t\t\t</div>\n\t\t\t\t<div role=\"radiogroup\" aria-labelledby=\"bgi-image__radio-group2\">\n\t\t\t\t\t<div id=\"bgi-image__radio-group2\">縦横比</div>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"unset\" checked />オリジナル</label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"1/1\" />1 : 1</label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"4/3\" />4 : 3</label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"16/9\" />16 : 9</label>\n\t\t\t\t</div>\n\t\t\t\t<input type=\"hidden\" name=\"bge-css-width\" />\n\t\t\t</fieldset>\n\t\t\t<label>\n\t\t\t\t<span>画像の代替テキスト(alt)</span>\n\t\t\t\t<input type=\"text\" name=\"bge-alt-editable\" />\n\t\t\t</label>\n\t\t\t<label>\n\t\t\t\t<span>キャプション</span>\n\t\t\t\t<input type=\"text\" name=\"bge-caption\" />\n\t\t\t</label>\n\t\t\t<fieldset>\n\t\t\t\t<legend>リンク</legend>\n\t\t\t\t<label><input type=\"checkbox\" name=\"bge-popup\" />ポップアップで画像を開く</label>\n\t\t\t\t<label>\n\t\t\t\t\t<span>リンク先URL</span>\n\t\t\t\t\t<input type=\"url\" name=\"bge-href\" />\n\t\t\t\t</label>\n\t\t\t\t<label><input type=\"checkbox\" name=\"bge-target-blank\" />別タブで開く</label>\n\t\t\t</fieldset>\n\t\t\t<label><input type=\"checkbox\" name=\"bge-lazy\" checked aria-describedby=\"bge-lazy-desc\" />遅延読み込み</label>\n\t\t\t<small id=\"bge-lazy-desc\">画像がブラウザの表示エリアに現れるまでファイルを読み込みません。</small>\n\t\t</div>\n\t</div>\n\t<div>\n\t\t<div data-bge-editor-ui=\"imageUploader\"></div>\n\t\t<div data-bge-editor-ui=\"imageList\"></div>\n\t</div>\n</div>\n";
1550
+ var editor$6 = "<div data-bge-dialog=\"2col\">\n\t<div data-bge-dialog-ui=\"sticky\">\n\t\t<div>\n\t\t\t<div data-bge-editor-ui=\"tabs\" data-bge-editor-ui-for=\"bgi-image__tabs-content\"></div>\n\n\t\t\t<div id=\"bgi-image__tabs-content\" role=\"tabpanel\" aria-label=\"画像\">\n\t\t\t\t<div data-bge-editor-ui=\"preview\"></div>\n\t\t\t\t<input type=\"hidden\" name=\"bge-path[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-alt[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-width[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-height[]\" />\n\t\t\t\t<input type=\"hidden\" name=\"bge-media[]\" />\n\n\t\t\t\t<input type=\"hidden\" name=\"bge-file-size\" />\n\t\t\t\t<div>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>メディアクエリー</span>\n\t\t\t\t\t\t<input type=\"text\" name=\"bge-media-input\" />\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<fieldset id=\"bge-image-size-fieldset\">\n\t\t\t\t<legend>画像のサイズ</legend>\n\t\t\t\t<div role=\"radiogroup\" aria-labelledby=\"bgi-image__radio-group1\">\n\t\t\t\t\t<div id=\"bgi-image__radio-group1\">基準</div>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-scale-type\" value=\"container\" /><span>基準</span></label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-scale-type\" value=\"original\" checked />画像基準</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<label for=\"bgi-image__range-number\">幅</label>\n\t\t\t\t\t\t<input type=\"number\" id=\"bgi-image__range-number\" name=\"bge-css-width-number\" min=\"1\" step=\"1\" value=\"100\" />\n\t\t\t\t\t\t<output name=\"bge-css-width-unit\">px</output>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input aria-label=\"幅\" type=\"range\" name=\"bge-scale\" min=\"1\" max=\"100\" step=\"1\" value=\"100\" />\n\t\t\t\t</div>\n\t\t\t\t<div role=\"radiogroup\" aria-labelledby=\"bgi-image__radio-group2\">\n\t\t\t\t\t<div id=\"bgi-image__radio-group2\">縦横比</div>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"revert\" checked />オリジナル</label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"1/1\" />1 : 1</label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"4/3\" />4 : 3</label>\n\t\t\t\t\t<label><input type=\"radio\" name=\"bge-aspect-ratio\" value=\"16/9\" />16 : 9</label>\n\t\t\t\t</div>\n\t\t\t\t<input type=\"hidden\" name=\"bge-css-width\" />\n\t\t\t</fieldset>\n\t\t\t<label>\n\t\t\t\t<span>画像の代替テキスト(alt)</span>\n\t\t\t\t<input type=\"text\" name=\"bge-alt-editable\" />\n\t\t\t</label>\n\t\t\t<label>\n\t\t\t\t<span>キャプション</span>\n\t\t\t\t<input type=\"text\" name=\"bge-caption\" />\n\t\t\t</label>\n\t\t\t<fieldset>\n\t\t\t\t<legend>リンク</legend>\n\t\t\t\t<label><input type=\"checkbox\" name=\"bge-popup\" />ポップアップで画像を開く</label>\n\t\t\t\t<label>\n\t\t\t\t\t<span>リンク先URL</span>\n\t\t\t\t\t<input type=\"url\" name=\"bge-href\" />\n\t\t\t\t</label>\n\t\t\t\t<label><input type=\"checkbox\" name=\"bge-target-blank\" />別タブで開く</label>\n\t\t\t</fieldset>\n\t\t\t<label><input type=\"checkbox\" name=\"bge-lazy\" checked aria-describedby=\"bge-lazy-desc\" />遅延読み込み</label>\n\t\t\t<small id=\"bge-lazy-desc\">画像がブラウザの表示エリアに現れるまでファイルを読み込みません。</small>\n\t\t</div>\n\t</div>\n\t<div>\n\t\t<div data-bge-editor-ui=\"imageUploader\"></div>\n\t\t<div data-bge-editor-ui=\"imageList\"></div>\n\t</div>\n</div>\n";
1551
1551
 
1552
- var style$6 = "[data-bgi='image'] {\n\tfigure {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tinline-size: var(--css-width, 100%);\n\t\tmax-inline-size: 100cqi;\n\t\tpadding: 0;\n\t\tmargin-block: 0;\n\t\tmargin-inline: auto;\n\n\t\t> :is(div, a, button) {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0;\n\t\t\tbackground: transparent;\n\t\t\tborder: none;\n\t\t}\n\t}\n\n\timg {\n\t\tdisplay: block;\n\t\tinline-size: var(--css-width, auto);\n\t\tmax-inline-size: 100%;\n\t\tblock-size: auto;\n\t\taspect-ratio: var(--aspect-ratio, unset);\n\t\tobject-fit: var(--object-fit, unset);\n\t}\n\n\tfigcaption {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tinline-size: 100%;\n\n\t\t&:empty {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n";
1552
+ var style$6 = "[data-bgi='image'] {\n\tfigure {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tinline-size: var(--css-width, 100%);\n\t\tmax-inline-size: 100cqi;\n\t\tpadding: 0;\n\t\tmargin-block: 0;\n\t\tmargin-inline: auto;\n\n\t\t> :is(div, a, button) {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0;\n\t\t\tbackground: transparent;\n\t\t\tborder: none;\n\t\t}\n\t}\n\n\timg {\n\t\tdisplay: block;\n\t\tinline-size: var(--css-width, auto);\n\t\tmax-inline-size: 100%;\n\t\tblock-size: auto;\n\t\taspect-ratio: var(--aspect-ratio, revert);\n\t\tobject-fit: var(--object-fit, unset);\n\t}\n\n\tfigcaption {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tinline-size: 100%;\n\n\t\t&:empty {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n";
1553
1553
 
1554
- var template$6 = "<div data-bge=\":style, :scale, :scale-type, :aspect-ratio\" data-bge-scale=\"100\" data-bge-scale-type=\"container\" data-bge-aspect-ratio=\"unset\" style=\"--css-width: 100cqi; --object-fit: cover; --aspect-ratio: unset\">\n\t<figure>\n\t\t<div data-bge=\":node, :href, :target, :command\">\n\t\t\t<picture data-bge-list>\n\t\t\t\t<img src=\"%sampleImagePath%\" alt=\"サンプル画像\" data-bge=\"path:src, :alt, :width, :height, :loading, :media\" width=\"400\" height=\"300\" loading=\"lazy\" />\n\t\t\t</picture>\n\t\t</div>\n\t\t<figcaption data-bge=\"caption\"></figcaption>\n\t</figure>\n</div>\n";
1554
+ var template$6 = "<div data-bge=\":style, :scale, :scale-type, :aspect-ratio\" data-bge-scale=\"100\" data-bge-scale-type=\"container\" data-bge-aspect-ratio=\"revert\" style=\"--css-width: 100cqi; --object-fit: cover; --aspect-ratio: revert\">\n\t<figure>\n\t\t<div data-bge=\":node, :href, :target, :command\">\n\t\t\t<picture data-bge-list>\n\t\t\t\t<img src=\"%sampleImagePath%\" alt=\"サンプル画像\" data-bge=\"path:src, :alt, :width, :height, :loading, :media\" width=\"400\" height=\"300\" loading=\"lazy\" />\n\t\t\t</picture>\n\t\t</div>\n\t\t<figcaption data-bge=\"caption\"></figcaption>\n\t</figure>\n</div>\n";
1555
1555
 
1556
1556
  function createWidthState() {
1557
1557
  const MIN_NUMBER = 1;
@@ -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.56",
1633
+ version: "4.0.0-alpha.57",
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.56",
1831
+ version: "4.0.0-alpha.57",
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.56",
1845
+ version: "4.0.0-alpha.57",
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.56",
1873
+ version: "4.0.0-alpha.57",
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.56",
1887
+ version: "4.0.0-alpha.57",
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.56",
1901
+ version: "4.0.0-alpha.57",
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.56",
1916
+ version: "4.0.0-alpha.57",
1917
1917
  name: "youtube",
1918
1918
  template,
1919
1919
  style: style$c,
@@ -27098,6 +27098,9 @@ var Link = Mark2.create({
27098
27098
  },
27099
27099
  class: {
27100
27100
  default: this.options.HTMLAttributes.class
27101
+ },
27102
+ title: {
27103
+ default: null
27101
27104
  }
27102
27105
  };
27103
27106
  },
@@ -27137,10 +27140,11 @@ var Link = Mark2.create({
27137
27140
  });
27138
27141
  },
27139
27142
  renderMarkdown: (node, h2) => {
27140
- var _a2;
27141
- const href = ((_a2 = node.attrs) == null ? void 0 : _a2.href) || "";
27143
+ var _a2, _b, _c, _d;
27144
+ const href = (_b = (_a2 = node.attrs) == null ? void 0 : _a2.href) != null ? _b : "";
27145
+ const title = (_d = (_c = node.attrs) == null ? void 0 : _c.title) != null ? _d : "";
27142
27146
  const text2 = h2.renderChildren(node);
27143
- return `[${text2}](${href})`;
27147
+ return title ? `[${text2}](${href} "${title}")` : `[${text2}](${href})`;
27144
27148
  },
27145
27149
  addCommands() {
27146
27150
  return {
@@ -34198,16 +34202,46 @@ class Batch {
34198
34202
  */
34199
34203
  #maybe_dirty_effects = /* @__PURE__ */ new Set();
34200
34204
  /**
34201
- * A set of branches that still exist, but will be destroyed when this batch
34202
- * is committed — we skip over these during `process`
34203
- * @type {Set<Effect>}
34205
+ * A map of branches that still exist, but will be destroyed when this batch
34206
+ * is committed — we skip over these during `process`.
34207
+ * The value contains child effects that were dirty/maybe_dirty before being reset,
34208
+ * so they can be rescheduled if the branch survives.
34209
+ * @type {Map<Effect, { d: Effect[], m: Effect[] }>}
34204
34210
  */
34205
- skipped_effects = /* @__PURE__ */ new Set();
34211
+ #skipped_branches = /* @__PURE__ */ new Map();
34206
34212
  is_fork = false;
34207
34213
  #decrement_queued = false;
34208
34214
  is_deferred() {
34209
34215
  return this.is_fork || this.#blocking_pending > 0;
34210
34216
  }
34217
+ /**
34218
+ * Add an effect to the #skipped_branches map and reset its children
34219
+ * @param {Effect} effect
34220
+ */
34221
+ skip_effect(effect2) {
34222
+ if (!this.#skipped_branches.has(effect2)) {
34223
+ this.#skipped_branches.set(effect2, { d: [], m: [] });
34224
+ }
34225
+ }
34226
+ /**
34227
+ * Remove an effect from the #skipped_branches map and reschedule
34228
+ * any tracked dirty/maybe_dirty child effects
34229
+ * @param {Effect} effect
34230
+ */
34231
+ unskip_effect(effect2) {
34232
+ var tracked = this.#skipped_branches.get(effect2);
34233
+ if (tracked) {
34234
+ this.#skipped_branches.delete(effect2);
34235
+ for (var e of tracked.d) {
34236
+ set_signal_status(e, DIRTY);
34237
+ schedule_effect(e);
34238
+ }
34239
+ for (e of tracked.m) {
34240
+ set_signal_status(e, MAYBE_DIRTY);
34241
+ schedule_effect(e);
34242
+ }
34243
+ }
34244
+ }
34211
34245
  /**
34212
34246
  *
34213
34247
  * @param {Effect[]} root_effects
@@ -34223,8 +34257,8 @@ class Batch {
34223
34257
  if (this.is_deferred()) {
34224
34258
  this.#defer_effects(render_effects);
34225
34259
  this.#defer_effects(effects);
34226
- for (const e of this.skipped_effects) {
34227
- reset_branch(e);
34260
+ for (const [e, t] of this.#skipped_branches) {
34261
+ reset_branch(e, t);
34228
34262
  }
34229
34263
  } else {
34230
34264
  for (const fn of this.#commit_callbacks) fn();
@@ -34256,7 +34290,7 @@ class Batch {
34256
34290
  var flags2 = effect2.f;
34257
34291
  var is_branch = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;
34258
34292
  var is_skippable_branch = is_branch && (flags2 & CLEAN) !== 0;
34259
- var skip = is_skippable_branch || (flags2 & INERT) !== 0 || this.skipped_effects.has(effect2);
34293
+ var skip = is_skippable_branch || (flags2 & INERT) !== 0 || this.#skipped_branches.has(effect2);
34260
34294
  if (!skip && effect2.fn !== null) {
34261
34295
  if (is_branch) {
34262
34296
  effect2.f ^= CLEAN;
@@ -34609,14 +34643,19 @@ function schedule_effect(signal) {
34609
34643
  }
34610
34644
  queued_root_effects.push(effect2);
34611
34645
  }
34612
- function reset_branch(effect2) {
34646
+ function reset_branch(effect2, tracked) {
34613
34647
  if ((effect2.f & BRANCH_EFFECT) !== 0 && (effect2.f & CLEAN) !== 0) {
34614
34648
  return;
34615
34649
  }
34650
+ if ((effect2.f & DIRTY) !== 0) {
34651
+ tracked.d.push(effect2);
34652
+ } else if ((effect2.f & MAYBE_DIRTY) !== 0) {
34653
+ tracked.m.push(effect2);
34654
+ }
34616
34655
  set_signal_status(effect2, CLEAN);
34617
34656
  var e = effect2.first;
34618
34657
  while (e !== null) {
34619
- reset_branch(e);
34658
+ reset_branch(e, tracked);
34620
34659
  e = e.next;
34621
34660
  }
34622
34661
  }