itmar-block-packages 1.6.3 → 1.7.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itmar-block-packages",
3
- "version": "1.6.3",
3
+ "version": "1.7.1",
4
4
  "description": "We have put together a package of common React components used for WordPress custom blocks.",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
package/src/BlockPlace.js CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  ToolbarGroup,
12
12
  ToolbarItem,
13
13
  RangeControl,
14
+ TextControl,
14
15
  RadioControl,
15
16
  ToggleControl,
16
17
  Modal,
@@ -59,6 +60,8 @@ export default function BlockPlace(props) {
59
60
  const center_cross =
60
61
  sel_pos.direction === "vertical" ? justifyCenter : middle;
61
62
  const end_cross = sel_pos.direction === "vertical" ? justifyRight : lower;
63
+ const stretch =
64
+ sel_pos.direction === "vertical" ? justifyStretch : vert_between;
62
65
  const between_icon =
63
66
  sel_pos.direction === "vertical" ? vert_between : justifyStretch;
64
67
  const around_icon =
@@ -82,12 +85,14 @@ export default function BlockPlace(props) {
82
85
  : __("lower alignment", "block-collections");
83
86
 
84
87
  const [isContainer, setIsContainer] = useState(false);
88
+ const [isFlexItem, setIsFlexItem] = useState(false);
85
89
  const [direction, setDirection] = useState("row");
86
90
  useEffect(() => {
87
91
  if (blockRef.current) {
88
92
  const element = blockRef.current;
89
93
  const parentElement = element.parentElement;
90
94
  const grandparentElement = parentElement?.parentElement;
95
+
91
96
  const computedStyle = getComputedStyle(grandparentElement);
92
97
  //親要素がFlex又はGridコンテナか
93
98
  if (
@@ -103,6 +108,7 @@ export default function BlockPlace(props) {
103
108
  computedStyle.display === "flex" ||
104
109
  computedStyle.display === "inline-flex"
105
110
  ) {
111
+ setIsFlexItem(true);
106
112
  if (
107
113
  computedStyle.flexDirection === "row" ||
108
114
  computedStyle.flexDirection === "row-reverse"
@@ -270,7 +276,7 @@ export default function BlockPlace(props) {
270
276
  props.onFlexChange("space-between", "inner_align")
271
277
  } //親コンポーネントに通知
272
278
  icon={between_icon}
273
- label={__("beteen stretch", "block-collections")}
279
+ label={__("stretch", "block-collections")}
274
280
  />
275
281
  )}
276
282
  </ToolbarItem>
@@ -335,6 +341,17 @@ export default function BlockPlace(props) {
335
341
  />
336
342
  )}
337
343
  </ToolbarItem>
344
+ <ToolbarItem>
345
+ {(itemProps) => (
346
+ <Button
347
+ {...itemProps}
348
+ isPressed={sel_pos.inner_items === "stretch"}
349
+ onClick={() => props.onFlexChange("stretch", "inner_items")} //親コンポーネントに通知
350
+ icon={stretch}
351
+ label={__("beteen stretch", "block-collections")}
352
+ />
353
+ )}
354
+ </ToolbarItem>
338
355
  </ToolbarGroup>
339
356
  )}
340
357
  {isContainer && (
@@ -413,6 +430,21 @@ export default function BlockPlace(props) {
413
430
  />
414
431
  )}
415
432
  </ToolbarItem>
433
+ <ToolbarItem>
434
+ {(itemProps) => (
435
+ <Button
436
+ {...itemProps}
437
+ isPressed={sel_pos.outer_vertical === "stretch"}
438
+ onClick={
439
+ direction === "row"
440
+ ? () => props.onVerticalChange("stretch")
441
+ : () => props.onAlignChange("stretch")
442
+ }
443
+ icon={direction === "row" ? vert_between : justifyStretch}
444
+ label={__("stretch", "block-collections")}
445
+ />
446
+ )}
447
+ </ToolbarItem>
416
448
  </ToolbarGroup>
417
449
  </>
418
450
  )}
@@ -427,6 +459,50 @@ export default function BlockPlace(props) {
427
459
  }
428
460
  />
429
461
 
462
+ {isFlexItem && (
463
+ <PanelRow className="position_row">
464
+ <TextControl
465
+ label={__("grow", "block-collections")}
466
+ labelPosition="left"
467
+ value={sel_pos.flex?.grow}
468
+ onChange={(newValue) => {
469
+ const flexObj = {
470
+ grow: newValue,
471
+ shrink: sel_pos.flex?.shrink,
472
+ basis: sel_pos.flex?.basis,
473
+ };
474
+ props.onFlexItemChange(flexObj);
475
+ }}
476
+ />
477
+ <TextControl
478
+ label={__("shrink", "block-collections")}
479
+ labelPosition="left"
480
+ value={sel_pos.flex?.shrink}
481
+ onChange={(newValue) => {
482
+ const flexObj = {
483
+ grow: sel_pos.flex?.grow,
484
+ shrink: newValue,
485
+ basis: sel_pos.flex?.basis,
486
+ };
487
+ props.onFlexItemChange(flexObj);
488
+ }}
489
+ />
490
+ <TextControl
491
+ label={__("basis", "block-collections")}
492
+ labelPosition="left"
493
+ value={sel_pos.flex?.basis}
494
+ onChange={(newValue) => {
495
+ const flexObj = {
496
+ grow: sel_pos.flex?.grow,
497
+ shrink: sel_pos.flex?.shrink,
498
+ basis: newValue,
499
+ };
500
+ props.onFlexItemChange(flexObj);
501
+ }}
502
+ />
503
+ </PanelRow>
504
+ )}
505
+
430
506
  <BlockHeight
431
507
  attributes={attributes}
432
508
  isMobile={isMobile}
@@ -603,7 +679,7 @@ export default function BlockPlace(props) {
603
679
  }
604
680
 
605
681
  export function BlockWidth(props) {
606
- const { attributes, isMobile, isSubmenu } = props;
682
+ const { attributes, isMobile, flexDirection, isSubmenu } = props;
607
683
  const { default_val, mobile_val } = attributes;
608
684
 
609
685
  //モバイルかデスクトップか
@@ -805,6 +881,16 @@ export function BlockHeight(props) {
805
881
  />
806
882
  )}
807
883
  </ToolbarItem>
884
+ <ToolbarItem>
885
+ {(itemProps) => (
886
+ <Button
887
+ {...itemProps}
888
+ isPressed={sel_pos.height_val === "auto"}
889
+ onClick={() => props.onHeightChange("auto")}
890
+ text="auto"
891
+ />
892
+ )}
893
+ </ToolbarItem>
808
894
  </ToolbarGroup>
809
895
  {sel_pos.height_val === "free" && (
810
896
  <UnitControl
package/src/blockStore.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { useSelect } from "@wordpress/data";
2
2
  import { store as blockEditorStore } from "@wordpress/block-editor";
3
+ import { createBlock } from "@wordpress/blocks";
3
4
 
4
5
  export const useTargetBlocks = (
5
6
  clientId,
@@ -52,3 +53,23 @@ export const flattenBlocks = (blocks) => {
52
53
  return acc;
53
54
  }, []);
54
55
  };
56
+
57
+ // 再帰的にブロック構造をシリアライズする関数
58
+ export const serializeBlockTree = (block) => {
59
+ return {
60
+ blockName: block.name,
61
+ attributes: block.attributes,
62
+ innerBlocks:
63
+ block.innerBlocks.length > 0
64
+ ? block.innerBlocks.map(serializeBlockTree)
65
+ : [],
66
+ };
67
+ };
68
+ // シリアライズしたブロックデータをもとの階層構造に戻す関数
69
+ export const createBlockTree = (blockData) => {
70
+ const inner = Array.isArray(blockData.innerBlocks)
71
+ ? blockData.innerBlocks.map(createBlockTree)
72
+ : [];
73
+
74
+ return createBlock(blockData.blockName, blockData.attributes, inner);
75
+ };
@@ -90,7 +90,9 @@ export const width_prm = (width, free_val) => {
90
90
  ? ` width: ${free_val}; `
91
91
  : width === "full"
92
92
  ? " width: 100%;"
93
- : " width: fit-content;";
93
+ : width === "fit"
94
+ ? " width: fit-content;"
95
+ : " width: auto;";
94
96
  return ret_width_prm;
95
97
  };
96
98
 
@@ -98,9 +100,11 @@ export const height_prm = (height, free_val) => {
98
100
  const ret_height_prm =
99
101
  height === "fit"
100
102
  ? " height: fit-content;"
103
+ : height === "full"
104
+ ? ` height: 100%; `
101
105
  : height === "free"
102
106
  ? ` height: ${free_val}; `
103
- : "height: 100%;";
107
+ : "height: auto;";
104
108
  return ret_height_prm;
105
109
  };
106
110
  //配置を返す
package/src/index.js CHANGED
@@ -48,7 +48,13 @@ export { default as ShadowStyle, ShadowElm } from "./ShadowStyle";
48
48
  export { default as PseudoElm, Arrow } from "./PseudoElm";
49
49
 
50
50
  //メディアライブラリから複数の画像を選択するコントロール
51
- export { SingleImageSelect, MultiImageSelect } from "./mediaUpload";
51
+ export {
52
+ SingleImageSelect,
53
+ MultiImageSelect,
54
+ getMediaType,
55
+ getImageAspectRatio,
56
+ getVideoAspectRatio,
57
+ } from "./mediaUpload";
52
58
 
53
59
  //ブロックのドラッガブルを設定するコントロール
54
60
  export { default as DraggableBox, useDraggingMove } from "./DraggableBox";
@@ -89,7 +95,15 @@ export {
89
95
  } from "./DateElm";
90
96
 
91
97
  //インナーブロック関連の関数
92
- export { flattenBlocks, useTargetBlocks } from "./blockStore";
98
+ export {
99
+ flattenBlocks,
100
+ useTargetBlocks,
101
+ serializeBlockTree,
102
+ createBlockTree,
103
+ } from "./blockStore";
104
+
105
+ //バリデーションチェック関連の関数
106
+ export { isValidUrlWithUrlApi } from "./validationCheck";
93
107
 
94
108
  //特定の投稿タイプの投稿に含まれる本ブロックの属性を書き換える
95
109
  export { default as UpdateAllPostsBlockAttributes } from "./UpdateAllPostsBlockAttributes";
@@ -113,3 +113,66 @@ export function MultiImageSelect(props) {
113
113
  </PanelBody>
114
114
  );
115
115
  }
116
+
117
+ //静止画か動画かを判定する関数
118
+ export function getMediaType(url) {
119
+ const imageExtensions = [
120
+ ".jpg",
121
+ ".jpeg",
122
+ ".png",
123
+ ".gif",
124
+ ".webp",
125
+ ".bmp",
126
+ ".svg",
127
+ ];
128
+ const videoExtensions = [".mp4", ".webm", ".ogg", ".mov", ".m4v"];
129
+
130
+ // クエリストリング(?以降)を除去
131
+ const cleanUrl = url.split("?")[0].toLowerCase();
132
+
133
+ const isImage = imageExtensions.some((ext) => cleanUrl.endsWith(ext));
134
+ const isVideo = videoExtensions.some((ext) => cleanUrl.endsWith(ext));
135
+
136
+ if (isImage) {
137
+ return "image";
138
+ } else if (isVideo) {
139
+ return "video";
140
+ } else {
141
+ // 拡張子で判別できない → HEADリクエストでContent-Type判定 or fallback
142
+ return undefined;
143
+ }
144
+ }
145
+ //静止画のアスペクト比を返す関数
146
+ export function getImageAspectRatio(url) {
147
+ return new Promise((resolve, reject) => {
148
+ const img = new Image();
149
+ img.onload = function () {
150
+ const aspectRatio = img.naturalWidth / img.naturalHeight;
151
+ resolve(aspectRatio);
152
+ };
153
+ img.onerror = function () {
154
+ reject(new Error("画像の読み込みに失敗しました: " + url));
155
+ };
156
+ img.src = url;
157
+ });
158
+ }
159
+ //動画のアスペクト比を返す関数
160
+ export function getVideoAspectRatio(url) {
161
+ return new Promise((resolve, reject) => {
162
+ const video = document.createElement("video");
163
+
164
+ video.preload = "metadata";
165
+ video.src = url;
166
+ video.muted = true; // 一部のブラウザで安全に動作させるため
167
+ video.playsInline = true;
168
+
169
+ video.onloadedmetadata = function () {
170
+ const aspectRatio = video.videoWidth / video.videoHeight;
171
+ resolve(aspectRatio);
172
+ };
173
+
174
+ video.onerror = function () {
175
+ reject(new Error("動画の読み込みに失敗しました: " + url));
176
+ };
177
+ });
178
+ }
@@ -0,0 +1,10 @@
1
+ //URLのバリデーションチェック
2
+ export const isValidUrlWithUrlApi = (string) => {
3
+ try {
4
+ const cleanString = string.replace(/<[^>]+>/g, "");
5
+ new URL(cleanString);
6
+ return true;
7
+ } catch (err) {
8
+ return false;
9
+ }
10
+ };
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/ShadowStyle.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Shadow Type":["\u30b7\u30e3\u30c9\u30fc\u30bf\u30a4\u30d7"],"Nomal":["\u30ce\u30fc\u30de\u30eb"],"Neumorphism":["\u30cb\u30e5\u30fc\u30e2\u30d5\u30a3\u30ba\u30e0"],"Claymorphism":["\u30af\u30ec\u30a4\u30e2\u30d5\u30a3\u30ba\u30e0"],"Grassmophism":["\u30b0\u30e9\u30b9\u30e2\u30d5\u30a3\u30ba\u30e0"],"unevenness":["\u51f9\u51f8"],"Nomal settings":["\u30ce\u30fc\u30de\u30eb\u306e\u8a2d\u5b9a"],"Spread":["\u5e83\u304c\u308a"],"Lateral direction":["\u6a2a\u65b9\u5411"],"Longitudinal direction":["\u7e26\u65b9\u5411"],"Blur":["\u307c\u304b\u3057"],"Shadow Color Setting":["\u8272\u8a2d\u5b9a"],"Choose Shadow color":["\u5f71\u306e\u8272\u3092\u9078\u629e"],"Neumorphism settings":["\u30cb\u30e5\u30fc\u30e2\u30d5\u30a3\u30ba\u30e0\u8a2d\u5b9a"],"Distance":["\u8ddd\u96e2"],"Intensity":["\u5f37\u5ea6"],"Claymorphism settings":["\u30af\u30ec\u30a4\u30e2\u30d5\u30a3\u30ba\u30e0\u8a2d\u5b9a"],"Opacity":["\u900f\u660e\u5ea6"],"Grassmophism settings":["\u30b0\u30e9\u30b9\u30e2\u30d5\u30a3\u30ba\u30e0\u8a2d\u5b9a"],"Glass blur":["\u307c\u304b\u3057"],"Glass Opacity":["\u900f\u660e\u5ea6"],"Show outline":["\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/wordpressApi.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Display":["\u8868\u793a"],"Title":["\u30bf\u30a4\u30c8\u30eb"],"Date":["\u65e5\u4ed8"],"Excerpt":["\u629c\u7c8b"],"Featured Image":["\u30a2\u30a4\u30ad\u30e3\u30c3\u30c1\u753b\u50cf"],"Single Page Link":["\u30b7\u30f3\u30b0\u30eb\u30da\u30fc\u30b8\u3078\u306e\u30ea\u30f3\u30af"],"If no block is specified, a link will be set to the parent block, Design Group.":["\u30d6\u30ed\u30c3\u30af\u306e\u8a2d\u5b9a\u304c\u306a\u3051\u308c\u3070\u89aa\u30d6\u30ed\u30c3\u30af\u306eDesign Group\u306b\u30ea\u30f3\u30af\u304c\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002"],"Custom Field":["\u30ab\u30b9\u30bf\u30e0\u30d5\u30a3\u30fc\u30eb\u30c9"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/customFooks.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"A new block cannot be inserted because a block has already been placed.":["\u30d6\u30ed\u30c3\u30af\u304c\u3059\u3067\u306b\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u65b0\u3057\u3044\u30d6\u30ed\u30c3\u30af\u3092\u633f\u5165\u3067\u304d\u307e\u305b\u3093\u3002"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/DraggableBox.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Vertical":["\u7e26\u65b9\u5411"],"Position Setting":["\u4f4d\u7f6e\u8a2d\u5b9a"],"Horizen":["\u6a2a\u65b9\u5411"],"Reset":["\u30ea\u30bb\u30c3\u30c8"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/BlockPlace.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"upper alignment":["\u4e0a"],"left alignment":["\u5de6"],"lower alignment":["\u4e0b"],"right alignment":["\u53f3"],"Block Max Width(Mobile)":["\u30d6\u30ed\u30c3\u30af\u306e\u6700\u5927\u5e45(\u30e2\u30d0\u30a4\u30eb)"],"Block Width(Mobile)":["\u30d6\u30ed\u30c3\u30af\u306e\u5e45(\u30e2\u30d0\u30a4\u30eb)"],"Block Max Width(DeskTop)":["\u30d6\u30ed\u30c3\u30af\u306e\u6700\u5927\u5e45(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"Block Width(DeskTop)":["\u30d6\u30ed\u30c3\u30af\u306e\u5e45(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"Block placement":["\u30d6\u30ed\u30c3\u30af\u306e\u914d\u7f6e"],"InnerBlock direction(Mobile)":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u65b9\u5411(\u30e2\u30d0\u30a4\u30eb)"],"InnerBlock direction(DeskTop)":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u65b9\u5411(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"block":["\u30d6\u30ed\u30c3\u30af"],"virtical":["\u7e26\u65b9\u5411"],"horizen":["\u6a2a\u65b9\u5411"],"grid":["\u30b0\u30ea\u30c3\u30c9"],"reverse":["\u53cd\u8ee2"],"wrap":["\u6539\u884c"],"InnerBlock Main Axis(Mobile)":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u4e3b\u8ef8(\u30e2\u30d0\u30a4\u30eb)"],"InnerBlock Main Axis(DeskTop)":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u4e3b\u8ef8(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"center alignment":["\u4e2d\u592e"],"beteen stretch":["\u5747\u7b49(\u4f59\u767d\u306a\u3057)"],"around stretch":["\u5747\u7b49(\u4f59\u767d\u3042\u308a)"],"InnerBlock Cross Axis(Mobile)":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u4ea4\u5dee\u8ef8(\u30e2\u30d0\u30a4\u30eb)"],"InnerBlock Cross Axis(DeskTop)":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u4ea4\u5dee\u8ef8(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"Alignment in container(Mobile)":["\u30b3\u30f3\u30c6\u30ca\u306e\u914d\u7f6e(\u30e2\u30d0\u30a4\u30eb)"],"Alignment in container(DeskTop)":["\u30b3\u30f3\u30c6\u30ca\u306e\u914d\u7f6e(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"Grid Info settings(Mobile)":["\u30b0\u30ea\u30c3\u30c9\u8a2d\u5b9a(\u30e2\u30d0\u30a4\u30eb)"],"Grid Info settings(DeskTop)":["\u30b0\u30ea\u30c3\u30c9\u8a2d\u5b9a(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"Open Setting Modal":["\u8a2d\u5b9a\u753b\u9762\u3092\u958b\u304f"],"Position Type":["\u30dd\u30b8\u30b7\u30e7\u30f3\u30bf\u30a4\u30d7"],"Static":["\u9759\u7684"],"Relative":["\u76f8\u5bfe\u4f4d\u7f6e"],"Absolute":["\u7d76\u5bfe\u4f4d\u7f6e"],"Fix":["\u56fa\u5b9a"],"Sticky":["\u7c98\u7740"],"Center Vertically and Horizontally":["\u5782\u76f4\u65b9\u5411\u3068\u6c34\u5e73\u65b9\u5411\u306b\u4e2d\u592e\u63c3\u3048"],"Block Position(Mobile)":["\u30d6\u30ed\u30c3\u30af\u306e\u4f4d\u7f6e(\u30e2\u30d0\u30a4\u30eb)"],"Block Position(DeskTop)":["\u30d6\u30ed\u30c3\u30af\u306e\u4f4d\u7f6e(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"],"Vertical":["\u7e26\u65b9\u5411"],"Is Center":["\u4e2d\u592e\u63c3\u3048"],"Horizon":["\u6a2a\u65b9\u5411"],"Wide Size":["\u5e45\u5e83"],"Content Size":["\u30b3\u30f3\u30c6\u30f3\u30c8\u5e45"],"Block Height(Mobile)":["\u30d6\u30ed\u30c3\u30af\u306e\u9ad8\u3055(\u30e2\u30d0\u30a4\u30eb)"],"Block Height(DeskTop)":["\u30d6\u30ed\u30c3\u30af\u306e\u9ad8\u3055(\u30c7\u30b9\u30af\u30c8\u30c3\u30d7)"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/GridControls.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Lateral Alignment":["\u6a2a\u914d\u7f6e"],"Vertical Alignment":["\u7e26\u914d\u7f6e"],"Number of Row ":["\u884c\u756a\u53f7"],"Number of Colum":["\u5217\u756a\u53f7"],"Row Gap":["\u884c\u9593"],"Colum Gap":["\u5217\u9593"],"Element placement":["\u8981\u7d20\u306e\u914d\u7f6e"],"Clear":["\u30af\u30ea\u30a2"],"InnerBlock Name":["\u30a4\u30f3\u30ca\u30fc\u30d6\u30ed\u30c3\u30af\u540d"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/DateElm.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Period Setting":["\u671f\u9593\u8a2d\u5b9a"],"Start of period":["\u671f\u9593\u306e\u59cb\u671f"],"Year":["\u5e74"],"Month":["\u6708"],"End of period":["\u671f\u9593\u306e\u7d42\u671f"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/IconSelectControl.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Select the icon from and enter Unicode (the upper right four digits of the selection dialog). ":["\u304b\u3089\u30a2\u30a4\u30b3\u30f3\u3092\u9078\u629e\u3057\u3001Unicode\uff08\u9078\u629e\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u53f3\u4e0a4\u6841\uff09\u3092\u5165\u529b\u3057\u307e\u3059\u3002"],"Enter the URL for the image.":["\u753b\u50cf\u306eURL\u3092\u5165\u529b\u3057\u307e\u3059\u3002"],"Please select the first class name shown in the HTML code field of the selection dialog. ":["\u9078\u629e\u30c0\u30a4\u30a2\u30ed\u30b0\u306eHTML\u30b3\u30fc\u30c9\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u8868\u793a\u3055\u308c\u308b\u6700\u521d\u306e\u30af\u30e9\u30b9\u540d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002"],"Icon Types":["\u30a2\u30a4\u30b3\u30f3\u30bf\u30a4\u30d7"],"Awesome":["\u30d5\u30a9\u30f3\u30c8\u30aa\u30fc\u30b5\u30e0"],"Image":["\u753b\u50cf"],"Avatar":["\u30a2\u30d0\u30bf\u30fc"],"icon name":["\u30a2\u30a4\u30b3\u30f3\u540d"],"Icon Family":["\u30a2\u30a4\u30b3\u30f3\u30d5\u30a1\u30df\u30ea\u30fc"],"icon url":["\u30a2\u30a4\u30b3\u30f3URL"],"Size":["\u30b5\u30a4\u30ba"],"spacing to end":["\u7d42\u7aef\u307e\u3067\u306e\u7a7a\u767d"],"Arrangement":["\u914d\u7f6e"],"left":["\u5de6"],"right":["\u53f3"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/ZipAddress.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Please enter your postal code as 7 digits without hyphens.":["\u90f5\u4fbf\u756a\u53f7\u306f\u30cf\u30a4\u30d5\u30f3\u629c\u304d\u306e7\u6841\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"],"No matching address found":["\u4e00\u81f4\u3059\u308b\u4f4f\u6240\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093"],"Communication failed":["\u901a\u4fe1\u306b\u5931\u6557\u3057\u307e\u3057\u305f"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/AnimationBlock.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Animation Setting":["\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u8a2d\u5b9a"],"Is Animation":["\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3055\u305b\u308b"],"Animation Pattern":["\u30d1\u30bf\u30fc\u30f3"],"Animation duration time":["\u7d99\u7d9a\u6642\u9593"],"Animation delay time":["\u9045\u5ef6\u6642\u9593"],"Animation Trigger":["\u958b\u59cb\u30c8\u30ea\u30ac\u30fc"],"Page Opend":["\u30da\u30fc\u30b8\u304c\u958b\u3044\u305f\u6642"],"Enter Visible":["\u53ef\u8996\u9818\u57df\u8868\u793a\u6642"]}}}
@@ -1 +0,0 @@
1
- {"translation-revision-date":"2025-06-08 13:07+0900","generator":"WP-CLI\/2.11.0","source":"src\/TypographyControls.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ja","plural-forms":"nplurals=2; plural=(n != 1);"},"Size(desk top)":["\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\uff08\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\uff09"],"Size(mobile)":["\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\uff08\u30e2\u30d0\u30a4\u30eb\uff09"],"font family":["\u30d5\u30a9\u30f3\u30c8\u30d5\u30a1\u30df\u30ea\u30fc"],"font weight":["\u30d5\u30a9\u30f3\u30c8\u30a6\u30a7\u30a4\u30c8"],"Italic display":["\u659c\u4f53\u8868\u793a"]}}}