@heartlandone/vega 2.82.0 → 2.83.0
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/dist/cjs/{app-globals-3350d580.js → app-globals-40b1b1b2.js} +1 -1
- package/dist/cjs/{dto-renderer-manager-ae5fcbba.js → dto-renderer-manager-7eb5c5ce.js} +42 -2
- package/dist/cjs/{element-appender-slimmer-dedd3a34.js → element-appender-slimmer-52c2b455.js} +84 -8
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{token-extension-9b213b6b.js → token-extension-361273fb.js} +77 -20
- package/dist/cjs/vega-banner.cjs.entry.js +13 -2
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +37 -4
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-dialog_2.cjs.entry.js +27 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +1 -1
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination.cjs.entry.js +1 -1
- package/dist/cjs/vega-popover_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +8 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +1 -1
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +54 -9
- package/dist/cjs/vega-text.cjs.entry.js +10 -0
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
- package/dist/cjs/vega.cjs.js +4 -4
- package/dist/collection/components/vega-banner/slimmers/renderers/vega-banner-renderer.js +11 -2
- package/dist/collection/components/vega-banner/vega-banner.js +3 -1
- package/dist/collection/components/vega-checkbox/vega-checkbox.css +19 -14
- package/dist/collection/components/vega-checkbox/vega-checkbox.js +57 -3
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +9 -3
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-nested-modal-controller.js +17 -2
- package/dist/collection/components/vega-pagination/internal/vega-pagination-go-to.js +1 -1
- package/dist/collection/components/vega-pagination/vega-pagination-page-selector-mobile/slimmers/renderers/page-selector-mobile-renderer.js +1 -1
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +12 -10
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +28 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +24 -6
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +23 -8
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +18 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +8 -3
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +47 -0
- package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +10 -0
- package/dist/collection/helpers/rte-manager/dto-renderer-manager.js +42 -2
- package/dist/collection/helpers/slimmers/element-appender/body-positioned-wrapper/third-party-dialog-wrapper.js +73 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-container-controller.js +6 -0
- package/dist/esm/{app-globals-0b7e8b50.js → app-globals-f67d0eaf.js} +1 -1
- package/dist/esm/{dto-renderer-manager-12bc9121.js → dto-renderer-manager-abc7eb5f.js} +42 -2
- package/dist/esm/{element-appender-slimmer-5aca1bca.js → element-appender-slimmer-29c94a18.js} +84 -8
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{token-extension-9d717a35.js → token-extension-0710dbc5.js} +77 -20
- package/dist/esm/vega-banner.entry.js +13 -2
- package/dist/esm/vega-checkbox_2.entry.js +37 -4
- package/dist/esm/vega-date-picker_2.entry.js +1 -1
- package/dist/esm/vega-dialog_2.entry.js +27 -5
- package/dist/esm/vega-dropdown_5.entry.js +1 -1
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +1 -1
- package/dist/esm/vega-pagination.entry.js +1 -1
- package/dist/esm/vega-popover_2.entry.js +1 -1
- package/dist/esm/vega-progress-tracker_2.entry.js +8 -9
- package/dist/esm/vega-rich-text-content.entry.js +1 -1
- package/dist/esm/vega-rich-text-editor_4.entry.js +54 -9
- package/dist/esm/vega-text.entry.js +10 -0
- package/dist/esm/vega-time-picker_2.entry.js +1 -1
- package/dist/esm/vega-tooltip_2.entry.js +1 -1
- package/dist/esm/vega.js +4 -4
- package/dist/sri/vega-sri-manifest.json +70 -70
- package/dist/types/components/vega-banner/slimmers/renderers/vega-banner-renderer.d.ts +6 -0
- package/dist/types/components/vega-banner/vega-banner.d.ts +2 -0
- package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +22 -1
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +1 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-nested-modal-controller.d.ts +3 -2
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +8 -9
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +20 -2
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +13 -2
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +15 -4
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-extension.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/extension-controller.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +4 -3
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +14 -1
- package/dist/types/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.d.ts +1 -0
- package/dist/types/components.d.ts +29 -5
- package/dist/types/helpers/rte-manager/dto-renderer-manager.d.ts +26 -1
- package/dist/types/helpers/slimmers/element-appender/body-positioned-wrapper/third-party-dialog-wrapper.d.ts +45 -0
- package/dist/types/helpers/slimmers/element-appender/element-appender-container-controller.d.ts +2 -0
- package/dist/types/types/components.type.d.ts +1 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-0bcb2945.entry.js +1 -0
- package/dist/vega/{p-a30ae8a1.js → p-0bf8743f.js} +1 -1
- package/dist/vega/p-142f371b.entry.js +1 -0
- package/dist/vega/p-158c6a9f.entry.js +1 -0
- package/dist/vega/p-1b48e8a5.entry.js +1 -0
- package/dist/vega/p-380abceb.entry.js +1 -0
- package/dist/vega/{p-3505f7cc.entry.js → p-54ba35e3.entry.js} +1 -1
- package/dist/vega/p-5be546c5.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-246eb001.entry.js → p-608f234f.entry.js} +1 -1
- package/dist/vega/p-81a11dc6.entry.js +1 -0
- package/dist/vega/{p-23c840dc.entry.js → p-8559e36f.entry.js} +1 -1
- package/dist/vega/p-90cb665e.entry.js +1 -0
- package/dist/vega/{p-88b6184c.entry.js → p-a4738b70.entry.js} +1 -1
- package/dist/vega/p-b6c3ce6d.js +1 -0
- package/dist/vega/p-b9728ca8.js +1 -0
- package/dist/vega/{p-7faaa5e1.entry.js → p-cc00135a.entry.js} +1 -1
- package/dist/vega/{p-97f36f4e.entry.js → p-e00fb667.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-1dd6ba67.js +0 -1
- package/dist/vega/p-1efb47fe.entry.js +0 -1
- package/dist/vega/p-4f938ee4.entry.js +0 -1
- package/dist/vega/p-6d95390b.entry.js +0 -1
- package/dist/vega/p-a5bd3ecd.entry.js +0 -1
- package/dist/vega/p-c366e7f7.entry.js +0 -1
- package/dist/vega/p-d872beb1.entry.js +0 -1
- package/dist/vega/p-d9d5c693.entry.js +0 -1
- package/dist/vega/p-dd6211cd.js +0 -1
- package/dist/vega/p-fcabf0dc.js +0 -1
|
@@ -87,6 +87,21 @@ export class VegaCheckbox {
|
|
|
87
87
|
* @vegaVersion 1.0.7
|
|
88
88
|
*/
|
|
89
89
|
this.checked = false;
|
|
90
|
+
/**
|
|
91
|
+
* Specifies whether the checkbox is in an indeterminate state.
|
|
92
|
+
*
|
|
93
|
+
* The indeterminate state is a visual-only state typically used to represent
|
|
94
|
+
* a checkbox whose value is neither fully checked nor fully unchecked,
|
|
95
|
+
* such as a "select all" control where only some children are selected.
|
|
96
|
+
*
|
|
97
|
+
* Setting this property does not affect the `checked` or `value` properties.
|
|
98
|
+
* User interaction (clicking) will clear the indeterminate state and
|
|
99
|
+
* toggle `checked` as usual.
|
|
100
|
+
*
|
|
101
|
+
* @vegaVersion 2.83.0
|
|
102
|
+
*/
|
|
103
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
104
|
+
this.indeterminate = false;
|
|
90
105
|
/**
|
|
91
106
|
* Specifies whether the checkbox element is disabled.
|
|
92
107
|
*
|
|
@@ -114,11 +129,14 @@ export class VegaCheckbox {
|
|
|
114
129
|
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
115
130
|
this.isValid = null;
|
|
116
131
|
/**
|
|
117
|
-
*
|
|
132
|
+
* Indeterminate-clearing behavior is unit-tested.
|
|
133
|
+
* The checked-state side of this method is e2e-test covered in
|
|
118
134
|
* @see{module:vega-checkbox-change}
|
|
119
135
|
*/
|
|
120
|
-
/* istanbul ignore next */
|
|
121
136
|
this.onCheckBoxChange = (e) => {
|
|
137
|
+
if (this.indeterminate) {
|
|
138
|
+
this.indeterminate = false;
|
|
139
|
+
}
|
|
122
140
|
this.checked = e.currentTarget.checked;
|
|
123
141
|
};
|
|
124
142
|
this.onSelectedIconClick = (e) => {
|
|
@@ -145,6 +163,7 @@ export class VegaCheckbox {
|
|
|
145
163
|
if (this.host.innerHTML.trim() === '') {
|
|
146
164
|
this.labelElement.classList.add('vega-hidden');
|
|
147
165
|
}
|
|
166
|
+
this.syncNativeIndeterminate();
|
|
148
167
|
}
|
|
149
168
|
/**
|
|
150
169
|
* Invoke this method to set the value of the checkbox.
|
|
@@ -163,6 +182,7 @@ export class VegaCheckbox {
|
|
|
163
182
|
return sanitizeVegaComponent(h(Host, { class: {
|
|
164
183
|
'vega-flex-shrink-0 v-min-w-min': isInsideCheckboxGroup,
|
|
165
184
|
'checked': this.checked,
|
|
185
|
+
'indeterminate': this.indeterminate,
|
|
166
186
|
'disabled': this.isDisabled(),
|
|
167
187
|
} },
|
|
168
188
|
h("label", { class: arrayToClassString([
|
|
@@ -170,13 +190,16 @@ export class VegaCheckbox {
|
|
|
170
190
|
this.showError && 'error',
|
|
171
191
|
this.size && `size-${this.size}`,
|
|
172
192
|
]), ref: (e) => (this.inputContainerRef = e) },
|
|
173
|
-
h("input", { ref: (e) => (this.inputRef = e), type: "checkbox", checked: this.checked, value: this.identifier, onChange: this.onCheckBoxChange, "aria-label": this.identifier || 'No label defined', disabled: this.isDisabled(),
|
|
193
|
+
h("input", { ref: (e) => (this.inputRef = e), type: "checkbox", checked: this.checked, value: this.identifier, onChange: this.onCheckBoxChange, "aria-label": this.identifier || 'No label defined', "aria-checked": this.indeterminate ? 'mixed' : undefined, disabled: this.isDisabled(), tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick() }),
|
|
174
194
|
h("span", { class: "vega-checkbox-icon", onClick: this.onSelectedIconClick, tabIndex: -1 }, this.renderIconDom()),
|
|
175
195
|
h("div", { class: "vega-checkbox-label-container", ref: (el) => (this.labelElement = el) },
|
|
176
196
|
this.renderLabelDom(),
|
|
177
197
|
this.renderRequireDom()))), this.host);
|
|
178
198
|
}
|
|
179
199
|
renderIconDom() {
|
|
200
|
+
if (this.indeterminate) {
|
|
201
|
+
return h("vega-icon", { icon: "minus-sign", size: this.size === 'small' ? 'size-12' : 'size-16' });
|
|
202
|
+
}
|
|
180
203
|
return this.checked ? (h("vega-icon", { icon: "checkmark", size: this.size === 'small' ? 'size-12' : 'size-16' })) : null;
|
|
181
204
|
}
|
|
182
205
|
renderLabelDom() {
|
|
@@ -191,6 +214,16 @@ export class VegaCheckbox {
|
|
|
191
214
|
initValue() {
|
|
192
215
|
this.value = this.identifier !== '' ? (this.checked ? this.identifier : '') : this.checked;
|
|
193
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Syncs the indeterminate property to the native input element.
|
|
219
|
+
* The HTML `indeterminate` attribute can only be set via JavaScript,
|
|
220
|
+
* so it must be applied imperatively after each render.
|
|
221
|
+
*/
|
|
222
|
+
syncNativeIndeterminate() {
|
|
223
|
+
if (this.inputRef) {
|
|
224
|
+
this.inputRef.indeterminate = this.indeterminate;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
194
227
|
/**
|
|
195
228
|
* indicating whether the component is disabled or not, single checkbox will take the self disabled value and the checkbox in group will take the self disabled and group disabled value
|
|
196
229
|
*
|
|
@@ -305,6 +338,27 @@ export class VegaCheckbox {
|
|
|
305
338
|
"reflect": false,
|
|
306
339
|
"defaultValue": "false"
|
|
307
340
|
},
|
|
341
|
+
"indeterminate": {
|
|
342
|
+
"type": "boolean",
|
|
343
|
+
"mutable": true,
|
|
344
|
+
"complexType": {
|
|
345
|
+
"original": "boolean",
|
|
346
|
+
"resolved": "boolean",
|
|
347
|
+
"references": {}
|
|
348
|
+
},
|
|
349
|
+
"required": false,
|
|
350
|
+
"optional": false,
|
|
351
|
+
"docs": {
|
|
352
|
+
"tags": [{
|
|
353
|
+
"name": "vegaVersion",
|
|
354
|
+
"text": "2.83.0"
|
|
355
|
+
}],
|
|
356
|
+
"text": "Specifies whether the checkbox is in an indeterminate state.\n\nThe indeterminate state is a visual-only state typically used to represent\n a checkbox whose value is neither fully checked nor fully unchecked,\n such as a \"select all\" control where only some children are selected.\n\nSetting this property does not affect the `checked` or `value` properties.\n User interaction (clicking) will clear the indeterminate state and\n toggle `checked` as usual."
|
|
357
|
+
},
|
|
358
|
+
"attribute": "indeterminate",
|
|
359
|
+
"reflect": true,
|
|
360
|
+
"defaultValue": "false"
|
|
361
|
+
},
|
|
308
362
|
"disabled": {
|
|
309
363
|
"type": "boolean",
|
|
310
364
|
"mutable": false,
|
package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js
CHANGED
|
@@ -29,18 +29,23 @@ export class VegaModalBackdropController extends VegaSlimmer {
|
|
|
29
29
|
* Set backdrop of modal.
|
|
30
30
|
*/
|
|
31
31
|
setBackdrop() {
|
|
32
|
+
var _a;
|
|
32
33
|
if (this.backdrop === 'none')
|
|
33
34
|
return;
|
|
34
35
|
// eslint-disable-next-line no-restricted-globals
|
|
35
|
-
let backdrop = document.querySelector(
|
|
36
|
+
let backdrop = document.querySelector(`vega-backdrop.${VegaModalBackdropController.modalBackdropClass}`);
|
|
36
37
|
if (!backdrop) {
|
|
37
38
|
// eslint-disable-next-line no-restricted-globals
|
|
38
39
|
backdrop = document.createElement('vega-backdrop');
|
|
39
|
-
backdrop.classList.add(
|
|
40
|
+
backdrop.classList.add(VegaModalBackdropController.modalBackdropClass);
|
|
40
41
|
backdrop.color = VegaModalBackdropController.backdropColorMap[this.backdropColor];
|
|
41
42
|
backdrop.visible = true;
|
|
43
|
+
// Append backdrop as a sibling of the modal host so it shares the same stacking context.
|
|
44
|
+
// - When vega-modal is in document.body (normal case), parentElement is document.body.
|
|
45
|
+
// - When vega-modal is inside a third-party dialog (e.g. Bootstrap modal), parentElement is the dialog container — keeping the backdrop inside the focus-trap root.
|
|
46
|
+
// - Falls back to document.body when parentElement is null (e.g. VegaDialog creates the vega-modal element before appending it to the DOM).
|
|
42
47
|
// eslint-disable-next-line no-restricted-globals
|
|
43
|
-
document.
|
|
48
|
+
((_a = this.host.parentElement) !== null && _a !== void 0 ? _a : document.body).append(backdrop);
|
|
44
49
|
}
|
|
45
50
|
this.backdropRef = backdrop;
|
|
46
51
|
}
|
|
@@ -51,6 +56,7 @@ export class VegaModalBackdropController extends VegaSlimmer {
|
|
|
51
56
|
this.backdropRef && this.backdropRef.remove();
|
|
52
57
|
}
|
|
53
58
|
}
|
|
59
|
+
VegaModalBackdropController.modalBackdropClass = 'vega-modal-backdrop';
|
|
54
60
|
VegaModalBackdropController.backdropColorMap = {
|
|
55
61
|
default: 'bg-backdrop-modal',
|
|
56
62
|
semi: 'bg-backdrop-popover',
|
package/dist/collection/components/vega-modal/slimmers/controllers/vega-nested-modal-controller.js
CHANGED
|
@@ -4,11 +4,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { MapToComponentField, MapToComponentMethod
|
|
7
|
+
import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
|
|
8
|
+
import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutation-observer-slimmer';
|
|
9
|
+
import { TagNameMutationFilter } from '../../../../helpers/slimmers/mutation-observer/mutation-observer-filters';
|
|
8
10
|
/**
|
|
9
11
|
* Nested modal controller
|
|
10
12
|
*/
|
|
11
|
-
export class VegaNestedModalController extends
|
|
13
|
+
export class VegaNestedModalController extends MutationObserverSlimmer {
|
|
14
|
+
constructor() {
|
|
15
|
+
super({
|
|
16
|
+
mutationFilter: TagNameMutationFilter('VEGA-MODAL'),
|
|
17
|
+
options: {
|
|
18
|
+
childList: true,
|
|
19
|
+
subtree: true,
|
|
20
|
+
},
|
|
21
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
22
|
+
callback: () => {
|
|
23
|
+
this.appendNestedModalToBody();
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
12
27
|
/**
|
|
13
28
|
* Component lifecycle - [connectedCallback]
|
|
14
29
|
*/
|
|
@@ -21,7 +21,7 @@ export const VegaPaginationGoTo = ({ onChange, pageCount, translationSlimmer, })
|
|
|
21
21
|
ref: (ref) => {
|
|
22
22
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaFormSubmit, handleChange);
|
|
23
23
|
} },
|
|
24
|
-
h("vega-input", { "data-vega-form": "paginationGoTo", type: "number", size: "small", showClearIcon: false, style: { width: '60px' }, maskConfig: {
|
|
24
|
+
h("vega-input", { "data-vega-form": "paginationGoTo", type: "number", size: "small", autocomplete: "on", showClearIcon: false, style: { width: '60px' }, maskConfig: {
|
|
25
25
|
type: 'number',
|
|
26
26
|
options: {
|
|
27
27
|
allowNegative: false,
|
|
@@ -42,7 +42,7 @@ export class PageSelectorMobileRenderer extends VegaSlimmer {
|
|
|
42
42
|
h("vega-form", { ref: (ref) => {
|
|
43
43
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaFormSubmit, this.handleChange);
|
|
44
44
|
} },
|
|
45
|
-
h("vega-input", { "data-vega-form": "pageSelectorMobile_goTo", size: "small", showClearIcon: false, style: { width: '54px' }, maskConfig: {
|
|
45
|
+
h("vega-input", { "data-vega-form": "pageSelectorMobile_goTo", size: "small", autocomplete: "on", showClearIcon: false, style: { width: '54px' }, maskConfig: {
|
|
46
46
|
type: 'number',
|
|
47
47
|
options: {
|
|
48
48
|
allowNegative: false,
|
|
@@ -92,17 +92,16 @@ export class VegaProgressTracker {
|
|
|
92
92
|
*/
|
|
93
93
|
this.canClickStep = true;
|
|
94
94
|
/**
|
|
95
|
-
* When enabled,
|
|
96
|
-
* no highlighted/current step (e.g. all steps are pending or
|
|
97
|
-
*
|
|
95
|
+
* When enabled, `current = -1` becomes a valid state that indicates
|
|
96
|
+
* no highlighted/current step (e.g. all steps are pending or the
|
|
97
|
+
* workflow has not started).
|
|
98
98
|
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
99
|
+
* Two ways to enter this state:
|
|
100
|
+
* - Set the `current` prop to `-1`.
|
|
101
|
+
* - Call the `setCurrent(-1)` method.
|
|
101
102
|
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* by explicitly setting `current = -1` via the prop or
|
|
105
|
-
* `setCurrent(-1)`.
|
|
103
|
+
* @VegaHint `prevStep()` still clamps at `0` and will not take `current`
|
|
104
|
+
* into `-1`.
|
|
106
105
|
*
|
|
107
106
|
* @vegaVersion 2.82.0
|
|
108
107
|
*/
|
|
@@ -330,10 +329,13 @@ export class VegaProgressTracker {
|
|
|
330
329
|
"optional": false,
|
|
331
330
|
"docs": {
|
|
332
331
|
"tags": [{
|
|
332
|
+
"name": "VegaHint",
|
|
333
|
+
"text": "`prevStep()` still clamps at `0` and will not take `current`\ninto `-1`."
|
|
334
|
+
}, {
|
|
333
335
|
"name": "vegaVersion",
|
|
334
336
|
"text": "2.82.0"
|
|
335
337
|
}],
|
|
336
|
-
"text": "When enabled,
|
|
338
|
+
"text": "When enabled, `current = -1` becomes a valid state that indicates\n no highlighted/current step (e.g. all steps are pending or the\n workflow has not started).\n\nTwo ways to enter this state:\n- Set the `current` prop to `-1`.\n- Call the `setCurrent(-1)` method."
|
|
337
339
|
},
|
|
338
340
|
"attribute": "allow-no-current-step",
|
|
339
341
|
"reflect": false,
|
|
@@ -49,12 +49,27 @@ export class VegaRTEExtension {
|
|
|
49
49
|
static registerFilterStylesStrategy(blockOrNodeClassName, strategy) {
|
|
50
50
|
RTEFilterStylesStrategyRegistry.register(blockOrNodeClassName, strategy);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Lifecycle hook called by the rich text editor before the first render
|
|
54
|
+
* (during `componentWillLoad`). Override this method to perform per-host
|
|
55
|
+
* pre-render setup — for example, registering a host-specific toolbar button
|
|
56
|
+
* renderer via {@link registerToolbarButtonRenderer} so that each editor on
|
|
57
|
+
* the page gets its own isolated renderer instance.
|
|
58
|
+
*
|
|
59
|
+
* The default implementation is a no-op; subclasses may override selectively.
|
|
60
|
+
*
|
|
61
|
+
* @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
|
|
62
|
+
* @param {HTMLVegaRichTextEditorElement} host - The host rich text editor element that is about to load.
|
|
63
|
+
*/
|
|
64
|
+
prepareBeforeLoad(host) {
|
|
65
|
+
methodPlaceholder(host);
|
|
66
|
+
}
|
|
52
67
|
/**
|
|
53
68
|
* Initializes the RTE extension with the provided context.
|
|
54
69
|
*
|
|
55
70
|
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
56
71
|
*/
|
|
57
|
-
|
|
72
|
+
initialExtensionAfterLoad(context) {
|
|
58
73
|
this.extensionContext = context;
|
|
59
74
|
rteExtensionContextManager.setExtensionContext(context);
|
|
60
75
|
}
|
|
@@ -103,12 +118,22 @@ export class VegaRTEExtension {
|
|
|
103
118
|
}
|
|
104
119
|
/**
|
|
105
120
|
* Register a toolbar button renderer for the extension.
|
|
121
|
+
* When a `host` element is provided the renderer is registered in the per-host map
|
|
122
|
+
* (via {@link RTEDTORendererManager#registerRTEToolbarButtonRendererForHost}), giving
|
|
123
|
+
* that host an isolated renderer instance that takes precedence over the global singleton.
|
|
124
|
+
* Omit `host` to fall back to the global registration (backwards-compatible default).
|
|
106
125
|
*
|
|
107
126
|
* @param {string} type - The type of the toolbar button.
|
|
108
127
|
* @param {VegaRTEToolbarButtonRenderer} renderer - The renderer to register.
|
|
128
|
+
* @param {HTMLVegaRichTextEditorElement} [host] - Optional host element for per-host isolation.
|
|
109
129
|
*/
|
|
110
|
-
registerToolbarButtonRenderer(type, renderer) {
|
|
111
|
-
|
|
130
|
+
registerToolbarButtonRenderer(type, renderer, host) {
|
|
131
|
+
if (host) {
|
|
132
|
+
RTEDTORendererManager.registerRTEToolbarButtonRendererForHost(host, type, renderer);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
RTEDTORendererManager.registerRTEToolbarButtonRenderer(type, renderer);
|
|
136
|
+
}
|
|
112
137
|
}
|
|
113
138
|
/**
|
|
114
139
|
* This is a helper method that utilizes RTEUtils to register common strategies.
|
package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js
CHANGED
|
@@ -8,6 +8,7 @@ import { RTELanguageToolbarButtonRenderer } from './language-toolbar-button-rend
|
|
|
8
8
|
export class VegaRTELanguageExtension extends VegaRTEExtension {
|
|
9
9
|
constructor(languageList, languagesState) {
|
|
10
10
|
super();
|
|
11
|
+
this.languageToolbarButtonRenderer = null;
|
|
11
12
|
this.languageState = {
|
|
12
13
|
selectedLanguage: '',
|
|
13
14
|
contentMap: {},
|
|
@@ -25,24 +26,39 @@ export class VegaRTELanguageExtension extends VegaRTEExtension {
|
|
|
25
26
|
this.languageState.selectedLanguage = selectedLanguage;
|
|
26
27
|
this.applyLanguageContent(selectedLanguage, this.languageState.contentMap);
|
|
27
28
|
};
|
|
29
|
+
this.languageList = languageList;
|
|
28
30
|
if (languagesState) {
|
|
29
31
|
this.languageState = Object.assign(Object.assign({}, this.languageState), languagesState);
|
|
30
32
|
}
|
|
31
33
|
if (!this.languageState.selectedLanguage && languageList.length > 0) {
|
|
32
34
|
this.languageState.selectedLanguage = languageList[0].key;
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Called by the rich text editor during `componentWillLoad` (before the first render).
|
|
39
|
+
* Creates a fresh {@link RTELanguageToolbarButtonRenderer} instance dedicated to this
|
|
40
|
+
* host element and registers it in the per-host map inside {@link RTEDTORendererManager}.
|
|
41
|
+
* This ensures that each editor on the page has its own isolated renderer — no shared
|
|
42
|
+
* singleton state, no WeakMap indirection.
|
|
43
|
+
*
|
|
44
|
+
* @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
|
|
45
|
+
* @param {HTMLVegaRichTextEditorElement} host - The host rich text editor element.
|
|
46
|
+
*/
|
|
47
|
+
prepareBeforeLoad(host) {
|
|
48
|
+
this.languageToolbarButtonRenderer = new RTELanguageToolbarButtonRenderer(this.languageList, this.languageChangeCallBack, this.languageState.selectedLanguage);
|
|
49
|
+
this.registerToolbarButtonRenderer('languages', this.languageToolbarButtonRenderer, host);
|
|
36
50
|
}
|
|
37
51
|
/**
|
|
38
52
|
* Initializes the language extension.
|
|
39
|
-
* Applies the content for the selected language upon initialization.
|
|
40
53
|
*
|
|
41
54
|
* @param {RTEExtensionContext} context The extension context.
|
|
42
55
|
*/
|
|
43
|
-
|
|
44
|
-
super.
|
|
56
|
+
initialExtensionAfterLoad(context) {
|
|
57
|
+
super.initialExtensionAfterLoad(context);
|
|
45
58
|
const { selectedLanguage, contentMap } = this.languageState;
|
|
59
|
+
if (this.languageToolbarButtonRenderer) {
|
|
60
|
+
this.languageToolbarButtonRenderer.setSelectedLanguage(selectedLanguage);
|
|
61
|
+
}
|
|
46
62
|
if (contentMap && contentMap[selectedLanguage]) {
|
|
47
63
|
this.applyLanguageContent(this.languageState.selectedLanguage, this.languageState.contentMap);
|
|
48
64
|
}
|
|
@@ -54,7 +70,9 @@ export class VegaRTELanguageExtension extends VegaRTEExtension {
|
|
|
54
70
|
*/
|
|
55
71
|
setState(state) {
|
|
56
72
|
const { selectedLanguage, contentMap } = state;
|
|
57
|
-
this.languageToolbarButtonRenderer
|
|
73
|
+
if (this.languageToolbarButtonRenderer) {
|
|
74
|
+
this.languageToolbarButtonRenderer.setSelectedLanguage(selectedLanguage);
|
|
75
|
+
}
|
|
58
76
|
this.languageState.selectedLanguage = selectedLanguage;
|
|
59
77
|
this.languageState.contentMap = Object.assign({}, contentMap);
|
|
60
78
|
this.applyLanguageContent(selectedLanguage, contentMap);
|
|
@@ -2,30 +2,41 @@ import { methodPlaceholder } from 'vega-slimmer/core';
|
|
|
2
2
|
import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
|
|
3
3
|
/**
|
|
4
4
|
* Toolbar button renderer for language selection in Vega Rich Text Editor.
|
|
5
|
+
*
|
|
6
|
+
* Each {@link HTMLVegaRichTextEditorElement} that uses a language extension receives its
|
|
7
|
+
* **own** instance of this renderer, registered in the per-host map inside
|
|
8
|
+
* {@link RTEDTORendererManager} via {@link VegaRTEExtension#prepareBeforeLoad}. Because
|
|
9
|
+
* every editor has a dedicated renderer, all state (label DOM ref, selected language, and
|
|
10
|
+
* the language-change callback) is held in plain instance fields — no WeakMaps or shared
|
|
11
|
+
* singletons are required.
|
|
5
12
|
*/
|
|
6
13
|
export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
7
|
-
constructor(languageList, languageChangeCallback, selectedLanguage) {
|
|
14
|
+
constructor(languageList, languageChangeCallback, selectedLanguage = '') {
|
|
8
15
|
super();
|
|
9
16
|
this.languageList = [];
|
|
10
|
-
this.
|
|
17
|
+
this.languageChangeCallback = null;
|
|
18
|
+
this.selectedLanguage = '';
|
|
11
19
|
this.labelRef = null;
|
|
12
20
|
/**
|
|
13
21
|
* Handles the language selection event.
|
|
22
|
+
* Because each editor has its own renderer instance, the language-change callback
|
|
23
|
+
* is stored directly on this instance — no indirect context lookup is needed.
|
|
14
24
|
*
|
|
15
25
|
* @param {string} itemKey - The key of the selected language item.
|
|
16
26
|
*/
|
|
17
27
|
this.handleDropdownClick = (itemKey) => {
|
|
18
28
|
this.setSelectedLanguage(itemKey);
|
|
19
29
|
if (typeof this.languageChangeCallback === 'function') {
|
|
20
|
-
this.languageChangeCallback(
|
|
30
|
+
this.languageChangeCallback(itemKey);
|
|
21
31
|
}
|
|
22
32
|
};
|
|
23
33
|
this.languageList = languageList;
|
|
24
|
-
this.selectedLanguage = selectedLanguage;
|
|
25
34
|
this.languageChangeCallback = languageChangeCallback;
|
|
35
|
+
this.selectedLanguage = selectedLanguage;
|
|
26
36
|
}
|
|
27
37
|
/**
|
|
28
|
-
*
|
|
38
|
+
* Updates the selected language and refreshes the button label text in-place,
|
|
39
|
+
* without requiring a full re-render of the toolbar.
|
|
29
40
|
*
|
|
30
41
|
* @param {string} language The language key to set as selected.
|
|
31
42
|
*/
|
|
@@ -55,7 +66,8 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
55
66
|
]);
|
|
56
67
|
}
|
|
57
68
|
/**
|
|
58
|
-
* Override to
|
|
69
|
+
* Override to capture the rendered label element ref so that
|
|
70
|
+
* {@link setSelectedLanguage} can update the button text without a full re-render.
|
|
59
71
|
*
|
|
60
72
|
* @inheritDoc
|
|
61
73
|
*/
|
|
@@ -65,7 +77,9 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
65
77
|
variant: 'font-field-label-sm',
|
|
66
78
|
color: isDisabled ? 'text-disabled' : 'text-primary',
|
|
67
79
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
68
|
-
ref: (el) =>
|
|
80
|
+
ref: (el) => {
|
|
81
|
+
this.labelRef = el;
|
|
82
|
+
},
|
|
69
83
|
}, label);
|
|
70
84
|
}
|
|
71
85
|
/* istanbul ignore next */
|
|
@@ -84,7 +98,8 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
84
98
|
* @returns {string} The label of the language, or the key if not found.
|
|
85
99
|
*/
|
|
86
100
|
getLanguageLabelByKey(key) {
|
|
101
|
+
var _a;
|
|
87
102
|
const language = this.getListItemByKey(this.languageList, key);
|
|
88
|
-
return language.label;
|
|
103
|
+
return (_a = language === null || language === void 0 ? void 0 : language.label) !== null && _a !== void 0 ? _a : 'Select Language';
|
|
89
104
|
}
|
|
90
105
|
}
|
package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js
CHANGED
|
@@ -129,10 +129,10 @@ export class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
129
129
|
*
|
|
130
130
|
* @param {RTEExtensionContext} context - extension context
|
|
131
131
|
*/
|
|
132
|
-
|
|
132
|
+
initialExtensionAfterLoad(context) {
|
|
133
133
|
this.tableSelection.init(context);
|
|
134
134
|
const tableExtensionContext = Object.assign(Object.assign({}, context), { tableSelection: this.tableSelection });
|
|
135
|
-
super.
|
|
135
|
+
super.initialExtensionAfterLoad(tableExtensionContext);
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
138
|
* @inheritDoc
|
|
@@ -46,6 +46,19 @@ export class RTEExtensionController extends VegaSlimmer {
|
|
|
46
46
|
return this.selectionController.getSelectedNodes();
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Prepares all registered extensions before the first render.
|
|
51
|
+
* This method is called during `componentWillLoad` so that extensions can perform
|
|
52
|
+
* host-specific setup (e.g. registering per-host toolbar button renderers) before
|
|
53
|
+
* Stencil renders the component for the first time.
|
|
54
|
+
*/
|
|
55
|
+
prepareExtensionsBeforeLoad() {
|
|
56
|
+
if (this.extensions && this.host) {
|
|
57
|
+
for (const extension of this.extensions) {
|
|
58
|
+
extension.prepareBeforeLoad(this.host);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
49
62
|
/**
|
|
50
63
|
* Initializes the extension context for all registered extensions.
|
|
51
64
|
* This method is called when the component is connected and whenever the extensions property changes.
|
|
@@ -54,7 +67,7 @@ export class RTEExtensionController extends VegaSlimmer {
|
|
|
54
67
|
if (this.extensions && this.host) {
|
|
55
68
|
const extensionContext = this.generateExtensionContext();
|
|
56
69
|
for (const extension of this.extensions) {
|
|
57
|
-
extension.
|
|
70
|
+
extension.initialExtensionAfterLoad(extensionContext);
|
|
58
71
|
}
|
|
59
72
|
}
|
|
60
73
|
}
|
|
@@ -81,6 +94,7 @@ export class RTEExtensionController extends VegaSlimmer {
|
|
|
81
94
|
}
|
|
82
95
|
}
|
|
83
96
|
if (!isArrayEqual(newValue, oldValue, false, (a, b) => a === b ? 0 : 1)) {
|
|
97
|
+
this.prepareExtensionsBeforeLoad();
|
|
84
98
|
this.initialExtensionContext();
|
|
85
99
|
}
|
|
86
100
|
}
|
|
@@ -115,6 +129,9 @@ __decorate([
|
|
|
115
129
|
__decorate([
|
|
116
130
|
MapToComponentField()
|
|
117
131
|
], RTEExtensionController.prototype, "selectionController", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
MapToComponentMethod('componentWillLoad')
|
|
134
|
+
], RTEExtensionController.prototype, "prepareExtensionsBeforeLoad", null);
|
|
118
135
|
__decorate([
|
|
119
136
|
MapToComponentMethod('componentDidLoad')
|
|
120
137
|
], RTEExtensionController.prototype, "initialExtensionContext", null);
|
package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js
CHANGED
|
@@ -70,7 +70,7 @@ export class ToolbarRenderer extends VegaSlimmer {
|
|
|
70
70
|
const groupElement = group
|
|
71
71
|
.map((item) => {
|
|
72
72
|
const presetRenderer = this.getToolbarBtnRenderer(item);
|
|
73
|
-
const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item);
|
|
73
|
+
const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item, this.host);
|
|
74
74
|
if (presetRenderer) {
|
|
75
75
|
if (!presetRenderer.isHidden()) {
|
|
76
76
|
totalVisibleCount++;
|
|
@@ -14,7 +14,6 @@ import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-sli
|
|
|
14
14
|
import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
|
|
15
15
|
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
16
16
|
import { VegaClick, VegaDropdownClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
17
|
-
import { tryGetDocument } from '../../../../../utils/try-get-document';
|
|
18
17
|
export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
19
18
|
constructor() {
|
|
20
19
|
super({
|
|
@@ -27,7 +26,6 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
27
26
|
await this.insertURLModalRef.modal('hide');
|
|
28
27
|
};
|
|
29
28
|
this.handleDropdownItemClick = async (payload) => {
|
|
30
|
-
const safeDocument = tryGetDocument();
|
|
31
29
|
switch (payload.detail) {
|
|
32
30
|
case 'upload':
|
|
33
31
|
this.uploadInputRef.click();
|
|
@@ -36,7 +34,8 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
36
34
|
this.currentRange = this.selectionController.getCurrentRange();
|
|
37
35
|
this.currentSelectedNodes = this.selectionController.getSelectedNodes();
|
|
38
36
|
this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
|
|
39
|
-
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
|
+
this.host.parentElement.append(this.insertURLModalRef);
|
|
40
39
|
this.insertURLInputRef.value = '';
|
|
41
40
|
await this.insertURLModalRef.modal('show');
|
|
42
41
|
await this.insertURLInputRef.doFocus();
|
|
@@ -167,6 +166,9 @@ ImageToolbarButtonSlimmer.items = [
|
|
|
167
166
|
label: 'Insert via URL',
|
|
168
167
|
},
|
|
169
168
|
];
|
|
169
|
+
__decorate([
|
|
170
|
+
MapToComponentField()
|
|
171
|
+
], ImageToolbarButtonSlimmer.prototype, "host", void 0);
|
|
170
172
|
__decorate([
|
|
171
173
|
MapToComponentField()
|
|
172
174
|
], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
|
|
@@ -23,8 +23,9 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
23
23
|
tooltip: { text: 'Text Styles' },
|
|
24
24
|
});
|
|
25
25
|
this.handleDropdownItemClick = (payload) => {
|
|
26
|
+
var _a, _b;
|
|
26
27
|
const selectedType = payload.detail;
|
|
27
|
-
const boldByDefault = TextStylesToolbarButtonSlimmer.
|
|
28
|
+
const boldByDefault = (_b = (_a = TextStylesToolbarButtonSlimmer.allItems.find((item) => item.key === selectedType)) === null || _a === void 0 ? void 0 : _a.bold) !== null && _b !== void 0 ? _b : false;
|
|
28
29
|
const selectedTextBlocks = this.selectionController
|
|
29
30
|
.getSelectedBlocks()
|
|
30
31
|
.filter((block) => block instanceof RTETextBlock);
|
|
@@ -53,7 +54,8 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
53
54
|
h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent())));
|
|
54
55
|
}
|
|
55
56
|
renderDropdownContent() {
|
|
56
|
-
|
|
57
|
+
const visibleItems = TextStylesToolbarButtonSlimmer.allItems.filter((item) => this.textStyleItems.some((config) => config.key === item.key));
|
|
58
|
+
return (h(Fragment, null, visibleItems.map((item) => {
|
|
57
59
|
const textStyleAnnotation = new TextStyleAnnotation(item.key);
|
|
58
60
|
const boldAnnotation = new BoldAnnotation(item.bold);
|
|
59
61
|
return (h("vega-dropdown-item", { key: item.key, itemKey: item.key },
|
|
@@ -91,7 +93,7 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
91
93
|
'text-size': textSize,
|
|
92
94
|
});
|
|
93
95
|
})();
|
|
94
|
-
TextStylesToolbarButtonSlimmer.
|
|
96
|
+
TextStylesToolbarButtonSlimmer.allItems = [
|
|
95
97
|
{
|
|
96
98
|
key: 'title',
|
|
97
99
|
label: 'Title',
|
|
@@ -127,3 +129,6 @@ __decorate([
|
|
|
127
129
|
__decorate([
|
|
128
130
|
MapToComponentField()
|
|
129
131
|
], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
MapToComponentField()
|
|
134
|
+
], TextStylesToolbarButtonSlimmer.prototype, "textStyleItems", void 0);
|
|
@@ -204,6 +204,26 @@ export class VegaRichTextEditor {
|
|
|
204
204
|
* @vegaVersion 2.34.0
|
|
205
205
|
*/
|
|
206
206
|
this.validationRules = [];
|
|
207
|
+
/**
|
|
208
|
+
* Specifies which text style items appear in the Text Styles toolbar dropdown.
|
|
209
|
+
*
|
|
210
|
+
* Use this to control which heading levels and text styles are available to users.
|
|
211
|
+
* For example, omit `{ key: 'heading-1' }` to prevent users from applying H1
|
|
212
|
+
* (which is typically reserved for the page title).
|
|
213
|
+
*
|
|
214
|
+
* Items are displayed in a fixed internal order regardless of the order in this array.
|
|
215
|
+
*
|
|
216
|
+
* @vegaVersion 2.83.0
|
|
217
|
+
* @defaultValue [{ key: 'title' }, { key: 'subtitle' }, { key: 'heading-1' }, { key: 'heading-2' }, { key: 'heading-3' }, { key: 'paragraph' }]
|
|
218
|
+
*/
|
|
219
|
+
this.textStyleItems = [
|
|
220
|
+
{ key: 'title' },
|
|
221
|
+
{ key: 'subtitle' },
|
|
222
|
+
{ key: 'heading-1' },
|
|
223
|
+
{ key: 'heading-2' },
|
|
224
|
+
{ key: 'heading-3' },
|
|
225
|
+
{ key: 'paragraph' },
|
|
226
|
+
];
|
|
207
227
|
/**
|
|
208
228
|
* Specifies the configuration for the rich text editor extensions.
|
|
209
229
|
*
|
|
@@ -532,6 +552,33 @@ export class VegaRichTextEditor {
|
|
|
532
552
|
},
|
|
533
553
|
"defaultValue": "[]"
|
|
534
554
|
},
|
|
555
|
+
"textStyleItems": {
|
|
556
|
+
"type": "unknown",
|
|
557
|
+
"mutable": false,
|
|
558
|
+
"complexType": {
|
|
559
|
+
"original": "VegaRTETextStyleItem[]",
|
|
560
|
+
"resolved": "VegaRTETextStyleItem[]",
|
|
561
|
+
"references": {
|
|
562
|
+
"VegaRTETextStyleItem": {
|
|
563
|
+
"location": "import",
|
|
564
|
+
"path": "./interface"
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"required": false,
|
|
569
|
+
"optional": false,
|
|
570
|
+
"docs": {
|
|
571
|
+
"tags": [{
|
|
572
|
+
"name": "vegaVersion",
|
|
573
|
+
"text": "2.83.0"
|
|
574
|
+
}, {
|
|
575
|
+
"name": "defaultValue",
|
|
576
|
+
"text": "[{ key: 'title' }, { key: 'subtitle' }, { key: 'heading-1' }, { key: 'heading-2' }, { key: 'heading-3' }, { key: 'paragraph' }]"
|
|
577
|
+
}],
|
|
578
|
+
"text": "Specifies which text style items appear in the Text Styles toolbar dropdown.\n\nUse this to control which heading levels and text styles are available to users.\nFor example, omit `{ key: 'heading-1' }` to prevent users from applying H1\n(which is typically reserved for the page title).\n\nItems are displayed in a fixed internal order regardless of the order in this array."
|
|
579
|
+
},
|
|
580
|
+
"defaultValue": "[\n\t\t{ key: 'title' },\n\t\t{ key: 'subtitle' },\n\t\t{ key: 'heading-1' },\n\t\t{ key: 'heading-2' },\n\t\t{ key: 'heading-3' },\n\t\t{ key: 'paragraph' },\n\t]"
|
|
581
|
+
},
|
|
535
582
|
"extensions": {
|
|
536
583
|
"type": "unknown",
|
|
537
584
|
"mutable": false,
|