@brilo/base-blocks 0.1.8 → 0.1.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.
Files changed (158) hide show
  1. package/build/blocks/column/column-item/constants.d.ts +13 -0
  2. package/build/blocks/column/column-item/constants.d.ts.map +1 -1
  3. package/build/blocks/column/column-item/constants.js +19 -0
  4. package/build/blocks/column/column-item/edit.d.ts.map +1 -1
  5. package/build/blocks/column/column-item/edit.js +6 -6
  6. package/build/blocks/column/column-item/factory.d.ts.map +1 -1
  7. package/build/blocks/column/column-item/factory.js +5 -0
  8. package/build/blocks/column/column-item/index.d.ts.map +1 -1
  9. package/build/blocks/column/column-item/index.js +11 -1
  10. package/build/blocks/column/column-item/types.d.ts +1 -0
  11. package/build/blocks/column/column-item/types.d.ts.map +1 -1
  12. package/build/blocks/contact/contact-item/factory.d.ts +7 -2
  13. package/build/blocks/contact/contact-item/factory.d.ts.map +1 -1
  14. package/build/blocks/contact/contact-item/factory.js +2 -2
  15. package/build/blocks/core/basic-button/edit.d.ts.map +1 -1
  16. package/build/blocks/core/basic-button/edit.js +12 -5
  17. package/build/blocks/core/basic-button/factory.d.ts.map +1 -1
  18. package/build/blocks/core/basic-button/factory.js +4 -0
  19. package/build/blocks/core/basic-button/index.d.ts.map +1 -1
  20. package/build/blocks/core/basic-button/index.js +2 -0
  21. package/build/blocks/core/basic-button/types.d.ts +12 -1
  22. package/build/blocks/core/basic-button/types.d.ts.map +1 -1
  23. package/build/blocks/gallery/gallery-group/constants.d.ts +21 -0
  24. package/build/blocks/gallery/gallery-group/constants.d.ts.map +1 -0
  25. package/build/blocks/gallery/gallery-group/constants.js +9 -0
  26. package/build/blocks/gallery/gallery-group/edit.d.ts +7 -0
  27. package/build/blocks/gallery/gallery-group/edit.d.ts.map +1 -0
  28. package/build/blocks/gallery/gallery-group/edit.js +46 -0
  29. package/build/blocks/gallery/gallery-group/factory.d.ts +5 -0
  30. package/build/blocks/gallery/gallery-group/factory.d.ts.map +1 -0
  31. package/build/blocks/gallery/gallery-group/factory.js +33 -0
  32. package/build/blocks/gallery/gallery-group/index.d.ts +5 -0
  33. package/build/blocks/gallery/gallery-group/index.d.ts.map +1 -0
  34. package/build/blocks/gallery/gallery-group/index.js +7 -0
  35. package/build/blocks/gallery/gallery-group/types.d.ts +15 -0
  36. package/build/blocks/gallery/gallery-group/types.d.ts.map +1 -0
  37. package/build/blocks/gallery/gallery-group/types.js +1 -0
  38. package/build/blocks/gallery/gallery-item/edit.d.ts +6 -0
  39. package/build/blocks/gallery/gallery-item/edit.d.ts.map +1 -0
  40. package/build/blocks/gallery/gallery-item/edit.js +13 -0
  41. package/build/blocks/gallery/gallery-item/factory.d.ts +5 -0
  42. package/build/blocks/gallery/gallery-item/factory.d.ts.map +1 -0
  43. package/build/blocks/gallery/gallery-item/factory.js +22 -0
  44. package/build/blocks/gallery/gallery-item/index.d.ts +5 -0
  45. package/build/blocks/gallery/gallery-item/index.d.ts.map +1 -0
  46. package/build/blocks/gallery/gallery-item/index.js +6 -0
  47. package/build/blocks/gallery/gallery-item/types.d.ts +7 -0
  48. package/build/blocks/gallery/gallery-item/types.d.ts.map +1 -0
  49. package/build/blocks/gallery/gallery-item/types.js +1 -0
  50. package/build/blocks/link/link-item/edit.d.ts.map +1 -1
  51. package/build/blocks/link/link-item/edit.js +2 -2
  52. package/build/blocks/link/link-item/factory.d.ts.map +1 -1
  53. package/build/blocks/link/link-item/factory.js +1 -0
  54. package/build/blocks/link/link-item/types.d.ts +1 -0
  55. package/build/blocks/link/link-item/types.d.ts.map +1 -1
  56. package/build/blocks/map/map-group/constants.js +1 -1
  57. package/build/blocks/map/map-group/edit.d.ts.map +1 -1
  58. package/build/blocks/map/map-group/edit.js +4 -4
  59. package/build/blocks/map/map-group/factory.d.ts +2 -2
  60. package/build/blocks/map/map-group/factory.d.ts.map +1 -1
  61. package/build/blocks/map/map-group/factory.js +3 -3
  62. package/build/blocks/map/map-group/index.js +1 -1
  63. package/build/blocks/map/map-group/types.d.ts +1 -1
  64. package/build/blocks/map/map-group/types.d.ts.map +1 -1
  65. package/build/blocks/person/person-group/constants.d.ts +3 -0
  66. package/build/blocks/person/person-group/constants.d.ts.map +1 -0
  67. package/build/blocks/person/person-group/constants.js +2 -0
  68. package/build/blocks/person/person-group/edit.d.ts +6 -0
  69. package/build/blocks/person/person-group/edit.d.ts.map +1 -0
  70. package/build/blocks/person/person-group/edit.js +23 -0
  71. package/build/blocks/person/person-group/factory.d.ts +5 -0
  72. package/build/blocks/person/person-group/factory.d.ts.map +1 -0
  73. package/build/blocks/person/person-group/factory.js +32 -0
  74. package/build/blocks/person/person-group/icon.d.ts +2 -0
  75. package/build/blocks/person/person-group/icon.d.ts.map +1 -0
  76. package/build/blocks/person/person-group/icon.js +2 -0
  77. package/build/blocks/person/person-group/index.d.ts +5 -0
  78. package/build/blocks/person/person-group/index.d.ts.map +1 -0
  79. package/build/blocks/person/person-group/index.js +11 -0
  80. package/build/blocks/person/person-group/types.d.ts +8 -0
  81. package/build/blocks/person/person-group/types.d.ts.map +1 -0
  82. package/build/blocks/person/person-group/types.js +1 -0
  83. package/build/blocks/person/person-item/constants.d.ts +2 -0
  84. package/build/blocks/person/person-item/constants.d.ts.map +1 -0
  85. package/build/blocks/person/person-item/constants.js +1 -0
  86. package/build/blocks/person/person-item/edit.d.ts +6 -0
  87. package/build/blocks/person/person-item/edit.d.ts.map +1 -0
  88. package/build/blocks/person/person-item/edit.js +23 -0
  89. package/build/blocks/person/person-item/factory.d.ts +5 -0
  90. package/build/blocks/person/person-item/factory.d.ts.map +1 -0
  91. package/build/blocks/person/person-item/factory.js +26 -0
  92. package/build/blocks/person/person-item/icon.d.ts +2 -0
  93. package/build/blocks/person/person-item/icon.d.ts.map +1 -0
  94. package/build/blocks/person/person-item/icon.js +3 -0
  95. package/build/blocks/person/person-item/index.d.ts +5 -0
  96. package/build/blocks/person/person-item/index.d.ts.map +1 -0
  97. package/build/blocks/person/person-item/index.js +6 -0
  98. package/build/blocks/person/person-item/types.d.ts +12 -0
  99. package/build/blocks/person/person-item/types.d.ts.map +1 -0
  100. package/build/blocks/person/person-item/types.js +1 -0
  101. package/build/components/ImagePicker/ImagePicker.d.ts +5 -0
  102. package/build/components/ImagePicker/ImagePicker.d.ts.map +1 -1
  103. package/build/components/ImagePicker/ImagePicker.js +18 -11
  104. package/build/index.d.ts +10 -0
  105. package/build/index.d.ts.map +1 -1
  106. package/build/index.js +5 -0
  107. package/build/types.d.ts +2 -0
  108. package/build/types.d.ts.map +1 -1
  109. package/package.json +1 -1
  110. package/src/blocks/column/column-item/constants.ts +20 -0
  111. package/src/blocks/column/column-item/edit.tsx +20 -4
  112. package/src/blocks/column/column-item/factory.tsx +5 -0
  113. package/src/blocks/column/column-item/index.ts +11 -1
  114. package/src/blocks/column/column-item/types.ts +1 -0
  115. package/src/blocks/contact/contact-item/editor.scss +4 -0
  116. package/src/blocks/contact/contact-item/factory.tsx +13 -5
  117. package/src/blocks/core/basic-button/edit.tsx +50 -1
  118. package/src/blocks/core/basic-button/factory.tsx +4 -0
  119. package/src/blocks/core/basic-button/index.ts +2 -0
  120. package/src/blocks/core/basic-button/types.ts +13 -1
  121. package/src/blocks/gallery/gallery-group/constants.ts +10 -0
  122. package/src/blocks/gallery/gallery-group/edit.tsx +117 -0
  123. package/src/blocks/gallery/gallery-group/editor.scss +18 -0
  124. package/src/blocks/gallery/gallery-group/factory.tsx +36 -0
  125. package/src/blocks/gallery/gallery-group/index.ts +11 -0
  126. package/src/blocks/gallery/gallery-group/types.ts +21 -0
  127. package/src/blocks/gallery/gallery-item/edit.tsx +46 -0
  128. package/src/blocks/gallery/gallery-item/editor.scss +8 -0
  129. package/src/blocks/gallery/gallery-item/factory.tsx +26 -0
  130. package/src/blocks/gallery/gallery-item/index.ts +10 -0
  131. package/src/blocks/gallery/gallery-item/types.ts +7 -0
  132. package/src/blocks/link/link-item/edit.tsx +9 -1
  133. package/src/blocks/link/link-item/factory.tsx +1 -0
  134. package/src/blocks/link/link-item/types.ts +1 -0
  135. package/src/blocks/map/map-group/constants.ts +1 -1
  136. package/src/blocks/map/map-group/edit.tsx +14 -10
  137. package/src/blocks/map/map-group/factory.tsx +5 -5
  138. package/src/blocks/map/map-group/index.ts +1 -1
  139. package/src/blocks/map/map-group/types.ts +2 -4
  140. package/src/blocks/person/person-group/constants.ts +2 -0
  141. package/src/blocks/person/person-group/edit.tsx +65 -0
  142. package/src/blocks/person/person-group/editor.scss +0 -0
  143. package/src/blocks/person/person-group/factory.tsx +35 -0
  144. package/src/blocks/person/person-group/icon.tsx +14 -0
  145. package/src/blocks/person/person-group/index.ts +15 -0
  146. package/src/blocks/person/person-group/types.ts +8 -0
  147. package/src/blocks/person/person-item/constants.ts +4 -0
  148. package/src/blocks/person/person-item/edit.tsx +103 -0
  149. package/src/blocks/person/person-item/editor.scss +35 -0
  150. package/src/blocks/person/person-item/factory.tsx +29 -0
  151. package/src/blocks/person/person-item/icon.tsx +7 -0
  152. package/src/blocks/person/person-item/index.ts +10 -0
  153. package/src/blocks/person/person-item/types.ts +12 -0
  154. package/src/components/ImagePicker/ImagePicker.tsx +22 -10
  155. package/src/components/ImagePicker/editor.scss +2 -2
  156. package/src/editor.scss +4 -0
  157. package/src/index.ts +10 -0
  158. package/src/types.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -17,6 +17,10 @@ export { createTextAndFormGroupBlock, textAndFormGroupDefaults } from './blocks/
17
17
  export { createTextAndFormTextColumnBlock, textAndFormTextColumnDefaults } from './blocks/text-and-form/text-and-form-text-column';
18
18
  export { createUspGroupBlock, uspGroupDefaults } from './blocks/usp/usp-group';
19
19
  export { createUspItemBlock, uspItemDefaults } from './blocks/usp/usp-item';
20
+ export { createGalleryGroupBlock, galleryGroupDefaults } from './blocks/gallery/gallery-group';
21
+ export { createGalleryItemBlock, galleryItemDefaults } from './blocks/gallery/gallery-item';
22
+ export { createPersonGroupBlock, personGroupDefaults } from './blocks/person/person-group';
23
+ export { createPersonItemBlock, personItemDefaults } from './blocks/person/person-item';
20
24
  export { createTestimonialGroupBlock, testimonialGroupDefaults } from './blocks/testimonial/testimonial-group';
21
25
  export { createTestimonialItemBlock, testimonialItemDefaults } from './blocks/testimonial/testimonial-item';
22
26
  export { createCompareGroupBlock, compareGroupDefaults } from './blocks/compare/compare-group';
@@ -31,6 +35,7 @@ export { createColumnGroupBlock, columnGroupDefaults } from './blocks/column/col
31
35
  export { createColumnItemBlock, columnItemDefaults } from './blocks/column/column-item';
32
36
  export { baseAttributes, baseSectionDefaults, createBaseSectionBlock, createBaseSectionEdit, SPACING_POSITIONS, SPACING_SIZES, } from './blocks/sections/base-section';
33
37
  export { IconControl } from './components/IconControl';
38
+ export * from './components/ItemIconControl';
34
39
  export { ImagePickerBody, ImagePickerControl, useMediaUrl } from './components/ImagePicker';
35
40
  export { useGroupBlock } from './hooks/useGroupBlock';
36
41
  export { HEADING_LEVELS, HEADING_STYLES, HEADING_STYLE_OPTIONS } from './constants';
package/build/types.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface SelectOption {
6
6
  export interface Media {
7
7
  id: number;
8
8
  alt: string;
9
+ mimeType?: string;
9
10
  }
10
11
  export interface Icon {
11
12
  type: string;
@@ -25,6 +26,7 @@ export interface BriloBlockType {
25
26
  category?: string;
26
27
  allowedBlocks?: string[];
27
28
  template?: [string, Record<string, unknown>][];
29
+ attributes?: Record<string, unknown>;
28
30
  blockClassName?: string;
29
31
  containerClassName?: string;
30
32
  icon?: BlockTypeIconDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAA;AACzD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC,CAAA;AACvE,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAC/C,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAA;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC,CAAA;AACvE,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAC/C,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAA;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brilo/base-blocks",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "author": "Brilo",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -1 +1,21 @@
1
+ import {__} from '@wordpress/i18n'
2
+ import {justifyTop, justifyCenterVertical, justifyBottom} from '@wordpress/icons'
3
+
1
4
  export const SIZES = ['1/4', '1/3', '1/2', '2/3', '3/4', '1/1']
5
+ export const ALIGN = [
6
+ {
7
+ value: 'top',
8
+ label: __('Nahoru', 'brilo-blocks'),
9
+ icon: justifyTop,
10
+ },
11
+ {
12
+ value: 'center',
13
+ label: __('Uprostřed', 'brilo-blocks'),
14
+ icon: justifyCenterVertical,
15
+ },
16
+ {
17
+ value: 'bottom',
18
+ label: __('Dolu', 'brilo-blocks'),
19
+ icon: justifyBottom,
20
+ },
21
+ ]
@@ -1,10 +1,16 @@
1
1
  import {InspectorControls} from '@wordpress/block-editor'
2
- import {PanelBody, RangeControl} from '@wordpress/components'
2
+ import {
3
+ PanelBody,
4
+ RangeControl,
5
+ __experimentalToggleGroupControl as ToggleGroupControl,
6
+ __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
7
+ } from '@wordpress/components'
3
8
  import {__} from '@wordpress/i18n'
4
9
  import clsx from 'clsx'
5
10
  import {useGroupBlock} from '~/hooks/useGroupBlock'
6
11
  import type {ColumnItemAttributes, ColumnItemOptions} from './types'
7
- import {SIZES} from './constants'
12
+ import {ALIGN, SIZES} from './constants'
13
+ import {Icon} from '@wordpress/icons'
8
14
 
9
15
  export function createColumnItemEdit(options: ColumnItemOptions) {
10
16
  return function Edit({
@@ -14,9 +20,9 @@ export function createColumnItemEdit(options: ColumnItemOptions) {
14
20
  attributes: ColumnItemAttributes
15
21
  setAttributes: (a: Partial<ColumnItemAttributes>) => void
16
22
  }) {
17
- const {size} = attributes
23
+ const {size, align} = attributes
18
24
  const {blockProps, innerBlocksProps} = useGroupBlock({
19
- blockClassName: clsx(options.blockClassName ?? 'i-column', `--size-${size}`),
25
+ blockClassName: clsx(options.blockClassName ?? 'i-column', `--size-${size}`, align && `--align-${align}`),
20
26
  containerClassName: options.containerClassName ?? 'i-column__inner',
21
27
  allowedBlocks: options.allowedBlocks,
22
28
  template: options.template,
@@ -37,6 +43,16 @@ export function createColumnItemEdit(options: ColumnItemOptions) {
37
43
  withInputField={false}
38
44
  marks={SIZES.map((s, i) => ({label: s, value: i}))}
39
45
  />
46
+ <ToggleGroupControl
47
+ label={__('Zarovnání', 'brilo-blocks')}
48
+ value={align}
49
+ onChange={(v) => setAttributes({align: v as string})}
50
+ isBlock
51
+ >
52
+ {ALIGN.map((item) => (
53
+ <ToggleGroupControlOptionIcon key={item.value} value={item.value} label={item.label} icon={item.icon} />
54
+ ))}
55
+ </ToggleGroupControl>
40
56
  </PanelBody>
41
57
  </InspectorControls>
42
58
  <div {...blockProps}>
@@ -3,6 +3,7 @@ import type {BlockConfiguration} from '@wordpress/blocks'
3
3
  import {__} from '@wordpress/i18n'
4
4
  import {createColumnItemEdit} from './edit'
5
5
  import type {ColumnItemAttributes, ColumnItemOptions} from './types'
6
+ import {ALIGN} from './constants'
6
7
 
7
8
  export function createColumnItemBlock(options: ColumnItemOptions): BlockConfiguration<ColumnItemAttributes> {
8
9
  return {
@@ -18,6 +19,10 @@ export function createColumnItemBlock(options: ColumnItemOptions): BlockConfigur
18
19
  type: 'string',
19
20
  default: '1/2',
20
21
  },
22
+ align: {
23
+ type: 'string',
24
+ default: ALIGN[0],
25
+ },
21
26
  },
22
27
  edit: createColumnItemEdit(options),
23
28
  save: () => <InnerBlocks.Content />,
@@ -6,5 +6,15 @@ import type {ColumnItemOptions} from './types'
6
6
  export const columnItemDefaults: ColumnItemOptions = {
7
7
  name: 'brilo/column-item',
8
8
  parent: ['brilo/column-group'],
9
- allowedBlocks: ['core/paragraph', 'core/list', 'core/image', 'core/heading', 'core/embed', 'core/quote', 'core/table', 'core/gallery'],
9
+ allowedBlocks: [
10
+ 'core/paragraph',
11
+ 'core/list',
12
+ 'core/image',
13
+ 'core/heading',
14
+ 'core/embed',
15
+ 'core/quote',
16
+ 'core/table',
17
+ 'core/gallery',
18
+ 'brilo/link-item',
19
+ ],
10
20
  }
@@ -2,6 +2,7 @@ import type {BriloBlockType} from '~/types'
2
2
 
3
3
  export interface ColumnItemAttributes extends Record<string, unknown> {
4
4
  size: string
5
+ align: string
5
6
  }
6
7
 
7
8
  export interface ColumnItemOptions extends BriloBlockType {}
@@ -12,11 +12,15 @@
12
12
  grid-column: span var(--col-span, 1);
13
13
  margin-inline: 0;
14
14
  width: 100%;
15
+ box-sizing: border-box;
16
+ border: 1px solid #eee;
17
+ padding: 8px;
15
18
 
16
19
  .i-contact__inner {
17
20
  display: flex;
18
21
  flex-direction: column;
19
22
  gap: 8px;
23
+ width: 100%;
20
24
 
21
25
  p,
22
26
  h3,
@@ -1,14 +1,21 @@
1
1
  import {InnerBlocks} from '@wordpress/block-editor'
2
- import type {BlockConfiguration} from '@wordpress/blocks'
2
+ import type {BlockConfiguration, BlockEditProps} from '@wordpress/blocks'
3
3
  import {__} from '@wordpress/i18n'
4
+ import type {Icon} from '~/types'
5
+ import type {IconType} from '~/components/IconControl/IconControl'
4
6
  import {CONTACT_COLUMNS_CONTEXT} from '../contact-group/constants'
5
7
  import {CONTACT_ICON_SIZE_DEFAULT, CONTACT_ICON_TYPES} from './constants'
6
- import {createContactItemEdit} from './edit'
7
8
  import type {ContactItemAttributes, ContactItemOptions} from './types'
8
9
 
9
10
  export type {ContactItemAttributes, ContactItemOptions}
10
11
 
11
- export function createContactItemBlock(options: ContactItemOptions): BlockConfiguration<ContactItemAttributes> {
12
+ export function createContactItemBlock<T extends ContactItemAttributes = ContactItemAttributes>(
13
+ options: ContactItemOptions & {
14
+ icons: IconType[]
15
+ iconsSrc: string
16
+ edit: (props: BlockEditProps<T>) => JSX.Element
17
+ },
18
+ ): BlockConfiguration<T> {
12
19
  return {
13
20
  name: options.name,
14
21
  title: options.title ?? __('Kontaktní položka', 'brilo-blocks'),
@@ -19,6 +26,7 @@ export function createContactItemBlock(options: ContactItemOptions): BlockConfig
19
26
  supports: {html: false, customClassName: false},
20
27
  usesContext: [CONTACT_COLUMNS_CONTEXT],
21
28
  attributes: {
29
+ ...(options.attributes as any),
22
30
  colSpan: {type: 'number', default: 1},
23
31
  icon: {
24
32
  type: 'object',
@@ -29,7 +37,7 @@ export function createContactItemBlock(options: ContactItemOptions): BlockConfig
29
37
  default: {variant: 'md', custom: CONTACT_ICON_SIZE_DEFAULT},
30
38
  },
31
39
  },
32
- edit: createContactItemEdit(options),
40
+ edit: options.edit,
33
41
  save: () => <InnerBlocks.Content />,
34
- } as unknown as BlockConfiguration<ContactItemAttributes>
42
+ } as BlockConfiguration<T>
35
43
  }
@@ -5,11 +5,14 @@ import {
5
5
  ToggleControl,
6
6
  __experimentalToggleGroupControl as ToggleGroupControl,
7
7
  __experimentalToggleGroupControlOption as ToggleGroupControlOption,
8
+ RangeControl,
8
9
  } from '@wordpress/components'
9
10
  import {__} from '@wordpress/i18n'
10
11
  import clsx from 'clsx'
11
12
  import {DEFAULT_FULL_WIDTH_OPTIONS, DEFAULT_SIZES, DEFAULT_VARIANTS} from './constants'
12
13
  import type {BasicButtonAttributes, BasicButtonOptions, ButtonFullWidth, ButtonSize, ButtonVariant} from './types'
14
+ import {ItemIconControl, ItemIconPreview} from '~/components/ItemIconControl'
15
+ import {ICON_TYPES} from '~/blocks/link/link-item/constants'
13
16
 
14
17
  export function createBasicButtonEdit(options: BasicButtonOptions) {
15
18
  const VARIANTS = options.variants ?? DEFAULT_VARIANTS
@@ -23,7 +26,12 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
23
26
  attributes: BasicButtonAttributes
24
27
  setAttributes: (a: Partial<BasicButtonAttributes>) => void
25
28
  }) {
26
- const {title, variant, outline, fullWidth, size, url} = attributes
29
+ const {title, variant, outline, fullWidth, size, url, icon} = attributes
30
+ const hasIcon = icon.type !== 'none' && (icon.src || icon.media?.id)
31
+
32
+ const setIconBase = (attrs: {icon: import('~/types').Icon}) => {
33
+ setAttributes({icon: {...icon, ...attrs.icon} as typeof icon})
34
+ }
27
35
  const blockProps = useBlockProps({
28
36
  className: clsx(
29
37
  options.blockClassName ?? 'i-button',
@@ -34,6 +42,8 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
34
42
  ),
35
43
  })
36
44
 
45
+ const iconPreviewStyle = {maxWidth: icon.size, flex: `0 0 ${icon.size}px`} as React.CSSProperties
46
+
37
47
  return (
38
48
  <>
39
49
  <InspectorControls>
@@ -88,8 +98,42 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
88
98
  onChange={(value) => setAttributes({url: {...url, blank: value}})}
89
99
  />
90
100
  </PanelBody>
101
+ <PanelBody title={__('Ikona', 'brilo-blocks')} initialOpen={false}>
102
+ <ItemIconControl
103
+ icon={icon as unknown as import('~/types').Icon}
104
+ setAttributes={setIconBase}
105
+ iconTypes={ICON_TYPES}
106
+ options={options}
107
+ />
108
+ {hasIcon && (
109
+ <>
110
+ <ToggleGroupControl
111
+ isBlock
112
+ label={__('Pozice', 'brilo-blocks')}
113
+ value={icon.position}
114
+ onChange={(v) => setAttributes({icon: {...icon, position: String(v) as 'before' | 'after'}})}
115
+ >
116
+ <ToggleGroupControlOption value="before" label={__('Před', 'brilo-blocks')} />
117
+ <ToggleGroupControlOption value="after" label={__('Za', 'brilo-blocks')} />
118
+ </ToggleGroupControl>
119
+ <RangeControl
120
+ label={__('Velikost (px)', 'brilo-blocks')}
121
+ value={icon.size}
122
+ onChange={(v) => setAttributes({icon: {...icon, size: v ?? 24}})}
123
+ min={8}
124
+ max={80}
125
+ step={1}
126
+ />
127
+ </>
128
+ )}
129
+ </PanelBody>
91
130
  </InspectorControls>
92
131
  <div {...blockProps}>
132
+ {hasIcon && icon.position === 'before' && (
133
+ <span className="link-item__icon" style={iconPreviewStyle}>
134
+ <ItemIconPreview icon={icon as unknown as import('~/types').Icon} setAttributes={setIconBase} options={options} />
135
+ </span>
136
+ )}
93
137
  <div className="i-button__inner">
94
138
  <RichText
95
139
  tagName="span"
@@ -100,6 +144,11 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
100
144
  allowedFormats={[]}
101
145
  />
102
146
  </div>
147
+ {hasIcon && icon.position === 'after' && (
148
+ <span className="link-item__icon" style={iconPreviewStyle}>
149
+ <ItemIconPreview icon={icon as unknown as import('~/types').Icon} setAttributes={setIconBase} options={options} />
150
+ </span>
151
+ )}
103
152
  </div>
104
153
  </>
105
154
  )
@@ -45,6 +45,10 @@ export function createBasicButtonBlock<
45
45
  enum: sizes.map((s) => s.value),
46
46
  },
47
47
  url: {type: 'object', default: {src: '', blank: false}},
48
+ icon: {
49
+ type: 'object',
50
+ default: {type: 'none', src: '', media: {}, position: 'after', size: 24},
51
+ },
48
52
  },
49
53
  edit: createBasicButtonEdit(options as unknown as BasicButtonOptions),
50
54
  save: () => null,
@@ -5,4 +5,6 @@ import type {BasicButtonOptions} from './types'
5
5
 
6
6
  export const basicButtonDefaults: BasicButtonOptions = {
7
7
  name: 'brilo/basic-button',
8
+ icons: [],
9
+ iconsSrc: '',
8
10
  }
@@ -1,10 +1,19 @@
1
- import type {BriloBlockType, OptionArray} from '~/types'
1
+ import type {BriloBlockType, Media, OptionArray} from '~/types'
2
2
  import type {DEFAULT_FULL_WIDTH_OPTIONS, DEFAULT_SIZES, DEFAULT_VARIANTS} from './constants'
3
+ import type {IconType} from '~/components/IconControl/IconControl'
3
4
 
4
5
  export type ButtonVariant = (typeof DEFAULT_VARIANTS)[number]['value']
5
6
  export type ButtonSize = (typeof DEFAULT_SIZES)[number]['value']
6
7
  export type ButtonFullWidth = (typeof DEFAULT_FULL_WIDTH_OPTIONS)[number]['value']
7
8
 
9
+ export interface LinkItemIcon {
10
+ type: 'preselected' | 'media' | 'none'
11
+ src: string
12
+ media: Media
13
+ position: 'before' | 'after'
14
+ size: number
15
+ }
16
+
8
17
  export interface BasicButtonAttributes<
9
18
  TVariant extends string = ButtonVariant,
10
19
  TSize extends string = ButtonSize,
@@ -15,6 +24,7 @@ export interface BasicButtonAttributes<
15
24
  outline: boolean
16
25
  fullWidth: TFullWidth
17
26
  size: TSize
27
+ icon: LinkItemIcon
18
28
  url: {src: string; blank: boolean}
19
29
  }
20
30
 
@@ -26,4 +36,6 @@ export interface BasicButtonOptions<
26
36
  variants?: TVariants
27
37
  sizes?: TSizes
28
38
  fullWidthOptions?: TFullWidthOptions
39
+ icons: IconType[]
40
+ iconsSrc: string
29
41
  }
@@ -0,0 +1,10 @@
1
+ export const DEFAULT_COLUMNS = [2, 3, 4, 6] as const
2
+
3
+ export const DEFAULT_RATIOS = [
4
+ {value: '4:3', label: '4:3'},
5
+ {value: '16:9', label: '16:9'},
6
+ {value: '3:2', label: '3:2'},
7
+ {value: '1:1', label: '1:1'},
8
+ {value: '2:1', label: '2:1'},
9
+ {value: '3:4', label: '3:4'},
10
+ ] as const
@@ -0,0 +1,117 @@
1
+ import {InspectorControls, MediaUpload} from '@wordpress/block-editor'
2
+ import {
3
+ PanelBody,
4
+ TextControl,
5
+ __experimentalToggleGroupControl as ToggleGroupControl,
6
+ __experimentalToggleGroupControlOption as ToggleGroupControlOption,
7
+ } from '@wordpress/components'
8
+ import {__} from '@wordpress/i18n'
9
+ import {useDispatch} from '@wordpress/data'
10
+ import {createBlock} from '@wordpress/blocks'
11
+ import clsx from 'clsx'
12
+ import {useGroupBlock} from '~/hooks/useGroupBlock'
13
+ import {DEFAULT_COLUMNS, DEFAULT_RATIOS} from './constants'
14
+ import type {GalleryGroupAttributes, GalleryGroupOptions, GalleryRatio} from './types'
15
+
16
+ type Media = {
17
+ id: number
18
+ url: string
19
+ }
20
+
21
+ export function createGalleryGroupEdit(options: GalleryGroupOptions) {
22
+ const COLUMNS = options.columns ?? DEFAULT_COLUMNS
23
+ const RATIOS = options.ratios ?? DEFAULT_RATIOS
24
+
25
+ return function Edit({
26
+ attributes,
27
+ setAttributes,
28
+ clientId,
29
+ }: {
30
+ attributes: GalleryGroupAttributes
31
+ setAttributes: (a: Partial<GalleryGroupAttributes>) => void
32
+ clientId: string
33
+ }) {
34
+ const {columns, ratio, galleryId} = attributes
35
+ const {insertBlock} = useDispatch('core/block-editor')
36
+
37
+ const addNewBlock = (imageId: number) => {
38
+ const newBlock = createBlock(options.allowedBlocks[0], {
39
+ img: {
40
+ id: imageId,
41
+ },
42
+ })
43
+
44
+ insertBlock(newBlock, undefined, clientId)
45
+ }
46
+
47
+ const onSelectImages = (media: Media[]) => {
48
+ media.forEach((item) => addNewBlock(item.id))
49
+ }
50
+
51
+ const CustomAppender = () => {
52
+ return (
53
+ <MediaUpload
54
+ onSelect={onSelectImages}
55
+ multiple="add"
56
+ allowedTypes={['image']}
57
+ render={({open}) => (
58
+ <div onClick={open} className="g-gallery__appender">
59
+ {__('Přidat obrázky', 'brilo-blocks')}
60
+ </div>
61
+ )}
62
+ />
63
+ )
64
+ }
65
+
66
+ const {blockProps, innerBlocksProps} = useGroupBlock({
67
+ blockClassName: clsx(options.blockClassName ?? 'g-gallery wp-block-section'),
68
+ containerClassName: [options.containerClassName ?? 'u-grid-responsive', `--cols-${columns}`],
69
+ containerStyle: {
70
+ '--grid-max-col-count': columns,
71
+ '--gallery-aspect-ratio': ratio.replace(':', '/'),
72
+ },
73
+ allowedBlocks: options.allowedBlocks,
74
+ renderAppender: CustomAppender,
75
+ template: options.template,
76
+ layout: {type: 'default'},
77
+ })
78
+
79
+ return (
80
+ <>
81
+ <InspectorControls>
82
+ <PanelBody title={__('Rozložení', 'brilo-blocks')}>
83
+ <ToggleGroupControl
84
+ isBlock
85
+ label={__('Počet sloupců', 'brilo-blocks')}
86
+ value={String(columns)}
87
+ onChange={(v) => setAttributes({columns: Number(v) as GalleryGroupAttributes['columns']})}
88
+ >
89
+ {COLUMNS.map((c) => (
90
+ <ToggleGroupControlOption key={c} value={String(c)} label={String(c)} />
91
+ ))}
92
+ </ToggleGroupControl>
93
+ <ToggleGroupControl
94
+ isBlock
95
+ label={__('Poměr stran', 'brilo-blocks')}
96
+ value={ratio}
97
+ onChange={(v) => setAttributes({ratio: v as GalleryRatio})}
98
+ >
99
+ {RATIOS.map((r) => (
100
+ <ToggleGroupControlOption key={r.value} value={r.value} label={r.label} />
101
+ ))}
102
+ </ToggleGroupControl>
103
+ <TextControl
104
+ label={__('Gallery ID', 'brilo-blocks')}
105
+ value={galleryId}
106
+ onChange={(v) => setAttributes({galleryId: v})}
107
+ help={__('ID pro oddělení/spojení galerií', 'brilo-blocks')}
108
+ />
109
+ </PanelBody>
110
+ </InspectorControls>
111
+ <div {...blockProps}>
112
+ <div {...innerBlocksProps} />
113
+ </div>
114
+ </>
115
+ )
116
+ }
117
+ }
@@ -0,0 +1,18 @@
1
+ .g-gallery__appender {
2
+ padding: 16px;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ border: 2px dashed lightblue;
7
+ height: 100%;
8
+ cursor: pointer;
9
+ box-sizing: border-box;
10
+ min-height: 256px;
11
+ }
12
+
13
+ .g-gallery {
14
+ .block-list-appender {
15
+ width: 100%;
16
+ position: relative;
17
+ }
18
+ }
@@ -0,0 +1,36 @@
1
+ import type {BlockConfiguration} from '@wordpress/blocks'
2
+ import {__} from '@wordpress/i18n'
3
+ import {createGalleryGroupEdit} from './edit'
4
+ import {DEFAULT_COLUMNS, DEFAULT_RATIOS} from './constants'
5
+ import type {GalleryGroupAttributes, GalleryGroupOptions} from './types'
6
+ import {InnerBlocks} from '@wordpress/block-editor'
7
+
8
+ export type {GalleryGroupAttributes, GalleryGroupOptions}
9
+
10
+ export function createGalleryGroupBlock(options: GalleryGroupOptions): BlockConfiguration<GalleryGroupAttributes> {
11
+ return {
12
+ name: options.name,
13
+ title: options.title ?? __('Gallery Group', 'brilo-blocks'),
14
+ description: options.description,
15
+ category: options.category ?? 'layout',
16
+ ...(options.parent && {parent: options.parent}),
17
+ icon: options.icon ?? 'format-gallery',
18
+ supports: {html: false, customClassName: false},
19
+ attributes: {
20
+ columns: {
21
+ type: 'number',
22
+ default: options.columns ? options.columns[0] : DEFAULT_COLUMNS[1], // Default to 3 if not specified
23
+ },
24
+ ratio: {
25
+ type: 'string',
26
+ default: options.ratios ? options.ratios[0].value : DEFAULT_RATIOS[0].value,
27
+ },
28
+ galleryId: {
29
+ type: 'string',
30
+ default: 'gallery',
31
+ },
32
+ },
33
+ edit: createGalleryGroupEdit(options),
34
+ save: () => <InnerBlocks.Content />,
35
+ } as unknown as BlockConfiguration<GalleryGroupAttributes>
36
+ }
@@ -0,0 +1,11 @@
1
+ export type {GalleryGroupAttributes, GalleryGroupOptions} from './types'
2
+ export {createGalleryGroupBlock} from './factory'
3
+
4
+ import type {GalleryGroupOptions} from './types'
5
+
6
+ export const galleryGroupDefaults: GalleryGroupOptions = {
7
+ name: 'brilo/gallery-group',
8
+ parent: ['brilo/base-section'],
9
+ allowedBlocks: ['brilo/gallery-item'],
10
+ template: [],
11
+ }
@@ -0,0 +1,21 @@
1
+ import type {BriloBlockType, NumberArray, OptionArray} from '~/types'
2
+ import type {DEFAULT_COLUMNS, DEFAULT_RATIOS} from './constants'
3
+
4
+ export type GalleryColumns = (typeof DEFAULT_COLUMNS)[number]
5
+ export type GalleryRatio = (typeof DEFAULT_RATIOS)[number]['value']
6
+
7
+ export interface GalleryGroupAttributes<TColumn extends number = GalleryColumns, TRatio extends string = GalleryRatio>
8
+ extends Record<string, unknown> {
9
+ columns: TColumn
10
+ ratio: TRatio
11
+ galleryId: string
12
+ }
13
+
14
+ export interface GalleryGroupOptions<
15
+ TColumns extends NumberArray = typeof DEFAULT_COLUMNS,
16
+ TRatios extends OptionArray = typeof DEFAULT_RATIOS,
17
+ > extends BriloBlockType {
18
+ allowedBlocks: string[]
19
+ columns?: TColumns
20
+ ratios?: TRatios
21
+ }