@brilo/base-blocks 0.1.44 → 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.
- package/build/.tsbuildinfo +1 -1
- package/build/blocks/compare/compare-item/index.js +1 -1
- package/build/blocks/faq/faq-group/edit.d.ts.map +1 -1
- package/build/blocks/faq/faq-group/edit.js +4 -2
- package/build/blocks/faq/faq-group/factory.d.ts.map +1 -1
- package/build/blocks/faq/faq-group/factory.js +2 -0
- package/build/blocks/faq/faq-group/types.d.ts +1 -0
- package/build/blocks/faq/faq-group/types.d.ts.map +1 -1
- package/build/blocks/gallery/gallery-group/edit.d.ts.map +1 -1
- package/build/blocks/gallery/gallery-group/edit.js +4 -2
- package/build/blocks/gallery/gallery-group/factory.d.ts.map +1 -1
- package/build/blocks/gallery/gallery-group/factory.js +2 -0
- package/build/blocks/gallery/gallery-group/types.d.ts +1 -0
- package/build/blocks/gallery/gallery-group/types.d.ts.map +1 -1
- package/build/blocks/groups/text-and-media-group/index.d.ts.map +1 -1
- package/build/blocks/groups/text-and-media-group/index.js +1 -0
- package/build/blocks/list/list-group/constants.d.ts +21 -0
- package/build/blocks/list/list-group/constants.d.ts.map +1 -0
- package/build/blocks/list/list-group/constants.js +12 -0
- package/build/blocks/list/list-group/edit.d.ts +6 -0
- package/build/blocks/list/list-group/edit.d.ts.map +1 -0
- package/build/blocks/list/list-group/edit.js +30 -0
- package/build/blocks/list/list-group/factory.d.ts +7 -0
- package/build/blocks/list/list-group/factory.d.ts.map +1 -0
- package/build/blocks/list/list-group/factory.js +29 -0
- package/build/blocks/list/list-group/icon.d.ts +2 -0
- package/build/blocks/list/list-group/icon.d.ts.map +1 -0
- package/build/blocks/list/list-group/icon.js +2 -0
- package/build/blocks/list/list-group/index.d.ts +5 -0
- package/build/blocks/list/list-group/index.d.ts.map +1 -0
- package/build/blocks/list/list-group/index.js +11 -0
- package/build/blocks/list/list-group/types.d.ts +22 -0
- package/build/blocks/list/list-group/types.d.ts.map +1 -0
- package/build/blocks/list/list-group/types.js +1 -0
- package/build/blocks/list/list-item/buildPreviewStyle.d.ts +20 -0
- package/build/blocks/list/list-item/buildPreviewStyle.d.ts.map +1 -0
- package/build/blocks/list/list-item/buildPreviewStyle.js +18 -0
- package/build/blocks/list/list-item/constants.d.ts +36 -0
- package/build/blocks/list/list-item/constants.d.ts.map +1 -0
- package/build/blocks/list/list-item/constants.js +16 -0
- package/build/blocks/list/list-item/edit.d.ts +11 -0
- package/build/blocks/list/list-item/edit.d.ts.map +1 -0
- package/build/blocks/list/list-item/edit.js +18 -0
- package/build/blocks/list/list-item/factory.d.ts +5 -0
- package/build/blocks/list/list-item/factory.d.ts.map +1 -0
- package/build/blocks/list/list-item/factory.js +29 -0
- package/build/blocks/list/list-item/index.d.ts +5 -0
- package/build/blocks/list/list-item/index.d.ts.map +1 -0
- package/build/blocks/list/list-item/index.js +7 -0
- package/build/blocks/list/list-item/types.d.ts +21 -0
- package/build/blocks/list/list-item/types.d.ts.map +1 -0
- package/build/blocks/list/list-item/types.js +1 -0
- package/build/blocks/priceplan/priceplan-group/edit.d.ts +5 -2
- package/build/blocks/priceplan/priceplan-group/edit.d.ts.map +1 -1
- package/build/blocks/priceplan/priceplan-group/edit.js +7 -3
- package/build/blocks/priceplan/priceplan-group/factory.d.ts.map +1 -1
- package/build/blocks/priceplan/priceplan-group/factory.js +2 -1
- package/build/blocks/priceplan/priceplan-group/types.d.ts +1 -0
- package/build/blocks/priceplan/priceplan-group/types.d.ts.map +1 -1
- package/build/blocks/review/review-group/edit.d.ts.map +1 -1
- package/build/blocks/review/review-group/edit.js +4 -3
- package/build/blocks/review/review-group/factory.d.ts.map +1 -1
- package/build/blocks/review/review-group/factory.js +2 -0
- package/build/blocks/review/review-group/types.d.ts +1 -0
- package/build/blocks/review/review-group/types.d.ts.map +1 -1
- package/build/blocks/sections/base-section/constants.d.ts +35 -0
- package/build/blocks/sections/base-section/constants.d.ts.map +1 -1
- package/build/blocks/sections/base-section/constants.js +10 -0
- package/build/blocks/sections/base-section/controls.d.ts.map +1 -1
- package/build/blocks/sections/base-section/controls.js +26 -12
- package/build/blocks/sections/base-section/edit.d.ts.map +1 -1
- package/build/blocks/sections/base-section/edit.js +12 -4
- package/build/blocks/sections/base-section/types.d.ts +9 -1
- package/build/blocks/sections/base-section/types.d.ts.map +1 -1
- package/build/blocks/signpost/signpost-group/edit.d.ts.map +1 -1
- package/build/blocks/signpost/signpost-group/edit.js +4 -2
- package/build/blocks/signpost/signpost-group/factory.d.ts.map +1 -1
- package/build/blocks/signpost/signpost-group/factory.js +2 -0
- package/build/blocks/signpost/signpost-group/types.d.ts +1 -0
- package/build/blocks/signpost/signpost-group/types.d.ts.map +1 -1
- package/build/blocks/step/step-group/edit.d.ts.map +1 -1
- package/build/blocks/step/step-group/edit.js +4 -3
- package/build/blocks/step/step-group/factory.d.ts.map +1 -1
- package/build/blocks/step/step-group/factory.js +2 -0
- package/build/blocks/step/step-group/types.d.ts +1 -0
- package/build/blocks/step/step-group/types.d.ts.map +1 -1
- package/build/blocks/text-and-form/text-and-form-text-column/index.d.ts.map +1 -1
- package/build/blocks/text-and-form/text-and-form-text-column/index.js +1 -0
- package/build/blocks/usp/usp-group/edit.d.ts.map +1 -1
- package/build/blocks/usp/usp-group/edit.js +4 -3
- package/build/blocks/usp/usp-group/factory.d.ts.map +1 -1
- package/build/blocks/usp/usp-group/factory.js +2 -0
- package/build/blocks/usp/usp-group/types.d.ts +1 -0
- package/build/blocks/usp/usp-group/types.d.ts.map +1 -1
- package/build/blocks/video/video-group/constants.d.ts +1 -0
- package/build/blocks/video/video-group/constants.d.ts.map +1 -1
- package/build/blocks/video/video-group/constants.js +1 -0
- package/build/blocks/video/video-group/edit.d.ts.map +1 -1
- package/build/blocks/video/video-group/edit.js +7 -5
- package/build/blocks/video/video-group/factory.d.ts.map +1 -1
- package/build/blocks/video/video-group/factory.js +5 -1
- package/build/blocks/video/video-group/types.d.ts +1 -0
- package/build/blocks/video/video-group/types.d.ts.map +1 -1
- package/build/components/ItemSpacingControl/index.d.ts +23 -0
- package/build/components/ItemSpacingControl/index.d.ts.map +1 -0
- package/build/components/ItemSpacingControl/index.js +32 -0
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/package.json +1 -1
- package/src/blocks/compare/compare-item/index.ts +1 -1
- package/src/blocks/faq/faq-group/edit.tsx +4 -1
- package/src/blocks/faq/faq-group/factory.tsx +2 -0
- package/src/blocks/faq/faq-group/types.ts +1 -0
- package/src/blocks/gallery/gallery-group/edit.tsx +4 -1
- package/src/blocks/gallery/gallery-group/factory.tsx +2 -0
- package/src/blocks/gallery/gallery-group/types.ts +1 -0
- package/src/blocks/groups/text-and-media-group/index.ts +1 -0
- package/src/blocks/list/list-group/constants.ts +15 -0
- package/src/blocks/list/list-group/edit.tsx +102 -0
- package/src/blocks/list/list-group/editor.scss +14 -0
- package/src/blocks/list/list-group/factory.tsx +35 -0
- package/src/blocks/list/list-group/icon.tsx +11 -0
- package/src/blocks/list/list-group/index.ts +15 -0
- package/src/blocks/list/list-group/types.ts +21 -0
- package/src/blocks/list/list-item/buildPreviewStyle.ts +52 -0
- package/src/blocks/list/list-item/constants.ts +18 -0
- package/src/blocks/list/list-item/edit.tsx +108 -0
- package/src/blocks/list/list-item/editor.scss +108 -0
- package/src/blocks/list/list-item/factory.tsx +33 -0
- package/src/blocks/list/list-item/index.ts +11 -0
- package/src/blocks/list/list-item/types.ts +23 -0
- package/src/blocks/priceplan/priceplan-group/edit.tsx +21 -5
- package/src/blocks/priceplan/priceplan-group/factory.tsx +2 -1
- package/src/blocks/priceplan/priceplan-group/types.ts +3 -1
- package/src/blocks/review/review-group/edit.tsx +4 -2
- package/src/blocks/review/review-group/factory.tsx +2 -0
- package/src/blocks/review/review-group/types.ts +1 -0
- package/src/blocks/sections/base-section/constants.ts +14 -0
- package/src/blocks/sections/base-section/controls.tsx +93 -9
- package/src/blocks/sections/base-section/edit.tsx +10 -2
- package/src/blocks/sections/base-section/types.ts +14 -1
- package/src/blocks/signpost/signpost-group/edit.tsx +4 -1
- package/src/blocks/signpost/signpost-group/factory.tsx +2 -0
- package/src/blocks/signpost/signpost-group/types.ts +1 -0
- package/src/blocks/step/step-group/edit.tsx +4 -2
- package/src/blocks/step/step-group/factory.tsx +2 -0
- package/src/blocks/step/step-group/types.ts +1 -0
- package/src/blocks/text-and-form/text-and-form-text-column/index.ts +1 -0
- package/src/blocks/usp/usp-group/edit.tsx +4 -2
- package/src/blocks/usp/usp-group/factory.tsx +2 -0
- package/src/blocks/usp/usp-group/types.ts +1 -0
- package/src/blocks/video/video-group/constants.ts +2 -0
- package/src/blocks/video/video-group/edit.tsx +26 -2
- package/src/blocks/video/video-group/editor.scss +6 -1
- package/src/blocks/video/video-group/factory.tsx +5 -1
- package/src/blocks/video/video-group/types.ts +1 -0
- package/src/components/ItemSpacingControl/index.tsx +59 -0
- package/src/editor.scss +2 -0
- package/src/index.ts +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BriloBlockType, Icon } from '../../../types';
|
|
2
|
+
import type { IconType } from '../../../components/IconControl';
|
|
3
|
+
import type { DEFAULT_BULLET_SHAPES, ICON_TYPES } from './constants';
|
|
4
|
+
export type ListIconType = (typeof ICON_TYPES)[number]['value'];
|
|
5
|
+
export type ListBulletShape = (typeof DEFAULT_BULLET_SHAPES)[number]['value'];
|
|
6
|
+
export interface ListItemAttributes extends Record<string, unknown> {
|
|
7
|
+
text: string;
|
|
8
|
+
icon: Icon;
|
|
9
|
+
bulletStyle: {
|
|
10
|
+
color: string;
|
|
11
|
+
background: string;
|
|
12
|
+
backgroundShape: string;
|
|
13
|
+
borderColor: string;
|
|
14
|
+
borderWidth: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface ListItemOptions extends BriloBlockType {
|
|
18
|
+
icons: IconType[];
|
|
19
|
+
iconsSrc: string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/list/list-item/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,IAAI,EAAC,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAC,qBAAqB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAE7E,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import type { PriceplanGroupOptions } from './types';
|
|
2
|
-
export declare function createPriceplanGroupEdit(options: PriceplanGroupOptions): (
|
|
1
|
+
import type { PriceplanGroupAttributes, PriceplanGroupOptions } from './types';
|
|
2
|
+
export declare function createPriceplanGroupEdit(options: PriceplanGroupOptions): ({ attributes, setAttributes, }: {
|
|
3
|
+
attributes: PriceplanGroupAttributes;
|
|
4
|
+
setAttributes: (a: Partial<PriceplanGroupAttributes>) => void;
|
|
5
|
+
}) => import("react").JSX.Element;
|
|
3
6
|
//# sourceMappingURL=edit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/priceplan/priceplan-group/edit.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/priceplan/priceplan-group/edit.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,SAAS,CAAA;AAE5E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,oCAIlE;IACD,UAAU,EAAE,wBAAwB,CAAA;IACpC,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAA;CAC9D,iCAwBF"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { InspectorControls } from '@wordpress/block-editor';
|
|
3
|
+
import { ItemSpacingPanel, itemSpacingStyle } from '../../../components/ItemSpacingControl';
|
|
2
4
|
import { useGroupBlock } from '../../../hooks/useGroupBlock';
|
|
3
5
|
export function createPriceplanGroupEdit(options) {
|
|
4
|
-
return function Edit() {
|
|
6
|
+
return function Edit({ attributes, setAttributes, }) {
|
|
5
7
|
var _a, _b;
|
|
8
|
+
const { spacing } = attributes;
|
|
6
9
|
const { blockProps, innerBlocksProps } = useGroupBlock({
|
|
7
10
|
blockClassName: (_a = options.blockClassName) !== null && _a !== void 0 ? _a : 'g-priceplan wp-block-section',
|
|
8
11
|
containerClassName: [(_b = options.containerClassName) !== null && _b !== void 0 ? _b : 'u-grid-responsive-blocks-list --cols-3'],
|
|
12
|
+
containerStyle: itemSpacingStyle(spacing),
|
|
9
13
|
allowedBlocks: options.allowedBlocks,
|
|
10
14
|
orientation: 'horizontal',
|
|
11
15
|
template: options.template,
|
|
12
16
|
layout: { type: 'default' },
|
|
13
17
|
});
|
|
14
|
-
return (_jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) }));
|
|
18
|
+
return (_jsxs(_Fragment, { children: [_jsx(InspectorControls, { children: _jsx(ItemSpacingPanel, { spacing: spacing, onChange: (v) => setAttributes({ spacing: v }), initialOpen: true }) }), _jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) })] }));
|
|
15
19
|
};
|
|
16
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/priceplan/priceplan-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/priceplan/priceplan-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAKzD,OAAO,KAAK,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,SAAS,CAAA;AAE5E,YAAY,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,CAAA;AAE7D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAatH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { InnerBlocks } from '@wordpress/block-editor';
|
|
3
3
|
import { __ } from '@wordpress/i18n';
|
|
4
|
+
import { ITEM_SPACING_ATTRIBUTE } from '../../../components/ItemSpacingControl';
|
|
4
5
|
import { createPriceplanGroupEdit } from './edit';
|
|
5
6
|
import { icon as defaultIcon } from './icon';
|
|
6
7
|
export function createPriceplanGroupBlock(options) {
|
|
@@ -13,7 +14,7 @@ export function createPriceplanGroupBlock(options) {
|
|
|
13
14
|
...(options.parent && { parent: options.parent }),
|
|
14
15
|
icon: (_d = options.icon) !== null && _d !== void 0 ? _d : { src: defaultIcon },
|
|
15
16
|
supports: { html: false, customClassName: false },
|
|
16
|
-
attributes: {},
|
|
17
|
+
attributes: { ...ITEM_SPACING_ATTRIBUTE },
|
|
17
18
|
edit: createPriceplanGroupEdit(options),
|
|
18
19
|
save: () => _jsx(InnerBlocks.Content, {}),
|
|
19
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/priceplan/priceplan-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAE3C,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/priceplan/priceplan-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAE3C,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/review/review-group/edit.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/review/review-group/edit.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAgBrD,OAAO,KAAK,EAAgB,qBAAqB,EAAE,kBAAkB,EAAyC,MAAM,SAAS,CAAA;AAE7H,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,mCAIF,cAAc,CAAC,qBAAqB,CAAC,iCA8FnG"}
|
|
@@ -3,6 +3,7 @@ import { InspectorControls } from '@wordpress/block-editor';
|
|
|
3
3
|
import { BaseControl, ColorPalette, PanelBody, SelectControl, ToggleControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, } from '@wordpress/components';
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
+
import { ItemSpacingPanel, itemSpacingStyle } from '../../../components/ItemSpacingControl';
|
|
6
7
|
import { useGroupBlock } from '../../../hooks/useGroupBlock';
|
|
7
8
|
import { useTenantColorPalette } from '../../../hooks/useTenantColorPalette';
|
|
8
9
|
import { COLUMNS, DEFAULT_SHADOWS, VARIANTS } from './constants';
|
|
@@ -12,12 +13,12 @@ export function createReviewGroupEdit(options) {
|
|
|
12
13
|
const exclude = (_b = options.exclude) !== null && _b !== void 0 ? _b : [];
|
|
13
14
|
return function ReviewGroupEdit({ attributes, setAttributes }) {
|
|
14
15
|
var _a, _b, _c, _d;
|
|
15
|
-
const { columns, image, variant, style } = attributes;
|
|
16
|
+
const { columns, image, variant, style, spacing } = attributes;
|
|
16
17
|
const { paletteColors } = useTenantColorPalette();
|
|
17
18
|
const { blockProps, innerBlocksProps } = useGroupBlock({
|
|
18
19
|
blockClassName: clsx((_a = options.blockClassName) !== null && _a !== void 0 ? _a : 'g-review wp-block-section', `--variant-${variant}`, image === 'none' && '--image-none'),
|
|
19
20
|
containerClassName: [(_b = options.containerClassName) !== null && _b !== void 0 ? _b : 'u-grid-responsive-blocks-list', `--col-${columns}`],
|
|
20
|
-
containerStyle: { '--grid-max-col-count': columns },
|
|
21
|
+
containerStyle: { '--grid-max-col-count': columns, ...itemSpacingStyle(spacing) },
|
|
21
22
|
allowedBlocks: (_c = options.allowedBlocks) !== null && _c !== void 0 ? _c : ['brilo/review-item'],
|
|
22
23
|
template: (_d = options.template) !== null && _d !== void 0 ? _d : [
|
|
23
24
|
['brilo/review-item', {}],
|
|
@@ -26,6 +27,6 @@ export function createReviewGroupEdit(options) {
|
|
|
26
27
|
],
|
|
27
28
|
layout: { type: 'default' },
|
|
28
29
|
});
|
|
29
|
-
return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Rozložení', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Varianta', 'brilo-blocks'), value: variant, onChange: (v) => setAttributes({ variant: v }), children: VARIANTS_OPTIONS.map((v) => (_jsx(ToggleGroupControlOption, { value: v.value, label: v.label }, v.value))) }), _jsx(SelectControl, { label: __('Počet sloupců', 'brilo-blocks'), value: String(columns), options: COLUMNS.map((c) => ({ value: String(c), label: String(c) })), onChange: (value) => setAttributes({ columns: Number(value) }) }), _jsx(ToggleControl, { label: __('Zobrazit foto autora', 'brilo-blocks'), checked: image === 'avatar', onChange: (checked) => setAttributes({ image: (checked ? 'avatar' : 'none') }) })] }), !exclude.includes('colors') && style && (_jsxs(PanelBody, { title: __('Styl', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Stín', 'brilo-blocks'), value: style.shadow, onChange: (v) => setAttributes({ style: { ...style, shadow: v } }), children: DEFAULT_SHADOWS.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }), _jsx(BaseControl, { label: __('Barva okraje', 'brilo-blocks'), help: __('Bez vybrané barvy se okraj nevykreslí.', 'brilo-blocks'), id: "review-group-border-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.borderColor || undefined, onChange: (value) => setAttributes({ style: { ...style, borderColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva pozadí', 'brilo-blocks'), id: "review-group-background-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.backgroundColor || undefined, onChange: (value) => setAttributes({ style: { ...style, backgroundColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva textu', 'brilo-blocks'), id: "review-group-text-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.textColor || undefined, onChange: (value) => setAttributes({ style: { ...style, textColor: value !== null && value !== void 0 ? value : '' } }) }) })] }))] }), _jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) })] }));
|
|
30
|
+
return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Rozložení', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Varianta', 'brilo-blocks'), value: variant, onChange: (v) => setAttributes({ variant: v }), children: VARIANTS_OPTIONS.map((v) => (_jsx(ToggleGroupControlOption, { value: v.value, label: v.label }, v.value))) }), _jsx(SelectControl, { label: __('Počet sloupců', 'brilo-blocks'), value: String(columns), options: COLUMNS.map((c) => ({ value: String(c), label: String(c) })), onChange: (value) => setAttributes({ columns: Number(value) }) }), _jsx(ToggleControl, { label: __('Zobrazit foto autora', 'brilo-blocks'), checked: image === 'avatar', onChange: (checked) => setAttributes({ image: (checked ? 'avatar' : 'none') }) })] }), !exclude.includes('colors') && style && (_jsxs(PanelBody, { title: __('Styl', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Stín', 'brilo-blocks'), value: style.shadow, onChange: (v) => setAttributes({ style: { ...style, shadow: v } }), children: DEFAULT_SHADOWS.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }), _jsx(BaseControl, { label: __('Barva okraje', 'brilo-blocks'), help: __('Bez vybrané barvy se okraj nevykreslí.', 'brilo-blocks'), id: "review-group-border-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.borderColor || undefined, onChange: (value) => setAttributes({ style: { ...style, borderColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva pozadí', 'brilo-blocks'), id: "review-group-background-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.backgroundColor || undefined, onChange: (value) => setAttributes({ style: { ...style, backgroundColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva textu', 'brilo-blocks'), id: "review-group-text-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.textColor || undefined, onChange: (value) => setAttributes({ style: { ...style, textColor: value !== null && value !== void 0 ? value : '' } }) }) })] })), _jsx(ItemSpacingPanel, { spacing: spacing, onChange: (v) => setAttributes({ spacing: v }) })] }), _jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) })] }));
|
|
30
31
|
};
|
|
31
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/review/review-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/review/review-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAGzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AACxC,OAAO,EAA2B,QAAQ,EAAC,MAAM,aAAa,CAAA;AAG9D,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAEtE,YAAY,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,CAAA;AAEvD,wBAAgB,sBAAsB,CAAC,SAAS,SAAS,WAAW,GAAG,OAAO,QAAQ,EACpF,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,GACrC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CA6CvE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { InnerBlocks } from '@wordpress/block-editor';
|
|
3
3
|
import { __ } from '@wordpress/i18n';
|
|
4
|
+
import { ITEM_SPACING_ATTRIBUTE } from '../../../components/ItemSpacingControl';
|
|
4
5
|
import { COLUMNS, DEFAULT_SHADOWS, VARIANTS } from './constants';
|
|
5
6
|
import { createReviewGroupEdit } from './edit';
|
|
6
7
|
import { icon as defaultIcon } from './icon';
|
|
@@ -22,6 +23,7 @@ export function createReviewGroupBlock(options) {
|
|
|
22
23
|
type: 'string',
|
|
23
24
|
default: 'none',
|
|
24
25
|
},
|
|
26
|
+
...ITEM_SPACING_ATTRIBUTE,
|
|
25
27
|
};
|
|
26
28
|
if (!exclude.includes('colors')) {
|
|
27
29
|
attributes.style = {
|
|
@@ -16,6 +16,7 @@ export interface ReviewGroupAttributes<TVariant extends string = Variant> extend
|
|
|
16
16
|
backgroundColor: string;
|
|
17
17
|
textColor: string;
|
|
18
18
|
};
|
|
19
|
+
spacing?: number;
|
|
19
20
|
}
|
|
20
21
|
export interface ReviewGroupOptions<TVariants extends OptionArray = typeof VARIANTS> extends BriloBlockType {
|
|
21
22
|
variants?: TVariants;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/review/review-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEhF,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AACxD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAA;AACnC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AACpD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEpE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAA;AAE3C,MAAM,WAAW,qBAAqB,CAAC,QAAQ,SAAS,MAAM,GAAG,OAAO,CAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG,OAAO,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE;QACL,MAAM,EAAE,YAAY,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/review/review-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEhF,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AACxD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAA;AACnC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AACpD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEpE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAA;AAE3C,MAAM,WAAW,qBAAqB,CAAC,QAAQ,SAAS,MAAM,GAAG,OAAO,CAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG,OAAO,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE;QACL,MAAM,EAAE,YAAY,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB,CAAC,SAAS,SAAS,WAAW,GAAG,OAAO,QAAQ,CAAE,SAAQ,cAAc;IACzG,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACjC"}
|
|
@@ -73,6 +73,41 @@ export declare const BACKGROUND_IMAGE_FITS: readonly [{
|
|
|
73
73
|
}, {
|
|
74
74
|
readonly value: 'contain';
|
|
75
75
|
readonly label: import("@wordpress/i18n").TransformedText<"Celý obrázek (contain)">;
|
|
76
|
+
}, {
|
|
77
|
+
readonly value: 'custom';
|
|
78
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Vlastní (px)">;
|
|
79
|
+
}];
|
|
80
|
+
export declare const FLUID_DECORATION_FITS: readonly [{
|
|
81
|
+
readonly value: 'auto';
|
|
82
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Automaticky (výška)">;
|
|
83
|
+
}, {
|
|
84
|
+
readonly value: 'cover';
|
|
85
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Vyplnit (cover)">;
|
|
86
|
+
}, {
|
|
87
|
+
readonly value: 'contain';
|
|
88
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Celý obrázek (contain)">;
|
|
89
|
+
}, {
|
|
90
|
+
readonly value: 'custom';
|
|
91
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Vlastní (px)">;
|
|
92
|
+
}];
|
|
93
|
+
export declare const BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT = "32px";
|
|
94
|
+
export declare const BACKGROUND_IMAGE_SIZE_UNITS: {
|
|
95
|
+
value: string;
|
|
96
|
+
label: string;
|
|
97
|
+
default: number;
|
|
98
|
+
}[];
|
|
99
|
+
export declare const BACKGROUND_IMAGE_REPEATS: readonly [{
|
|
100
|
+
readonly value: 'no-repeat';
|
|
101
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Žádné">;
|
|
102
|
+
}, {
|
|
103
|
+
readonly value: 'repeat-x';
|
|
104
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Vodorovně (X)">;
|
|
105
|
+
}, {
|
|
106
|
+
readonly value: 'repeat-y';
|
|
107
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Svisle (Y)">;
|
|
108
|
+
}, {
|
|
109
|
+
readonly value: 'repeat';
|
|
110
|
+
readonly label: import("@wordpress/i18n").TransformedText<"Obojí">;
|
|
76
111
|
}];
|
|
77
112
|
export declare const BACKGROUND_IMAGE_POSITIONS: readonly [{
|
|
78
113
|
readonly value: 'left top';
|
|
@@ -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;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;AAED,eAAO,MAAM,oBAAoB;aAC9B,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,WAAW;aAAE,KAAK;;aACzB,KAAK,EAAE,aAAa;aAAE,KAAK;;aAC3B,KAAK,EAAE,cAAc;aAAE,KAAK;;aAC5B,KAAK,EAAE,aAAa;aAAE,KAAK;;aAC3B,KAAK,EAAE,cAAc;aAAE,KAAK;EACrB,CAAA;AAEV,eAAO,MAAM,iBAAiB;aAC3B,KAAK,EAAE,OAAO;aAAE,KAAK;;aACrB,KAAK,EAAE,OAAO;aAAE,KAAK;EACd,CAAA;AAEV,eAAO,MAAM,qBAAqB;aAC/B,KAAK,EAAE,IAAI;aAAE,KAAK;;aAClB,KAAK,EAAE,QAAQ;aAAE,KAAK;;aACtB,KAAK,EAAE,KAAK;aAAE,KAAK;EACZ,CAAA;AAEV,eAAO,MAAM,4BAA4B,UAAU,CAAA;AAEnD,eAAO,MAAM,0BAA0B;;;;GAItC,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAQ,CAAA;AAE9C,eAAO,MAAM,uBAAuB;;;;GAInC,CAAA;AAED,eAAO,MAAM,qBAAqB;aAC/B,KAAK,EAAE,OAAO;aAAE,KAAK;;aACrB,KAAK,EAAE,SAAS;aAAE,KAAK;
|
|
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;AAED,eAAO,MAAM,oBAAoB;aAC9B,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,WAAW;aAAE,KAAK;;aACzB,KAAK,EAAE,aAAa;aAAE,KAAK;;aAC3B,KAAK,EAAE,cAAc;aAAE,KAAK;;aAC5B,KAAK,EAAE,aAAa;aAAE,KAAK;;aAC3B,KAAK,EAAE,cAAc;aAAE,KAAK;EACrB,CAAA;AAEV,eAAO,MAAM,iBAAiB;aAC3B,KAAK,EAAE,OAAO;aAAE,KAAK;;aACrB,KAAK,EAAE,OAAO;aAAE,KAAK;EACd,CAAA;AAEV,eAAO,MAAM,qBAAqB;aAC/B,KAAK,EAAE,IAAI;aAAE,KAAK;;aAClB,KAAK,EAAE,QAAQ;aAAE,KAAK;;aACtB,KAAK,EAAE,KAAK;aAAE,KAAK;EACZ,CAAA;AAEV,eAAO,MAAM,4BAA4B,UAAU,CAAA;AAEnD,eAAO,MAAM,0BAA0B;;;;GAItC,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAQ,CAAA;AAE9C,eAAO,MAAM,uBAAuB;;;;GAInC,CAAA;AAED,eAAO,MAAM,qBAAqB;aAC/B,KAAK,EAAE,OAAO;aAAE,KAAK;;aACrB,KAAK,EAAE,SAAS;aAAE,KAAK;;aACvB,KAAK,EAAE,QAAQ;aAAE,KAAK;EACf,CAAA;AAEV,eAAO,MAAM,qBAAqB;oBAAY,MAAM;;;oBAL1C,OAAO;;;oBACP,SAAS;;;oBACT,QAAQ;;EAGyH,CAAA;AAE3I,eAAO,MAAM,mCAAmC,SAAS,CAAA;AAEzD,eAAO,MAAM,2BAA2B;;;;GAA4C,CAAA;AAEpF,eAAO,MAAM,wBAAwB;aAClC,KAAK,EAAE,WAAW;aAAE,KAAK;;aACzB,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,QAAQ;aAAE,KAAK;EACf,CAAA;AAEV,eAAO,MAAM,0BAA0B;aACpC,KAAK,EAAE,UAAU;aAAE,KAAK;;aACxB,KAAK,EAAE,YAAY;aAAE,KAAK;;aAC1B,KAAK,EAAE,WAAW;aAAE,KAAK;;aACzB,KAAK,EAAE,aAAa;aAAE,KAAK;;aAC3B,KAAK,EAAE,eAAe;aAAE,KAAK;;aAC7B,KAAK,EAAE,cAAc;aAAE,KAAK;;aAC5B,KAAK,EAAE,aAAa;aAAE,KAAK;;aAC3B,KAAK,EAAE,eAAe;aAAE,KAAK;;aAC7B,KAAK,EAAE,cAAc;aAAE,KAAK;EACrB,CAAA;AAEV,eAAO,MAAM,wCAAwC,KAAK,CAAA"}
|
|
@@ -45,6 +45,16 @@ export const DECORATION_OFFSET_UNITS = [
|
|
|
45
45
|
export const BACKGROUND_IMAGE_FITS = [
|
|
46
46
|
{ value: 'cover', label: __('Vyplnit (cover)', 'brilo-blocks') },
|
|
47
47
|
{ value: 'contain', label: __('Celý obrázek (contain)', 'brilo-blocks') },
|
|
48
|
+
{ value: 'custom', label: __('Vlastní (px)', 'brilo-blocks') },
|
|
49
|
+
];
|
|
50
|
+
export const FLUID_DECORATION_FITS = [{ value: 'auto', label: __('Automaticky (výška)', 'brilo-blocks') }, ...BACKGROUND_IMAGE_FITS];
|
|
51
|
+
export const BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT = '32px';
|
|
52
|
+
export const BACKGROUND_IMAGE_SIZE_UNITS = [{ value: 'px', label: 'px', default: 32 }];
|
|
53
|
+
export const BACKGROUND_IMAGE_REPEATS = [
|
|
54
|
+
{ value: 'no-repeat', label: __('Žádné', 'brilo-blocks') },
|
|
55
|
+
{ value: 'repeat-x', label: __('Vodorovně (X)', 'brilo-blocks') },
|
|
56
|
+
{ value: 'repeat-y', label: __('Svisle (Y)', 'brilo-blocks') },
|
|
57
|
+
{ value: 'repeat', label: __('Obojí', 'brilo-blocks') },
|
|
48
58
|
];
|
|
49
59
|
export const BACKGROUND_IMAGE_POSITIONS = [
|
|
50
60
|
{ value: 'left top', label: __('Vlevo nahoře', 'brilo-blocks') },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/controls.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/controls.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAKV,mBAAmB,EAOnB,kBAAkB,EAInB,MAAM,SAAS,CAAA;AAobhB,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,+BAkHnF"}
|
|
@@ -3,18 +3,30 @@ import { ColorPalette, ContrastChecker, MediaUpload, MediaUploadCheck } from '@w
|
|
|
3
3
|
import { BaseControl, Button, ButtonGroup, PanelBody, PanelRow, RangeControl, 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 { BACKGROUND_IMAGE_FITS, BACKGROUND_IMAGE_OVERLAY_OPACITY_DEFAULT, BACKGROUND_IMAGE_POSITIONS, DECORATION_DEPTHS, DECORATION_MAX_WIDTH_DEFAULT, DECORATION_MAX_WIDTH_UNITS, DECORATION_OFFSET_DEFAULT, DECORATION_OFFSET_UNITS, DECORATION_POSITIONS, DECORATION_TRANSLATES, FLUID_DECORATION_DEFAULT_HEIGHT, FLUID_DECORATION_HEIGHT_PRESETS, FLUID_DECORATION_UNITS, SPACING_POSITIONS, SPACING_SIZES, } from './constants';
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { BACKGROUND_IMAGE_FITS, BACKGROUND_IMAGE_OVERLAY_OPACITY_DEFAULT, BACKGROUND_IMAGE_POSITIONS, BACKGROUND_IMAGE_REPEATS, BACKGROUND_IMAGE_SIZE_UNITS, BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT, DECORATION_DEPTHS, DECORATION_MAX_WIDTH_DEFAULT, DECORATION_MAX_WIDTH_UNITS, DECORATION_OFFSET_DEFAULT, DECORATION_OFFSET_UNITS, DECORATION_POSITIONS, DECORATION_TRANSLATES, FLUID_DECORATION_DEFAULT_HEIGHT, FLUID_DECORATION_FITS, FLUID_DECORATION_HEIGHT_PRESETS, FLUID_DECORATION_UNITS, SPACING_POSITIONS, SPACING_SIZES, } from './constants';
|
|
7
|
+
// Shared shape behind every control's `update(patch)`: fill in defaults, layer the current
|
|
8
|
+
// value on top, then the patch — so a patch only needs to name the field(s) actually changing.
|
|
9
|
+
function mergeUpdate(defaults, value, patch) {
|
|
10
|
+
return { ...defaults, ...value, ...patch };
|
|
11
|
+
}
|
|
12
|
+
function FluidDecorationControl({ label, placement, value, onChange }) {
|
|
13
|
+
var _a, _b, _c, _d, _e;
|
|
9
14
|
const img = value === null || value === void 0 ? void 0 : value.img;
|
|
10
15
|
const height = (_a = value === null || value === void 0 ? void 0 : value.height) !== null && _a !== void 0 ? _a : FLUID_DECORATION_DEFAULT_HEIGHT;
|
|
16
|
+
const fit = (_b = value === null || value === void 0 ? void 0 : value.fit) !== null && _b !== void 0 ? _b : 'auto';
|
|
17
|
+
const sizeValue = (_c = value === null || value === void 0 ? void 0 : value.sizeValue) !== null && _c !== void 0 ? _c : BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT;
|
|
18
|
+
// Matches the twig template's per-side default (top/bottom left) so the field only starts
|
|
19
|
+
// overriding the frontend once the editor actually writes an explicit value.
|
|
20
|
+
const bgPosition = (_d = value === null || value === void 0 ? void 0 : value.bgPosition) !== null && _d !== void 0 ? _d : (placement === 'bottom' ? 'left bottom' : 'left top');
|
|
21
|
+
const repeat = (_e = value === null || value === void 0 ? void 0 : value.repeat) !== null && _e !== void 0 ? _e : 'repeat-x';
|
|
22
|
+
const update = (patch) => onChange(mergeUpdate({ img, height, fit, bgPosition, repeat }, value, patch));
|
|
11
23
|
const handleSelect = (media) => {
|
|
12
24
|
var _a;
|
|
13
25
|
const nextImg = { id: media.id, src: media.url, alt: (_a = media.alt) !== null && _a !== void 0 ? _a : '', width: media.width, height: media.height };
|
|
14
|
-
|
|
26
|
+
update({ img: nextImg });
|
|
15
27
|
};
|
|
16
28
|
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
|
|
29
|
+
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 update({ 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: () => update({ height: `${preset}px` }), children: preset }, preset))) }), _jsx(ToggleGroupControl, { label: __('Přizpůsobení', 'brilo-blocks'), value: fit, onChange: (next) => update({ fit: next }), isBlock: true, children: FLUID_DECORATION_FITS.map((f) => (_jsx(ToggleGroupControlOption, { value: f.value, label: f.label }, f.value))) }), fit === 'custom' && (_jsx(UnitControl, { label: __('Velikost', 'brilo-blocks'), value: sizeValue, units: BACKGROUND_IMAGE_SIZE_UNITS, onChange: (next) => { var _a; return update({ sizeValue: (_a = next) !== null && _a !== void 0 ? _a : BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT }); } })), _jsx(SelectControl, { label: __('Pozice obrázku', 'brilo-blocks'), value: bgPosition, options: [...BACKGROUND_IMAGE_POSITIONS], onChange: (next) => update({ bgPosition: next }) }), _jsx(SelectControl, { label: __('Opakování', 'brilo-blocks'), value: repeat, options: [...BACKGROUND_IMAGE_REPEATS], onChange: (next) => update({ repeat: next }) })] }))] }));
|
|
18
30
|
}
|
|
19
31
|
function DecorationControl({ value, onChange }) {
|
|
20
32
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -25,7 +37,7 @@ function DecorationControl({ value, onChange }) {
|
|
|
25
37
|
const maxWidth = (_d = value === null || value === void 0 ? void 0 : value.maxWidth) !== null && _d !== void 0 ? _d : DECORATION_MAX_WIDTH_DEFAULT;
|
|
26
38
|
const offsetX = (_e = value === null || value === void 0 ? void 0 : value.offsetX) !== null && _e !== void 0 ? _e : DECORATION_OFFSET_DEFAULT;
|
|
27
39
|
const offsetY = (_f = value === null || value === void 0 ? void 0 : value.offsetY) !== null && _f !== void 0 ? _f : DECORATION_OFFSET_DEFAULT;
|
|
28
|
-
const update = (patch) => onChange({ img, position, depth, translate, maxWidth, offsetX, offsetY,
|
|
40
|
+
const update = (patch) => onChange(mergeUpdate({ img, position, depth, translate, maxWidth, offsetX, offsetY }, value, patch));
|
|
29
41
|
const handleSelect = (media) => {
|
|
30
42
|
var _a;
|
|
31
43
|
const nextImg = { id: media.id, src: media.url, alt: (_a = media.alt) !== null && _a !== void 0 ? _a : '', width: media.width, height: media.height };
|
|
@@ -36,21 +48,23 @@ function DecorationControl({ value, onChange }) {
|
|
|
36
48
|
}
|
|
37
49
|
function BackgroundImageControl({ value, onChange }) {
|
|
38
50
|
var _a, _b;
|
|
39
|
-
var _c, _d, _e;
|
|
51
|
+
var _c, _d, _e, _f, _g;
|
|
40
52
|
const { paletteColors } = useTenantColorPalette();
|
|
41
53
|
const img = value === null || value === void 0 ? void 0 : value.img;
|
|
42
54
|
const fit = (_c = value === null || value === void 0 ? void 0 : value.fit) !== null && _c !== void 0 ? _c : 'cover';
|
|
43
|
-
const
|
|
55
|
+
const sizeValue = (_d = value === null || value === void 0 ? void 0 : value.sizeValue) !== null && _d !== void 0 ? _d : BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT;
|
|
56
|
+
const position = (_e = value === null || value === void 0 ? void 0 : value.position) !== null && _e !== void 0 ? _e : 'center center';
|
|
57
|
+
const repeat = (_f = value === null || value === void 0 ? void 0 : value.repeat) !== null && _f !== void 0 ? _f : 'no-repeat';
|
|
44
58
|
const overlayColor = (_a = value === null || value === void 0 ? void 0 : value.overlay) === null || _a === void 0 ? void 0 : _a.color;
|
|
45
|
-
const overlayOpacity = (
|
|
46
|
-
const update = (patch) => onChange({ img, fit, position, overlay: value === null || value === void 0 ? void 0 : value.overlay,
|
|
59
|
+
const overlayOpacity = (_g = (_b = value === null || value === void 0 ? void 0 : value.overlay) === null || _b === void 0 ? void 0 : _b.opacity) !== null && _g !== void 0 ? _g : BACKGROUND_IMAGE_OVERLAY_OPACITY_DEFAULT;
|
|
60
|
+
const update = (patch) => onChange(mergeUpdate({ img, fit, position, repeat, overlay: value === null || value === void 0 ? void 0 : value.overlay }, value, patch));
|
|
47
61
|
const handleSelect = (media) => {
|
|
48
62
|
var _a;
|
|
49
63
|
const nextImg = { id: media.id, src: media.url, alt: (_a = media.alt) !== null && _a !== void 0 ? _a : '', width: media.width, height: media.height };
|
|
50
64
|
update({ img: nextImg });
|
|
51
65
|
};
|
|
52
66
|
const handleRemove = () => onChange(undefined);
|
|
53
|
-
return (_jsxs(BaseControl, { label: __('Obrázek pozadí', 'brilo-blocks'), __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(ToggleGroupControl, { label: __('Přizpůsobení', 'brilo-blocks'), value: fit, onChange: (next) => update({ fit: next }), isBlock: true, children: BACKGROUND_IMAGE_FITS.map((f) => (_jsx(ToggleGroupControlOption, { value: f.value, label: f.label }, f.value))) }), _jsx(SelectControl, { label: __('Pozice', 'brilo-blocks'), value: position, options: [...BACKGROUND_IMAGE_POSITIONS], onChange: (next) => update({ position: next }) }), _jsxs(BaseControl, { label: __('Překryv barvou', 'brilo-blocks'),
|
|
67
|
+
return (_jsxs(BaseControl, { label: __('Obrázek pozadí', 'brilo-blocks'), __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(ToggleGroupControl, { label: __('Přizpůsobení', 'brilo-blocks'), value: fit, onChange: (next) => update({ fit: next }), isBlock: true, children: BACKGROUND_IMAGE_FITS.map((f) => (_jsx(ToggleGroupControlOption, { value: f.value, label: f.label }, f.value))) }), fit === 'custom' && (_jsx(UnitControl, { label: __('Velikost', 'brilo-blocks'), value: sizeValue, units: BACKGROUND_IMAGE_SIZE_UNITS, onChange: (next) => { var _a; return update({ sizeValue: (_a = next) !== null && _a !== void 0 ? _a : BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT }); } })), _jsx(SelectControl, { label: __('Pozice', 'brilo-blocks'), value: position, options: [...BACKGROUND_IMAGE_POSITIONS], onChange: (next) => update({ position: next }) }), _jsx(SelectControl, { label: __('Opakování', 'brilo-blocks'), value: repeat, options: [...BACKGROUND_IMAGE_REPEATS], onChange: (next) => update({ repeat: next }) }), _jsxs(BaseControl, { label: __('Překryv barvou', 'brilo-blocks'), help: __('Ztmavení/zabarvení obrázku pro lepší čitelnost textu.', 'brilo-blocks'), children: [_jsx(ColorPalette, { colors: paletteColors, value: overlayColor || undefined, onChange: (next) => update({ overlay: { color: next !== null && next !== void 0 ? next : undefined, opacity: overlayOpacity } }) }), !!overlayColor && (_jsx(RangeControl, { label: __('Krytí překryvu', 'brilo-blocks'), value: overlayOpacity, min: 0, max: 100, onChange: (next) => update({ overlay: { color: overlayColor, opacity: next !== null && next !== void 0 ? next : BACKGROUND_IMAGE_OVERLAY_OPACITY_DEFAULT } }) }))] })] }))] }));
|
|
54
68
|
}
|
|
55
69
|
const BORDER_STYLES = [
|
|
56
70
|
{ value: 'none', label: __('Žádný', 'brilo-blocks') },
|
|
@@ -94,7 +108,7 @@ export function BaseControls({ attributes, setAttributes, exclude }) {
|
|
|
94
108
|
const nextFluid = { ...fluid, [position]: value };
|
|
95
109
|
setAttributes({ decorations: { ...decorations, fluid: nextFluid } });
|
|
96
110
|
};
|
|
97
|
-
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('backgroundImage') && (_jsx(PanelBody, { title: __('Obrázek pozadí', 'brilo-blocks'), initialOpen: false, children: _jsx(BackgroundImageControl, { value: backgroundImage, onChange: (value) => setAttributes({ backgroundImage: value !== null && value !== void 0 ? value : {} }) }) })), !exclude.includes('decoration') && (_jsx(PanelBody, { title: __('Dekorace', 'brilo-blocks'), initialOpen: false, children: _jsx(DecorationControl, { value: decoration, onChange: (value) => setAttributes({ decoration: value !== null && value !== void 0 ? value : {} }) }) })), !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('border') && (_jsx(PanelBody, { title: __('Ohraničení', 'brilo-blocks'), initialOpen: false, children: _jsx(BorderControl, { value: border, onChange: (value) => setAttributes({
|
|
111
|
+
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('backgroundImage') && (_jsx(PanelBody, { title: __('Obrázek pozadí', 'brilo-blocks'), initialOpen: false, children: _jsx(BackgroundImageControl, { value: backgroundImage, onChange: (value) => setAttributes({ backgroundImage: value !== null && value !== void 0 ? value : {} }) }) })), !exclude.includes('decoration') && (_jsx(PanelBody, { title: __('Dekorace', 'brilo-blocks'), initialOpen: false, children: _jsx(DecorationControl, { value: decoration, onChange: (value) => setAttributes({ decoration: value !== null && value !== void 0 ? value : {} }) }) })), !exclude.includes('decorations') && (_jsxs(PanelBody, { title: __('Fluidní dekorace', 'brilo-blocks'), initialOpen: false, children: [_jsx(FluidDecorationControl, { label: __('Nahoře', 'brilo-blocks'), placement: "top", value: fluid.top, onChange: (value) => setFluid('top', value) }), _jsx(FluidDecorationControl, { label: __('Dole', 'brilo-blocks'), placement: "bottom", value: fluid.bottom, onChange: (value) => setFluid('bottom', value) })] })), !exclude.includes('border') && (_jsx(PanelBody, { title: __('Ohraničení', 'brilo-blocks'), initialOpen: false, children: _jsx(BorderControl, { value: border, onChange: (value) => setAttributes({
|
|
98
112
|
border: value !== null && value !== void 0 ? value : {
|
|
99
113
|
top: {
|
|
100
114
|
width: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/edit.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/base-section/edit.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAIpE,wBAAgB,qBAAqB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,WAG3G,cAAc,CAAC,mBAAmB,GAAG,MAAM,CAAC,iCAyDzE"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { InspectorControls, useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
3
3
|
import { BaseControls } from './controls';
|
|
4
|
+
import { BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT } from './constants';
|
|
4
5
|
export function createBaseSectionEdit(options) {
|
|
5
6
|
var _a;
|
|
6
7
|
const EXCLUDE = (_a = options.exclude) !== null && _a !== void 0 ? _a : [];
|
|
7
8
|
return function Edit(props) {
|
|
8
9
|
var _a, _b;
|
|
9
|
-
var _c, _d;
|
|
10
|
+
var _c, _d, _e, _f;
|
|
10
11
|
const { attributes, setAttributes } = props;
|
|
11
12
|
const { background, textColor, gradient, backgroundImage } = attributes;
|
|
12
13
|
const bgImageSrc = (_a = backgroundImage === null || backgroundImage === void 0 ? void 0 : backgroundImage.img) === null || _a === void 0 ? void 0 : _a.src;
|
|
@@ -24,11 +25,18 @@ export function createBaseSectionEdit(options) {
|
|
|
24
25
|
...(bgImageSrc
|
|
25
26
|
? {
|
|
26
27
|
backgroundImage: [tintLayer, `url(${bgImageSrc})`].filter(Boolean).join(', '),
|
|
27
|
-
backgroundSize: [
|
|
28
|
-
|
|
28
|
+
backgroundSize: [
|
|
29
|
+
tintLayer ? '100% 100%' : null,
|
|
30
|
+
(backgroundImage === null || backgroundImage === void 0 ? void 0 : backgroundImage.fit) === 'custom'
|
|
31
|
+
? ((_c = backgroundImage === null || backgroundImage === void 0 ? void 0 : backgroundImage.sizeValue) !== null && _c !== void 0 ? _c : BACKGROUND_IMAGE_SIZE_VALUE_DEFAULT)
|
|
32
|
+
: ((_d = backgroundImage === null || backgroundImage === void 0 ? void 0 : backgroundImage.fit) !== null && _d !== void 0 ? _d : 'cover'),
|
|
33
|
+
]
|
|
29
34
|
.filter(Boolean)
|
|
30
35
|
.join(', '),
|
|
31
|
-
|
|
36
|
+
backgroundPosition: [tintLayer ? 'center center' : null, (_e = backgroundImage === null || backgroundImage === void 0 ? void 0 : backgroundImage.position) !== null && _e !== void 0 ? _e : 'center center']
|
|
37
|
+
.filter(Boolean)
|
|
38
|
+
.join(', '),
|
|
39
|
+
backgroundRepeat: [tintLayer ? 'no-repeat' : null, (_f = backgroundImage === null || backgroundImage === void 0 ? void 0 : backgroundImage.repeat) !== null && _f !== void 0 ? _f : 'no-repeat'].filter(Boolean).join(', '),
|
|
32
40
|
padding: '16px',
|
|
33
41
|
}
|
|
34
42
|
: {}),
|
|
@@ -11,6 +11,10 @@ export interface FluidDecorationImage {
|
|
|
11
11
|
export interface FluidDecoration {
|
|
12
12
|
img?: FluidDecorationImage;
|
|
13
13
|
height: string;
|
|
14
|
+
fit?: FluidDecorationFit;
|
|
15
|
+
sizeValue?: string;
|
|
16
|
+
bgPosition?: BackgroundImagePosition;
|
|
17
|
+
repeat?: BackgroundImageRepeat;
|
|
14
18
|
}
|
|
15
19
|
export type DecorationImage = FluidDecorationImage;
|
|
16
20
|
export type DecorationPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center-left' | 'center-right';
|
|
@@ -25,7 +29,9 @@ export interface Decoration {
|
|
|
25
29
|
offsetX?: string;
|
|
26
30
|
offsetY?: string;
|
|
27
31
|
}
|
|
28
|
-
export type BackgroundImageFit = 'cover' | 'contain';
|
|
32
|
+
export type BackgroundImageFit = 'cover' | 'contain' | 'custom';
|
|
33
|
+
export type FluidDecorationFit = BackgroundImageFit | 'auto';
|
|
34
|
+
export type BackgroundImageRepeat = 'no-repeat' | 'repeat' | 'repeat-x' | 'repeat-y';
|
|
29
35
|
export type BackgroundImagePosition = 'left top' | 'center top' | 'right top' | 'left center' | 'center center' | 'right center' | 'left bottom' | 'center bottom' | 'right bottom';
|
|
30
36
|
export interface BackgroundImageOverlay {
|
|
31
37
|
color?: string;
|
|
@@ -34,7 +40,9 @@ export interface BackgroundImageOverlay {
|
|
|
34
40
|
export interface BackgroundImage {
|
|
35
41
|
img?: FluidDecorationImage;
|
|
36
42
|
fit?: BackgroundImageFit;
|
|
43
|
+
sizeValue?: string;
|
|
37
44
|
position?: BackgroundImagePosition;
|
|
45
|
+
repeat?: BackgroundImageRepeat;
|
|
38
46
|
overlay?: BackgroundImageOverlay;
|
|
39
47
|
}
|
|
40
48
|
export interface Border {
|
|
@@ -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,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;
|
|
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;IACd,GAAG,CAAC,EAAE,kBAAkB,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,UAAU,CAAC,EAAE,uBAAuB,CAAA;IACpC,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAC/B;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAElD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,CAAA;AAC3H,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAC/C,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEzD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,eAAe,CAAA;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAG/D,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,MAAM,CAAA;AAE5D,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpF,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,GACd,aAAa,GACb,eAAe,GACf,cAAc,CAAA;AAElB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,GAAG,CAAC,EAAE,kBAAkB,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,OAAO,CAAC,EAAE,sBAAsB,CAAA;CACjC;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAA;IAClD,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAA;IACrD,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAA;IACnD,KAAK,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAA;CACrD;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,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE;QACX,KAAK,CAAC,EAAE;YACN,GAAG,CAAC,EAAE,eAAe,CAAA;YACrB,MAAM,CAAC,EAAE,eAAe,CAAA;SACzB,CAAA;KACF,CAAA;IACD,eAAe,EAAE,eAAe,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,QAAQ,CAAA;AAE9H,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/signpost/signpost-group/edit.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/signpost/signpost-group/edit.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAC,uBAAuB,EAAE,oBAAoB,EAA2D,MAAM,SAAS,CAAA;AAEpI,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,oCAMhE;IACD,UAAU,EAAE,uBAAuB,CAAA;IACnC,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAA;CAC7D,iCA0IF"}
|
|
@@ -3,6 +3,7 @@ import { InspectorControls } from '@wordpress/block-editor';
|
|
|
3
3
|
import { BaseControl, ColorPalette, PanelBody, RangeControl, SelectControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, } from '@wordpress/components';
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
+
import { ItemSpacingPanel, itemSpacingStyle } from '../../../components/ItemSpacingControl';
|
|
6
7
|
import { useGroupBlock } from '../../../hooks/useGroupBlock';
|
|
7
8
|
import { useTenantColorPalette } from '../../../hooks/useTenantColorPalette';
|
|
8
9
|
import { COLUMNS, DEFAULT_IMAGE_CLIP_PATHS, DEFAULT_SHADOWS, HEADING_LEVELS, IMAGE_CLIP_PATH_VALUES, PADDING_MARKS, RATIOS, TEXT_ALIGNS, } from './constants';
|
|
@@ -11,7 +12,7 @@ export function createSignpostGroupEdit(options) {
|
|
|
11
12
|
const exclude = (_a = options.exclude) !== null && _a !== void 0 ? _a : [];
|
|
12
13
|
return function Edit({ attributes, setAttributes, }) {
|
|
13
14
|
var _a, _b, _c;
|
|
14
|
-
const { columns, headingLevel, ratio, img, style, padding } = attributes;
|
|
15
|
+
const { columns, headingLevel, ratio, img, style, padding, spacing } = attributes;
|
|
15
16
|
const clipPath = (_a = img === null || img === void 0 ? void 0 : img.clipPath) !== null && _a !== void 0 ? _a : 'none';
|
|
16
17
|
const { paletteColors } = useTenantColorPalette();
|
|
17
18
|
const { blockProps, innerBlocksProps } = useGroupBlock({
|
|
@@ -21,12 +22,13 @@ export function createSignpostGroupEdit(options) {
|
|
|
21
22
|
'--grid-max-col-count': columns,
|
|
22
23
|
// Inherited by every signpost item inside the container.
|
|
23
24
|
...(IMAGE_CLIP_PATH_VALUES[clipPath] && { '--signpost-image-clip-path': IMAGE_CLIP_PATH_VALUES[clipPath] }),
|
|
25
|
+
...itemSpacingStyle(spacing),
|
|
24
26
|
},
|
|
25
27
|
allowedBlocks: options.allowedBlocks,
|
|
26
28
|
orientation: 'horizontal',
|
|
27
29
|
template: options.template,
|
|
28
30
|
layout: { type: 'default' },
|
|
29
31
|
});
|
|
30
|
-
return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Rozložení', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Počet sloupců', 'brilo-blocks'), value: String(columns), onChange: (v) => setAttributes({ columns: Number(v) }), children: COLUMNS.map((c) => (_jsx(ToggleGroupControlOption, { value: String(c), label: String(c) }, c))) }), _jsx(ToggleGroupControl, { isBlock: true, label: __('Poměr stran', 'brilo-blocks'), value: ratio, onChange: (v) => setAttributes({ ratio: v }), children: RATIOS.map((r) => (_jsx(ToggleGroupControlOption, { value: r, label: r }, r))) }), _jsx(SelectControl, { label: __('Tvar výřezu obrázku', 'brilo-blocks'), value: clipPath, options: [...DEFAULT_IMAGE_CLIP_PATHS], onChange: (v) => setAttributes({ img: { ...img, clipPath: v } }) }), _jsx(ToggleGroupControl, { isBlock: true, label: __('Úroveň nadpisu položek', 'brilo-blocks'), value: String(headingLevel), onChange: (v) => setAttributes({ headingLevel: Number(v) }), children: HEADING_LEVELS.map((l) => (_jsx(ToggleGroupControlOption, { value: String(l), label: `H${l}` }, l))) })] }), !exclude.includes('colors') && style && (_jsxs(PanelBody, { title: __('Styl', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Stín', 'brilo-blocks'), value: style.shadow, onChange: (v) => setAttributes({ style: { ...style, shadow: v } }), children: DEFAULT_SHADOWS.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }), _jsx(BaseControl, { label: __('Barva okraje', 'brilo-blocks'), help: __('Bez vybrané barvy se okraj nevykreslí.', 'brilo-blocks'), id: "signpost-group-border-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.borderColor || undefined, onChange: (value) => setAttributes({ style: { ...style, borderColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva pozadí', 'brilo-blocks'), id: "signpost-group-background-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.backgroundColor || undefined, onChange: (value) => setAttributes({ style: { ...style, backgroundColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva textu', 'brilo-blocks'), id: "signpost-group-text-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.textColor || undefined, onChange: (value) => setAttributes({ style: { ...style, textColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva nadpisu', 'brilo-blocks'), id: "signpost-group-heading-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.headingColor || undefined, onChange: (value) => setAttributes({ style: { ...style, headingColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(ToggleGroupControl, { isBlock: true, label: __('Zarovnání textu', 'brilo-blocks'), value: style.textAlign, onChange: (v) => setAttributes({ style: { ...style, textAlign: v } }), children: TEXT_ALIGNS.map((a) => (_jsx(ToggleGroupControlOption, { value: a.value, label: a.label }, a.value))) })] })), !exclude.includes('padding') && padding && (_jsx(PanelBody, { title: __('Padding', 'brilo-blocks'), children: _jsx(RangeControl, { label: __('Vnitřní odsazení (rem)', 'brilo-blocks'), value: padding.value, onChange: (v) => setAttributes({ padding: { value: v !== null && v !== void 0 ? v : 0 } }), min: 0, max: 2, step: 0.5, marks: [...PADDING_MARKS] }) }))] }), _jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) })] }));
|
|
32
|
+
return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Rozložení', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Počet sloupců', 'brilo-blocks'), value: String(columns), onChange: (v) => setAttributes({ columns: Number(v) }), children: COLUMNS.map((c) => (_jsx(ToggleGroupControlOption, { value: String(c), label: String(c) }, c))) }), _jsx(ToggleGroupControl, { isBlock: true, label: __('Poměr stran', 'brilo-blocks'), value: ratio, onChange: (v) => setAttributes({ ratio: v }), children: RATIOS.map((r) => (_jsx(ToggleGroupControlOption, { value: r, label: r }, r))) }), _jsx(SelectControl, { label: __('Tvar výřezu obrázku', 'brilo-blocks'), value: clipPath, options: [...DEFAULT_IMAGE_CLIP_PATHS], onChange: (v) => setAttributes({ img: { ...img, clipPath: v } }) }), _jsx(ToggleGroupControl, { isBlock: true, label: __('Úroveň nadpisu položek', 'brilo-blocks'), value: String(headingLevel), onChange: (v) => setAttributes({ headingLevel: Number(v) }), children: HEADING_LEVELS.map((l) => (_jsx(ToggleGroupControlOption, { value: String(l), label: `H${l}` }, l))) })] }), !exclude.includes('colors') && style && (_jsxs(PanelBody, { title: __('Styl', 'brilo-blocks'), children: [_jsx(ToggleGroupControl, { isBlock: true, label: __('Stín', 'brilo-blocks'), value: style.shadow, onChange: (v) => setAttributes({ style: { ...style, shadow: v } }), children: DEFAULT_SHADOWS.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }), _jsx(BaseControl, { label: __('Barva okraje', 'brilo-blocks'), help: __('Bez vybrané barvy se okraj nevykreslí.', 'brilo-blocks'), id: "signpost-group-border-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.borderColor || undefined, onChange: (value) => setAttributes({ style: { ...style, borderColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva pozadí', 'brilo-blocks'), id: "signpost-group-background-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.backgroundColor || undefined, onChange: (value) => setAttributes({ style: { ...style, backgroundColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva textu', 'brilo-blocks'), id: "signpost-group-text-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.textColor || undefined, onChange: (value) => setAttributes({ style: { ...style, textColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(BaseControl, { label: __('Barva nadpisu', 'brilo-blocks'), id: "signpost-group-heading-color", children: _jsx(ColorPalette, { colors: paletteColors, value: style.headingColor || undefined, onChange: (value) => setAttributes({ style: { ...style, headingColor: value !== null && value !== void 0 ? value : '' } }) }) }), _jsx(ToggleGroupControl, { isBlock: true, label: __('Zarovnání textu', 'brilo-blocks'), value: style.textAlign, onChange: (v) => setAttributes({ style: { ...style, textAlign: v } }), children: TEXT_ALIGNS.map((a) => (_jsx(ToggleGroupControlOption, { value: a.value, label: a.label }, a.value))) })] })), !exclude.includes('padding') && padding && (_jsx(PanelBody, { title: __('Padding', 'brilo-blocks'), children: _jsx(RangeControl, { label: __('Vnitřní odsazení (rem)', 'brilo-blocks'), value: padding.value, onChange: (v) => setAttributes({ padding: { value: v !== null && v !== void 0 ? v : 0 } }), min: 0, max: 2, step: 0.5, marks: [...PADDING_MARKS] }) })), _jsx(ItemSpacingPanel, { spacing: spacing, onChange: (v) => setAttributes({ spacing: v }) })] }), _jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) })] }));
|
|
31
33
|
};
|
|
32
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/signpost/signpost-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/signpost/signpost-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAMzD,OAAO,KAAK,EAAC,uBAAuB,EAAE,oBAAoB,EAAC,MAAM,SAAS,CAAA;AAE1E,YAAY,EAAC,uBAAuB,EAAE,oBAAoB,EAAC,CAAA;AAE3D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CA2DnH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { InnerBlocks } from '@wordpress/block-editor';
|
|
3
3
|
import { __ } from '@wordpress/i18n';
|
|
4
|
+
import { ITEM_SPACING_ATTRIBUTE } from '../../../components/ItemSpacingControl';
|
|
4
5
|
import { COLUMNS, DEFAULT_IMAGE_CLIP_PATHS, DEFAULT_SHADOWS, HEADING_LEVELS, RATIOS, TEXT_ALIGNS } from './constants';
|
|
5
6
|
import { createSignpostGroupEdit } from './edit';
|
|
6
7
|
import { icon as defaultIcon } from './icon';
|
|
@@ -27,6 +28,7 @@ export function createSignpostGroupBlock(options) {
|
|
|
27
28
|
type: 'object',
|
|
28
29
|
default: { clipPath: DEFAULT_IMAGE_CLIP_PATHS[0].value },
|
|
29
30
|
},
|
|
31
|
+
...ITEM_SPACING_ATTRIBUTE,
|
|
30
32
|
};
|
|
31
33
|
if (!exclude.includes('colors')) {
|
|
32
34
|
attributes.style = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/signpost/signpost-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAC,wBAAwB,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAEvF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAErE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEzD,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE;QAAC,QAAQ,EAAE,qBAAqB,CAAA;KAAC,CAAA;IACtC,KAAK,EAAE;QACL,MAAM,EAAE,cAAc,CAAA;QACtB,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,iBAAiB,CAAA;KAC7B,CAAA;IACD,OAAO,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/signpost/signpost-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAC,wBAAwB,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAEvF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAEtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAErE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEzD,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE;QAAC,QAAQ,EAAE,qBAAqB,CAAA;KAAC,CAAA;IACtC,KAAK,EAAE;QACL,MAAM,EAAE,cAAc,CAAA;QACtB,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,iBAAiB,CAAA;KAC7B,CAAA;IACD,OAAO,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/step/step-group/edit.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/step/step-group/edit.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAC,mBAAmB,EAAE,gBAAgB,EAAc,MAAM,SAAS,CAAA;AAC/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAE5C,wBAAgB,mBAAmB,CAAC,SAAS,SAAS,WAAW,GAAG,OAAO,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,oCAM5H;IACD,UAAU,EAAE,mBAAmB,CAAA;IAC/B,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;CACzD,iCAyCF"}
|