@burger-editor/local 4.0.0-alpha.52 → 4.0.0-alpha.53

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/README.md CHANGED
@@ -220,6 +220,35 @@ published: true
220
220
  2. 型を選択(テキスト、数値、真偽値、日付、JSON)
221
221
  3. 「追加」ボタンをクリック
222
222
 
223
+ ## ブロックのコピー&ペースト
224
+
225
+ 効率的なコンテンツ編集のために、ブロックのコピー&ペースト機能を利用できます。
226
+
227
+ ### 使い方
228
+
229
+ 1. **ブロックをコピー**
230
+ - コピーしたいブロックにマウスオーバーし、ブロックメニューを表示
231
+ - 「ブロックをコピー」ボタン(クリップボードアイコン)をクリック
232
+ - 確認メッセージが表示されます
233
+
234
+ 2. **ブロックをペースト**
235
+ - 「ブロックを追加」ボタンをクリックしてカタログダイアログを開く
236
+ - 上部に表示される「クリップボードから貼り付け」ボタンをクリック
237
+ - コピーしたブロックが挿入されます
238
+
239
+ ### 注意事項
240
+
241
+ - コピーしたブロックは**ブラウザのタブ(セッション)内でのみ有効**です
242
+ - タブを閉じるとクリップボードの内容は消去されます
243
+ - 別のタブでコピーしたブロックは使用できません
244
+ - ペースト後、クリップボードは自動的にクリアされます(再度使用するには再コピーが必要)
245
+
246
+ ### 活用例
247
+
248
+ - テンプレートブロックの複製
249
+ - 別ページへのブロック構造の流用
250
+ - 繰り返しパターンの効率的な作成
251
+
223
252
  ## カスタムブロックカタログの追加
224
253
 
225
254
  既存のブロックカタログにカスタムブロックを追加できます:
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.51",
1299
+ version: "4.0.0-alpha.52",
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.51",
1355
+ version: "4.0.0-alpha.52",
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.51",
1369
+ version: "4.0.0-alpha.52",
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.51",
1408
+ version: "4.0.0-alpha.52",
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.51",
1543
+ version: "4.0.0-alpha.52",
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.51",
1633
+ version: "4.0.0-alpha.52",
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.51",
1831
+ version: "4.0.0-alpha.52",
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.51",
1845
+ version: "4.0.0-alpha.52",
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.51",
1873
+ version: "4.0.0-alpha.52",
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.51",
1887
+ version: "4.0.0-alpha.52",
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.51",
1901
+ version: "4.0.0-alpha.52",
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.51",
1916
+ version: "4.0.0-alpha.52",
1917
1917
  name: "youtube",
1918
1918
  template,
1919
1919
  style: style$c,
@@ -37961,21 +37961,144 @@ function prop(props, key, flags2, fallback) {
37961
37961
  })
37962
37962
  );
37963
37963
  }
37964
- var root_4$3 = /* @__PURE__ */ from_html(`<img alt="" loading="lazy" class="svelte-1hna6ki"/>`);
37965
- var root_3$5 = /* @__PURE__ */ from_html(`<figure class="svelte-1hna6ki"><div class="img svelte-1hna6ki"><!></div> <figcaption class="svelte-1hna6ki"> </figcaption></figure>`);
37966
- var root_2$3 = /* @__PURE__ */ from_html(`<dd class="svelte-1hna6ki"><button type="button" class="svelte-1hna6ki"><!></button></dd>`);
37967
- var root_1$6 = /* @__PURE__ */ from_html(`<dt class="svelte-1hna6ki"> </dt> <div class="svelte-1hna6ki"></div>`, 1);
37968
- var root$b = /* @__PURE__ */ from_html(`<div class="block-catalog"><dl class="svelte-1hna6ki"></dl></div>`);
37964
+ const defaultAttributes = {
37965
+ outline: {
37966
+ xmlns: "http://www.w3.org/2000/svg",
37967
+ width: 24,
37968
+ height: 24,
37969
+ viewBox: "0 0 24 24",
37970
+ fill: "none",
37971
+ stroke: "currentColor",
37972
+ "stroke-width": 2,
37973
+ "stroke-linecap": "round",
37974
+ "stroke-linejoin": "round"
37975
+ },
37976
+ filled: {
37977
+ xmlns: "http://www.w3.org/2000/svg",
37978
+ width: 24,
37979
+ height: 24,
37980
+ viewBox: "0 0 24 24",
37981
+ fill: "currentColor",
37982
+ stroke: "none"
37983
+ }
37984
+ };
37985
+ var root$b = /* @__PURE__ */ from_svg(`<svg><!><!></svg>`);
37986
+ function Icon($$anchor, $$props) {
37987
+ const $$sanitized_props = legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
37988
+ const $$restProps = legacy_rest_props($$sanitized_props, ["type", "name", "color", "size", "stroke", "iconNode"]);
37989
+ push($$props, false);
37990
+ let type = prop($$props, "type", 8);
37991
+ let name = prop($$props, "name", 8);
37992
+ let color = prop($$props, "color", 8, "currentColor");
37993
+ let size = prop($$props, "size", 8, 24);
37994
+ let stroke = prop($$props, "stroke", 8, 2);
37995
+ let iconNode = prop($$props, "iconNode", 8);
37996
+ init();
37997
+ var svg = root$b();
37998
+ attribute_effect(svg, () => ({
37999
+ ...defaultAttributes[type()],
38000
+ ...$$restProps,
38001
+ width: size(),
38002
+ height: size(),
38003
+ class: (deep_read_state(name()), deep_read_state($$sanitized_props), untrack(() => `tabler-icon tabler-icon-${name()} ${$$sanitized_props.class ?? ""}`)),
38004
+ ...type() === "filled" ? { fill: color() } : { "stroke-width": stroke(), stroke: color() }
38005
+ }));
38006
+ var node = child(svg);
38007
+ each(node, 1, iconNode, index, ($$anchor2, $$item) => {
38008
+ var $$array = /* @__PURE__ */ user_derived(() => to_array(get2($$item), 2));
38009
+ let tag = () => get2($$array)[0];
38010
+ let attrs = () => get2($$array)[1];
38011
+ var fragment = comment();
38012
+ var node_1 = first_child(fragment);
38013
+ element(node_1, tag, true, ($$element, $$anchor3) => {
38014
+ attribute_effect($$element, () => ({ ...attrs() }));
38015
+ });
38016
+ append2($$anchor2, fragment);
38017
+ });
38018
+ var node_2 = sibling(node);
38019
+ slot(node_2, $$props, "default", {});
38020
+ append2($$anchor, svg);
38021
+ pop();
38022
+ }
38023
+ function Clipboard($$anchor, $$props) {
38024
+ const $$sanitized_props = legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
38025
+ const iconNode = [
38026
+ [
38027
+ "path",
38028
+ {
38029
+ "d": "M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2"
38030
+ }
38031
+ ],
38032
+ [
38033
+ "path",
38034
+ {
38035
+ "d": "M9 5a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2"
38036
+ }
38037
+ ]
38038
+ ];
38039
+ Icon($$anchor, spread_props({ type: "outline", name: "clipboard" }, () => $$sanitized_props, {
38040
+ get iconNode() {
38041
+ return iconNode;
38042
+ },
38043
+ children: ($$anchor2, $$slotProps) => {
38044
+ var fragment_1 = comment();
38045
+ var node = first_child(fragment_1);
38046
+ slot(node, $$props, "default", {});
38047
+ append2($$anchor2, fragment_1);
38048
+ },
38049
+ $$slots: { default: true }
38050
+ }));
38051
+ }
38052
+ var root_1$6 = /* @__PURE__ */ from_html(`<div class="paste-section svelte-1hna6ki"><button type="button" class="paste-button svelte-1hna6ki"><!> <span class="svelte-1hna6ki">クリップボードから貼り付け</span></button></div>`);
38053
+ var root_5$4 = /* @__PURE__ */ from_html(`<img alt="" loading="lazy" class="svelte-1hna6ki"/>`);
38054
+ var root_4$3 = /* @__PURE__ */ from_html(`<figure class="svelte-1hna6ki"><div class="img svelte-1hna6ki"><!></div> <figcaption class="svelte-1hna6ki"> </figcaption></figure>`);
38055
+ var root_3$5 = /* @__PURE__ */ from_html(`<dd class="svelte-1hna6ki"><button type="button" class="svelte-1hna6ki"><!></button></dd>`);
38056
+ var root_2$3 = /* @__PURE__ */ from_html(`<dt class="svelte-1hna6ki"> </dt> <div class="svelte-1hna6ki"></div>`, 1);
38057
+ var root$a = /* @__PURE__ */ from_html(`<div class="block-catalog"><!> <dl class="svelte-1hna6ki"></dl></div>`);
37969
38058
  function Block_catalog($$anchor, $$props) {
37970
38059
  push($$props, false);
37971
38060
  let engine = prop($$props, "engine", 8);
38061
+ let hasCopiedBlock = /* @__PURE__ */ mutable_source(false);
38062
+ set(hasCopiedBlock, !!sessionStorage.getItem(engine().storageKey.blockClipboard));
37972
38063
  function addBlock(blockData) {
37973
38064
  engine().blockCatalogDialog.close();
37974
38065
  engine().addBlock(blockData);
37975
38066
  }
38067
+ async function pasteBlock() {
38068
+ const jsonString = sessionStorage.getItem(engine().storageKey.blockClipboard);
38069
+ if (!jsonString) {
38070
+ alert("クリップボードにブロックデータがありません。");
38071
+ return;
38072
+ }
38073
+ let blockData;
38074
+ try {
38075
+ blockData = JSON.parse(jsonString);
38076
+ } catch (error) {
38077
+ console.error("Invalid JSON in clipboard:", error);
38078
+ alert("ブロックの貼り付けに失敗しました。\nクリップボードのデータが破損している可能性があります。\nもう一度ブロックをコピーしてください。");
38079
+ return;
38080
+ }
38081
+ engine().blockCatalogDialog.close();
38082
+ await engine().addBlock(blockData);
38083
+ sessionStorage.removeItem(engine().storageKey.blockClipboard);
38084
+ }
37976
38085
  init();
37977
- var div = root$b();
37978
- var dl = child(div);
38086
+ var div = root$a();
38087
+ var node = child(div);
38088
+ {
38089
+ var consequent = ($$anchor2) => {
38090
+ var div_1 = root_1$6();
38091
+ var button = child(div_1);
38092
+ var node_1 = child(button);
38093
+ Clipboard(node_1, {});
38094
+ event("click", button, pasteBlock);
38095
+ append2($$anchor2, div_1);
38096
+ };
38097
+ if_block(node, ($$render) => {
38098
+ if (get2(hasCopiedBlock)) $$render(consequent);
38099
+ });
38100
+ }
38101
+ var dl = sibling(node, 2);
37979
38102
  each(
37980
38103
  dl,
37981
38104
  5,
@@ -37985,51 +38108,51 @@ function Block_catalog($$anchor, $$props) {
37985
38108
  var $$array = /* @__PURE__ */ user_derived(() => to_array(get2($$item), 2));
37986
38109
  let category = () => get2($$array)[0];
37987
38110
  let blocks = () => get2($$array)[1];
37988
- var fragment = root_1$6();
38111
+ var fragment = root_2$3();
37989
38112
  var dt = first_child(fragment);
37990
38113
  var text$1 = child(dt);
37991
- var div_1 = sibling(dt, 2);
37992
- each(div_1, 5, blocks, (blockInfo) => category() + blockInfo.label + blockInfo.definition.name, ($$anchor3, blockInfo) => {
37993
- var dd = root_2$3();
37994
- var button = child(dd);
37995
- var node = child(button);
38114
+ var div_2 = sibling(dt, 2);
38115
+ each(div_2, 5, blocks, (blockInfo) => category() + blockInfo.label + blockInfo.definition.name, ($$anchor3, blockInfo) => {
38116
+ var dd = root_3$5();
38117
+ var button_1 = child(dd);
38118
+ var node_2 = child(button_1);
37996
38119
  {
37997
- var consequent_2 = ($$anchor4) => {
37998
- var figure = root_3$5();
37999
- var div_2 = child(figure);
38000
- var node_1 = child(div_2);
38120
+ var consequent_3 = ($$anchor4) => {
38121
+ var figure = root_4$3();
38122
+ var div_3 = child(figure);
38123
+ var node_3 = child(div_3);
38001
38124
  {
38002
- var consequent = ($$anchor5) => {
38003
- var img = root_4$3();
38125
+ var consequent_1 = ($$anchor5) => {
38126
+ var img = root_5$4();
38004
38127
  template_effect(() => set_attribute(img, "src", (get2(blockInfo), untrack(() => get2(blockInfo).definition.img))));
38005
38128
  append2($$anchor5, img);
38006
38129
  };
38007
38130
  var alternate = ($$anchor5) => {
38008
38131
  var fragment_1 = comment();
38009
- var node_2 = first_child(fragment_1);
38132
+ var node_4 = first_child(fragment_1);
38010
38133
  {
38011
- var consequent_1 = ($$anchor6) => {
38134
+ var consequent_2 = ($$anchor6) => {
38012
38135
  var fragment_2 = comment();
38013
- var node_3 = first_child(fragment_2);
38014
- html(node_3, () => (get2(blockInfo), untrack(() => get2(blockInfo).definition.svg)));
38136
+ var node_5 = first_child(fragment_2);
38137
+ html(node_5, () => (get2(blockInfo), untrack(() => get2(blockInfo).definition.svg)));
38015
38138
  append2($$anchor6, fragment_2);
38016
38139
  };
38017
38140
  if_block(
38018
- node_2,
38141
+ node_4,
38019
38142
  ($$render) => {
38020
- if (get2(blockInfo), untrack(() => get2(blockInfo).definition.svg)) $$render(consequent_1);
38143
+ if (get2(blockInfo), untrack(() => get2(blockInfo).definition.svg)) $$render(consequent_2);
38021
38144
  },
38022
38145
  true
38023
38146
  );
38024
38147
  }
38025
38148
  append2($$anchor5, fragment_1);
38026
38149
  };
38027
- if_block(node_1, ($$render) => {
38028
- if (get2(blockInfo), untrack(() => get2(blockInfo).definition.img)) $$render(consequent);
38150
+ if_block(node_3, ($$render) => {
38151
+ if (get2(blockInfo), untrack(() => get2(blockInfo).definition.img)) $$render(consequent_1);
38029
38152
  else $$render(alternate, false);
38030
38153
  });
38031
38154
  }
38032
- var figcaption = sibling(div_2, 2);
38155
+ var figcaption = sibling(div_3, 2);
38033
38156
  var text_1 = child(figcaption);
38034
38157
  template_effect(() => set_text(text_1, (get2(blockInfo), untrack(() => get2(blockInfo).label))));
38035
38158
  append2($$anchor4, figure);
@@ -38039,12 +38162,12 @@ function Block_catalog($$anchor, $$props) {
38039
38162
  template_effect(() => set_text(text_2, (get2(blockInfo), untrack(() => get2(blockInfo).label))));
38040
38163
  append2($$anchor4, text_2);
38041
38164
  };
38042
- if_block(node, ($$render) => {
38043
- if (get2(blockInfo), untrack(() => get2(blockInfo).definition.img || get2(blockInfo).definition.svg)) $$render(consequent_2);
38165
+ if_block(node_2, ($$render) => {
38166
+ if (get2(blockInfo), untrack(() => get2(blockInfo).definition.img || get2(blockInfo).definition.svg)) $$render(consequent_3);
38044
38167
  else $$render(alternate_1, false);
38045
38168
  });
38046
38169
  }
38047
- event("click", button, () => addBlock(get2(blockInfo).definition));
38170
+ event("click", button_1, () => addBlock(get2(blockInfo).definition));
38048
38171
  append2($$anchor3, dd);
38049
38172
  });
38050
38173
  template_effect(() => set_text(text$1, category()));
@@ -38054,65 +38177,6 @@ function Block_catalog($$anchor, $$props) {
38054
38177
  append2($$anchor, div);
38055
38178
  pop();
38056
38179
  }
38057
- const defaultAttributes = {
38058
- outline: {
38059
- xmlns: "http://www.w3.org/2000/svg",
38060
- width: 24,
38061
- height: 24,
38062
- viewBox: "0 0 24 24",
38063
- fill: "none",
38064
- stroke: "currentColor",
38065
- "stroke-width": 2,
38066
- "stroke-linecap": "round",
38067
- "stroke-linejoin": "round"
38068
- },
38069
- filled: {
38070
- xmlns: "http://www.w3.org/2000/svg",
38071
- width: 24,
38072
- height: 24,
38073
- viewBox: "0 0 24 24",
38074
- fill: "currentColor",
38075
- stroke: "none"
38076
- }
38077
- };
38078
- var root$a = /* @__PURE__ */ from_svg(`<svg><!><!></svg>`);
38079
- function Icon($$anchor, $$props) {
38080
- const $$sanitized_props = legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
38081
- const $$restProps = legacy_rest_props($$sanitized_props, ["type", "name", "color", "size", "stroke", "iconNode"]);
38082
- push($$props, false);
38083
- let type = prop($$props, "type", 8);
38084
- let name = prop($$props, "name", 8);
38085
- let color = prop($$props, "color", 8, "currentColor");
38086
- let size = prop($$props, "size", 8, 24);
38087
- let stroke = prop($$props, "stroke", 8, 2);
38088
- let iconNode = prop($$props, "iconNode", 8);
38089
- init();
38090
- var svg = root$a();
38091
- attribute_effect(svg, () => ({
38092
- ...defaultAttributes[type()],
38093
- ...$$restProps,
38094
- width: size(),
38095
- height: size(),
38096
- class: (deep_read_state(name()), deep_read_state($$sanitized_props), untrack(() => `tabler-icon tabler-icon-${name()} ${$$sanitized_props.class ?? ""}`)),
38097
- ...type() === "filled" ? { fill: color() } : { "stroke-width": stroke(), stroke: color() }
38098
- }));
38099
- var node = child(svg);
38100
- each(node, 1, iconNode, index, ($$anchor2, $$item) => {
38101
- var $$array = /* @__PURE__ */ user_derived(() => to_array(get2($$item), 2));
38102
- let tag = () => get2($$array)[0];
38103
- let attrs = () => get2($$array)[1];
38104
- var fragment = comment();
38105
- var node_1 = first_child(fragment);
38106
- element(node_1, tag, true, ($$element, $$anchor3) => {
38107
- attribute_effect($$element, () => ({ ...attrs() }));
38108
- });
38109
- append2($$anchor2, fragment);
38110
- });
38111
- var node_2 = sibling(node);
38112
- slot(node_2, $$props, "default", {});
38113
- append2($$anchor, svg);
38114
- pop();
38115
- }
38116
38180
  function Arrow_big_down_line($$anchor, $$props) {
38117
38181
  const $$sanitized_props = legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
38118
38182
  const iconNode = [
@@ -38537,8 +38601,8 @@ function Block_menu($$anchor, $$props) {
38537
38601
  if (engine().isProcessed || !get2(currentBlock)) {
38538
38602
  return;
38539
38603
  }
38540
- const html2 = get2(currentBlock).getHTMLStringify();
38541
- sessionStorage.setItem(engine().storageKey.blockClipboard, html2);
38604
+ const json = get2(currentBlock).toJSONStringify();
38605
+ sessionStorage.setItem(engine().storageKey.blockClipboard, json);
38542
38606
  alert("ブロックをコピーしました。\nブロックの追加ボタンからペースト(貼り付け)することができます。");
38543
38607
  }
38544
38608
  legacy_pre_effect(() => get2(currentBlock), () => {