@brilo/base-blocks 0.1.22 → 0.1.23

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 (120) hide show
  1. package/build/.tsbuildinfo +1 -1
  2. package/build/blocks/layout/layout-aside/constants.d.ts +2 -0
  3. package/build/blocks/layout/layout-aside/constants.d.ts.map +1 -0
  4. package/build/blocks/layout/layout-aside/constants.js +1 -0
  5. package/build/blocks/layout/layout-aside/edit.d.ts +4 -0
  6. package/build/blocks/layout/layout-aside/edit.d.ts.map +1 -0
  7. package/build/blocks/layout/layout-aside/edit.js +13 -0
  8. package/build/blocks/layout/layout-aside/factory.d.ts +4 -0
  9. package/build/blocks/layout/layout-aside/factory.d.ts.map +1 -0
  10. package/build/blocks/layout/layout-aside/factory.js +20 -0
  11. package/build/blocks/layout/layout-aside/icon.d.ts +3 -0
  12. package/build/blocks/layout/layout-aside/icon.d.ts.map +1 -0
  13. package/build/blocks/layout/layout-aside/icon.js +2 -0
  14. package/build/blocks/layout/layout-aside/index.d.ts +5 -0
  15. package/build/blocks/layout/layout-aside/index.d.ts.map +1 -0
  16. package/build/blocks/layout/layout-aside/index.js +5 -0
  17. package/build/blocks/layout/layout-aside/types.d.ts +6 -0
  18. package/build/blocks/layout/layout-aside/types.d.ts.map +1 -0
  19. package/build/blocks/layout/layout-aside/types.js +1 -0
  20. package/build/blocks/layout/layout-content/constants.d.ts +2 -0
  21. package/build/blocks/layout/layout-content/constants.d.ts.map +1 -0
  22. package/build/blocks/layout/layout-content/constants.js +1 -0
  23. package/build/blocks/layout/layout-content/edit.d.ts +4 -0
  24. package/build/blocks/layout/layout-content/edit.d.ts.map +1 -0
  25. package/build/blocks/layout/layout-content/edit.js +13 -0
  26. package/build/blocks/layout/layout-content/factory.d.ts +4 -0
  27. package/build/blocks/layout/layout-content/factory.d.ts.map +1 -0
  28. package/build/blocks/layout/layout-content/factory.js +20 -0
  29. package/build/blocks/layout/layout-content/icon.d.ts +3 -0
  30. package/build/blocks/layout/layout-content/icon.d.ts.map +1 -0
  31. package/build/blocks/layout/layout-content/icon.js +2 -0
  32. package/build/blocks/layout/layout-content/index.d.ts +5 -0
  33. package/build/blocks/layout/layout-content/index.d.ts.map +1 -0
  34. package/build/blocks/layout/layout-content/index.js +5 -0
  35. package/build/blocks/layout/layout-content/types.d.ts +6 -0
  36. package/build/blocks/layout/layout-content/types.d.ts.map +1 -0
  37. package/build/blocks/layout/layout-content/types.js +1 -0
  38. package/build/blocks/layout/layout-content-w-aside/constants.d.ts +11 -0
  39. package/build/blocks/layout/layout-content-w-aside/constants.d.ts.map +1 -0
  40. package/build/blocks/layout/layout-content-w-aside/constants.js +6 -0
  41. package/build/blocks/layout/layout-content-w-aside/edit.d.ts +7 -0
  42. package/build/blocks/layout/layout-content-w-aside/edit.d.ts.map +1 -0
  43. package/build/blocks/layout/layout-content-w-aside/edit.js +22 -0
  44. package/build/blocks/layout/layout-content-w-aside/factory.d.ts +6 -0
  45. package/build/blocks/layout/layout-content-w-aside/factory.d.ts.map +1 -0
  46. package/build/blocks/layout/layout-content-w-aside/factory.js +26 -0
  47. package/build/blocks/layout/layout-content-w-aside/icon.d.ts +3 -0
  48. package/build/blocks/layout/layout-content-w-aside/icon.d.ts.map +1 -0
  49. package/build/blocks/layout/layout-content-w-aside/icon.js +2 -0
  50. package/build/blocks/layout/layout-content-w-aside/index.d.ts +5 -0
  51. package/build/blocks/layout/layout-content-w-aside/index.d.ts.map +1 -0
  52. package/build/blocks/layout/layout-content-w-aside/index.js +9 -0
  53. package/build/blocks/layout/layout-content-w-aside/types.d.ts +10 -0
  54. package/build/blocks/layout/layout-content-w-aside/types.d.ts.map +1 -0
  55. package/build/blocks/layout/layout-content-w-aside/types.js +1 -0
  56. package/build/blocks/post/posts-grid/constants.d.ts +4 -0
  57. package/build/blocks/post/posts-grid/constants.d.ts.map +1 -0
  58. package/build/blocks/post/posts-grid/constants.js +3 -0
  59. package/build/blocks/post/posts-grid/edit.d.ts +6 -0
  60. package/build/blocks/post/posts-grid/edit.d.ts.map +1 -0
  61. package/build/blocks/post/posts-grid/edit.js +21 -0
  62. package/build/blocks/post/posts-grid/factory.d.ts +5 -0
  63. package/build/blocks/post/posts-grid/factory.d.ts.map +1 -0
  64. package/build/blocks/post/posts-grid/factory.js +59 -0
  65. package/build/blocks/post/posts-grid/icon.d.ts +2 -0
  66. package/build/blocks/post/posts-grid/icon.d.ts.map +1 -0
  67. package/build/blocks/post/posts-grid/icon.js +2 -0
  68. package/build/blocks/post/posts-grid/index.d.ts +5 -0
  69. package/build/blocks/post/posts-grid/index.d.ts.map +1 -0
  70. package/build/blocks/post/posts-grid/index.js +5 -0
  71. package/build/blocks/post/posts-grid/types.d.ts +22 -0
  72. package/build/blocks/post/posts-grid/types.d.ts.map +1 -0
  73. package/build/blocks/post/posts-grid/types.js +1 -0
  74. package/build/blocks/sections/base-section/attributes.d.ts +4 -0
  75. package/build/blocks/sections/base-section/attributes.d.ts.map +1 -1
  76. package/build/blocks/sections/base-section/attributes.js +4 -0
  77. package/build/blocks/sections/base-section/constants.d.ts +7 -0
  78. package/build/blocks/sections/base-section/constants.d.ts.map +1 -1
  79. package/build/blocks/sections/base-section/constants.js +7 -0
  80. package/build/blocks/sections/base-section/controls.d.ts.map +1 -1
  81. package/build/blocks/sections/base-section/controls.js +23 -5
  82. package/build/blocks/sections/base-section/types.d.ts +18 -1
  83. package/build/blocks/sections/base-section/types.d.ts.map +1 -1
  84. package/build/index.d.ts +8 -0
  85. package/build/index.d.ts.map +1 -1
  86. package/build/index.js +4 -0
  87. package/package.json +1 -1
  88. package/src/blocks/layout/layout-aside/constants.ts +1 -0
  89. package/src/blocks/layout/layout-aside/edit.tsx +20 -0
  90. package/src/blocks/layout/layout-aside/editor.scss +9 -0
  91. package/src/blocks/layout/layout-aside/factory.tsx +24 -0
  92. package/src/blocks/layout/layout-aside/icon.tsx +12 -0
  93. package/src/blocks/layout/layout-aside/index.ts +9 -0
  94. package/src/blocks/layout/layout-aside/types.ts +5 -0
  95. package/src/blocks/layout/layout-content/constants.ts +1 -0
  96. package/src/blocks/layout/layout-content/edit.tsx +20 -0
  97. package/src/blocks/layout/layout-content/editor.scss +9 -0
  98. package/src/blocks/layout/layout-content/factory.tsx +24 -0
  99. package/src/blocks/layout/layout-content/icon.tsx +12 -0
  100. package/src/blocks/layout/layout-content/index.ts +9 -0
  101. package/src/blocks/layout/layout-content/types.ts +5 -0
  102. package/src/blocks/layout/layout-content-w-aside/constants.ts +7 -0
  103. package/src/blocks/layout/layout-content-w-aside/edit.tsx +52 -0
  104. package/src/blocks/layout/layout-content-w-aside/editor.scss +35 -0
  105. package/src/blocks/layout/layout-content-w-aside/factory.tsx +34 -0
  106. package/src/blocks/layout/layout-content-w-aside/icon.tsx +12 -0
  107. package/src/blocks/layout/layout-content-w-aside/index.ts +13 -0
  108. package/src/blocks/layout/layout-content-w-aside/types.ts +12 -0
  109. package/src/blocks/post/posts-grid/constants.ts +3 -0
  110. package/src/blocks/post/posts-grid/edit.tsx +105 -0
  111. package/src/blocks/post/posts-grid/factory.tsx +63 -0
  112. package/src/blocks/post/posts-grid/icon.tsx +8 -0
  113. package/src/blocks/post/posts-grid/index.ts +9 -0
  114. package/src/blocks/post/posts-grid/types.ts +25 -0
  115. package/src/blocks/sections/base-section/attributes.ts +4 -0
  116. package/src/blocks/sections/base-section/constants.ts +10 -0
  117. package/src/blocks/sections/base-section/controls.tsx +83 -4
  118. package/src/blocks/sections/base-section/types.ts +20 -1
  119. package/src/editor.scss +3 -0
  120. package/src/index.ts +8 -0
@@ -12,4 +12,11 @@ export declare const SPACING_POSITIONS: readonly [{
12
12
  readonly label: import("@wordpress/i18n").TransformedText<"Pouze dole">;
13
13
  }];
14
14
  export declare const SPACING_SIZES: readonly ['default', 'sm', 'xs'];
15
+ export declare const FLUID_DECORATION_HEIGHT_PRESETS: readonly [32, 56, 88, 128];
16
+ export declare const FLUID_DECORATION_DEFAULT_HEIGHT = "56px";
17
+ export declare const FLUID_DECORATION_UNITS: {
18
+ value: string;
19
+ label: string;
20
+ default: number;
21
+ }[];
15
22
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;aAC3B,KAAK,EAAE,SAAS;aAAE,KAAK;;aACvB,KAAK,EAAE,MAAM;aAAE,KAAK;;aACpB,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,OAAO;aAAE,KAAK;EACd,CAAA;AAEV,eAAO,MAAM,aAAa,YAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;aAC3B,KAAK,EAAE,SAAS;aAAE,KAAK;;aACvB,KAAK,EAAE,MAAM;aAAE,KAAK;;aACpB,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,OAAO;aAAE,KAAK;EACd,CAAA;AAEV,eAAO,MAAM,aAAa,YAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;AAE7D,eAAO,MAAM,+BAA+B,YAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAU,CAAA;AAEzE,eAAO,MAAM,+BAA+B,SAAS,CAAA;AAErD,eAAO,MAAM,sBAAsB;;;;GAIlC,CAAA"}
@@ -6,3 +6,10 @@ export const SPACING_POSITIONS = [
6
6
  { value: 'top-0', label: __('Pouze dole', 'brilo-blocks') },
7
7
  ];
8
8
  export const SPACING_SIZES = ['default', 'sm', 'xs'];
9
+ export const FLUID_DECORATION_HEIGHT_PRESETS = [32, 56, 88, 128];
10
+ export const FLUID_DECORATION_DEFAULT_HEIGHT = '56px';
11
+ export const FLUID_DECORATION_UNITS = [
12
+ { value: 'px', label: 'px', default: 56 },
13
+ { value: 'rem', label: 'rem', default: 3.5 },
14
+ { value: '%', label: '%', default: 10 },
15
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/controls.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAMpE,UAAU,iBAAiB;IACzB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IAC5D,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED,wBAAgB,YAAY,CAAC,EAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAC,EAAE,iBAAiB,+BAyDnF"}
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/controls.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAwC,MAAM,SAAS,CAAA;AAmE3G,UAAU,iBAAiB;IACzB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IAC5D,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED,wBAAgB,YAAY,CAAC,EAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAC,EAAE,iBAAiB,+BAsEnF"}
@@ -1,11 +1,29 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ColorPalette, ContrastChecker } from '@wordpress/block-editor';
3
- import { PanelBody, SelectControl, TextControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, } from '@wordpress/components';
2
+ import { ColorPalette, ContrastChecker, MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';
3
+ import { BaseControl, Button, ButtonGroup, PanelBody, PanelRow, SelectControl, TextControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl, } from '@wordpress/components';
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import { useTenantColorPalette } from '../../../hooks/useTenantColorPalette';
6
- import { SPACING_POSITIONS, SPACING_SIZES } from './constants';
6
+ import { FLUID_DECORATION_DEFAULT_HEIGHT, FLUID_DECORATION_HEIGHT_PRESETS, FLUID_DECORATION_UNITS, SPACING_POSITIONS, SPACING_SIZES } from './constants';
7
+ function FluidDecorationControl({ label, value, onChange }) {
8
+ var _a;
9
+ const img = value === null || value === void 0 ? void 0 : value.img;
10
+ const height = (_a = value === null || value === void 0 ? void 0 : value.height) !== null && _a !== void 0 ? _a : FLUID_DECORATION_DEFAULT_HEIGHT;
11
+ const handleSelect = (media) => {
12
+ var _a;
13
+ const nextImg = { id: media.id, src: media.url, alt: (_a = media.alt) !== null && _a !== void 0 ? _a : '', width: media.width, height: media.height };
14
+ onChange({ img: nextImg, height });
15
+ };
16
+ const handleRemove = () => onChange(undefined);
17
+ return (_jsxs(BaseControl, { label: label, __nextHasNoMarginBottom: true, children: [_jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: handleSelect, allowedTypes: ['image'], value: (img === null || img === void 0 ? void 0 : img.id) || 0, render: ({ open }) => (_jsxs(PanelRow, { children: [(img === null || img === void 0 ? void 0 : img.src) && _jsx("img", { src: img.src, alt: img.alt, style: { maxWidth: 48, maxHeight: 48, objectFit: 'contain' } }), _jsx(Button, { onClick: open, variant: "secondary", size: "small", children: (img === null || img === void 0 ? void 0 : img.src) ? __('Změnit', 'brilo-blocks') : __('Vybrat obrázek', 'brilo-blocks') }), !!(img === null || img === void 0 ? void 0 : img.src) && (_jsx(Button, { onClick: handleRemove, variant: "tertiary", size: "small", isDestructive: true, children: __('Odebrat', 'brilo-blocks') }))] })) }) }), !!(img === null || img === void 0 ? void 0 : img.src) && (_jsxs(_Fragment, { children: [_jsx(UnitControl, { label: __('Výška', 'brilo-blocks'), value: height, units: FLUID_DECORATION_UNITS, onChange: (next) => { var _a; return onChange({ img, height: (_a = next) !== null && _a !== void 0 ? _a : FLUID_DECORATION_DEFAULT_HEIGHT }); } }), _jsx(ButtonGroup, { children: FLUID_DECORATION_HEIGHT_PRESETS.map((preset) => (_jsx(Button, { variant: "secondary", size: "small", onClick: () => onChange({ img, height: `${preset}px` }), children: preset }, preset))) })] }))] }));
18
+ }
7
19
  export function BaseControls({ attributes, setAttributes, exclude }) {
8
- const { id, spacing, background, textColor } = attributes;
20
+ var _a;
21
+ const { id, spacing, background, textColor, decorations } = attributes;
9
22
  const { paletteColors, resolveHex } = useTenantColorPalette();
10
- return (_jsxs(_Fragment, { children: [!exclude.includes('spacing') && (_jsxs(PanelBody, { title: __('Rozestupy', 'brilo-blocks'), children: [_jsx(SelectControl, { label: __('Pozice', 'brilo-blocks'), value: spacing.position, options: [...SPACING_POSITIONS], onChange: (value) => setAttributes({ spacing: { ...spacing, position: value } }) }), _jsx(ToggleGroupControl, { label: __('Velikost', 'brilo-blocks'), value: spacing.size, onChange: (value) => setAttributes({ spacing: { ...spacing, size: value } }), isBlock: true, children: SPACING_SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s, label: s === 'default' ? __('Výchozí', 'brilo-blocks') : s.toUpperCase() }, s))) })] })), !exclude.includes('background') && (_jsxs(PanelBody, { title: __('Barvy', 'brilo-blocks'), children: [_jsx("p", { children: __('Pozadí', 'brilo-blocks') }), _jsx(ColorPalette, { colors: paletteColors, value: background || undefined, onChange: (value) => setAttributes({ background: value !== null && value !== void 0 ? value : '' }) }), _jsx("p", { children: __('Barva textu', 'brilo-blocks') }), _jsx(ColorPalette, { colors: paletteColors, value: textColor || undefined, onChange: (value) => setAttributes({ textColor: value !== null && value !== void 0 ? value : '' }) }), !!background && !!textColor && _jsx(ContrastChecker, { backgroundColor: resolveHex(background), textColor: resolveHex(textColor) })] })), !exclude.includes('id') && (_jsx(PanelBody, { title: __('Kotva', 'brilo-blocks'), initialOpen: false, children: _jsx(TextControl, { label: __('ID sekce', 'brilo-blocks'), value: id !== null && id !== void 0 ? id : '', onChange: (value) => setAttributes({ id: value }), help: __('Použije se jako HTML atribut id pro kotevní odkaz.', 'brilo-blocks') }) }))] }));
23
+ const fluid = (_a = decorations === null || decorations === void 0 ? void 0 : decorations.fluid) !== null && _a !== void 0 ? _a : {};
24
+ const setFluid = (position, value) => {
25
+ const nextFluid = { ...fluid, [position]: value };
26
+ setAttributes({ decorations: { ...decorations, fluid: nextFluid } });
27
+ };
28
+ return (_jsxs(_Fragment, { children: [!exclude.includes('spacing') && (_jsxs(PanelBody, { title: __('Rozestupy', 'brilo-blocks'), children: [_jsx(SelectControl, { label: __('Pozice', 'brilo-blocks'), value: spacing.position, options: [...SPACING_POSITIONS], onChange: (value) => setAttributes({ spacing: { ...spacing, position: value } }) }), _jsx(ToggleGroupControl, { label: __('Velikost', 'brilo-blocks'), value: spacing.size, onChange: (value) => setAttributes({ spacing: { ...spacing, size: value } }), isBlock: true, children: SPACING_SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s, label: s === 'default' ? __('Výchozí', 'brilo-blocks') : s.toUpperCase() }, s))) })] })), !exclude.includes('background') && (_jsxs(PanelBody, { title: __('Barvy', 'brilo-blocks'), children: [_jsx("p", { children: __('Pozadí', 'brilo-blocks') }), _jsx(ColorPalette, { colors: paletteColors, value: background || undefined, onChange: (value) => setAttributes({ background: value !== null && value !== void 0 ? value : '' }) }), _jsx("p", { children: __('Barva textu', 'brilo-blocks') }), _jsx(ColorPalette, { colors: paletteColors, value: textColor || undefined, onChange: (value) => setAttributes({ textColor: value !== null && value !== void 0 ? value : '' }) }), !!background && !!textColor && _jsx(ContrastChecker, { backgroundColor: resolveHex(background), textColor: resolveHex(textColor) })] })), !exclude.includes('decorations') && (_jsxs(PanelBody, { title: __('Fluidní dekorace', 'brilo-blocks'), initialOpen: false, children: [_jsx(FluidDecorationControl, { label: __('Nahoře', 'brilo-blocks'), value: fluid.top, onChange: (value) => setFluid('top', value) }), _jsx(FluidDecorationControl, { label: __('Dole', 'brilo-blocks'), value: fluid.bottom, onChange: (value) => setFluid('bottom', value) })] })), !exclude.includes('id') && (_jsx(PanelBody, { title: __('Kotva', 'brilo-blocks'), initialOpen: false, children: _jsx(TextControl, { label: __('ID sekce', 'brilo-blocks'), value: id !== null && id !== void 0 ? id : '', onChange: (value) => setAttributes({ id: value }), help: __('Použije se jako HTML atribut id pro kotevní odkaz.', 'brilo-blocks') }) }))] }));
11
29
  }
@@ -1,6 +1,17 @@
1
1
  import type { BlockConfiguration, BlockEditProps } from '@wordpress/blocks';
2
2
  import type { ReactNode } from 'react';
3
3
  import type { BriloBlockType } from '../../../types';
4
+ export interface FluidDecorationImage {
5
+ id: number;
6
+ src: string;
7
+ alt: string;
8
+ width?: number;
9
+ height?: number;
10
+ }
11
+ export interface FluidDecoration {
12
+ img?: FluidDecorationImage;
13
+ height: string;
14
+ }
4
15
  export interface BaseBlockAttributes extends Record<string, unknown> {
5
16
  id: string;
6
17
  spacing: {
@@ -9,8 +20,14 @@ export interface BaseBlockAttributes extends Record<string, unknown> {
9
20
  };
10
21
  background: string;
11
22
  textColor: string;
23
+ decorations: {
24
+ fluid?: {
25
+ top?: FluidDecoration;
26
+ bottom?: FluidDecoration;
27
+ };
28
+ };
12
29
  }
13
- export type ExcludableBaseAttr = 'spacing' | 'background' | 'id';
30
+ export type ExcludableBaseAttr = 'spacing' | 'background' | 'id' | 'decorations';
14
31
  export interface BaseSectionOptions<TExtra extends Record<string, unknown> = Record<string, never>> extends BriloBlockType {
15
32
  supports?: BlockConfiguration['supports'];
16
33
  extraAttributes?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAA;AACzE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAE3C,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAAA;AAEhE,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAE,SAAQ,cAAc;IACxH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE;SACf,CAAC,IAAI,MAAM,MAAM,GAAG;YACnB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;SACnB;KACF,CAAA;IACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,mBAAmB,GAAG,MAAM,CAAC,KAAK,SAAS,CAAA;IAClF,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAA;AACzE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAE3C,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE;QACX,KAAK,CAAC,EAAE;YACN,GAAG,CAAC,EAAE,eAAe,CAAA;YACrB,MAAM,CAAC,EAAE,eAAe,CAAA;SACzB,CAAA;KACF,CAAA;CACF;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,GAAG,aAAa,CAAA;AAEhF,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAE,SAAQ,cAAc;IACxH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE;SACf,CAAC,IAAI,MAAM,MAAM,GAAG;YACnB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;SACnB;KACF,CAAA;IACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,mBAAmB,GAAG,MAAM,CAAC,KAAK,SAAS,CAAA;IAClF,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B"}
package/build/index.d.ts CHANGED
@@ -92,6 +92,14 @@ export type { ResponsiveGridItemAttributes, ResponsiveGridItemOptions } from './
92
92
  export { createResponsiveGridItemBlock, responsiveGridItemDefaults } from './blocks/responsive-grid/responsive-grid-item';
93
93
  export type { PostSliderGroupAttributes, PostSliderGroupOptions } from './blocks/post/post-slider-group';
94
94
  export { createPostSliderGroupBlock, postSliderGroupDefaults } from './blocks/post/post-slider-group';
95
+ export type { PostsGridAttributes, PostsGridOptions } from './blocks/post/posts-grid';
96
+ export { createPostsGridBlock, postsGridDefaults } from './blocks/post/posts-grid';
95
97
  export type { LinkItemAttributes, LinkItemIcon, LinkItemOptions } from './blocks/link/link-item';
96
98
  export { createLinkItemBlock, linkItemDefaults } from './blocks/link/link-item';
99
+ export type { ContentWithAsideAttributes, ContentWithAsideOptions } from './blocks/layout/layout-content-w-aside';
100
+ export { createContentWithAsideBlock, contentWithAsideDefaults } from './blocks/layout/layout-content-w-aside';
101
+ export type { ContentAttributes, ContentOptions } from './blocks/layout/layout-content';
102
+ export { createContentBlock, contentDefaults } from './blocks/layout/layout-content';
103
+ export type { AsideAttributes, AsideOptions } from './blocks/layout/layout-aside';
104
+ export { createAsideBlock, asideDefaults } from './blocks/layout/layout-aside';
97
105
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -45,4 +45,8 @@ export { createFormFieldBlock, formFieldDefaults, FIELD_TYPES, FIELD_COLUMNS_RAN
45
45
  export { createResponsiveGridGroupBlock, responsiveGridGroupDefaults } from './blocks/responsive-grid/responsive-grid-group';
46
46
  export { createResponsiveGridItemBlock, responsiveGridItemDefaults } from './blocks/responsive-grid/responsive-grid-item';
47
47
  export { createPostSliderGroupBlock, postSliderGroupDefaults } from './blocks/post/post-slider-group';
48
+ export { createPostsGridBlock, postsGridDefaults } from './blocks/post/posts-grid';
48
49
  export { createLinkItemBlock, linkItemDefaults } from './blocks/link/link-item';
50
+ export { createContentWithAsideBlock, contentWithAsideDefaults } from './blocks/layout/layout-content-w-aside';
51
+ export { createContentBlock, contentDefaults } from './blocks/layout/layout-content';
52
+ export { createAsideBlock, asideDefaults } from './blocks/layout/layout-aside';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brilo/base-blocks",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "author": "Brilo",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -0,0 +1 @@
1
+ export const ASIDE_DEFAULTS = {}
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import {useGroupBlock} from '~/hooks/useGroupBlock'
3
+ import type {AsideAttributes, AsideOptions} from './types'
4
+
5
+ export function createAsideEdit(options: AsideOptions) {
6
+ return function Edit() {
7
+ const {blockProps, innerBlocksProps} = useGroupBlock({
8
+ blockClassName: 'l-content-w-aside__aside',
9
+ containerClassName: 'l-content-w-aside__aside-container',
10
+ layout: {type: 'default'},
11
+ orientation: 'vertical',
12
+ })
13
+
14
+ return (
15
+ <aside {...blockProps}>
16
+ <div {...innerBlocksProps} />
17
+ </aside>
18
+ )
19
+ }
20
+ }
@@ -0,0 +1,9 @@
1
+ @layer base {
2
+ .l-content-w-aside__aside {
3
+ width: var(--aside-width, 300px);
4
+ border: 2px dashed #0073aa;
5
+ box-sizing: border-box;
6
+ padding: 8px;
7
+ min-height: 120px;
8
+ }
9
+ }
@@ -0,0 +1,24 @@
1
+ import {InnerBlocks} from '@wordpress/block-editor'
2
+ import type {BlockConfiguration} from '@wordpress/blocks'
3
+ import {__} from '@wordpress/i18n'
4
+ import React from 'react'
5
+ import {createAsideEdit} from './edit'
6
+ import {icon as defaultIcon} from './icon'
7
+ import type {AsideAttributes, AsideOptions} from './types'
8
+
9
+ export function createAsideBlock(
10
+ options: AsideOptions,
11
+ ): BlockConfiguration<AsideAttributes> {
12
+ return {
13
+ name: options.name,
14
+ title: options.title ?? __('Postranní panel', 'brilo-blocks'),
15
+ description: options.description,
16
+ category: options.category ?? 'layout',
17
+ parent: options.parent,
18
+ icon: options.icon ?? {src: defaultIcon},
19
+ supports: {html: false, customClassName: false},
20
+ attributes: {},
21
+ edit: createAsideEdit(options),
22
+ save: () => <InnerBlocks.Content />,
23
+ } as BlockConfiguration<AsideAttributes>
24
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react'
2
+
3
+ export const icon = (
4
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path
6
+ fillRule="evenodd"
7
+ clipRule="evenodd"
8
+ d="M8 4H20V20H8V4ZM10 6H18V18H10V6Z"
9
+ fill="currentColor"
10
+ />
11
+ </svg>
12
+ )
@@ -0,0 +1,9 @@
1
+ export type {AsideAttributes, AsideOptions} from './types'
2
+ export {createAsideBlock} from './factory'
3
+
4
+ import type {AsideOptions} from './types'
5
+
6
+ export const asideDefaults: AsideOptions = {
7
+ name: 'brilo/layout-aside',
8
+ parent: ['brilo/layout-content-w-aside'],
9
+ }
@@ -0,0 +1,5 @@
1
+ import type {BriloBlockType} from '~/types'
2
+
3
+ export interface AsideAttributes extends Record<string, unknown> {}
4
+
5
+ export interface AsideOptions extends BriloBlockType {}
@@ -0,0 +1 @@
1
+ export const CONTENT_DEFAULTS = {}
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import {useGroupBlock} from '~/hooks/useGroupBlock'
3
+ import type {ContentAttributes, ContentOptions} from './types'
4
+
5
+ export function createContentEdit(options: ContentOptions) {
6
+ return function Edit() {
7
+ const {blockProps, innerBlocksProps} = useGroupBlock({
8
+ blockClassName: 'l-content-w-aside__content',
9
+ containerClassName: 'l-content-w-aside__content-container',
10
+ layout: {type: 'default'},
11
+ orientation: 'vertical',
12
+ })
13
+
14
+ return (
15
+ <div {...blockProps}>
16
+ <div {...innerBlocksProps} />
17
+ </div>
18
+ )
19
+ }
20
+ }
@@ -0,0 +1,9 @@
1
+ @layer base {
2
+ .l-content-w-aside__content {
3
+ border: 2px dashed #0073aa;
4
+ width: 100%;
5
+ box-sizing: border-box;
6
+ padding: 8px;
7
+ min-height: 120px;
8
+ }
9
+ }
@@ -0,0 +1,24 @@
1
+ import {InnerBlocks} from '@wordpress/block-editor'
2
+ import type {BlockConfiguration} from '@wordpress/blocks'
3
+ import {__} from '@wordpress/i18n'
4
+ import React from 'react'
5
+ import {createContentEdit} from './edit'
6
+ import {icon as defaultIcon} from './icon'
7
+ import type {ContentAttributes, ContentOptions} from './types'
8
+
9
+ export function createContentBlock(
10
+ options: ContentOptions,
11
+ ): BlockConfiguration<ContentAttributes> {
12
+ return {
13
+ name: options.name,
14
+ title: options.title ?? __('Obsah', 'brilo-blocks'),
15
+ description: options.description,
16
+ category: options.category ?? 'layout',
17
+ parent: options.parent,
18
+ icon: options.icon ?? {src: defaultIcon},
19
+ supports: {html: false, customClassName: false},
20
+ attributes: {},
21
+ edit: createContentEdit(options),
22
+ save: () => <InnerBlocks.Content />,
23
+ } as BlockConfiguration<ContentAttributes>
24
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react'
2
+
3
+ export const icon = (
4
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path
6
+ fillRule="evenodd"
7
+ clipRule="evenodd"
8
+ d="M4 4H16V20H4V4ZM6 6H14V18H6V6Z"
9
+ fill="currentColor"
10
+ />
11
+ </svg>
12
+ )
@@ -0,0 +1,9 @@
1
+ export type {ContentAttributes, ContentOptions} from './types'
2
+ export {createContentBlock} from './factory'
3
+
4
+ import type {ContentOptions} from './types'
5
+
6
+ export const contentDefaults: ContentOptions = {
7
+ name: 'brilo/layout-content',
8
+ parent: ['brilo/layout-content-w-aside'],
9
+ }
@@ -0,0 +1,5 @@
1
+ import type {BriloBlockType} from '~/types'
2
+
3
+ export interface ContentAttributes extends Record<string, unknown> {}
4
+
5
+ export interface ContentOptions extends BriloBlockType {}
@@ -0,0 +1,7 @@
1
+ import {__} from '@wordpress/i18n'
2
+
3
+ export const ASIDE_SIZES = [
4
+ {value: 'sm', label: __('Malá', 'brilo-blocks')},
5
+ {value: 'md', label: __('Střední', 'brilo-blocks')},
6
+ {value: 'lg', label: __('Velká', 'brilo-blocks')},
7
+ ] as const
@@ -0,0 +1,52 @@
1
+ import {InspectorControls} from '@wordpress/block-editor'
2
+ import {PanelBody, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption} from '@wordpress/components'
3
+ import {__} from '@wordpress/i18n'
4
+ import React from 'react'
5
+ import {useGroupBlock} from '~/hooks/useGroupBlock'
6
+ import {ASIDE_SIZES} from './constants'
7
+ import type {AsideSize, ContentWithAsideAttributes, ContentWithAsideOptions} from './types'
8
+
9
+ export function createContentWithAsideEdit(options: ContentWithAsideOptions) {
10
+ const ASIDE_SIZES_OPTIONS = options.asideSizes ?? ASIDE_SIZES
11
+
12
+ return function Edit({
13
+ attributes,
14
+ setAttributes,
15
+ }: {
16
+ attributes: ContentWithAsideAttributes
17
+ setAttributes: (a: Partial<ContentWithAsideAttributes>) => void
18
+ }) {
19
+ const {asideSize} = attributes
20
+
21
+ const {blockProps, innerBlocksProps} = useGroupBlock({
22
+ blockClassName: 'l-content-w-aside',
23
+ containerClassName: `l-content-w-aside__container --aside-${asideSize}`,
24
+ template: options.template,
25
+ allowedBlocks: options.allowedBlocks,
26
+ orientation: 'horizontal',
27
+ layout: {type: 'default'},
28
+ })
29
+
30
+ return (
31
+ <>
32
+ <InspectorControls>
33
+ <PanelBody title={__('Nastavení', 'brilo-blocks')}>
34
+ <ToggleGroupControl
35
+ isBlock
36
+ label={__('Velikost postranního panelu', 'brilo-blocks')}
37
+ value={asideSize}
38
+ onChange={(v) => setAttributes({asideSize: v as AsideSize})}
39
+ >
40
+ {ASIDE_SIZES_OPTIONS.map((s) => (
41
+ <ToggleGroupControlOption key={s.value} value={s.value} label={s.label} />
42
+ ))}
43
+ </ToggleGroupControl>
44
+ </PanelBody>
45
+ </InspectorControls>
46
+ <div {...blockProps}>
47
+ <div {...innerBlocksProps} />
48
+ </div>
49
+ </>
50
+ )
51
+ }
52
+ }
@@ -0,0 +1,35 @@
1
+ @layer base {
2
+ .l-content-w-aside {
3
+ padding: 16px;
4
+ border: 2px dashed #0073aa;
5
+ flex-shrink: 0;
6
+
7
+ &__container {
8
+ display: flex;
9
+ gap: 16px;
10
+
11
+ &.--aside-small {
12
+ --aside-width: 15%;
13
+ }
14
+
15
+ &.--aside-medium {
16
+ --aside-width: 25%;
17
+ }
18
+
19
+ &.--aside-large {
20
+ --aside-width: 35%;
21
+ }
22
+ }
23
+
24
+ &::before {
25
+ content: "Obsah s postranním panelem";
26
+ display: block;
27
+ font-size: 10px;
28
+ font-weight: 600;
29
+ text-transform: uppercase;
30
+ color: #0073aa;
31
+ letter-spacing: 0.5px;
32
+ margin-bottom: 8px;
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,34 @@
1
+ import {InnerBlocks} from '@wordpress/block-editor'
2
+ import type {BlockConfiguration} from '@wordpress/blocks'
3
+ import {__} from '@wordpress/i18n'
4
+ import React from 'react'
5
+ import type {OptionArray} from '~/types'
6
+ import {ASIDE_SIZES} from './constants'
7
+ import {createContentWithAsideEdit} from './edit'
8
+ import {icon as defaultIcon} from './icon'
9
+ import type {ContentWithAsideAttributes, ContentWithAsideOptions} from './types'
10
+
11
+ export function createContentWithAsideBlock<
12
+ TAsideSizes extends OptionArray = typeof ASIDE_SIZES,
13
+ >(
14
+ options: ContentWithAsideOptions<TAsideSizes>,
15
+ ): BlockConfiguration<ContentWithAsideAttributes<TAsideSizes[number]['value']>> {
16
+ const asideSizes = options.asideSizes ?? ASIDE_SIZES
17
+
18
+ return {
19
+ name: options.name,
20
+ title: options.title ?? __('Obsah s postranním panelem', 'brilo-blocks'),
21
+ description: options.description,
22
+ category: options.category ?? 'layout',
23
+ icon: options.icon ?? {src: defaultIcon},
24
+ supports: {html: false, customClassName: false},
25
+ attributes: {
26
+ asideSize: {
27
+ type: 'string',
28
+ default: asideSizes[1].value, // medium
29
+ },
30
+ },
31
+ edit: createContentWithAsideEdit(options as unknown as ContentWithAsideOptions),
32
+ save: () => <InnerBlocks.Content />,
33
+ } as unknown as BlockConfiguration<ContentWithAsideAttributes<TAsideSizes[number]['value']>>
34
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react'
2
+
3
+ export const icon = (
4
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path
6
+ fillRule="evenodd"
7
+ clipRule="evenodd"
8
+ d="M4 4H20V20H4V4ZM6 6H13V18H6V6ZM15 6H18V18H15V6Z"
9
+ fill="currentColor"
10
+ />
11
+ </svg>
12
+ )
@@ -0,0 +1,13 @@
1
+ export type {ContentWithAsideAttributes, ContentWithAsideOptions} from './types'
2
+ export {createContentWithAsideBlock} from './factory'
3
+
4
+ import type {ContentWithAsideOptions} from './types'
5
+
6
+ export const contentWithAsideDefaults: ContentWithAsideOptions = {
7
+ name: 'brilo/layout-content-w-aside',
8
+ allowedBlocks: ['brilo/layout-content', 'brilo/layout-aside'],
9
+ template: [
10
+ ['brilo/layout-content', {}],
11
+ ['brilo/layout-aside', {}],
12
+ ],
13
+ }
@@ -0,0 +1,12 @@
1
+ import type {BriloBlockType, OptionArray} from '~/types'
2
+ import type {ASIDE_SIZES} from './constants'
3
+
4
+ export type AsideSize = (typeof ASIDE_SIZES)[number]['value']
5
+
6
+ export interface ContentWithAsideAttributes<TAsideSize extends string = AsideSize> extends Record<string, unknown> {
7
+ asideSize: TAsideSize
8
+ }
9
+
10
+ export interface ContentWithAsideOptions<TAsideSizes extends OptionArray = typeof ASIDE_SIZES> extends BriloBlockType {
11
+ asideSizes?: TAsideSizes
12
+ }
@@ -0,0 +1,3 @@
1
+ export const POSTS_PER_PAGE_MIN = 1
2
+ export const POSTS_PER_PAGE_MAX = 12
3
+ export const POSTS_PER_PAGE_DEFAULT = 6