@brilo/base-blocks 0.1.43 → 0.1.45

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 (225) hide show
  1. package/build/.tsbuildinfo +1 -1
  2. package/build/blocks/compare/compare-group/constants.d.ts +27 -0
  3. package/build/blocks/compare/compare-group/constants.d.ts.map +1 -1
  4. package/build/blocks/compare/compare-group/constants.js +23 -0
  5. package/build/blocks/compare/compare-group/edit.d.ts.map +1 -1
  6. package/build/blocks/compare/compare-group/edit.js +12 -7
  7. package/build/blocks/compare/compare-group/factory.d.ts.map +1 -1
  8. package/build/blocks/compare/compare-group/factory.js +10 -1
  9. package/build/blocks/compare/compare-group/index.d.ts +1 -1
  10. package/build/blocks/compare/compare-group/index.d.ts.map +1 -1
  11. package/build/blocks/compare/compare-group/types.d.ts +7 -1
  12. package/build/blocks/compare/compare-group/types.d.ts.map +1 -1
  13. package/build/blocks/compare/compare-item/edit.d.ts.map +1 -1
  14. package/build/blocks/compare/compare-item/edit.js +6 -4
  15. package/build/blocks/compare/compare-item/factory.d.ts.map +1 -1
  16. package/build/blocks/compare/compare-item/factory.js +4 -0
  17. package/build/blocks/compare/compare-item/index.js +1 -1
  18. package/build/blocks/compare/compare-item/types.d.ts +2 -0
  19. package/build/blocks/compare/compare-item/types.d.ts.map +1 -1
  20. package/build/blocks/core/basic-icon/buildPreviewStyle.d.ts +8 -0
  21. package/build/blocks/core/basic-icon/buildPreviewStyle.d.ts.map +1 -0
  22. package/build/blocks/core/basic-icon/buildPreviewStyle.js +22 -0
  23. package/build/blocks/core/basic-icon/constants.d.ts +84 -0
  24. package/build/blocks/core/basic-icon/constants.d.ts.map +1 -0
  25. package/build/blocks/core/basic-icon/constants.js +41 -0
  26. package/build/blocks/core/basic-icon/edit.d.ts +6 -0
  27. package/build/blocks/core/basic-icon/edit.d.ts.map +1 -0
  28. package/build/blocks/core/basic-icon/edit.js +22 -0
  29. package/build/blocks/core/basic-icon/factory.d.ts +5 -0
  30. package/build/blocks/core/basic-icon/factory.d.ts.map +1 -0
  31. package/build/blocks/core/basic-icon/factory.js +38 -0
  32. package/build/blocks/core/basic-icon/index.d.ts +5 -0
  33. package/build/blocks/core/basic-icon/index.d.ts.map +1 -0
  34. package/build/blocks/core/basic-icon/index.js +7 -0
  35. package/build/blocks/core/basic-icon/types.d.ts +30 -0
  36. package/build/blocks/core/basic-icon/types.d.ts.map +1 -0
  37. package/build/blocks/core/basic-icon/types.js +1 -0
  38. package/build/blocks/faq/faq-group/constants.d.ts +29 -0
  39. package/build/blocks/faq/faq-group/constants.d.ts.map +1 -1
  40. package/build/blocks/faq/faq-group/constants.js +15 -0
  41. package/build/blocks/faq/faq-group/edit.d.ts.map +1 -1
  42. package/build/blocks/faq/faq-group/edit.js +14 -5
  43. package/build/blocks/faq/faq-group/factory.d.ts.map +1 -1
  44. package/build/blocks/faq/faq-group/factory.js +37 -17
  45. package/build/blocks/faq/faq-group/index.d.ts +1 -1
  46. package/build/blocks/faq/faq-group/index.d.ts.map +1 -1
  47. package/build/blocks/faq/faq-group/types.d.ts +21 -1
  48. package/build/blocks/faq/faq-group/types.d.ts.map +1 -1
  49. package/build/blocks/gallery/gallery-group/edit.d.ts.map +1 -1
  50. package/build/blocks/gallery/gallery-group/edit.js +4 -2
  51. package/build/blocks/gallery/gallery-group/factory.d.ts.map +1 -1
  52. package/build/blocks/gallery/gallery-group/factory.js +2 -0
  53. package/build/blocks/gallery/gallery-group/types.d.ts +1 -0
  54. package/build/blocks/gallery/gallery-group/types.d.ts.map +1 -1
  55. package/build/blocks/groups/text-and-media-group/index.d.ts.map +1 -1
  56. package/build/blocks/groups/text-and-media-group/index.js +1 -0
  57. package/build/blocks/list/list-group/constants.d.ts +21 -0
  58. package/build/blocks/list/list-group/constants.d.ts.map +1 -0
  59. package/build/blocks/list/list-group/constants.js +12 -0
  60. package/build/blocks/list/list-group/edit.d.ts +6 -0
  61. package/build/blocks/list/list-group/edit.d.ts.map +1 -0
  62. package/build/blocks/list/list-group/edit.js +30 -0
  63. package/build/blocks/list/list-group/factory.d.ts +7 -0
  64. package/build/blocks/list/list-group/factory.d.ts.map +1 -0
  65. package/build/blocks/list/list-group/factory.js +29 -0
  66. package/build/blocks/list/list-group/icon.d.ts +2 -0
  67. package/build/blocks/list/list-group/icon.d.ts.map +1 -0
  68. package/build/blocks/list/list-group/icon.js +2 -0
  69. package/build/blocks/list/list-group/index.d.ts +5 -0
  70. package/build/blocks/list/list-group/index.d.ts.map +1 -0
  71. package/build/blocks/list/list-group/index.js +11 -0
  72. package/build/blocks/list/list-group/types.d.ts +22 -0
  73. package/build/blocks/list/list-group/types.d.ts.map +1 -0
  74. package/build/blocks/list/list-group/types.js +1 -0
  75. package/build/blocks/list/list-item/buildPreviewStyle.d.ts +20 -0
  76. package/build/blocks/list/list-item/buildPreviewStyle.d.ts.map +1 -0
  77. package/build/blocks/list/list-item/buildPreviewStyle.js +18 -0
  78. package/build/blocks/list/list-item/constants.d.ts +36 -0
  79. package/build/blocks/list/list-item/constants.d.ts.map +1 -0
  80. package/build/blocks/list/list-item/constants.js +16 -0
  81. package/build/blocks/list/list-item/edit.d.ts +11 -0
  82. package/build/blocks/list/list-item/edit.d.ts.map +1 -0
  83. package/build/blocks/list/list-item/edit.js +18 -0
  84. package/build/blocks/list/list-item/factory.d.ts +5 -0
  85. package/build/blocks/list/list-item/factory.d.ts.map +1 -0
  86. package/build/blocks/list/list-item/factory.js +29 -0
  87. package/build/blocks/list/list-item/index.d.ts +5 -0
  88. package/build/blocks/list/list-item/index.d.ts.map +1 -0
  89. package/build/blocks/list/list-item/index.js +7 -0
  90. package/build/blocks/list/list-item/types.d.ts +21 -0
  91. package/build/blocks/list/list-item/types.d.ts.map +1 -0
  92. package/build/blocks/list/list-item/types.js +1 -0
  93. package/build/blocks/priceplan/priceplan-group/edit.d.ts +5 -2
  94. package/build/blocks/priceplan/priceplan-group/edit.d.ts.map +1 -1
  95. package/build/blocks/priceplan/priceplan-group/edit.js +7 -3
  96. package/build/blocks/priceplan/priceplan-group/factory.d.ts.map +1 -1
  97. package/build/blocks/priceplan/priceplan-group/factory.js +2 -1
  98. package/build/blocks/priceplan/priceplan-group/types.d.ts +1 -0
  99. package/build/blocks/priceplan/priceplan-group/types.d.ts.map +1 -1
  100. package/build/blocks/review/review-group/constants.d.ts +10 -0
  101. package/build/blocks/review/review-group/constants.d.ts.map +1 -1
  102. package/build/blocks/review/review-group/constants.js +5 -0
  103. package/build/blocks/review/review-group/edit.d.ts.map +1 -1
  104. package/build/blocks/review/review-group/edit.js +10 -6
  105. package/build/blocks/review/review-group/factory.d.ts.map +1 -1
  106. package/build/blocks/review/review-group/factory.js +36 -21
  107. package/build/blocks/review/review-group/index.d.ts +1 -1
  108. package/build/blocks/review/review-group/index.d.ts.map +1 -1
  109. package/build/blocks/review/review-group/types.d.ts +11 -1
  110. package/build/blocks/review/review-group/types.d.ts.map +1 -1
  111. package/build/blocks/sections/base-section/constants.d.ts +35 -0
  112. package/build/blocks/sections/base-section/constants.d.ts.map +1 -1
  113. package/build/blocks/sections/base-section/constants.js +10 -0
  114. package/build/blocks/sections/base-section/controls.d.ts.map +1 -1
  115. package/build/blocks/sections/base-section/controls.js +26 -12
  116. package/build/blocks/sections/base-section/edit.d.ts.map +1 -1
  117. package/build/blocks/sections/base-section/edit.js +12 -4
  118. package/build/blocks/sections/base-section/types.d.ts +9 -1
  119. package/build/blocks/sections/base-section/types.d.ts.map +1 -1
  120. package/build/blocks/signpost/signpost-group/edit.d.ts.map +1 -1
  121. package/build/blocks/signpost/signpost-group/edit.js +4 -2
  122. package/build/blocks/signpost/signpost-group/factory.d.ts.map +1 -1
  123. package/build/blocks/signpost/signpost-group/factory.js +2 -0
  124. package/build/blocks/signpost/signpost-group/types.d.ts +1 -0
  125. package/build/blocks/signpost/signpost-group/types.d.ts.map +1 -1
  126. package/build/blocks/step/step-group/edit.d.ts.map +1 -1
  127. package/build/blocks/step/step-group/edit.js +4 -3
  128. package/build/blocks/step/step-group/factory.d.ts.map +1 -1
  129. package/build/blocks/step/step-group/factory.js +2 -0
  130. package/build/blocks/step/step-group/types.d.ts +1 -0
  131. package/build/blocks/step/step-group/types.d.ts.map +1 -1
  132. package/build/blocks/text-and-form/text-and-form-text-column/index.d.ts.map +1 -1
  133. package/build/blocks/text-and-form/text-and-form-text-column/index.js +1 -0
  134. package/build/blocks/usp/usp-group/edit.d.ts.map +1 -1
  135. package/build/blocks/usp/usp-group/edit.js +4 -3
  136. package/build/blocks/usp/usp-group/factory.d.ts.map +1 -1
  137. package/build/blocks/usp/usp-group/factory.js +2 -0
  138. package/build/blocks/usp/usp-group/types.d.ts +1 -0
  139. package/build/blocks/usp/usp-group/types.d.ts.map +1 -1
  140. package/build/blocks/video/video-group/constants.d.ts +1 -0
  141. package/build/blocks/video/video-group/constants.d.ts.map +1 -1
  142. package/build/blocks/video/video-group/constants.js +1 -0
  143. package/build/blocks/video/video-group/edit.d.ts.map +1 -1
  144. package/build/blocks/video/video-group/edit.js +7 -5
  145. package/build/blocks/video/video-group/factory.d.ts.map +1 -1
  146. package/build/blocks/video/video-group/factory.js +9 -1
  147. package/build/blocks/video/video-group/types.d.ts +2 -0
  148. package/build/blocks/video/video-group/types.d.ts.map +1 -1
  149. package/build/components/ItemSpacingControl/index.d.ts +23 -0
  150. package/build/components/ItemSpacingControl/index.d.ts.map +1 -0
  151. package/build/components/ItemSpacingControl/index.js +32 -0
  152. package/build/index.d.ts +6 -0
  153. package/build/index.d.ts.map +1 -1
  154. package/build/index.js +3 -0
  155. package/package.json +1 -1
  156. package/src/blocks/compare/compare-group/constants.ts +27 -0
  157. package/src/blocks/compare/compare-group/edit.tsx +27 -4
  158. package/src/blocks/compare/compare-group/factory.tsx +10 -1
  159. package/src/blocks/compare/compare-group/index.ts +7 -1
  160. package/src/blocks/compare/compare-group/types.ts +5 -1
  161. package/src/blocks/compare/compare-item/edit.tsx +32 -13
  162. package/src/blocks/compare/compare-item/editor.scss +16 -0
  163. package/src/blocks/compare/compare-item/factory.tsx +4 -0
  164. package/src/blocks/compare/compare-item/index.ts +1 -1
  165. package/src/blocks/compare/compare-item/types.ts +2 -0
  166. package/src/blocks/core/basic-icon/buildPreviewStyle.ts +40 -0
  167. package/src/blocks/core/basic-icon/constants.ts +48 -0
  168. package/src/blocks/core/basic-icon/edit.tsx +170 -0
  169. package/src/blocks/core/basic-icon/editor.scss +119 -0
  170. package/src/blocks/core/basic-icon/factory.tsx +42 -0
  171. package/src/blocks/core/basic-icon/index.ts +17 -0
  172. package/src/blocks/core/basic-icon/types.ts +34 -0
  173. package/src/blocks/faq/faq-group/constants.ts +18 -0
  174. package/src/blocks/faq/faq-group/edit.tsx +121 -4
  175. package/src/blocks/faq/faq-group/factory.tsx +35 -13
  176. package/src/blocks/faq/faq-group/index.ts +9 -1
  177. package/src/blocks/faq/faq-group/types.ts +23 -1
  178. package/src/blocks/gallery/gallery-group/edit.tsx +4 -1
  179. package/src/blocks/gallery/gallery-group/factory.tsx +2 -0
  180. package/src/blocks/gallery/gallery-group/types.ts +1 -0
  181. package/src/blocks/groups/text-and-media-group/index.ts +1 -0
  182. package/src/blocks/list/list-group/constants.ts +15 -0
  183. package/src/blocks/list/list-group/edit.tsx +102 -0
  184. package/src/blocks/list/list-group/editor.scss +14 -0
  185. package/src/blocks/list/list-group/factory.tsx +35 -0
  186. package/src/blocks/list/list-group/icon.tsx +11 -0
  187. package/src/blocks/list/list-group/index.ts +15 -0
  188. package/src/blocks/list/list-group/types.ts +21 -0
  189. package/src/blocks/list/list-item/buildPreviewStyle.ts +52 -0
  190. package/src/blocks/list/list-item/constants.ts +18 -0
  191. package/src/blocks/list/list-item/edit.tsx +108 -0
  192. package/src/blocks/list/list-item/editor.scss +108 -0
  193. package/src/blocks/list/list-item/factory.tsx +33 -0
  194. package/src/blocks/list/list-item/index.ts +11 -0
  195. package/src/blocks/list/list-item/types.ts +23 -0
  196. package/src/blocks/priceplan/priceplan-group/edit.tsx +21 -5
  197. package/src/blocks/priceplan/priceplan-group/factory.tsx +2 -1
  198. package/src/blocks/priceplan/priceplan-group/types.ts +3 -1
  199. package/src/blocks/review/review-group/constants.ts +6 -0
  200. package/src/blocks/review/review-group/edit.tsx +50 -4
  201. package/src/blocks/review/review-group/factory.tsx +33 -16
  202. package/src/blocks/review/review-group/index.ts +10 -1
  203. package/src/blocks/review/review-group/types.ts +12 -1
  204. package/src/blocks/sections/base-section/constants.ts +14 -0
  205. package/src/blocks/sections/base-section/controls.tsx +93 -9
  206. package/src/blocks/sections/base-section/edit.tsx +10 -2
  207. package/src/blocks/sections/base-section/types.ts +14 -1
  208. package/src/blocks/signpost/signpost-group/edit.tsx +4 -1
  209. package/src/blocks/signpost/signpost-group/factory.tsx +2 -0
  210. package/src/blocks/signpost/signpost-group/types.ts +1 -0
  211. package/src/blocks/step/step-group/edit.tsx +4 -2
  212. package/src/blocks/step/step-group/factory.tsx +2 -0
  213. package/src/blocks/step/step-group/types.ts +1 -0
  214. package/src/blocks/text-and-form/text-and-form-text-column/index.ts +1 -0
  215. package/src/blocks/usp/usp-group/edit.tsx +4 -2
  216. package/src/blocks/usp/usp-group/factory.tsx +2 -0
  217. package/src/blocks/usp/usp-group/types.ts +1 -0
  218. package/src/blocks/video/video-group/constants.ts +2 -0
  219. package/src/blocks/video/video-group/edit.tsx +33 -2
  220. package/src/blocks/video/video-group/editor.scss +6 -1
  221. package/src/blocks/video/video-group/factory.tsx +9 -1
  222. package/src/blocks/video/video-group/types.ts +2 -0
  223. package/src/components/ItemSpacingControl/index.tsx +59 -0
  224. package/src/editor.scss +3 -0
  225. package/src/index.ts +11 -0
@@ -1,23 +1,25 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { InspectorControls, MediaUpload, MediaUploadCheck, RichText, useBlockProps } from '@wordpress/block-editor';
3
- import { Button, PanelBody, TextControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, } from '@wordpress/components';
3
+ import { BaseControl, Button, ColorPalette, PanelBody, TextControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, } from '@wordpress/components';
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import clsx from 'clsx';
6
- import { SIZES, VIDEO_TYPES } from './constants';
6
+ import { useTenantColorPalette } from '../../../hooks/useTenantColorPalette';
7
+ import { DEFAULT_OVERLAY_COLOR, SIZES, VIDEO_TYPES } from './constants';
7
8
  function extractYoutubeId(url) {
8
9
  const match = url.match(/(?:youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})/);
9
10
  return match ? match[1] : null;
10
11
  }
11
12
  export function createVideoGroupEdit(_options) {
12
13
  return function VideoGroupEdit({ attributes, setAttributes }) {
13
- const { type, url, mediaId, caption, size, poster } = attributes;
14
+ const { type, url, mediaId, caption, size, poster, playButtonTitle, overlayColor } = attributes;
15
+ const { paletteColors } = useTenantColorPalette();
14
16
  const youtubeId = type === 'youtube' ? extractYoutubeId(url) : null;
15
17
  const youtubeThumbnail = youtubeId ? `https://img.youtube.com/vi/${youtubeId}/maxresdefault.jpg` : null;
16
18
  const blockProps = useBlockProps({
17
19
  className: clsx('g-video wp-block-section', `--size-${size}`, `--type-${type}`),
18
20
  });
19
- return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsx(PanelBody, { title: __('Typ videa', 'brilo-blocks'), children: _jsx(ToggleGroupControl, { label: __('Zdroj', 'brilo-blocks'), value: type, onChange: (value) => setAttributes({ type: value, url: '', mediaId: 0 }), isBlock: true, children: VIDEO_TYPES.map((t) => (_jsx(ToggleGroupControlOption, { value: t.value, label: t.label }, t.value))) }) }), type === 'youtube' && (_jsx(PanelBody, { title: __('YouTube', 'brilo-blocks'), children: _jsx(TextControl, { label: __('URL videa', 'brilo-blocks'), value: url, onChange: (value) => setAttributes({ url: value }), placeholder: "https://www.youtube.com/watch?v=...", help: youtubeId ? __('✓ Platné YouTube video', 'brilo-blocks') : url ? __('⚠ Neplatná YouTube URL', 'brilo-blocks') : '' }) })), _jsx(PanelBody, { title: __('Náhledový obrázek', 'brilo-blocks'), initialOpen: false, children: _jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: (media) => setAttributes({ poster: { src: media.url, id: media.id } }), allowedTypes: ['image'], value: poster === null || poster === void 0 ? void 0 : poster.id, render: ({ open }) => (_jsx("div", { className: "g-video__poster-control", children: (poster === null || poster === void 0 ? void 0 : poster.src) ? (_jsxs(_Fragment, { children: [_jsx("img", { src: poster.src, alt: "", className: "g-video__poster-preview" }), _jsx(Button, { onClick: open, variant: "secondary", size: "small", children: __('Změnit obrázek', 'brilo-blocks') }), _jsx(Button, { onClick: () => setAttributes({ poster: { src: '', id: 0 } }), variant: "tertiary", size: "small", isDestructive: true, children: __('Odebrat', 'brilo-blocks') })] })) : (_jsx(Button, { onClick: open, variant: "secondary", children: __('Vybrat náhledový obrázek', 'brilo-blocks') })) })) }) }) }), _jsx(PanelBody, { title: __('Rozložení', 'brilo-blocks'), initialOpen: false, children: _jsx(ToggleGroupControl, { label: __('Velikost', 'brilo-blocks'), value: size, onChange: (value) => setAttributes({ size: value }), isBlock: true, children: SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }) })] }), _jsxs("div", { ...blockProps, children: [_jsx("div", { className: "g-video__media", children: type === 'youtube' ? (youtubeThumbnail ? (_jsxs("div", { className: "g-video__youtube-preview", children: [_jsx("img", { src: youtubeThumbnail, alt: "" }), _jsx("div", { className: "g-video__play-icon" })] })) : (_jsx("div", { className: clsx('g-video__empty', url && '--invalid'), children: _jsx("span", { className: "g-video__empty-label", children: url
21
+ return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Typ videa', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { label: __('Zdroj', 'brilo-blocks'), value: type, onChange: (value) => setAttributes({ type: value, url: '', mediaId: 0 }), isBlock: true, children: VIDEO_TYPES.map((t) => (_jsx(ToggleGroupControlOption, { value: t.value, label: t.label }, t.value))) }), _jsx(TextControl, { label: __('Text tlačítka přehrát', 'brilo-blocks'), value: playButtonTitle, onChange: (value) => setAttributes({ playButtonTitle: value }), placeholder: __('Přehrát video', 'brilo-blocks') })] }), type === 'youtube' && (_jsx(PanelBody, { title: __('YouTube', 'brilo-blocks'), children: _jsx(TextControl, { label: __('URL videa', 'brilo-blocks'), value: url, onChange: (value) => setAttributes({ url: value }), placeholder: "https://www.youtube.com/watch?v=...", help: youtubeId ? __('✓ Platné YouTube video', 'brilo-blocks') : url ? __('⚠ Neplatná YouTube URL', 'brilo-blocks') : '' }) })), _jsx(PanelBody, { title: __('Náhledový obrázek', 'brilo-blocks'), initialOpen: false, children: _jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: (media) => setAttributes({ poster: { src: media.url, id: media.id } }), allowedTypes: ['image'], value: poster === null || poster === void 0 ? void 0 : poster.id, render: ({ open }) => (_jsx("div", { className: "g-video__poster-control", children: (poster === null || poster === void 0 ? void 0 : poster.src) ? (_jsxs(_Fragment, { children: [_jsx("img", { src: poster.src, alt: "", className: "g-video__poster-preview" }), _jsx(Button, { onClick: open, variant: "secondary", size: "small", children: __('Změnit obrázek', 'brilo-blocks') }), _jsx(Button, { onClick: () => setAttributes({ poster: { src: '', id: 0 } }), variant: "tertiary", size: "small", isDestructive: true, children: __('Odebrat', 'brilo-blocks') })] })) : (_jsx(Button, { onClick: open, variant: "secondary", children: __('Vybrat náhledový obrázek', 'brilo-blocks') })) })) }) }) }), _jsxs(PanelBody, { title: __('Barevná vrstva', 'brilo-blocks'), initialOpen: false, children: [_jsx(BaseControl, { label: __('Barva překrytí náhledu', 'brilo-blocks'), help: __('Ztmaví náhled videa, aby tlačítko přehrát více vyniklo. Výchozí je černá s 25% průhledností.', 'brilo-blocks'), children: _jsx(ColorPalette, { colors: paletteColors, value: overlayColor || undefined, onChange: (value) => setAttributes({ overlayColor: value !== null && value !== void 0 ? value : '' }), enableAlpha: true, clearable: true }) }), _jsx(Button, { onClick: () => setAttributes({ overlayColor: DEFAULT_OVERLAY_COLOR }), variant: "tertiary", size: "small", children: __('Obnovit výchozí barvu', 'brilo-blocks') })] }), _jsx(PanelBody, { title: __('Rozložení', 'brilo-blocks'), initialOpen: false, children: _jsx(ToggleGroupControl, { label: __('Velikost', 'brilo-blocks'), value: size, onChange: (value) => setAttributes({ size: value }), isBlock: true, children: SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }) })] }), _jsxs("div", { ...blockProps, children: [_jsx("div", { className: "g-video__media", children: type === 'youtube' ? (youtubeThumbnail ? (_jsxs("div", { className: "g-video__youtube-preview", children: [_jsx("img", { src: youtubeThumbnail, alt: "" }), _jsx("div", { className: "g-video__overlay", style: overlayColor ? { backgroundColor: overlayColor } : undefined }), _jsx("div", { className: "g-video__play-icon" })] })) : (_jsx("div", { className: clsx('g-video__empty', url && '--invalid'), children: _jsx("span", { className: "g-video__empty-label", children: url
20
22
  ? __('⚠ Neplatná YouTube URL — zkontroluj odkaz', 'brilo-blocks')
21
- : __('Zadej YouTube URL v postranním panelu →', 'brilo-blocks') }) }))) : (_jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: (media) => setAttributes({ url: media.url, mediaId: media.id }), allowedTypes: ['video'], value: mediaId, render: ({ open }) => mediaId ? (_jsxs("div", { className: "g-video__media-inner", children: [_jsx("video", { src: url, poster: (poster === null || poster === void 0 ? void 0 : poster.src) || undefined, children: _jsx("track", { kind: "captions" }) }), _jsx(Button, { onClick: open, variant: "primary", className: "g-video__change-btn", children: __('Změnit video', 'brilo-blocks') })] })) : (_jsx("button", { type: "button", className: "g-video__empty", onClick: open, children: _jsx("span", { className: "g-video__empty-label", children: __('Klikni pro výběr videa z médií', 'brilo-blocks') }) })) }) })) }), _jsx(RichText, { tagName: "p", className: "g-video__caption u-text-editable", value: caption, onChange: (value) => setAttributes({ caption: value }), placeholder: __('Popisek videa...', 'brilo-blocks'), allowedFormats: ['core/bold', 'core/italic', 'brilo-blocks/text-color'] })] })] }));
23
+ : __('Zadej YouTube URL v postranním panelu →', 'brilo-blocks') }) }))) : (_jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: (media) => setAttributes({ url: media.url, mediaId: media.id }), allowedTypes: ['video'], value: mediaId, render: ({ open }) => mediaId ? (_jsxs("div", { className: "g-video__media-inner", children: [_jsx("video", { src: url, poster: (poster === null || poster === void 0 ? void 0 : poster.src) || undefined, children: _jsx("track", { kind: "captions" }) }), _jsx("div", { className: "g-video__overlay", style: overlayColor ? { backgroundColor: overlayColor } : undefined }), _jsx(Button, { onClick: open, variant: "primary", className: "g-video__change-btn", children: __('Změnit video', 'brilo-blocks') })] })) : (_jsx("button", { type: "button", className: "g-video__empty", onClick: open, children: _jsx("span", { className: "g-video__empty-label", children: __('Klikni pro výběr videa z médií', 'brilo-blocks') }) })) }) })) }), _jsx(RichText, { tagName: "p", className: "g-video__caption u-text-editable", value: caption, onChange: (value) => setAttributes({ caption: value }), placeholder: __('Popisek videa...', 'brilo-blocks'), allowedFormats: ['core/bold', 'core/italic', 'brilo-blocks/text-color'] })] })] }));
22
24
  };
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/video/video-group/factory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAKzD,OAAO,KAAK,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAEpE,YAAY,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,CAAA;AAErD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAyC1G"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/video/video-group/factory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAKzD,OAAO,KAAK,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAEpE,YAAY,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,CAAA;AAErD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAiD1G"}
@@ -1,5 +1,5 @@
1
1
  import { __ } from '@wordpress/i18n';
2
- import { SIZES, VIDEO_TYPES } from './constants';
2
+ import { DEFAULT_OVERLAY_COLOR, SIZES, VIDEO_TYPES } from './constants';
3
3
  import { createVideoGroupEdit } from './edit';
4
4
  import { icon as defaultIcon } from './icon';
5
5
  export function createVideoGroupBlock(options) {
@@ -40,6 +40,14 @@ export function createVideoGroupBlock(options) {
40
40
  id: 0,
41
41
  },
42
42
  },
43
+ playButtonTitle: {
44
+ type: 'string',
45
+ default: __('Přehrát video', 'brilo-blocks'),
46
+ },
47
+ overlayColor: {
48
+ type: 'string',
49
+ default: DEFAULT_OVERLAY_COLOR,
50
+ },
43
51
  },
44
52
  edit: createVideoGroupEdit(options),
45
53
  save: () => null,
@@ -13,6 +13,8 @@ export interface VideoGroupAttributes extends Record<string, unknown> {
13
13
  caption: string;
14
14
  size: VideoSize;
15
15
  poster: VideoPoster;
16
+ playButtonTitle: string;
17
+ overlayColor: string;
16
18
  }
17
19
  export interface VideoGroupOptions extends BriloBlockType {
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/video/video-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAEnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEvD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/video/video-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAEnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEvD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CAAG"}
@@ -0,0 +1,23 @@
1
+ export declare const ITEM_SPACING_MIN = 0;
2
+ export declare const ITEM_SPACING_MAX = 48;
3
+ export declare const ITEM_SPACING_STEP = 4;
4
+ /**
5
+ * Shared `spacing` attribute for group blocks. Intentionally has no `default`,
6
+ * so an unset value means "keep the block's default gap-* class".
7
+ */
8
+ export declare const ITEM_SPACING_ATTRIBUTE: {
9
+ readonly spacing: {
10
+ readonly type: 'number';
11
+ };
12
+ };
13
+ /**
14
+ * Editor container style fragment. Returns `undefined` when spacing is unset so
15
+ * the block keeps its default gap. Spread into an existing `containerStyle`.
16
+ */
17
+ export declare function itemSpacingStyle(spacing: number | undefined): Record<string, string> | undefined;
18
+ export declare function ItemSpacingPanel({ spacing, onChange, initialOpen, }: {
19
+ spacing: number | undefined;
20
+ onChange: (spacing: number | undefined) => void;
21
+ initialOpen?: boolean;
22
+ }): import("react").JSX.Element;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ItemSpacingControl/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,IAAI,CAAA;AACjC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAClC,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAYlC;;;GAGG;AACH,eAAO,MAAM,sBAAsB;aACjC,OAAO;iBAAG,IAAI,EAAE,QAAQ;;CAChB,CAAA;AAEV;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEhG;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,WAAmB,GACpB,EAAE;IACD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,+BAiBA"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { PanelBody, RangeControl } from '@wordpress/components';
3
+ import { __ } from '@wordpress/i18n';
4
+ export const ITEM_SPACING_MIN = 0;
5
+ export const ITEM_SPACING_MAX = 48;
6
+ export const ITEM_SPACING_STEP = 4;
7
+ const ITEM_SPACING_MARKS = [
8
+ { value: 0, label: '0' },
9
+ { value: 8, label: '8' },
10
+ { value: 16, label: '16' },
11
+ { value: 24, label: '24' },
12
+ { value: 32, label: '32' },
13
+ { value: 40, label: '40' },
14
+ { value: 48, label: '48' },
15
+ ];
16
+ /**
17
+ * Shared `spacing` attribute for group blocks. Intentionally has no `default`,
18
+ * so an unset value means "keep the block's default gap-* class".
19
+ */
20
+ export const ITEM_SPACING_ATTRIBUTE = {
21
+ spacing: { type: 'number' },
22
+ };
23
+ /**
24
+ * Editor container style fragment. Returns `undefined` when spacing is unset so
25
+ * the block keeps its default gap. Spread into an existing `containerStyle`.
26
+ */
27
+ export function itemSpacingStyle(spacing) {
28
+ return typeof spacing === 'number' ? { gap: `${spacing}px` } : undefined;
29
+ }
30
+ export function ItemSpacingPanel({ spacing, onChange, initialOpen = false, }) {
31
+ return (_jsx(PanelBody, { title: __('Mezery', 'brilo-blocks'), initialOpen: initialOpen, children: _jsx(RangeControl, { label: __('Mezera mezi položkami (px)', 'brilo-blocks'), help: __('Není-li nastaveno, použije se výchozí mezera bloku.', 'brilo-blocks'), value: spacing, onChange: onChange, min: ITEM_SPACING_MIN, max: ITEM_SPACING_MAX, step: ITEM_SPACING_STEP, marks: ITEM_SPACING_MARKS, allowReset: true, withInputField: true }) }));
32
+ }
package/build/index.d.ts CHANGED
@@ -20,6 +20,8 @@ export type { BasicHeadingAttributes, BasicHeadingOptions } from './blocks/core/
20
20
  export { basicHeadingDefaults, createBasicHeadingBlock } from './blocks/core/basic-heading';
21
21
  export type { BasicOverlineAttributes, BasicOverlineOptions } from './blocks/core/basic-overline';
22
22
  export { basicOverlineDefaults, createBasicOverlineBlock } from './blocks/core/basic-overline';
23
+ export type { BasicIconAlignment, BasicIconAttributes, BasicIconBackgroundShape, BasicIconOptions, } from './blocks/core/basic-icon';
24
+ export { basicIconDefaults, createBasicIconBlock } from './blocks/core/basic-icon';
23
25
  export type { HeroItemAttributes, HeroItemOptions } from './blocks/hero/hero-item';
24
26
  export { createHeroItemBlock, heroItemDefaults } from './blocks/hero/hero-item';
25
27
  export type { HeroGroupAttributes, HeroGroupOptions } from './blocks/hero/hero-group';
@@ -44,6 +46,10 @@ export type { UspGroupAttributes, UspGroupOptions } from './blocks/usp/usp-group
44
46
  export { createUspGroupBlock, uspGroupDefaults } from './blocks/usp/usp-group';
45
47
  export type { UspItemAttributes, UspItemOptions } from './blocks/usp/usp-item';
46
48
  export { createUspItemBlock, uspItemDefaults } from './blocks/usp/usp-item';
49
+ export type { ListContentSize, ListGroupAttributes, ListGroupOptions } from './blocks/list/list-group';
50
+ export { createListGroupBlock, listGroupDefaults } from './blocks/list/list-group';
51
+ export type { ListBulletShape, ListItemAttributes, ListItemOptions } from './blocks/list/list-item';
52
+ export { createListItemBlock, listItemDefaults } from './blocks/list/list-item';
47
53
  export type { GalleryGroupAttributes, GalleryGroupOptions } from './blocks/gallery/gallery-group';
48
54
  export { createGalleryGroupBlock, galleryGroupDefaults } from './blocks/gallery/gallery-group';
49
55
  export type { GalleryItemAttributes, GalleryItemOptions } from './blocks/gallery/gallery-item';
@@ -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
@@ -9,6 +9,7 @@ export { createFaqGroupBlock, faqGroupDefaults } from './blocks/faq/faq-group';
9
9
  export { basicButtonDefaults, createBasicButtonBlock } from './blocks/core/basic-button';
10
10
  export { basicHeadingDefaults, createBasicHeadingBlock } from './blocks/core/basic-heading';
11
11
  export { basicOverlineDefaults, createBasicOverlineBlock } from './blocks/core/basic-overline';
12
+ export { basicIconDefaults, createBasicIconBlock } from './blocks/core/basic-icon';
12
13
  export { createHeroItemBlock, heroItemDefaults } from './blocks/hero/hero-item';
13
14
  export { createHeroGroupBlock, heroGroupDefaults } from './blocks/hero/hero-group';
14
15
  export { createMapGroupBlock, mapGroupDefaults } from './blocks/map/map-group';
@@ -21,6 +22,8 @@ export { createTextAndFormGroupBlock, textAndFormGroupDefaults } from './blocks/
21
22
  export { createTextAndFormTextColumnBlock, textAndFormTextColumnDefaults } from './blocks/text-and-form/text-and-form-text-column';
22
23
  export { createUspGroupBlock, uspGroupDefaults } from './blocks/usp/usp-group';
23
24
  export { createUspItemBlock, uspItemDefaults } from './blocks/usp/usp-item';
25
+ export { createListGroupBlock, listGroupDefaults } from './blocks/list/list-group';
26
+ export { createListItemBlock, listItemDefaults } from './blocks/list/list-item';
24
27
  export { createGalleryGroupBlock, galleryGroupDefaults } from './blocks/gallery/gallery-group';
25
28
  export { createGalleryItemBlock, galleryItemDefaults } from './blocks/gallery/gallery-item';
26
29
  export { createPersonGroupBlock, personGroupDefaults } from './blocks/person/person-group';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brilo/base-blocks",
3
- "version": "0.1.43",
3
+ "version": "0.1.45",
4
4
  "author": "Brilo",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -1 +1,28 @@
1
+ import {__} from '@wordpress/i18n'
2
+
1
3
  export const HEADING_LEVELS = [2, 3, 4] as const
4
+
5
+ export const RATIOS = ['4:3', '3:2', '16:9', '1:1', '2:1', '3:4'] as const
6
+
7
+ export const DEFAULT_IMAGE_CLIP_PATHS = [
8
+ {value: 'none', label: __('Žádný', 'brilo-blocks')},
9
+ {value: 'circle', label: __('Kruh', 'brilo-blocks')},
10
+ {value: 'triangle', label: __('Trojúhelník', 'brilo-blocks')},
11
+ {value: 'rhombus', label: __('Kosočtverec', 'brilo-blocks')},
12
+ {value: 'octagon', label: __('Osmiúhelník', 'brilo-blocks')},
13
+ {value: 'bevel', label: __('Zkosený', 'brilo-blocks')},
14
+ {value: 'rabbet', label: __('Drážkovaný', 'brilo-blocks')},
15
+ {value: 'parallelogram', label: __('Rovnoběžník', 'brilo-blocks')},
16
+ ] as const
17
+
18
+ // Frontend reads the shapes from the theme's --shape-* tokens; the editor has no
19
+ // access to them, so the same geometry is inlined here for the preview CSS var.
20
+ export const IMAGE_CLIP_PATH_VALUES: Record<string, string> = {
21
+ circle: 'circle(50% at 50% 50%)',
22
+ triangle: 'polygon(50% 0%, 0% 100%, 100% 100%)',
23
+ rhombus: 'polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)',
24
+ octagon: 'polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%)',
25
+ bevel: 'polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%)',
26
+ rabbet: 'polygon(0% 15%, 15% 15%, 15% 0%, 85% 0%, 85% 15%, 100% 15%, 100% 85%, 85% 85%, 85% 100%, 15% 100%, 15% 85%, 0% 85%)',
27
+ parallelogram: 'polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%)',
28
+ }
@@ -1,13 +1,14 @@
1
1
  import {InspectorControls} from '@wordpress/block-editor'
2
2
  import {
3
3
  PanelBody,
4
+ SelectControl,
4
5
  __experimentalToggleGroupControl as ToggleGroupControl,
5
6
  __experimentalToggleGroupControlOption as ToggleGroupControlOption,
6
7
  } from '@wordpress/components'
7
8
  import {__} from '@wordpress/i18n'
8
9
  import {useGroupBlock} from '~/hooks/useGroupBlock'
9
- import {HEADING_LEVELS} from './constants'
10
- import type {CompareGroupAttributes, CompareGroupOptions} from './types'
10
+ import {DEFAULT_IMAGE_CLIP_PATHS, HEADING_LEVELS, IMAGE_CLIP_PATH_VALUES, RATIOS} from './constants'
11
+ import type {CompareGroupAttributes, CompareGroupOptions, CompareImageClipPath} from './types'
11
12
 
12
13
  export function createCompareGroupEdit(options: CompareGroupOptions) {
13
14
  return function Edit({
@@ -17,10 +18,16 @@ export function createCompareGroupEdit(options: CompareGroupOptions) {
17
18
  attributes: CompareGroupAttributes
18
19
  setAttributes: (a: Partial<CompareGroupAttributes>) => void
19
20
  }) {
20
- const {headingLevel} = attributes
21
+ const {headingLevel, ratio, img} = attributes
22
+ const clipPath = img?.clipPath ?? 'none'
23
+
21
24
  const {blockProps, innerBlocksProps} = useGroupBlock({
22
25
  blockClassName: options.blockClassName ?? 'g-compare wp-block-section',
23
- containerClassName: [options.containerClassName ?? 'u-grid-responsive'],
26
+ containerClassName: [options.containerClassName ?? 'u-grid-responsive', `--ratio-${ratio.replace(':', '-')}`],
27
+ containerStyle: {
28
+ // Inherited by every compare item inside the container.
29
+ ...(IMAGE_CLIP_PATH_VALUES[clipPath] && {'--compare-image-clip-path': IMAGE_CLIP_PATH_VALUES[clipPath]}),
30
+ },
24
31
  allowedBlocks: options.allowedBlocks,
25
32
  orientation: 'horizontal',
26
33
  template: options.template,
@@ -41,6 +48,22 @@ export function createCompareGroupEdit(options: CompareGroupOptions) {
41
48
  <ToggleGroupControlOption key={l} value={String(l)} label={`H${l}`} />
42
49
  ))}
43
50
  </ToggleGroupControl>
51
+ <ToggleGroupControl
52
+ isBlock
53
+ label={__('Poměr stran obrázku', 'brilo-blocks')}
54
+ value={ratio}
55
+ onChange={(v) => setAttributes({ratio: v as CompareGroupAttributes['ratio']})}
56
+ >
57
+ {RATIOS.map((r) => (
58
+ <ToggleGroupControlOption key={r} value={r} label={r} />
59
+ ))}
60
+ </ToggleGroupControl>
61
+ <SelectControl<string>
62
+ label={__('Tvar výřezu obrázku', 'brilo-blocks')}
63
+ value={clipPath}
64
+ options={[...DEFAULT_IMAGE_CLIP_PATHS]}
65
+ onChange={(v) => setAttributes({img: {...img, clipPath: v as CompareImageClipPath}})}
66
+ />
44
67
  </PanelBody>
45
68
  </InspectorControls>
46
69
  <div {...blockProps}>
@@ -3,7 +3,7 @@ import type {BlockConfiguration} from '@wordpress/blocks'
3
3
  import {__} from '@wordpress/i18n'
4
4
  import {createCompareGroupEdit} from './edit'
5
5
  import {icon as defaultIcon} from './icon'
6
- import {HEADING_LEVELS} from './constants'
6
+ import {DEFAULT_IMAGE_CLIP_PATHS, HEADING_LEVELS, RATIOS} from './constants'
7
7
  import type {CompareGroupAttributes, CompareGroupOptions} from './types'
8
8
 
9
9
  export type {CompareGroupAttributes, CompareGroupOptions}
@@ -22,6 +22,15 @@ export function createCompareGroupBlock(options: CompareGroupOptions): BlockConf
22
22
  type: 'number',
23
23
  default: HEADING_LEVELS[1],
24
24
  },
25
+ ratio: {
26
+ type: 'string',
27
+ default: RATIOS[0],
28
+ enum: [...RATIOS],
29
+ },
30
+ img: {
31
+ type: 'object',
32
+ default: {clipPath: DEFAULT_IMAGE_CLIP_PATHS[0].value},
33
+ },
25
34
  },
26
35
  edit: createCompareGroupEdit(options),
27
36
  save: () => <InnerBlocks.Content />,
@@ -1,4 +1,10 @@
1
- export type {CompareGroupAttributes, CompareGroupOptions} from './types'
1
+ export type {
2
+ CompareGroupAttributes,
3
+ CompareGroupOptions,
4
+ CompareHeadingLevel,
5
+ CompareImageClipPath,
6
+ CompareRatio,
7
+ } from './types'
2
8
  export {createCompareGroupBlock} from './factory'
3
9
  import type {CompareGroupOptions} from './types'
4
10
 
@@ -1,10 +1,14 @@
1
- import type {HEADING_LEVELS} from './constants'
2
1
  import type {BriloBlockType} from '~/types'
2
+ import type {DEFAULT_IMAGE_CLIP_PATHS, HEADING_LEVELS, RATIOS} from './constants'
3
3
 
4
4
  export type CompareHeadingLevel = (typeof HEADING_LEVELS)[number]
5
+ export type CompareRatio = (typeof RATIOS)[number]
6
+ export type CompareImageClipPath = (typeof DEFAULT_IMAGE_CLIP_PATHS)[number]['value']
5
7
 
6
8
  export interface CompareGroupAttributes extends Record<string, unknown> {
7
9
  headingLevel: CompareHeadingLevel
10
+ ratio: CompareRatio
11
+ img: {clipPath: CompareImageClipPath}
8
12
  }
9
13
 
10
14
  export interface CompareGroupOptions extends BriloBlockType {
@@ -1,5 +1,7 @@
1
- import {RichText, useBlockProps, useInnerBlocksProps} from '@wordpress/block-editor'
1
+ import {InspectorControls, RichText, useBlockProps, useInnerBlocksProps} from '@wordpress/block-editor'
2
+ import {PanelBody} from '@wordpress/components'
2
3
  import {__} from '@wordpress/i18n'
4
+ import {ImagePickerControl} from '~/components/ImagePicker'
3
5
  import type {CompareItemAttributes, CompareItemOptions} from './types'
4
6
 
5
7
  export function createCompareItemEdit(options: CompareItemOptions) {
@@ -10,7 +12,7 @@ export function createCompareItemEdit(options: CompareItemOptions) {
10
12
  attributes: CompareItemAttributes
11
13
  setAttributes: (a: Partial<CompareItemAttributes>) => void
12
14
  }) {
13
- const {title} = attributes
15
+ const {title, img} = attributes
14
16
  const blockProps = useBlockProps({className: 'i-compare'})
15
17
  const innerBlocksProps = useInnerBlocksProps(
16
18
  {className: 'i-compare__options wp-block-inner-content'},
@@ -21,18 +23,35 @@ export function createCompareItemEdit(options: CompareItemOptions) {
21
23
  )
22
24
 
23
25
  return (
24
- <div {...blockProps}>
25
- <div className={'i-compare__inner'}>
26
- <RichText
27
- tagName={'div'}
28
- className="i-compare__title u-text-editable"
29
- value={title}
30
- onChange={(v) => setAttributes({title: v})}
31
- placeholder={__('Nadpis...', 'brilo-blocks')}
32
- />
33
- <div {...innerBlocksProps} />
26
+ <>
27
+ <InspectorControls>
28
+ <PanelBody title={__('Obrázek', 'brilo-blocks')}>
29
+ <ImagePickerControl value={img} onChange={(val) => setAttributes({img: val})} />
30
+ </PanelBody>
31
+ </InspectorControls>
32
+
33
+ <div {...blockProps}>
34
+ <div className={'i-compare__inner'}>
35
+ <div className="i-compare__image-wrapper">
36
+ {img.id ? (
37
+ <ImagePickerControl value={img} onChange={(val) => setAttributes({img: val})} size={[128, 128]} />
38
+ ) : (
39
+ <div className="i-compare__image-placeholder">
40
+ <ImagePickerControl value={img} onChange={(val) => setAttributes({img: val})} />
41
+ </div>
42
+ )}
43
+ </div>
44
+ <RichText
45
+ tagName={'div'}
46
+ className="i-compare__title u-text-editable"
47
+ value={title}
48
+ onChange={(v) => setAttributes({title: v})}
49
+ placeholder={__('Nadpis...', 'brilo-blocks')}
50
+ />
51
+ <div {...innerBlocksProps} />
52
+ </div>
34
53
  </div>
35
- </div>
54
+ </>
36
55
  )
37
56
  }
38
57
  }
@@ -12,4 +12,20 @@
12
12
  .i-compare {
13
13
  width: 100%;
14
14
  }
15
+
16
+ .i-compare__image-placeholder {
17
+ border: 1px dashed #0073aa;
18
+ padding: 16px 8px 8px;
19
+ }
20
+
21
+ .i-compare__image-wrapper {
22
+ .c-image-picker-control__row {
23
+ flex-direction: column;
24
+ }
25
+
26
+ // Set by the parent compare group on the inner blocks container.
27
+ .c-image-picker-control__thumb {
28
+ clip-path: var(--compare-image-clip-path, none);
29
+ }
30
+ }
15
31
  }
@@ -21,6 +21,10 @@ export function createCompareItemBlock(options: CompareItemOptions): BlockConfig
21
21
  type: 'string',
22
22
  default: '',
23
23
  },
24
+ img: {
25
+ type: 'object',
26
+ default: {id: 0, alt: ''},
27
+ },
24
28
  },
25
29
  edit: createCompareItemEdit(options),
26
30
  save: () => <InnerBlocks.Content />,
@@ -5,7 +5,7 @@ import type {CompareItemOptions} from './types'
5
5
  export const compareItemDefaults: CompareItemOptions = {
6
6
  name: 'brilo/compare-item',
7
7
  parent: ['brilo/compare-group'],
8
- allowedBlocks: ['brilo/compare-option'],
8
+ allowedBlocks: ['brilo/compare-option', 'brilo/list-group'],
9
9
  template: [
10
10
  ['brilo/compare-option', {variant: 'plus'}],
11
11
  ['brilo/compare-option', {variant: 'minus'}],
@@ -1,7 +1,9 @@
1
+ import type {ImageValue} from '~/components/ImagePicker/ImagePicker'
1
2
  import type {BriloBlockType} from '~/types'
2
3
 
3
4
  export interface CompareItemAttributes extends Record<string, unknown> {
4
5
  title: string
6
+ img: ImageValue
5
7
  }
6
8
 
7
9
  export interface CompareItemOptions extends BriloBlockType {
@@ -0,0 +1,40 @@
1
+ import clsx from 'clsx'
2
+ import type {BasicIconStyle} from './types'
3
+
4
+ export interface BasicIconPreviewStyle {
5
+ rootClassName: string
6
+ iconClassName: string
7
+ cssVars: Record<string, string>
8
+ }
9
+
10
+ export function buildBasicIconPreviewStyle(
11
+ style: BasicIconStyle,
12
+ resolveHex: (value: string) => string = (value) => value,
13
+ ): BasicIconPreviewStyle {
14
+ const icon = style.icon ?? ({} as BasicIconStyle['icon'])
15
+
16
+ const rootClassName = clsx(
17
+ style.align && `--align-${style.align}`,
18
+ icon.background && icon.background !== 'none' && '--icon-background',
19
+ icon.color && icon.color !== 'none' && '--icon-color',
20
+ icon.borderColor && '--icon-bordered',
21
+ )
22
+
23
+ const iconClassName = clsx(
24
+ icon.backgroundShape && icon.backgroundShape !== 'none' && `--background-shape --background-shape-${icon.backgroundShape}`,
25
+ )
26
+
27
+ const cssVars: Record<string, string> = {}
28
+ if (icon.background && icon.background !== 'none') cssVars['--icon-background-color'] = resolveHex(icon.background)
29
+ if (icon.color && icon.color !== 'none') cssVars['--icon-color'] = resolveHex(icon.color)
30
+ if (icon.size) cssVars['--icon-size'] = `${icon.size}px`
31
+ if (icon.background && icon.background !== 'none' && icon.backgroundSize) {
32
+ cssVars['--icon-background-size'] = `${icon.backgroundSize}px`
33
+ }
34
+ if (icon.borderColor) {
35
+ cssVars['--icon-outline-color'] = resolveHex(icon.borderColor)
36
+ cssVars['--icon-outline-width'] = `${icon.borderWidth || 1}px`
37
+ }
38
+
39
+ return {rootClassName, iconClassName, cssVars}
40
+ }
@@ -0,0 +1,48 @@
1
+ import {__} from '@wordpress/i18n'
2
+
3
+ export const ICON_TYPES = [
4
+ {value: 'preselected', label: __('Předvolená', 'brilo-blocks')},
5
+ {value: 'media', label: __('Obrázek', 'brilo-blocks')},
6
+ {value: 'number', label: __('Číslo', 'brilo-blocks')},
7
+ ] as const
8
+
9
+ export const DEFAULT_ALIGNMENTS = [
10
+ {value: 'left', label: __('Vlevo', 'brilo-blocks')},
11
+ {value: 'center', label: __('Na střed', 'brilo-blocks')},
12
+ {value: 'right', label: __('Vpravo', 'brilo-blocks')},
13
+ ] as const
14
+
15
+ export const DEFAULT_ICON_SIZE = 88
16
+ export const ICON_SIZE_MIN = 4
17
+ export const ICON_SIZE_MAX = 128
18
+
19
+ export const DEFAULT_ICON_SIZE_PRESETS = [
20
+ {value: 8, label: __('XS', 'brilo-blocks')},
21
+ {value: 16, label: __('SM', 'brilo-blocks')},
22
+ {value: 24, label: __('MD', 'brilo-blocks')},
23
+ {value: 32, label: __('LG', 'brilo-blocks')},
24
+ {value: 48, label: __('XL', 'brilo-blocks')},
25
+ ] as const
26
+
27
+ export const DEFAULT_ICON_BACKGROUND_SIZE = 88
28
+ export const ICON_BACKGROUND_SIZE_MIN = 16
29
+ export const ICON_BACKGROUND_SIZE_MAX = 240
30
+
31
+ export const DEFAULT_ICON_BACKGROUND_SIZE_PRESETS = [
32
+ {value: 48, label: __('XS', 'brilo-blocks')},
33
+ {value: 64, label: __('SM', 'brilo-blocks')},
34
+ {value: 88, label: __('Výchozí', 'brilo-blocks')},
35
+ {value: 104, label: __('LG', 'brilo-blocks')},
36
+ {value: 128, label: __('XL', 'brilo-blocks')},
37
+ ] as const
38
+
39
+ export const DEFAULT_ICON_BACKGROUND_SHAPES = [
40
+ {value: 'none', label: __('Žádný', 'brilo-blocks')},
41
+ {value: 'circle', label: __('Kruh', 'brilo-blocks')},
42
+ {value: 'triangle', label: __('Trojúhelník', 'brilo-blocks')},
43
+ {value: 'rhombus', label: __('Kosočtverec', 'brilo-blocks')},
44
+ {value: 'octagon', label: __('Osmiúhelník', 'brilo-blocks')},
45
+ {value: 'bevel', label: __('Zkosený', 'brilo-blocks')},
46
+ {value: 'rabbet', label: __('Drážkovaný', 'brilo-blocks')},
47
+ {value: 'parallelogram', label: __('Rovnoběžník', 'brilo-blocks')},
48
+ ] as const