itmar-block-packages 1.3.8 → 1.3.10

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.10 =
18
+ - useDuplicateBlockRemoveの不具合を修正。
19
+ - ブロックの幅、高さを設定するためのコンポーネントとしてBlockWidth、BlockHeightを追加
20
+
21
+ = 1.3.9 =
22
+ - カスタムフックとしてuseDuplicateBlockRemoveを追加。このフックはインナーブロックが挿入されたとき、指定されたブロック名が存在れば、挿入されたブロックを削除する。
23
+
17
24
  = 1.3.8 =
18
25
  - WordPressのデータをRest APIを通して取得する関数等のFieldChoiceControlの機能として、choiceFieldsに登録されるフィールド名がmetaによるカスタムフィールドかacfによるカスタムフィールドかを峻別できるようにフィールド名にmeta_又はacf_という接頭辞を付加するようにした。
19
26
  - カスタムフックとしてuseBlockAttributeChangesを追加。このフックはitmar/design-group内のブロックで、指定のブロック名とクラス名のブロックの属性に変化があったとき、その変化の内容を通知する機能をもつ。同一のブロック名とクラス名をもつブロックに対して、変化した属性を自動的に設定する機能もある。
@@ -120,6 +127,20 @@ useBlockAttributeChanges(
120
127
 
121
128
  ```
122
129
 
130
+ ### useDuplicateBlockRemove
131
+ インナーブロックが挿入されたとき、指定されたブロック名が存在れば、挿入したブロックを削除する。ユーザーに重複したブロックを挿入させたくないときや特定のブロックが存在するとき、ブロックを挿入させないようにするときに活用する。
132
+
133
+ #### 引数
134
+ - `clientId` string
135
+ インナーブロックの監視する対象となるブロックのclientId
136
+ - `blockNames` array
137
+ 存在をチェックするブロック名。文字列を配列で指定する。
138
+
139
+ ```
140
+ useDuplicateBlockRemove(clientId, ["itmar/pickup-posts"]);
141
+
142
+ ```
143
+
123
144
  ## styled-componet用のcssプロパティ生成関数
124
145
  styled-componetのcssヘルパー関数内で使用するcssのパラメーターやプロパティを返します。
125
146
  ### radius_prm
@@ -635,6 +656,75 @@ WordPressのブロックエディタのサイドバーにブロックの配置
635
656
 
636
657
  <img src="./img/blockplace.png" alt="BlockPlaceのスクリーンショット" width="100" height="300">
637
658
 
659
+ ### BlockWidth
660
+ ブロックコンポーネントの幅を設定する
661
+ #### 引数
662
+ - `attributes` object
663
+ ブロックの属性オブジェクト
664
+ - `isMobile` boolean
665
+ スクリーン幅が767px以下かどうかのフラグ
666
+ - `isSubmenu` boolean
667
+ trueの場合はmax-widthを合わせて設定する
668
+ - `onWidthChange` function
669
+ widthの種別を設定するためのコールバック関数。返ってくる引数はfit,full,wideSize,contentSize,free
670
+ - `onFreeWidthChange` function
671
+ widthの種別がfreeのとき幅を設定するためのコールバック関数。返ってくる引数は数字
672
+
673
+ ```
674
+ <BlockWidth
675
+ attributes={attributes}
676
+ isMobile={isMobile}
677
+ isSubmenu={isFront}
678
+ onWidthChange={(value) => {
679
+ setAttributes(
680
+ !isMobile
681
+ ? { default_val: { ...default_val, width_val: value } }
682
+ : { mobile_val: { ...mobile_val, width_val: value } },
683
+ );
684
+ }}
685
+ onFreeWidthChange={(value) => {
686
+ setAttributes(
687
+ !isMobile
688
+ ? { default_val: { ...default_val, free_width: value } }
689
+ : { mobile_val: { ...mobile_val, free_width: value } },
690
+ );
691
+ }}
692
+ />
693
+ ```
694
+
695
+ ### BlockHeight
696
+ ブロックコンポーネントの高さを設定する
697
+ #### 引数
698
+ - `attributes` object
699
+ ブロックの属性オブジェクト
700
+ - `isMobile` boolean
701
+ スクリーン幅が767px以下かどうかのフラグ
702
+ - `onHeightChange` function
703
+ heightの種別を設定するためのコールバック関数。返ってくる引数はfit,full,free
704
+ - `onFreeHeightChange` function
705
+ heightの種別がfreeのとき幅を設定するためのコールバック関数。返ってくる引数は数字
706
+
707
+ ```
708
+ <BlockHeight
709
+ attributes={attributes}
710
+ isMobile={isMobile}
711
+ onHeightChange={(value) => {
712
+ setAttributes(
713
+ !isMobile
714
+ ? { default_val: { ...default_val, height_val: value } }
715
+ : { mobile_val: { ...mobile_val, height_val: value } },
716
+ );
717
+ }}
718
+ onFreeHeightChange={(value) => {
719
+ setAttributes(
720
+ !isMobile
721
+ ? { default_val: { ...default_val, free_height: value } }
722
+ : { mobile_val: { ...mobile_val, free_height: value } },
723
+ );
724
+ }}
725
+ />
726
+ ```
727
+
638
728
  ## 色コードを変換する関数
639
729
  ### hslToRgb16
640
730
  Hslオブジェクトの値を与えると#000000型のRGB表記に変換するためのユーティリティ関数です。
@@ -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' => '63724134691ed0572ff5');
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' => '606c1f3cb2a77ddeacc5');