@brilo/base-blocks 0.1.41 → 0.1.42

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.
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/core/basic-button/edit.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAA6C,MAAM,SAAS,CAAA;AAIlH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,oCAQ5D;IACD,UAAU,EAAE,qBAAqB,CAAA;IACjC,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAA;CAC3D,iCAgIF"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../src/blocks/core/basic-button/edit.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAA6C,MAAM,SAAS,CAAA;AAIlH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,oCAQ5D;IACD,UAAU,EAAE,qBAAqB,CAAA;IACjC,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAA;CAC3D,iCA2IF"}
@@ -14,15 +14,15 @@ export function createBasicButtonEdit(options) {
14
14
  return function Edit({ attributes, setAttributes, }) {
15
15
  var _a;
16
16
  var _b;
17
- const { title, variant, outline, fullWidth, size, url, icon } = attributes;
17
+ const { title, variant, outline, fullWidth, size, url, icon, iconOnly } = attributes;
18
18
  const hasIcon = icon.type !== 'none' && (icon.src || ((_a = icon.media) === null || _a === void 0 ? void 0 : _a.id));
19
19
  const setIconBase = (attrs) => {
20
20
  setAttributes({ icon: { ...icon, ...attrs.icon } });
21
21
  };
22
22
  const blockProps = useBlockProps({
23
- className: clsx((_b = options.blockClassName) !== null && _b !== void 0 ? _b : 'i-button', `--variant-${variant}`, `--size-${size}`, outline && '--outline', fullWidth !== 'false' && `--full-width-${fullWidth}`),
23
+ className: clsx((_b = options.blockClassName) !== null && _b !== void 0 ? _b : 'i-button', `--variant-${variant}`, `--size-${size}`, outline && '--outline', fullWidth !== 'false' && `--full-width-${fullWidth}`, iconOnly && '--icon-only'),
24
24
  });
25
25
  const iconPreviewStyle = { maxWidth: icon.size, flex: `0 0 ${icon.size}px` };
26
- return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Tlačítko', 'brilo-blocks'), children: [_jsx(TextControl, { label: __('Text tlačítka', 'brilo-blocks'), value: title, onChange: (value) => setAttributes({ title: value }), placeholder: __('Text tlačítka...', 'brilo-blocks') }), _jsx(ToggleGroupControl, { label: __('Varianta', 'brilo-blocks'), value: variant, onChange: (value) => setAttributes({ variant: value }), isBlock: true, children: VARIANTS.map((v) => (_jsx(ToggleGroupControlOption, { value: v.value, label: v.label }, v.value))) }), _jsx(ToggleControl, { label: __('Outline', 'brilo-blocks'), checked: outline, onChange: (value) => setAttributes({ outline: value }) }), _jsx(ToggleGroupControl, { label: __('Velikost', 'brilo-blocks'), value: size, onChange: (value) => setAttributes({ size: value }), isBlock: true, children: SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }), _jsx(ToggleGroupControl, { label: __('Celá šířka', 'brilo-blocks'), value: fullWidth, onChange: (value) => setAttributes({ fullWidth: value }), isBlock: true, children: FULL_WIDTH_OPTIONS.map((o) => (_jsx(ToggleGroupControlOption, { value: o.value, label: o.label }, o.value))) })] }), _jsxs(PanelBody, { title: __('Odkaz', 'brilo-blocks'), children: [_jsx(TextControl, { label: __('URL', 'brilo-blocks'), value: url.src, onChange: (value) => setAttributes({ url: { ...url, src: value } }) }), _jsx(ToggleControl, { label: __('Otevřít v nové záložce', 'brilo-blocks'), checked: url.blank, onChange: (value) => setAttributes({ url: { ...url, blank: value } }) })] }), _jsxs(PanelBody, { title: __('Ikona', 'brilo-blocks'), initialOpen: false, children: [_jsx(ItemIconControl, { icon: icon, setAttributes: setIconBase, iconTypes: ICON_TYPES, options: options }), hasIcon && (_jsxs(_Fragment, { children: [_jsxs(ToggleGroupControl, { isBlock: true, label: __('Pozice', 'brilo-blocks'), value: icon.position, onChange: (v) => setAttributes({ icon: { ...icon, position: String(v) } }), children: [_jsx(ToggleGroupControlOption, { value: "before", label: __('Před', 'brilo-blocks') }), _jsx(ToggleGroupControlOption, { value: "after", label: __('Za', 'brilo-blocks') })] }), _jsx(RangeControl, { label: __('Velikost (px)', 'brilo-blocks'), value: icon.size, onChange: (v) => setAttributes({ icon: { ...icon, size: v !== null && v !== void 0 ? v : 24 } }), min: 8, max: 80, step: 1 })] }))] })] }), _jsx("div", { ...blockProps, children: _jsxs("div", { className: "i-button__inner", children: [hasIcon && icon.position === 'before' && (_jsx("span", { className: "i-button__icon", style: iconPreviewStyle, children: _jsx(ItemIconPreview, { icon: icon, setAttributes: setIconBase, options: options }) })), _jsx(RichText, { tagName: "span", className: "i-button__label", value: title, onChange: (value) => setAttributes({ title: value }), placeholder: __('Text tlačítka...', 'brilo-blocks'), allowedFormats: [] }), hasIcon && icon.position === 'after' && (_jsx("span", { className: "i-button__icon", style: iconPreviewStyle, children: _jsx(ItemIconPreview, { icon: icon, setAttributes: setIconBase, options: options }) }))] }) })] }));
26
+ return (_jsxs(_Fragment, { children: [_jsxs(InspectorControls, { children: [_jsxs(PanelBody, { title: __('Tlačítko', 'brilo-blocks'), children: [_jsx(TextControl, { label: __('Text tlačítka', 'brilo-blocks'), value: title, onChange: (value) => setAttributes({ title: value }), placeholder: __('Text tlačítka...', 'brilo-blocks') }), _jsx(ToggleGroupControl, { label: __('Varianta', 'brilo-blocks'), value: variant, onChange: (value) => setAttributes({ variant: value }), isBlock: true, children: VARIANTS.map((v) => (_jsx(ToggleGroupControlOption, { value: v.value, label: v.label }, v.value))) }), _jsx(ToggleControl, { label: __('Outline', 'brilo-blocks'), checked: outline, onChange: (value) => setAttributes({ outline: value }) }), _jsx(ToggleGroupControl, { label: __('Velikost', 'brilo-blocks'), value: size, onChange: (value) => setAttributes({ size: value }), isBlock: true, children: SIZES.map((s) => (_jsx(ToggleGroupControlOption, { value: s.value, label: s.label }, s.value))) }), _jsx(ToggleGroupControl, { label: __('Celá šířka', 'brilo-blocks'), value: fullWidth, onChange: (value) => setAttributes({ fullWidth: value }), isBlock: true, children: FULL_WIDTH_OPTIONS.map((o) => (_jsx(ToggleGroupControlOption, { value: o.value, label: o.label }, o.value))) })] }), _jsxs(PanelBody, { title: __('Odkaz', 'brilo-blocks'), children: [_jsx(TextControl, { label: __('URL', 'brilo-blocks'), value: url.src, onChange: (value) => setAttributes({ url: { ...url, src: value } }) }), _jsx(ToggleControl, { label: __('Otevřít v nové záložce', 'brilo-blocks'), checked: url.blank, onChange: (value) => setAttributes({ url: { ...url, blank: value } }) })] }), _jsxs(PanelBody, { title: __('Ikona', 'brilo-blocks'), initialOpen: false, children: [_jsx(ItemIconControl, { icon: icon, setAttributes: setIconBase, iconTypes: ICON_TYPES, options: options }), hasIcon && (_jsxs(_Fragment, { children: [_jsx(ToggleControl, { label: __('Pouze ikona', 'brilo-blocks'), help: __('Skryje text tlačítka, zůstane jen ikona', 'brilo-blocks'), checked: iconOnly, onChange: (value) => setAttributes({ iconOnly: value }) }), !iconOnly && (_jsxs(ToggleGroupControl, { isBlock: true, label: __('Pozice', 'brilo-blocks'), value: icon.position, onChange: (v) => setAttributes({ icon: { ...icon, position: String(v) } }), children: [_jsx(ToggleGroupControlOption, { value: "before", label: __('Před', 'brilo-blocks') }), _jsx(ToggleGroupControlOption, { value: "after", label: __('Za', 'brilo-blocks') })] })), _jsx(RangeControl, { label: __('Velikost (px)', 'brilo-blocks'), value: icon.size, onChange: (v) => setAttributes({ icon: { ...icon, size: v !== null && v !== void 0 ? v : 24 } }), min: 8, max: 80, step: 1 })] }))] })] }), _jsx("div", { ...blockProps, children: _jsxs("div", { className: "i-button__inner", children: [hasIcon && icon.position === 'before' && (_jsx("span", { className: "i-button__icon", style: iconPreviewStyle, children: _jsx(ItemIconPreview, { icon: icon, setAttributes: setIconBase, options: options }) })), (!iconOnly || !hasIcon) && (_jsx(RichText, { tagName: "span", className: "i-button__label", value: title, onChange: (value) => setAttributes({ title: value }), placeholder: __('Text tlačítka...', 'brilo-blocks'), allowedFormats: [] })), hasIcon && icon.position === 'after' && (_jsx("span", { className: "i-button__icon", style: iconPreviewStyle, children: _jsx(ItemIconPreview, { icon: icon, setAttributes: setIconBase, options: options }) }))] }) })] }));
27
27
  };
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/core/basic-button/factory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AACxC,OAAO,EAAC,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAEvF,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAEtE,YAAY,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,CAAA;AAEvD,wBAAgB,sBAAsB,CACpC,SAAS,SAAS,WAAW,GAAG,OAAO,gBAAgB,EACvD,MAAM,SAAS,WAAW,GAAG,OAAO,aAAa,EACjD,iBAAiB,SAAS,WAAW,GAAG,OAAO,0BAA0B,EAEzE,OAAO,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAChE,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CA0CpI"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/blocks/core/basic-button/factory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AACxC,OAAO,EAAC,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAEvF,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAEtE,YAAY,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,CAAA;AAEvD,wBAAgB,sBAAsB,CACpC,SAAS,SAAS,WAAW,GAAG,OAAO,gBAAgB,EACvD,MAAM,SAAS,WAAW,GAAG,OAAO,aAAa,EACjD,iBAAiB,SAAS,WAAW,GAAG,OAAO,0BAA0B,EAEzE,OAAO,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAChE,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CA2CpI"}
@@ -37,6 +37,7 @@ export function createBasicButtonBlock(options) {
37
37
  type: 'object',
38
38
  default: { type: 'none', src: '', media: {}, position: 'after', size: 24 },
39
39
  },
40
+ iconOnly: { type: 'boolean', default: false },
40
41
  },
41
42
  edit: createBasicButtonEdit(options),
42
43
  save: () => null,
@@ -18,6 +18,7 @@ export interface BasicButtonAttributes<TVariant extends string = ButtonVariant,
18
18
  fullWidth: TFullWidth;
19
19
  size: TSize;
20
20
  icon: LinkItemIcon;
21
+ iconOnly: boolean;
21
22
  url: {
22
23
  src: string;
23
24
  blank: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/core/basic-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,KAAK,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AAC/D,OAAO,KAAK,EAAC,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5F,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sCAAsC,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AACtE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAElF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB,CACpC,QAAQ,SAAS,MAAM,GAAG,aAAa,EACvC,KAAK,SAAS,MAAM,GAAG,UAAU,EACjC,UAAU,SAAS,MAAM,GAAG,eAAe,CAC3C,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,UAAU,CAAA;IACrB,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,YAAY,CAAA;IAClB,GAAG,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,CAAA;CACnC;AAED,MAAM,WAAW,kBAAkB,CACjC,SAAS,SAAS,WAAW,GAAG,OAAO,gBAAgB,EACvD,MAAM,SAAS,WAAW,GAAG,OAAO,aAAa,EACjD,iBAAiB,SAAS,WAAW,GAAG,OAAO,0BAA0B,CACzE,SAAQ,cAAc;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IACpC,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/core/basic-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,KAAK,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AAC/D,OAAO,KAAK,EAAC,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5F,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sCAAsC,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AACtE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;AAElF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB,CACpC,QAAQ,SAAS,MAAM,GAAG,aAAa,EACvC,KAAK,SAAS,MAAM,GAAG,UAAU,EACjC,UAAU,SAAS,MAAM,GAAG,eAAe,CAC3C,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,UAAU,CAAA;IACrB,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,CAAA;CACnC;AAED,MAAM,WAAW,kBAAkB,CACjC,SAAS,SAAS,WAAW,GAAG,OAAO,gBAAgB,EACvD,MAAM,SAAS,WAAW,GAAG,OAAO,aAAa,EACjD,iBAAiB,SAAS,WAAW,GAAG,OAAO,0BAA0B,CACzE,SAAQ,cAAc;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IACpC,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brilo/base-blocks",
3
- "version": "0.1.41",
3
+ "version": "0.1.42",
4
4
  "author": "Brilo",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -26,7 +26,7 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
26
26
  attributes: BasicButtonAttributes
27
27
  setAttributes: (a: Partial<BasicButtonAttributes>) => void
28
28
  }) {
29
- const {title, variant, outline, fullWidth, size, url, icon} = attributes
29
+ const {title, variant, outline, fullWidth, size, url, icon, iconOnly} = attributes
30
30
  const hasIcon = icon.type !== 'none' && (icon.src || icon.media?.id)
31
31
 
32
32
  const setIconBase = (attrs: {icon: import('~/types').Icon}) => {
@@ -39,6 +39,7 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
39
39
  `--size-${size}`,
40
40
  outline && '--outline',
41
41
  fullWidth !== 'false' && `--full-width-${fullWidth}`,
42
+ iconOnly && '--icon-only',
42
43
  ),
43
44
  })
44
45
 
@@ -107,15 +108,23 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
107
108
  />
108
109
  {hasIcon && (
109
110
  <>
110
- <ToggleGroupControl
111
- isBlock
112
- label={__('Pozice', 'brilo-blocks')}
113
- value={icon.position}
114
- onChange={(v) => setAttributes({icon: {...icon, position: String(v) as 'before' | 'after'}})}
115
- >
116
- <ToggleGroupControlOption value="before" label={__('Před', 'brilo-blocks')} />
117
- <ToggleGroupControlOption value="after" label={__('Za', 'brilo-blocks')} />
118
- </ToggleGroupControl>
111
+ <ToggleControl
112
+ label={__('Pouze ikona', 'brilo-blocks')}
113
+ help={__('Skryje text tlačítka, zůstane jen ikona', 'brilo-blocks')}
114
+ checked={iconOnly}
115
+ onChange={(value) => setAttributes({iconOnly: value})}
116
+ />
117
+ {!iconOnly && (
118
+ <ToggleGroupControl
119
+ isBlock
120
+ label={__('Pozice', 'brilo-blocks')}
121
+ value={icon.position}
122
+ onChange={(v) => setAttributes({icon: {...icon, position: String(v) as 'before' | 'after'}})}
123
+ >
124
+ <ToggleGroupControlOption value="before" label={__('Před', 'brilo-blocks')} />
125
+ <ToggleGroupControlOption value="after" label={__('Za', 'brilo-blocks')} />
126
+ </ToggleGroupControl>
127
+ )}
119
128
  <RangeControl
120
129
  label={__('Velikost (px)', 'brilo-blocks')}
121
130
  value={icon.size}
@@ -135,14 +144,16 @@ export function createBasicButtonEdit(options: BasicButtonOptions) {
135
144
  <ItemIconPreview icon={icon as unknown as import('~/types').Icon} setAttributes={setIconBase} options={options} />
136
145
  </span>
137
146
  )}
138
- <RichText
139
- tagName="span"
140
- className="i-button__label"
141
- value={title}
142
- onChange={(value) => setAttributes({title: value})}
143
- placeholder={__('Text tlačítka...', 'brilo-blocks')}
144
- allowedFormats={[]}
145
- />
147
+ {(!iconOnly || !hasIcon) && (
148
+ <RichText
149
+ tagName="span"
150
+ className="i-button__label"
151
+ value={title}
152
+ onChange={(value) => setAttributes({title: value})}
153
+ placeholder={__('Text tlačítka...', 'brilo-blocks')}
154
+ allowedFormats={[]}
155
+ />
156
+ )}
146
157
  {hasIcon && icon.position === 'after' && (
147
158
  <span className="i-button__icon" style={iconPreviewStyle}>
148
159
  <ItemIconPreview icon={icon as unknown as import('~/types').Icon} setAttributes={setIconBase} options={options} />
@@ -49,6 +49,7 @@ export function createBasicButtonBlock<
49
49
  type: 'object',
50
50
  default: {type: 'none', src: '', media: {}, position: 'after', size: 24},
51
51
  },
52
+ iconOnly: {type: 'boolean', default: false},
52
53
  },
53
54
  edit: createBasicButtonEdit(options as unknown as BasicButtonOptions),
54
55
  save: () => null,
@@ -25,6 +25,7 @@ export interface BasicButtonAttributes<
25
25
  fullWidth: TFullWidth
26
26
  size: TSize
27
27
  icon: LinkItemIcon
28
+ iconOnly: boolean
28
29
  url: {src: string; blank: boolean}
29
30
  }
30
31