@brilo/base-blocks 0.1.50 → 0.1.53
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/accordion/accordion-group/edit.d.ts.map +1 -1
- package/build/blocks/accordion/accordion-group/edit.js +8 -2
- package/build/blocks/accordion/accordion-group/factory.d.ts.map +1 -1
- package/build/blocks/accordion/accordion-group/factory.js +20 -11
- package/build/blocks/accordion/accordion-group/index.d.ts +2 -1
- package/build/blocks/accordion/accordion-group/index.d.ts.map +1 -1
- package/build/blocks/accordion/accordion-group/index.js +1 -0
- package/build/blocks/accordion/accordion-group/types.d.ts +8 -0
- package/build/blocks/accordion/accordion-group/types.d.ts.map +1 -1
- package/build/blocks/contact/contact-group/factory.d.ts.map +1 -1
- package/build/blocks/contact/contact-group/types.d.ts.map +1 -1
- package/build/blocks/contact/contact-item/edit.d.ts.map +1 -1
- package/build/blocks/faq/faq-group/constants.d.ts +0 -10
- package/build/blocks/faq/faq-group/constants.d.ts.map +1 -1
- package/build/blocks/faq/faq-group/constants.js +0 -5
- package/build/blocks/faq/faq-group/edit.d.ts.map +1 -1
- package/build/blocks/faq/faq-group/edit.js +6 -4
- package/build/blocks/faq/faq-group/factory.d.ts.map +1 -1
- package/build/blocks/faq/faq-group/factory.js +9 -10
- package/build/blocks/faq/faq-group/types.d.ts +6 -7
- package/build/blocks/faq/faq-group/types.d.ts.map +1 -1
- package/build/blocks/layout/box/constants.d.ts +12 -0
- package/build/blocks/layout/box/constants.d.ts.map +1 -0
- package/build/blocks/layout/box/constants.js +15 -0
- package/build/blocks/layout/box/controls.d.ts.map +1 -1
- package/build/blocks/layout/box/controls.js +6 -5
- package/build/blocks/layout/box/deprecated.d.ts +71 -0
- package/build/blocks/layout/box/deprecated.d.ts.map +1 -0
- package/build/blocks/layout/box/deprecated.js +100 -0
- package/build/blocks/layout/box/edit.d.ts.map +1 -1
- package/build/blocks/layout/box/edit.js +14 -18
- package/build/blocks/layout/box/factory.d.ts.map +1 -1
- package/build/blocks/layout/box/factory.js +4 -2
- package/build/blocks/layout/box/index.d.ts +1 -1
- package/build/blocks/layout/box/index.d.ts.map +1 -1
- package/build/blocks/layout/box/types.d.ts +5 -14
- package/build/blocks/layout/box/types.d.ts.map +1 -1
- package/build/blocks/sections/base-section/controls.d.ts.map +1 -1
- package/build/blocks/sections/base-section/controls.js +4 -3
- package/build/blocks/sections/base-section/types.d.ts +1 -0
- package/build/blocks/sections/base-section/types.d.ts.map +1 -1
- package/build/blocks/step/step-group/edit.d.ts.map +1 -1
- package/build/components/SurfaceStyleControl/index.d.ts +53 -0
- package/build/components/SurfaceStyleControl/index.d.ts.map +1 -0
- package/build/components/SurfaceStyleControl/index.js +36 -0
- package/build/index.d.ts +5 -3
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/package.json +1 -1
- package/src/blocks/accordion/accordion-group/edit.tsx +16 -1
- package/src/blocks/accordion/accordion-group/factory.tsx +19 -7
- package/src/blocks/accordion/accordion-group/index.ts +8 -1
- package/src/blocks/accordion/accordion-group/types.ts +11 -1
- package/src/blocks/contact/contact-group/factory.tsx +1 -6
- package/src/blocks/contact/contact-group/types.ts +1 -7
- package/src/blocks/contact/contact-item/edit.tsx +1 -4
- package/src/blocks/faq/faq-group/constants.ts +0 -6
- package/src/blocks/faq/faq-group/edit.tsx +11 -56
- package/src/blocks/faq/faq-group/factory.tsx +6 -6
- package/src/blocks/faq/faq-group/types.ts +6 -7
- package/src/blocks/layout/box/constants.ts +19 -0
- package/src/blocks/layout/box/controls.tsx +42 -21
- package/src/blocks/layout/box/deprecated.tsx +146 -0
- package/src/blocks/layout/box/edit.tsx +15 -18
- package/src/blocks/layout/box/factory.tsx +4 -2
- package/src/blocks/layout/box/index.ts +1 -1
- package/src/blocks/layout/box/types.ts +5 -14
- package/src/blocks/sections/base-section/controls.tsx +10 -1
- package/src/blocks/sections/base-section/types.ts +1 -0
- package/src/blocks/step/step-group/edit.tsx +11 -11
- package/src/components/SurfaceStyleControl/index.tsx +114 -0
- package/src/index.ts +11 -3
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseControl,
|
|
3
|
+
ColorPalette,
|
|
4
|
+
PanelBody,
|
|
5
|
+
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
6
|
+
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
7
|
+
} from '@wordpress/components'
|
|
8
|
+
import {__} from '@wordpress/i18n'
|
|
9
|
+
import {useTenantColorPalette} from '~/hooks/useTenantColorPalette'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Shadow presets shared by every "surface" block (accordion, faq, ...). The
|
|
13
|
+
* `DEFAULT_` prefix marks it as tenant-overridable — pass your own array as
|
|
14
|
+
* `options.shadows` and the factory/edit resolve it with `??`.
|
|
15
|
+
*/
|
|
16
|
+
export const DEFAULT_SURFACE_SHADOWS = [
|
|
17
|
+
{value: 'none', label: __('Žádný', 'brilo-blocks')},
|
|
18
|
+
{value: 'sm', label: __('Malý', 'brilo-blocks')},
|
|
19
|
+
{value: 'md', label: __('Střední', 'brilo-blocks')},
|
|
20
|
+
] as const
|
|
21
|
+
|
|
22
|
+
export type SurfaceShadow = (typeof DEFAULT_SURFACE_SHADOWS)[number]['value']
|
|
23
|
+
|
|
24
|
+
export interface SurfaceShadowOption {
|
|
25
|
+
value: string
|
|
26
|
+
label: string
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The shadow + colour quartet that group blocks hand down to their items. Kept
|
|
31
|
+
* as one named type so the shape lives in a single place across TS, PHP and twig.
|
|
32
|
+
*/
|
|
33
|
+
export interface SurfaceStyle<TShadow extends string = SurfaceShadow> {
|
|
34
|
+
shadow: TShadow
|
|
35
|
+
borderColor: string
|
|
36
|
+
backgroundColor: string
|
|
37
|
+
textColor: string
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Attribute default for a `style` object holding a {@link SurfaceStyle}. */
|
|
41
|
+
export function surfaceStyleAttribute(shadows: readonly SurfaceShadowOption[] = DEFAULT_SURFACE_SHADOWS) {
|
|
42
|
+
return {
|
|
43
|
+
type: 'object',
|
|
44
|
+
default: {
|
|
45
|
+
shadow: shadows[0]?.value ?? 'none',
|
|
46
|
+
borderColor: '',
|
|
47
|
+
backgroundColor: '',
|
|
48
|
+
textColor: '',
|
|
49
|
+
},
|
|
50
|
+
} as const
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Inspector panel for {@link SurfaceStyle}. `idPrefix` keeps the `BaseControl`
|
|
55
|
+
* ids unique per block (`faq-group`, `accordion-group`, ...).
|
|
56
|
+
*/
|
|
57
|
+
export function SurfaceStylePanel<TStyle extends SurfaceStyle<string>>({
|
|
58
|
+
style,
|
|
59
|
+
onChange,
|
|
60
|
+
idPrefix,
|
|
61
|
+
shadows = DEFAULT_SURFACE_SHADOWS,
|
|
62
|
+
title = __('Styl', 'brilo-blocks'),
|
|
63
|
+
children,
|
|
64
|
+
}: {
|
|
65
|
+
style: TStyle
|
|
66
|
+
onChange: (style: TStyle) => void
|
|
67
|
+
idPrefix: string
|
|
68
|
+
shadows?: readonly SurfaceShadowOption[]
|
|
69
|
+
title?: string
|
|
70
|
+
children?: React.ReactNode
|
|
71
|
+
}) {
|
|
72
|
+
const {paletteColors} = useTenantColorPalette()
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<PanelBody title={title}>
|
|
76
|
+
<ToggleGroupControl
|
|
77
|
+
isBlock
|
|
78
|
+
label={__('Stín', 'brilo-blocks')}
|
|
79
|
+
value={style.shadow}
|
|
80
|
+
onChange={(value) => onChange({...style, shadow: value as TStyle['shadow']})}
|
|
81
|
+
>
|
|
82
|
+
{shadows.map((shadow) => (
|
|
83
|
+
<ToggleGroupControlOption key={shadow.value} value={shadow.value} label={shadow.label} />
|
|
84
|
+
))}
|
|
85
|
+
</ToggleGroupControl>
|
|
86
|
+
<BaseControl
|
|
87
|
+
label={__('Barva okraje', 'brilo-blocks')}
|
|
88
|
+
help={__('Bez vybrané barvy se okraj nevykreslí.', 'brilo-blocks')}
|
|
89
|
+
id={`${idPrefix}-border-color`}
|
|
90
|
+
>
|
|
91
|
+
<ColorPalette
|
|
92
|
+
colors={paletteColors}
|
|
93
|
+
value={style.borderColor || undefined}
|
|
94
|
+
onChange={(value) => onChange({...style, borderColor: value ?? ''})}
|
|
95
|
+
/>
|
|
96
|
+
</BaseControl>
|
|
97
|
+
<BaseControl label={__('Barva pozadí', 'brilo-blocks')} id={`${idPrefix}-background-color`}>
|
|
98
|
+
<ColorPalette
|
|
99
|
+
colors={paletteColors}
|
|
100
|
+
value={style.backgroundColor || undefined}
|
|
101
|
+
onChange={(value) => onChange({...style, backgroundColor: value ?? ''})}
|
|
102
|
+
/>
|
|
103
|
+
</BaseControl>
|
|
104
|
+
<BaseControl label={__('Barva textu', 'brilo-blocks')} id={`${idPrefix}-text-color`}>
|
|
105
|
+
<ColorPalette
|
|
106
|
+
colors={paletteColors}
|
|
107
|
+
value={style.textColor || undefined}
|
|
108
|
+
onChange={(value) => onChange({...style, textColor: value ?? ''})}
|
|
109
|
+
/>
|
|
110
|
+
</BaseControl>
|
|
111
|
+
{children}
|
|
112
|
+
</PanelBody>
|
|
113
|
+
)
|
|
114
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -41,8 +41,14 @@ export {
|
|
|
41
41
|
} from './blocks/contact/contact-item'
|
|
42
42
|
export type {AccordionItemAttributes, AccordionItemOptions} from './blocks/accordion/accordion-item'
|
|
43
43
|
export {accordionItemDefaults, createAccordionItemBlock} from './blocks/accordion/accordion-item'
|
|
44
|
-
export type {
|
|
45
|
-
|
|
44
|
+
export type {
|
|
45
|
+
AccordionGroupAttributes,
|
|
46
|
+
AccordionGroupOptions,
|
|
47
|
+
AccordionHeadingLevel,
|
|
48
|
+
AccordionShadow,
|
|
49
|
+
ExcludableAccordionAttr,
|
|
50
|
+
} from './blocks/accordion/accordion-group'
|
|
51
|
+
export {ACCORDION_HEADING_LEVELS, accordionGroupDefaults, createAccordionGroupBlock} from './blocks/accordion/accordion-group'
|
|
46
52
|
export type {FaqItemAttributes, FaqItemOptions} from './blocks/faq/faq-item'
|
|
47
53
|
export {createFaqItemBlock, faqItemDefaults} from './blocks/faq/faq-item'
|
|
48
54
|
export type {FaqGroupAttributes, FaqGroupOptions} from './blocks/faq/faq-group'
|
|
@@ -129,6 +135,8 @@ export {
|
|
|
129
135
|
SPACING_POSITIONS,
|
|
130
136
|
SPACING_SIZES,
|
|
131
137
|
} from './blocks/sections/base-section'
|
|
138
|
+
export type {SurfaceShadow, SurfaceShadowOption, SurfaceStyle} from './components/SurfaceStyleControl'
|
|
139
|
+
export {DEFAULT_SURFACE_SHADOWS, SurfaceStylePanel, surfaceStyleAttribute} from './components/SurfaceStyleControl'
|
|
132
140
|
export type {IconType} from './components/IconControl'
|
|
133
141
|
export {IconControl} from './components/IconControl'
|
|
134
142
|
export * from './components/ItemIconControl'
|
|
@@ -241,7 +249,7 @@ export type {PostContentAttributes, PostContentOptions} from './blocks/post/post
|
|
|
241
249
|
export {createPostContentBlock, postContentDefaults} from './blocks/post/post-content'
|
|
242
250
|
export type {ShareAttributes, ShareOptions} from './blocks/share/share'
|
|
243
251
|
export {createShareBlock, shareDefaults} from './blocks/share/share'
|
|
244
|
-
export type {BoxAttributes,
|
|
252
|
+
export type {BoxAttributes, BoxOptions, BoxSpacing, BoxSpacingSide} from './blocks/layout/box'
|
|
245
253
|
export {createBoxBlock, boxDefaults} from './blocks/layout/box'
|
|
246
254
|
export type {PriceplanGroupAttributes, PriceplanGroupOptions} from './blocks/priceplan/priceplan-group'
|
|
247
255
|
export {createPriceplanGroupBlock, priceplanGroupDefaults} from './blocks/priceplan/priceplan-group'
|