@brilo/base-blocks 0.1.6 → 0.1.7

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 (30) hide show
  1. package/build/blocks/groups/content-group/constants.d.ts +2 -0
  2. package/build/blocks/groups/content-group/constants.d.ts.map +1 -0
  3. package/build/blocks/groups/content-group/constants.js +1 -0
  4. package/build/blocks/groups/content-group/edit.d.ts +6 -0
  5. package/build/blocks/groups/content-group/edit.d.ts.map +1 -0
  6. package/build/blocks/groups/content-group/edit.js +20 -0
  7. package/build/blocks/groups/content-group/factory.d.ts +4 -0
  8. package/build/blocks/groups/content-group/factory.d.ts.map +1 -0
  9. package/build/blocks/groups/content-group/factory.js +25 -0
  10. package/build/blocks/groups/content-group/icon.d.ts +2 -0
  11. package/build/blocks/groups/content-group/icon.d.ts.map +1 -0
  12. package/build/blocks/groups/content-group/icon.js +2 -0
  13. package/build/blocks/groups/content-group/index.d.ts +5 -0
  14. package/build/blocks/groups/content-group/index.d.ts.map +1 -0
  15. package/build/blocks/groups/content-group/index.js +21 -0
  16. package/build/blocks/groups/content-group/types.d.ts +9 -0
  17. package/build/blocks/groups/content-group/types.d.ts.map +1 -0
  18. package/build/blocks/groups/content-group/types.js +1 -0
  19. package/build/index.d.ts +2 -0
  20. package/build/index.d.ts.map +1 -1
  21. package/build/index.js +1 -0
  22. package/package.json +1 -1
  23. package/src/blocks/groups/content-group/constants.ts +1 -0
  24. package/src/blocks/groups/content-group/edit.tsx +51 -0
  25. package/src/blocks/groups/content-group/editor.scss +10 -0
  26. package/src/blocks/groups/content-group/factory.tsx +26 -0
  27. package/src/blocks/groups/content-group/icon.tsx +23 -0
  28. package/src/blocks/groups/content-group/index.ts +25 -0
  29. package/src/blocks/groups/content-group/types.ts +10 -0
  30. package/src/index.ts +2 -0
@@ -0,0 +1,2 @@
1
+ export declare const SIZES: readonly ["8", "12"];
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/blocks/groups/content-group/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,sBAAuB,CAAA"}
@@ -0,0 +1 @@
1
+ export const SIZES = ['8', '12'];
@@ -0,0 +1,6 @@
1
+ import type { ContentGroupAttributes, ContentGroupOptions } from './types';
2
+ export declare function createContentGroupEdit(options: ContentGroupOptions): ({ attributes, setAttributes, }: {
3
+ attributes: ContentGroupAttributes;
4
+ setAttributes: (a: Partial<ContentGroupAttributes>) => void;
5
+ }) => import("react").JSX.Element;
6
+ //# sourceMappingURL=edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/groups/content-group/edit.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,sBAAsB,EAAE,mBAAmB,EAAmB,MAAM,SAAS,CAAA;AAE1F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,IAC5C,gCAGlB;IACD,UAAU,EAAE,sBAAsB,CAAA;IAClC,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAA;CAC5D,iCA+BF"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { InspectorControls } from '@wordpress/block-editor';
3
+ import { PanelBody, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, } from '@wordpress/components';
4
+ import { __ } from '@wordpress/i18n';
5
+ import clsx from 'clsx';
6
+ import { useGroupBlock } from '../../../hooks/useGroupBlock';
7
+ import { SIZES } from './constants';
8
+ export function createContentGroupEdit(options) {
9
+ return function Edit({ attributes, setAttributes, }) {
10
+ var _a, _b;
11
+ const { size } = attributes;
12
+ const { blockProps, innerBlocksProps } = useGroupBlock({
13
+ blockClassName: clsx((_a = options.blockClassName) !== null && _a !== void 0 ? _a : 'g-content-group', `--columns-${size}`),
14
+ containerClassName: (_b = options.containerClassName) !== null && _b !== void 0 ? _b : 'g-content-group__inner',
15
+ allowedBlocks: options.allowedBlocks,
16
+ template: options.template,
17
+ });
18
+ return (_jsxs(_Fragment, { children: [_jsx(InspectorControls, { children: _jsx(PanelBody, { title: __('Nastavení', 'brilo-blocks'), children: _jsx(ToggleGroupControl, { label: __('Počet sloupců', 'brilo-blocks'), value: size, onChange: (value) => setAttributes({ size: value }), isBlock: true, children: SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s, label: `${s} ${__('sloupců', 'brilo-blocks')}` }, s))) }) }) }), _jsx("div", { ...blockProps, children: _jsx("div", { ...innerBlocksProps }) })] }));
19
+ };
20
+ }
@@ -0,0 +1,4 @@
1
+ import type { BlockConfiguration } from "@wordpress/blocks";
2
+ import type { ContentGroupAttributes, ContentGroupOptions } from "./types";
3
+ export declare function createContentGroupBlock(options: ContentGroupOptions): BlockConfiguration<ContentGroupAttributes>;
4
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/groups/content-group/factory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,EAAC,sBAAsB,EAAE,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAGzE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAkBhH"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InnerBlocks } from "@wordpress/block-editor";
3
+ import { __ } from "@wordpress/i18n";
4
+ import { createContentGroupEdit } from "./edit";
5
+ import { icon as defaultIcon } from "./icon";
6
+ export function createContentGroupBlock(options) {
7
+ var _a, _b, _c;
8
+ return {
9
+ name: options.name,
10
+ title: (_a = options.title) !== null && _a !== void 0 ? _a : __("Obsahová skupina", "brilo-blocks"),
11
+ description: options.description,
12
+ category: (_b = options.category) !== null && _b !== void 0 ? _b : "layout",
13
+ icon: (_c = options.icon) !== null && _c !== void 0 ? _c : { src: defaultIcon },
14
+ ...(options.parent && { parent: options.parent }),
15
+ supports: { html: false, customClassName: false },
16
+ attributes: {
17
+ size: {
18
+ type: "string",
19
+ default: "8",
20
+ },
21
+ },
22
+ edit: createContentGroupEdit(options),
23
+ save: () => _jsx(InnerBlocks.Content, {}),
24
+ };
25
+ }
@@ -0,0 +1,2 @@
1
+ export declare const icon: import("react").JSX.Element;
2
+ //# sourceMappingURL=icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/blocks/groups/content-group/icon.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,6BAsBhB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const icon = (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "1.5", y: "12.5", width: "17", height: "7", stroke: "black", fill: "none" }), _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.5 15L6 18L11 18L8.5 15Z", fill: "black" }), _jsx("path", { d: "M13 15C13 15.5523 12.5523 16 12 16C11.4477 16 11 15.5523 11 15C11 14.4477 11.4477 14 12 14C12.5523 14 13 14.4477 13 15Z", fill: "black" }), _jsx("path", { d: "M1 3H9V4H1V3Z", fill: "black" }), _jsx("path", { d: "M10 3H18V4H10V3Z", fill: "black" }), _jsx("path", { d: "M1 5H4V6H1V5Z", fill: "black" }), _jsx("path", { d: "M6 5H15V6H6V5Z", fill: "black" }), _jsx("path", { d: "M1 8H2V9H1V8Z", fill: "black" }), _jsx("path", { d: "M3 8H8V9H3V8Z", fill: "black" }), _jsx("path", { d: "M1 10H2V11H1V10Z", fill: "black" }), _jsx("path", { d: "M3 10H10V11H3V10Z", fill: "black" }), _jsx("path", { d: "M8 1C8 0.447715 8.44772 0 9 0H10C10.5523 0 11 0.447715 11 1C11 1.55228 10.5523 2 10 2H9C8.44772 2 8 1.55228 8 1Z", fill: "black" }), _jsx("path", { d: "M1 1C1 0.447715 1.44772 0 2 0H6C6.55228 0 7 0.447715 7 1C7 1.55228 6.55228 2 6 2H2C1.44772 2 1 1.55228 1 1Z", fill: "black" })] }));
@@ -0,0 +1,5 @@
1
+ export type { ContentGroupAttributes, ContentGroupOptions, ContentGroupSize } from './types';
2
+ export { createContentGroupBlock } from './factory';
3
+ import type { ContentGroupOptions } from './types';
4
+ export declare const contentGroupDefaults: ContentGroupOptions;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blocks/groups/content-group/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,sBAAsB,EAAE,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAC,uBAAuB,EAAC,MAAM,WAAW,CAAA;AAEjD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAEhD,eAAO,MAAM,oBAAoB,EAAE,mBAmBlC,CAAA"}
@@ -0,0 +1,21 @@
1
+ export { createContentGroupBlock } from './factory';
2
+ export const contentGroupDefaults = {
3
+ name: 'brilo/content-group',
4
+ parent: ['brilo/base-section'],
5
+ blockClassName: 'g-content-group',
6
+ containerClassName: 'g-content-group__inner',
7
+ allowedBlocks: [
8
+ 'core/paragraph',
9
+ 'core/image',
10
+ 'core/heading',
11
+ 'core/list',
12
+ 'core/list-item',
13
+ 'core/quote',
14
+ 'core/table',
15
+ 'core/gallery',
16
+ 'core/embed',
17
+ 'core/video',
18
+ 'core/file',
19
+ 'brilo/link',
20
+ ],
21
+ };
@@ -0,0 +1,9 @@
1
+ import type { BriloBlockType } from '../../../types';
2
+ import type { SIZES } from './constants';
3
+ export type ContentGroupSize = (typeof SIZES)[number];
4
+ export interface ContentGroupAttributes extends Record<string, unknown> {
5
+ size: ContentGroupSize;
6
+ }
7
+ export interface ContentGroupOptions extends BriloBlockType {
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/groups/content-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEtC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;CAAG"}
@@ -0,0 +1 @@
1
+ export {};
package/build/index.d.ts CHANGED
@@ -24,6 +24,8 @@ export type { ButtonGroupAttributes, ButtonGroupOptions } from './blocks/groups/
24
24
  export { buttonGroupDefaults, createButtonGroupBlock } from './blocks/groups/button-group';
25
25
  export type { BannerGroupAttributes, BannerGroupOptions } from './blocks/groups/banner-group';
26
26
  export { createBannerGroupBlock, bannerGroupDefaults } from './blocks/groups/banner-group';
27
+ export type { ContentGroupAttributes, ContentGroupOptions, ContentGroupSize } from './blocks/groups/content-group';
28
+ export { createContentGroupBlock, contentGroupDefaults } from './blocks/groups/content-group';
27
29
  export type { TextAndMediaGroupAttributes, TextAndMediaGroupOptions } from './blocks/groups/text-and-media-group';
28
30
  export { createTextAndMediaGroupBlock, textAndMediaGroupDefaults } from './blocks/groups/text-and-media-group';
29
31
  export type { TextAndFormGroupAttributes, TextAndFormGroupOptions } from './blocks/text-and-form/text-and-form-group';
@@ -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
@@ -11,6 +11,7 @@ export { createMapGroupBlock, mapGroupDefaults } from './blocks/map/map-group';
11
11
  export { basicHeaderGroupDefaults, createBasicHeaderGroupBlock } from './blocks/groups/basic-header-group';
12
12
  export { buttonGroupDefaults, createButtonGroupBlock } from './blocks/groups/button-group';
13
13
  export { createBannerGroupBlock, bannerGroupDefaults } from './blocks/groups/banner-group';
14
+ export { createContentGroupBlock, contentGroupDefaults } from './blocks/groups/content-group';
14
15
  export { createTextAndMediaGroupBlock, textAndMediaGroupDefaults } from './blocks/groups/text-and-media-group';
15
16
  export { createTextAndFormGroupBlock, textAndFormGroupDefaults } from './blocks/text-and-form/text-and-form-group';
16
17
  export { createTextAndFormTextColumnBlock, textAndFormTextColumnDefaults } from './blocks/text-and-form/text-and-form-text-column';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brilo/base-blocks",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "author": "Brilo",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -0,0 +1 @@
1
+ export const SIZES = ['8', '12'] as const
@@ -0,0 +1,51 @@
1
+ import {InspectorControls} from '@wordpress/block-editor'
2
+ import {
3
+ PanelBody,
4
+ __experimentalToggleGroupControl as ToggleGroupControl,
5
+ __experimentalToggleGroupControlOption as ToggleGroupControlOption,
6
+ } from '@wordpress/components'
7
+ import {__} from '@wordpress/i18n'
8
+ import clsx from 'clsx'
9
+ import {useGroupBlock} from '~/hooks/useGroupBlock'
10
+ import {SIZES} from './constants'
11
+ import type {ContentGroupAttributes, ContentGroupOptions, ContentGroupSize} from './types'
12
+
13
+ export function createContentGroupEdit(options: ContentGroupOptions) {
14
+ return function Edit({
15
+ attributes,
16
+ setAttributes,
17
+ }: {
18
+ attributes: ContentGroupAttributes
19
+ setAttributes: (a: Partial<ContentGroupAttributes>) => void
20
+ }) {
21
+ const {size} = attributes
22
+ const {blockProps, innerBlocksProps} = useGroupBlock({
23
+ blockClassName: clsx(options.blockClassName ?? 'g-content-group', `--columns-${size}`),
24
+ containerClassName: options.containerClassName ?? 'g-content-group__inner',
25
+ allowedBlocks: options.allowedBlocks,
26
+ template: options.template,
27
+ })
28
+
29
+ return (
30
+ <>
31
+ <InspectorControls>
32
+ <PanelBody title={__('Nastavení', 'brilo-blocks')}>
33
+ <ToggleGroupControl
34
+ label={__('Počet sloupců', 'brilo-blocks')}
35
+ value={size}
36
+ onChange={(value) => setAttributes({size: value as ContentGroupSize})}
37
+ isBlock
38
+ >
39
+ {SIZES.map((s) => (
40
+ <ToggleGroupControlOption key={s} value={s} label={`${s} ${__('sloupců', 'brilo-blocks')}`} />
41
+ ))}
42
+ </ToggleGroupControl>
43
+ </PanelBody>
44
+ </InspectorControls>
45
+ <div {...blockProps}>
46
+ <div {...innerBlocksProps} />
47
+ </div>
48
+ </>
49
+ )
50
+ }
51
+ }
@@ -0,0 +1,10 @@
1
+ @layer base {
2
+ .g-content-group {
3
+ min-height: 44px;
4
+
5
+ &.--columns-8 {
6
+ max-width: 640px;
7
+ margin-inline: auto !important;
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,26 @@
1
+ import {InnerBlocks} from "@wordpress/block-editor";
2
+ import type {BlockConfiguration} from "@wordpress/blocks";
3
+ import {__} from "@wordpress/i18n";
4
+ import {createContentGroupEdit} from "./edit";
5
+ import type {ContentGroupAttributes, ContentGroupOptions} from "./types";
6
+ import {icon as defaultIcon} from "./icon";
7
+
8
+ export function createContentGroupBlock(options: ContentGroupOptions): BlockConfiguration<ContentGroupAttributes> {
9
+ return {
10
+ name: options.name,
11
+ title: options.title ?? __("Obsahová skupina", "brilo-blocks"),
12
+ description: options.description,
13
+ category: options.category ?? "layout",
14
+ icon: options.icon ?? {src: defaultIcon},
15
+ ...(options.parent && {parent: options.parent}),
16
+ supports: {html: false, customClassName: false},
17
+ attributes: {
18
+ size: {
19
+ type: "string",
20
+ default: "8",
21
+ },
22
+ },
23
+ edit: createContentGroupEdit(options),
24
+ save: () => <InnerBlocks.Content />,
25
+ } as BlockConfiguration<ContentGroupAttributes>;
26
+ }
@@ -0,0 +1,23 @@
1
+ export const icon = (
2
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <rect x="1.5" y="12.5" width="17" height="7" stroke="black" fill="none" />
4
+ <path fillRule="evenodd" clipRule="evenodd" d="M8.5 15L6 18L11 18L8.5 15Z" fill="black" />
5
+ <path
6
+ d="M13 15C13 15.5523 12.5523 16 12 16C11.4477 16 11 15.5523 11 15C11 14.4477 11.4477 14 12 14C12.5523 14 13 14.4477 13 15Z"
7
+ fill="black"
8
+ />
9
+ <path d="M1 3H9V4H1V3Z" fill="black" />
10
+ <path d="M10 3H18V4H10V3Z" fill="black" />
11
+ <path d="M1 5H4V6H1V5Z" fill="black" />
12
+ <path d="M6 5H15V6H6V5Z" fill="black" />
13
+ <path d="M1 8H2V9H1V8Z" fill="black" />
14
+ <path d="M3 8H8V9H3V8Z" fill="black" />
15
+ <path d="M1 10H2V11H1V10Z" fill="black" />
16
+ <path d="M3 10H10V11H3V10Z" fill="black" />
17
+ <path
18
+ d="M8 1C8 0.447715 8.44772 0 9 0H10C10.5523 0 11 0.447715 11 1C11 1.55228 10.5523 2 10 2H9C8.44772 2 8 1.55228 8 1Z"
19
+ fill="black"
20
+ />
21
+ <path d="M1 1C1 0.447715 1.44772 0 2 0H6C6.55228 0 7 0.447715 7 1C7 1.55228 6.55228 2 6 2H2C1.44772 2 1 1.55228 1 1Z" fill="black" />
22
+ </svg>
23
+ );
@@ -0,0 +1,25 @@
1
+ export type {ContentGroupAttributes, ContentGroupOptions, ContentGroupSize} from './types'
2
+ export {createContentGroupBlock} from './factory'
3
+
4
+ import type {ContentGroupOptions} from './types'
5
+
6
+ export const contentGroupDefaults: ContentGroupOptions = {
7
+ name: 'brilo/content-group',
8
+ parent: ['brilo/base-section'],
9
+ blockClassName: 'g-content-group',
10
+ containerClassName: 'g-content-group__inner',
11
+ allowedBlocks: [
12
+ 'core/paragraph',
13
+ 'core/image',
14
+ 'core/heading',
15
+ 'core/list',
16
+ 'core/list-item',
17
+ 'core/quote',
18
+ 'core/table',
19
+ 'core/gallery',
20
+ 'core/embed',
21
+ 'core/video',
22
+ 'core/file',
23
+ 'brilo/link',
24
+ ],
25
+ }
@@ -0,0 +1,10 @@
1
+ import type {BriloBlockType} from '~/types'
2
+ import type {SIZES} from './constants'
3
+
4
+ export type ContentGroupSize = (typeof SIZES)[number]
5
+
6
+ export interface ContentGroupAttributes extends Record<string, unknown> {
7
+ size: ContentGroupSize
8
+ }
9
+
10
+ export interface ContentGroupOptions extends BriloBlockType {}
package/src/index.ts CHANGED
@@ -44,6 +44,8 @@ export type {ButtonGroupAttributes, ButtonGroupOptions} from './blocks/groups/bu
44
44
  export {buttonGroupDefaults, createButtonGroupBlock} from './blocks/groups/button-group'
45
45
  export type {BannerGroupAttributes, BannerGroupOptions} from './blocks/groups/banner-group'
46
46
  export {createBannerGroupBlock, bannerGroupDefaults} from './blocks/groups/banner-group'
47
+ export type {ContentGroupAttributes, ContentGroupOptions, ContentGroupSize} from './blocks/groups/content-group'
48
+ export {createContentGroupBlock, contentGroupDefaults} from './blocks/groups/content-group'
47
49
  export type {TextAndMediaGroupAttributes, TextAndMediaGroupOptions} from './blocks/groups/text-and-media-group'
48
50
  export {createTextAndMediaGroupBlock, textAndMediaGroupDefaults} from './blocks/groups/text-and-media-group'
49
51
  export type {TextAndFormGroupAttributes, TextAndFormGroupOptions} from './blocks/text-and-form/text-and-form-group'