itmar-block-packages 1.3.7 → 1.3.9

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
@@ -14,6 +14,13 @@ import {関数名又はコンポーネント名} from "itmar-block-packages"
14
14
  npm i @wordpress/scripts@^27.6.0 --save-dev
15
15
 
16
16
  ## 更新履歴
17
+ = 1.3.9 =
18
+ - カスタムフックとしてuseDuplicateBlockRemoveを追加。このフックはインナーブロックが挿入されたとき、指定されたブロック名が存在れば、挿入されたブロックを削除する。
19
+
20
+ = 1.3.8 =
21
+ - WordPressのデータをRest APIを通して取得する関数等のFieldChoiceControlの機能として、choiceFieldsに登録されるフィールド名がmetaによるカスタムフィールドかacfによるカスタムフィールドかを峻別できるようにフィールド名にmeta_又はacf_という接頭辞を付加するようにした。
22
+ - カスタムフックとしてuseBlockAttributeChangesを追加。このフックはitmar/design-group内のブロックで、指定のブロック名とクラス名のブロックの属性に変化があったとき、その変化の内容を通知する機能をもつ。同一のブロック名とクラス名をもつブロックに対して、変化した属性を自動的に設定する機能もある。
23
+
17
24
  = 1.3.4 =
18
25
  - BlockPlaceコンポーネントの高さにフリーサイズを追加し、デスクトップとモバイルでそれぞれ設定を可能うにした。それに伴ってcssPropertesのheight_prmのシグニチャーを変更。
19
26
 
@@ -75,12 +82,61 @@ const is_mobile=useIsMobile();
75
82
  useDeepCompareEffect(() => {
76
83
  ・・・
77
84
  },
78
- [attributes]
85
+ [attributes])
79
86
 
80
87
  ```
81
88
  ### useFontawesomeIframe
82
89
  iframeにfontawesomeを読み込むカスタムフック
83
90
 
91
+ ### useBlockAttributeChanges
92
+ 特定のブロックの属性が変更されたとき、その変更内容を返すカスタムフック。引数に指定されたブロック名のブロックで指定されたクラス名をもつブロックの属性の変更内容を返す。第3引数のフラグにtrueを指定すると同じブロック名で同じクラス名をもつブロックの属性を変更されたブロックの属性で自動的に更新する。ただし、変更内容については、指定された属性名の属性を変更及び比較の対象からはずすことができる。
93
+
94
+ #### 引数
95
+ - `clientId` string
96
+ 変更されたことを監視する範囲となるitmar/design-groupブロックのclientId
97
+ - `blockName` string
98
+ 変更の監視対象となるブロック名
99
+ - `className` string
100
+ 変更の監視対象となるブロックが有するクラス名
101
+ - `modFlg` boolean
102
+ 同種ブロックを更新するかどうかのフラグ。デフォルトはfalse
103
+ - `excludeAttributes` object
104
+ 自動更新の対象から除外する属性をオブジェクトで指定する。オブジェクトは属性名をキーとし、値を適宜のデフォルト値とする。ここで指定された属性は更新チェックの対象からも除外される。使わないときは指定しない。
105
+ ```
106
+ //clientIdで指定されたブロックの属性変更の内容を返す
107
+ const changedAttributes = useBlockAttributeChanges(
108
+ clientId,
109
+ "itmar/design-checkbox",
110
+ "itmar_filter_checkbox",
111
+ );
112
+
113
+ //clientIdで指定されたブロックの属性変更の内容でitmar/design-checkboxという名前のブロックで
114
+ //itmar_filter_checkboxというクラス名をもつブロックの属性を自動更新する。
115
+ //ただし、labelContentという属性とinputValueという属性については更新対象から除外する
116
+ useBlockAttributeChanges(
117
+ clientId,
118
+ "itmar/design-checkbox",
119
+ "itmar_filter_checkbox",
120
+ true,
121
+ { labelContent: "", inputValue: false },
122
+ );
123
+
124
+ ```
125
+
126
+ ### useDuplicateBlockRemove
127
+ インナーブロックが挿入されたとき、指定されたブロック名が存在れば、挿入したブロックを削除する。ユーザーに重複したブロックを挿入させたくないときや特定のブロックが存在するとき、ブロックを挿入させないようにするときに活用する。
128
+
129
+ #### 引数
130
+ - `clientId` string
131
+ インナーブロックの監視する対象となるブロックのclientId
132
+ - `blockNames` array
133
+ 存在をチェックするブロック名。文字列を配列で指定する。
134
+
135
+ ```
136
+ useDuplicateBlockRemove(clientId, ["itmar/pickup-posts"]);
137
+
138
+ ```
139
+
84
140
  ## styled-componet用のcssプロパティ生成関数
85
141
  styled-componetのcssヘルパー関数内で使用するcssのパラメーターやプロパティを返します。
86
142
  ### radius_prm
@@ -141,13 +197,20 @@ px値
141
197
 
142
198
  ### align_prm
143
199
  marginによる横方向の配置のためのCSSを返します。
200
+ また、camelFlgを設定することで、インナースタイル用のオブジェクトを返します。
144
201
  #### 引数
145
- - `align` string
202
+ - `align` string
203
+ - `camelFLg` boolean
146
204
  center,rightの文字列
147
205
  #### 戻り値
206
+ camelFLgがfalse又は設定されていないとき
148
207
  - centerのとき`margin-left: auto; margin-right: auto;`
149
208
  - rightのとき`margin-left: auto; margin-right: 0`
150
209
  - その他の文字列`margin-right: auto; margin-left: 0`
210
+ camelFLgがtrueのとき
211
+ - centerのとき` { marginLeft: "auto", marginRight: "auto" }`
212
+ - rightのとき` { marginLeft: "auto" }`
213
+ - その他の文字列`{}`
151
214
 
152
215
 
153
216
  ### convertToScss
@@ -491,13 +554,19 @@ WordPressのブロックエディタのサイドバーにFont awesomのアイコ
491
554
  icon_size: "24px",
492
555
  icon_color: "var(--wp--preset--color--content)",
493
556
  icon_space: "5px",
557
+ icon_family: "Font Awesome 6 Free",
558
+
494
559
  }
560
+ setPosition={true}
495
561
  onChange={(newValue) => {
496
562
  setAttributes({icon_style: newValue})
497
563
  }}
498
564
  />
499
565
  ```
500
566
 
567
+ iconStyleオブジェクトを再設定します。
568
+ setPositionプロプスをtrueにするとicon_posとicon_spaceの各オブジェクトを設定するコントロールが表示されます。
569
+
501
570
  <img src="./img/iconControl.png" alt="IconSelectControlのスクリーンショット" width="100" height="200">
502
571
 
503
572
  ## DOM要素をラップしてレンダリングを変化させるReactコンポーネント
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '48507471d4cc04eabfc2');
1
+ <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '6e3f73ce618d3c7c0f86');