@vonage/vivid 5.21.0 → 5.22.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/accordion/index.cjs +1 -1
- package/accordion/index.js +2 -2
- package/alert/index.cjs +1 -1
- package/alert/index.js +1 -1
- package/audio-player/index.cjs +3 -5
- package/audio-player/index.js +30 -32
- package/avatar/index.cjs +1 -1
- package/avatar/index.js +1 -1
- package/banner/index.cjs +1 -1
- package/banner/index.js +1 -1
- package/bundled/affix.cjs +4 -4
- package/bundled/affix.js +4 -4
- package/bundled/base-color-picker.cjs +2 -2
- package/bundled/base-color-picker.js +2 -2
- package/bundled/button.cjs +1 -1
- package/bundled/button.js +1 -1
- package/bundled/definition10.cjs +1 -1
- package/bundled/definition10.js +1 -1
- package/bundled/definition13.cjs +1 -1
- package/bundled/definition13.js +1 -1
- package/bundled/definition15.cjs +1 -1
- package/bundled/definition15.js +2 -2
- package/bundled/definition16.cjs +2 -2
- package/bundled/definition16.js +2 -2
- package/bundled/definition17.cjs +1 -1
- package/bundled/definition17.js +1 -1
- package/bundled/definition18.cjs +2 -2
- package/bundled/definition18.js +14 -5
- package/bundled/definition19.cjs +1 -1
- package/bundled/definition19.js +1 -1
- package/bundled/definition20.cjs +1 -1
- package/bundled/definition20.js +1 -1
- package/bundled/definition21.cjs +1 -1
- package/bundled/definition21.js +2 -2
- package/bundled/definition24.cjs +1 -1
- package/bundled/definition24.js +1 -1
- package/bundled/definition3.cjs +1 -1
- package/bundled/definition3.js +3 -3
- package/bundled/definition4.cjs +1 -1
- package/bundled/definition4.js +1 -1
- package/bundled/definition5.cjs +1 -1
- package/bundled/definition5.js +1 -1
- package/bundled/definition6.cjs +1 -1
- package/bundled/definition6.js +1 -1
- package/bundled/definition8.cjs +1 -1
- package/bundled/definition8.js +12 -6
- package/bundled/definition9.cjs +1 -1
- package/bundled/definition9.js +1 -1
- package/bundled/form-associated.cjs +1 -1
- package/bundled/form-associated.js +2 -2
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +5 -5
- package/bundled/numberConverter.cjs +1 -1
- package/bundled/numberConverter.js +1 -1
- package/bundled/slider.template.cjs +1 -1
- package/bundled/slider.template.js +1 -1
- package/bundled/vivid-element.cjs +1 -1
- package/bundled/vivid-element.js +1 -1
- package/bundled/with-contextual-help.cjs +1 -1
- package/bundled/with-contextual-help.js +1 -1
- package/calendar/index.cjs +1 -1
- package/calendar/index.js +3 -3
- package/color-picker/index.cjs +20 -20
- package/color-picker/index.js +22 -22
- package/combobox/index.cjs +1 -1
- package/combobox/index.js +6 -6
- package/country-group/index.cjs +1 -1
- package/country-group/index.js +1 -1
- package/custom-elements.json +2880 -2838
- package/data-grid/index.cjs +2 -2
- package/data-grid/index.js +12 -10
- package/dial-pad/index.cjs +1 -1
- package/dial-pad/index.js +2 -2
- package/dialog/index.cjs +1 -1
- package/dialog/index.js +1 -1
- package/header/index.cjs +1 -1
- package/header/index.js +1 -1
- package/lib/audio-player/audio-player.d.ts +0 -1
- package/lib/calendar/helpers/calendar.keyboard-interactions.d.ts +1 -1
- package/lib/checkbox/checkbox.d.ts +16 -16
- package/lib/color-picker/color-picker.d.ts +16 -16
- package/lib/combobox/combobox.d.ts +21 -21
- package/lib/date-picker/date-picker.d.ts +26 -26
- package/lib/date-range-picker/date-range-picker.d.ts +14 -14
- package/lib/date-time-picker/date-time-picker.d.ts +24 -24
- package/lib/dial-pad/dial-pad.d.ts +1 -1
- package/lib/file-picker/file-picker.d.ts +21 -21
- package/lib/menu/menu.d.ts +1 -1
- package/lib/number-field/number-field.d.ts +22 -22
- package/lib/popup/popup.d.ts +2 -1
- package/lib/radio/radio.d.ts +16 -16
- package/lib/range-slider/range-slider.d.ts +10 -10
- package/lib/rich-text-editor/popover.d.ts +1 -1
- package/lib/rich-text-editor/rte/exports.d.ts +1 -0
- package/lib/rich-text-editor/rte/feature.d.ts +5 -5
- package/lib/rich-text-editor/rte/features/drop-handler.d.ts +1 -2
- package/lib/rich-text-editor/rte/features/internal/core.d.ts +8 -0
- package/lib/rich-text-editor/rte/features/keyboard-shortcuts.d.ts +1 -1
- package/lib/rich-text-editor/rte/features/text-color-picker.d.ts +1 -1
- package/lib/rich-text-editor/rte/instance.d.ts +1 -0
- package/lib/rich-text-editor/rte/public-interface.d.ts +3 -0
- package/lib/rich-text-editor/rte/utils/ui.d.ts +1 -1
- package/lib/searchable-select/searchable-select.d.ts +21 -21
- package/lib/select/select.d.ts +22 -22
- package/lib/simple-color-picker/simple-color-picker.d.ts +5 -5
- package/lib/slider/slider.d.ts +5 -5
- package/lib/switch/switch.d.ts +5 -5
- package/lib/table/table-body.template.d.ts +1 -2
- package/lib/table/table-cell.template.d.ts +1 -2
- package/lib/table/table-head.template.d.ts +1 -2
- package/lib/table/table-row.template.d.ts +1 -2
- package/lib/table/table.template.d.ts +1 -2
- package/lib/text-area/text-area.d.ts +21 -21
- package/lib/text-field/text-field.d.ts +22 -22
- package/lib/time-picker/time-picker.d.ts +12 -12
- package/nav-disclosure/index.cjs +1 -1
- package/nav-disclosure/index.js +1 -1
- package/nav-item/index.cjs +1 -1
- package/nav-item/index.js +1 -1
- package/package.json +8 -6
- package/pagination/index.cjs +1 -1
- package/pagination/index.js +9 -2
- package/popover/index.cjs +1 -1
- package/popover/index.js +1 -1
- package/progress/index.cjs +1 -1
- package/progress/index.js +1 -1
- package/radio-group/index.cjs +1 -1
- package/radio-group/index.js +21 -19
- package/range-slider/index.cjs +1 -1
- package/range-slider/index.js +1 -1
- package/rich-text-editor/index.cjs +4 -3
- package/rich-text-editor/index.js +55 -27
- package/selectable-box/index.cjs +1 -1
- package/selectable-box/index.js +6 -1
- package/shared/color-picker/base-color-picker.d.ts +5 -5
- package/shared/feedback/mixins.d.ts +1 -1
- package/shared/foundation/button/button.d.ts +5 -5
- package/shared/foundation/form-associated/form-associated.d.ts +10 -10
- package/shared/foundation/listbox/listbox.d.ts +1 -1
- package/shared/patterns/form-elements/form-element.d.ts +5 -5
- package/shared/patterns/form-elements/with-contextual-help.d.ts +5 -5
- package/shared/patterns/form-elements/with-error-text.d.ts +6 -6
- package/shared/picker-field/mixins/calendar-picker.d.ts +6 -6
- package/shared/picker-field/mixins/calendar-picker.template.d.ts +6 -6
- package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +8 -8
- package/shared/picker-field/mixins/single-date-picker.d.ts +6 -6
- package/shared/picker-field/mixins/single-value-picker.d.ts +6 -6
- package/shared/picker-field/mixins/time-selection-picker.d.ts +6 -6
- package/shared/picker-field/mixins/time-selection-picker.template.d.ts +12 -12
- package/shared/picker-field/picker-field.d.ts +21 -21
- package/shared/utils/slottable-request.d.ts +1 -1
- package/switch/index.cjs +1 -1
- package/switch/index.js +1 -1
- package/table/index.cjs +5 -5
- package/table/index.js +5 -5
- package/tabs/index.cjs +1 -1
- package/tabs/index.js +2 -2
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- package/tree-view/index.cjs +1 -1
- package/tree-view/index.js +0 -2
- package/unbundled/affix.cjs +4 -4
- package/unbundled/affix.js +4 -4
- package/unbundled/base-color-picker.cjs +3 -3
- package/unbundled/base-color-picker.js +3 -3
- package/unbundled/button.cjs +5 -5
- package/unbundled/button.js +5 -5
- package/unbundled/definition10.cjs +15 -4
- package/unbundled/definition10.js +15 -4
- package/unbundled/definition11.cjs +3 -3
- package/unbundled/definition11.js +3 -3
- package/unbundled/definition12.cjs +1 -1
- package/unbundled/definition12.js +1 -1
- package/unbundled/definition13.cjs +2 -2
- package/unbundled/definition13.js +2 -2
- package/unbundled/definition14.cjs +73 -76
- package/unbundled/definition14.js +73 -76
- package/unbundled/definition15.cjs +1 -1
- package/unbundled/definition15.js +1 -1
- package/unbundled/definition17.cjs +1 -1
- package/unbundled/definition17.js +1 -1
- package/unbundled/definition19.cjs +2 -1
- package/unbundled/definition19.js +2 -1
- package/unbundled/definition2.cjs +1 -1
- package/unbundled/definition2.js +1 -1
- package/unbundled/definition21.cjs +3 -3
- package/unbundled/definition21.js +3 -3
- package/unbundled/definition23.cjs +2 -2
- package/unbundled/definition23.js +2 -2
- package/unbundled/definition24.cjs +1 -1
- package/unbundled/definition24.js +1 -1
- package/unbundled/definition27.cjs +1 -1
- package/unbundled/definition27.js +1 -1
- package/unbundled/definition28.cjs +23 -23
- package/unbundled/definition28.js +23 -23
- package/unbundled/definition29.cjs +1 -1
- package/unbundled/definition29.js +1 -1
- package/unbundled/definition3.cjs +2 -2
- package/unbundled/definition3.js +2 -2
- package/unbundled/definition30.cjs +7 -7
- package/unbundled/definition30.js +7 -7
- package/unbundled/definition32.cjs +1 -1
- package/unbundled/definition32.js +1 -1
- package/unbundled/definition34.cjs +9 -8
- package/unbundled/definition34.js +9 -8
- package/unbundled/definition35.cjs +1 -1
- package/unbundled/definition35.js +1 -1
- package/unbundled/definition39.cjs +2 -2
- package/unbundled/definition39.js +2 -2
- package/unbundled/definition40.cjs +1 -1
- package/unbundled/definition40.js +1 -1
- package/unbundled/definition44.cjs +1 -1
- package/unbundled/definition44.js +1 -1
- package/unbundled/definition48.cjs +1 -1
- package/unbundled/definition48.js +1 -1
- package/unbundled/definition49.cjs +1 -1
- package/unbundled/definition49.js +1 -1
- package/unbundled/definition5.cjs +1 -1
- package/unbundled/definition5.js +1 -1
- package/unbundled/definition53.cjs +10 -3
- package/unbundled/definition53.js +10 -3
- package/unbundled/definition55.cjs +1 -1
- package/unbundled/definition55.js +1 -1
- package/unbundled/definition56.cjs +1 -1
- package/unbundled/definition56.js +1 -1
- package/unbundled/definition57.cjs +4 -5
- package/unbundled/definition57.js +4 -5
- package/unbundled/definition58.cjs +20 -19
- package/unbundled/definition58.js +20 -19
- package/unbundled/definition59.cjs +1 -1
- package/unbundled/definition59.js +1 -1
- package/unbundled/definition60.cjs +47 -9
- package/unbundled/definition60.js +47 -9
- package/unbundled/definition61.cjs +12 -6
- package/unbundled/definition61.js +12 -6
- package/unbundled/definition64.cjs +4 -1
- package/unbundled/definition64.js +4 -1
- package/unbundled/definition65.cjs +2 -1
- package/unbundled/definition65.js +2 -1
- package/unbundled/definition69.cjs +3 -2
- package/unbundled/definition69.js +3 -2
- package/unbundled/definition7.cjs +1 -1
- package/unbundled/definition7.js +1 -1
- package/unbundled/definition71.cjs +1 -1
- package/unbundled/definition71.js +1 -1
- package/unbundled/definition72.cjs +5 -5
- package/unbundled/definition72.js +5 -5
- package/unbundled/definition73.cjs +2 -2
- package/unbundled/definition73.js +2 -2
- package/unbundled/definition75.cjs +1 -1
- package/unbundled/definition75.js +1 -1
- package/unbundled/definition78.cjs +1 -1
- package/unbundled/definition78.js +1 -1
- package/unbundled/definition79.cjs +0 -2
- package/unbundled/definition79.js +0 -2
- package/unbundled/definition80.cjs +1 -1
- package/unbundled/definition80.js +1 -1
- package/unbundled/definition9.cjs +1 -1
- package/unbundled/definition9.js +1 -1
- package/unbundled/form-associated.cjs +2 -2
- package/unbundled/form-associated.js +2 -2
- package/unbundled/listbox.cjs +7 -7
- package/unbundled/listbox.js +7 -7
- package/unbundled/numberConverter.cjs +1 -1
- package/unbundled/numberConverter.js +1 -1
- package/unbundled/slider.template.cjs +1 -1
- package/unbundled/slider.template.js +1 -1
- package/unbundled/slottable-request.cjs +5 -5
- package/unbundled/slottable-request.js +5 -5
- package/unbundled/vivid-element.cjs +1 -1
- package/unbundled/vivid-element.js +1 -1
- package/unbundled/with-contextual-help.cjs +4 -1
- package/unbundled/with-contextual-help.js +4 -1
- package/video-player/index.cjs +1 -1
- package/video-player/index.js +1 -1
- package/vivid.api.json +60 -18
|
@@ -32,7 +32,7 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
32
32
|
this.radioChangeHandler = (e) => {
|
|
33
33
|
const changedRadio = e.target;
|
|
34
34
|
if (changedRadio.checked) {
|
|
35
|
-
this.slottedRadioButtons
|
|
35
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
36
36
|
if (radio !== changedRadio) radio.checked = false;
|
|
37
37
|
});
|
|
38
38
|
this.value = changedRadio.value;
|
|
@@ -46,16 +46,17 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
46
46
|
radio.focus();
|
|
47
47
|
};
|
|
48
48
|
this.moveRightOffGroup = () => {
|
|
49
|
-
this.nextElementSibling
|
|
49
|
+
const next = this.nextElementSibling;
|
|
50
|
+
if (next instanceof HTMLElement) next.focus();
|
|
50
51
|
};
|
|
51
52
|
this.moveLeftOffGroup = () => {
|
|
52
|
-
this.previousElementSibling
|
|
53
|
+
const prev = this.previousElementSibling;
|
|
54
|
+
if (prev instanceof HTMLElement) prev.focus();
|
|
53
55
|
};
|
|
54
56
|
this.moveRight = (e) => {
|
|
55
57
|
const radio = e.target;
|
|
56
58
|
const group = this.#focusableRadioButtons;
|
|
57
|
-
let index =
|
|
58
|
-
index = group.indexOf(radio) + 1;
|
|
59
|
+
let index = group.indexOf(radio) + 1;
|
|
59
60
|
if (index === group.length && this.isInsideToolbar && e.key === "ArrowRight") {
|
|
60
61
|
this.moveRightOffGroup();
|
|
61
62
|
return;
|
|
@@ -78,15 +79,15 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
78
79
|
switch (e.key) {
|
|
79
80
|
case _microsoft_fast_web_utilities.keyEnter:
|
|
80
81
|
this.checkFocusedRadio(e.target);
|
|
81
|
-
|
|
82
|
+
return;
|
|
82
83
|
case require_key_codes.keyArrowRight:
|
|
83
84
|
case _microsoft_fast_web_utilities.keyArrowDown:
|
|
84
85
|
this.moveRight(e);
|
|
85
|
-
|
|
86
|
+
return;
|
|
86
87
|
case require_key_codes.keyArrowLeft:
|
|
87
88
|
case _microsoft_fast_web_utilities.keyArrowUp:
|
|
88
89
|
this.moveLeft(e);
|
|
89
|
-
|
|
90
|
+
return;
|
|
90
91
|
default: return true;
|
|
91
92
|
}
|
|
92
93
|
};
|
|
@@ -95,7 +96,7 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
95
96
|
* @internal
|
|
96
97
|
*/
|
|
97
98
|
requiredChanged() {
|
|
98
|
-
this.slottedRadioButtons
|
|
99
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
99
100
|
if (this.required) radio.required = true;
|
|
100
101
|
else radio.required = false;
|
|
101
102
|
});
|
|
@@ -104,7 +105,7 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
104
105
|
* @internal
|
|
105
106
|
*/
|
|
106
107
|
readOnlyChanged() {
|
|
107
|
-
this.slottedRadioButtons
|
|
108
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
108
109
|
if (this.readOnly) radio.readOnly = true;
|
|
109
110
|
else radio.readOnly = false;
|
|
110
111
|
});
|
|
@@ -113,13 +114,13 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
113
114
|
* @internal
|
|
114
115
|
*/
|
|
115
116
|
disabledChanged() {
|
|
116
|
-
this.slottedRadioButtons
|
|
117
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
117
118
|
if (this.disabled) radio.disabled = true;
|
|
118
119
|
else radio.disabled = false;
|
|
119
120
|
});
|
|
120
121
|
}
|
|
121
122
|
nameChanged() {
|
|
122
|
-
this.slottedRadioButtons
|
|
123
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
123
124
|
radio.setAttribute("name", this.name);
|
|
124
125
|
});
|
|
125
126
|
}
|
|
@@ -127,7 +128,7 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
127
128
|
* @internal
|
|
128
129
|
*/
|
|
129
130
|
valueChanged() {
|
|
130
|
-
this.slottedRadioButtons
|
|
131
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
131
132
|
if (radio.value === this.value) radio.checked = true;
|
|
132
133
|
});
|
|
133
134
|
this.$emit("change");
|
|
@@ -136,7 +137,7 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
136
137
|
* @internal
|
|
137
138
|
*/
|
|
138
139
|
handleSlotChange() {
|
|
139
|
-
if (this.errorText) this.slottedRadioButtons
|
|
140
|
+
if (this.errorText) this.slottedRadioButtons.forEach((radio) => {
|
|
140
141
|
radio.errorText = this.errorText;
|
|
141
142
|
});
|
|
142
143
|
}
|
|
@@ -148,13 +149,13 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
148
149
|
else this.errorValidationMessage = "";
|
|
149
150
|
}
|
|
150
151
|
get #focusableRadioButtons() {
|
|
151
|
-
return this.slottedRadioButtons
|
|
152
|
+
return this.slottedRadioButtons.filter((radio) => !radio.disabled);
|
|
152
153
|
}
|
|
153
154
|
/**
|
|
154
155
|
* @internal
|
|
155
156
|
*/
|
|
156
157
|
slottedRadioButtonsChanged() {
|
|
157
|
-
if (this.slottedRadioButtons
|
|
158
|
+
if (this.slottedRadioButtons.length > 0) this.setupRadioButtons();
|
|
158
159
|
}
|
|
159
160
|
get isInsideToolbar() {
|
|
160
161
|
return !!this.closest("[role=\"toolbar\"]");
|
|
@@ -167,7 +168,7 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
167
168
|
this.setupRadioButtons();
|
|
168
169
|
}
|
|
169
170
|
disconnectedCallback() {
|
|
170
|
-
this.slottedRadioButtons
|
|
171
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
171
172
|
radio.removeEventListener("change", this.radioChangeHandler);
|
|
172
173
|
radio.removeEventListener("invalid", this.radioErrorHandler);
|
|
173
174
|
});
|
|
@@ -187,8 +188,8 @@ var RadioGroup = class extends require_mixins.WithFeedback(require_vivid_element
|
|
|
187
188
|
radio.addEventListener("change", this.radioChangeHandler);
|
|
188
189
|
radio.addEventListener("invalid", this.radioErrorHandler);
|
|
189
190
|
}
|
|
190
|
-
if (this.value === void 0 && this.slottedRadioButtons
|
|
191
|
-
const checkedRadios = this.slottedRadioButtons
|
|
191
|
+
if (this.value === void 0 && this.slottedRadioButtons.length > 0) {
|
|
192
|
+
const checkedRadios = this.slottedRadioButtons.filter((radio) => radio.hasAttribute("checked"));
|
|
192
193
|
if (checkedRadios.length > 0 && !foundMatchingVal) {
|
|
193
194
|
const lastCheckedRadio = checkedRadios[checkedRadios.length - 1];
|
|
194
195
|
lastCheckedRadio.checked = true;
|
|
@@ -31,7 +31,7 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
31
31
|
this.radioChangeHandler = (e) => {
|
|
32
32
|
const changedRadio = e.target;
|
|
33
33
|
if (changedRadio.checked) {
|
|
34
|
-
this.slottedRadioButtons
|
|
34
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
35
35
|
if (radio !== changedRadio) radio.checked = false;
|
|
36
36
|
});
|
|
37
37
|
this.value = changedRadio.value;
|
|
@@ -45,16 +45,17 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
45
45
|
radio.focus();
|
|
46
46
|
};
|
|
47
47
|
this.moveRightOffGroup = () => {
|
|
48
|
-
this.nextElementSibling
|
|
48
|
+
const next = this.nextElementSibling;
|
|
49
|
+
if (next instanceof HTMLElement) next.focus();
|
|
49
50
|
};
|
|
50
51
|
this.moveLeftOffGroup = () => {
|
|
51
|
-
this.previousElementSibling
|
|
52
|
+
const prev = this.previousElementSibling;
|
|
53
|
+
if (prev instanceof HTMLElement) prev.focus();
|
|
52
54
|
};
|
|
53
55
|
this.moveRight = (e) => {
|
|
54
56
|
const radio = e.target;
|
|
55
57
|
const group = this.#focusableRadioButtons;
|
|
56
|
-
let index =
|
|
57
|
-
index = group.indexOf(radio) + 1;
|
|
58
|
+
let index = group.indexOf(radio) + 1;
|
|
58
59
|
if (index === group.length && this.isInsideToolbar && e.key === "ArrowRight") {
|
|
59
60
|
this.moveRightOffGroup();
|
|
60
61
|
return;
|
|
@@ -77,15 +78,15 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
77
78
|
switch (e.key) {
|
|
78
79
|
case keyEnter:
|
|
79
80
|
this.checkFocusedRadio(e.target);
|
|
80
|
-
|
|
81
|
+
return;
|
|
81
82
|
case keyArrowRight$1:
|
|
82
83
|
case keyArrowDown:
|
|
83
84
|
this.moveRight(e);
|
|
84
|
-
|
|
85
|
+
return;
|
|
85
86
|
case keyArrowLeft$1:
|
|
86
87
|
case keyArrowUp:
|
|
87
88
|
this.moveLeft(e);
|
|
88
|
-
|
|
89
|
+
return;
|
|
89
90
|
default: return true;
|
|
90
91
|
}
|
|
91
92
|
};
|
|
@@ -94,7 +95,7 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
94
95
|
* @internal
|
|
95
96
|
*/
|
|
96
97
|
requiredChanged() {
|
|
97
|
-
this.slottedRadioButtons
|
|
98
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
98
99
|
if (this.required) radio.required = true;
|
|
99
100
|
else radio.required = false;
|
|
100
101
|
});
|
|
@@ -103,7 +104,7 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
103
104
|
* @internal
|
|
104
105
|
*/
|
|
105
106
|
readOnlyChanged() {
|
|
106
|
-
this.slottedRadioButtons
|
|
107
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
107
108
|
if (this.readOnly) radio.readOnly = true;
|
|
108
109
|
else radio.readOnly = false;
|
|
109
110
|
});
|
|
@@ -112,13 +113,13 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
112
113
|
* @internal
|
|
113
114
|
*/
|
|
114
115
|
disabledChanged() {
|
|
115
|
-
this.slottedRadioButtons
|
|
116
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
116
117
|
if (this.disabled) radio.disabled = true;
|
|
117
118
|
else radio.disabled = false;
|
|
118
119
|
});
|
|
119
120
|
}
|
|
120
121
|
nameChanged() {
|
|
121
|
-
this.slottedRadioButtons
|
|
122
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
122
123
|
radio.setAttribute("name", this.name);
|
|
123
124
|
});
|
|
124
125
|
}
|
|
@@ -126,7 +127,7 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
126
127
|
* @internal
|
|
127
128
|
*/
|
|
128
129
|
valueChanged() {
|
|
129
|
-
this.slottedRadioButtons
|
|
130
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
130
131
|
if (radio.value === this.value) radio.checked = true;
|
|
131
132
|
});
|
|
132
133
|
this.$emit("change");
|
|
@@ -135,7 +136,7 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
135
136
|
* @internal
|
|
136
137
|
*/
|
|
137
138
|
handleSlotChange() {
|
|
138
|
-
if (this.errorText) this.slottedRadioButtons
|
|
139
|
+
if (this.errorText) this.slottedRadioButtons.forEach((radio) => {
|
|
139
140
|
radio.errorText = this.errorText;
|
|
140
141
|
});
|
|
141
142
|
}
|
|
@@ -147,13 +148,13 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
147
148
|
else this.errorValidationMessage = "";
|
|
148
149
|
}
|
|
149
150
|
get #focusableRadioButtons() {
|
|
150
|
-
return this.slottedRadioButtons
|
|
151
|
+
return this.slottedRadioButtons.filter((radio) => !radio.disabled);
|
|
151
152
|
}
|
|
152
153
|
/**
|
|
153
154
|
* @internal
|
|
154
155
|
*/
|
|
155
156
|
slottedRadioButtonsChanged() {
|
|
156
|
-
if (this.slottedRadioButtons
|
|
157
|
+
if (this.slottedRadioButtons.length > 0) this.setupRadioButtons();
|
|
157
158
|
}
|
|
158
159
|
get isInsideToolbar() {
|
|
159
160
|
return !!this.closest("[role=\"toolbar\"]");
|
|
@@ -166,7 +167,7 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
166
167
|
this.setupRadioButtons();
|
|
167
168
|
}
|
|
168
169
|
disconnectedCallback() {
|
|
169
|
-
this.slottedRadioButtons
|
|
170
|
+
this.slottedRadioButtons.forEach((radio) => {
|
|
170
171
|
radio.removeEventListener("change", this.radioChangeHandler);
|
|
171
172
|
radio.removeEventListener("invalid", this.radioErrorHandler);
|
|
172
173
|
});
|
|
@@ -186,8 +187,8 @@ var RadioGroup = class extends WithFeedback(VividElement) {
|
|
|
186
187
|
radio.addEventListener("change", this.radioChangeHandler);
|
|
187
188
|
radio.addEventListener("invalid", this.radioErrorHandler);
|
|
188
189
|
}
|
|
189
|
-
if (this.value === void 0 && this.slottedRadioButtons
|
|
190
|
-
const checkedRadios = this.slottedRadioButtons
|
|
190
|
+
if (this.value === void 0 && this.slottedRadioButtons.length > 0) {
|
|
191
|
+
const checkedRadios = this.slottedRadioButtons.filter((radio) => radio.hasAttribute("checked"));
|
|
191
192
|
if (checkedRadios.length > 0 && !foundMatchingVal) {
|
|
192
193
|
const lastCheckedRadio = checkedRadios[checkedRadios.length - 1];
|
|
193
194
|
lastCheckedRadio.checked = true;
|
|
@@ -418,7 +418,7 @@ require_decorate.__decorate([_microsoft_fast_element.observable], RangeSlider.pr
|
|
|
418
418
|
require_decorate.__decorate([_microsoft_fast_element.observable], RangeSlider.prototype, "_selectedRangeCss", void 0);
|
|
419
419
|
//#endregion
|
|
420
420
|
//#region src/lib/range-slider/range-slider.template.ts
|
|
421
|
-
var getClasses = ({ disabled, connotation }) => (0, _microsoft_fast_web_utilities.classNames)("control", ["disabled",
|
|
421
|
+
var getClasses = ({ disabled, connotation }) => (0, _microsoft_fast_web_utilities.classNames)("control", ["disabled", disabled], [`connotation-${connotation}`, Boolean(connotation)]);
|
|
422
422
|
var getThumbClassesFor = (thumb) => ({ _visiblyFocusedThumb }) => (0, _microsoft_fast_web_utilities.classNames)("thumb-container", ["focus-visible", _visiblyFocusedThumb === thumb]);
|
|
423
423
|
var RangeSliderTemplate = (context) => {
|
|
424
424
|
const popupTag = context.tagFor(require_definition.Popup);
|
|
@@ -417,7 +417,7 @@ __decorate([observable], RangeSlider.prototype, "_endThumbCss", void 0);
|
|
|
417
417
|
__decorate([observable], RangeSlider.prototype, "_selectedRangeCss", void 0);
|
|
418
418
|
//#endregion
|
|
419
419
|
//#region src/lib/range-slider/range-slider.template.ts
|
|
420
|
-
var getClasses = ({ disabled, connotation }) => classNames("control", ["disabled",
|
|
420
|
+
var getClasses = ({ disabled, connotation }) => classNames("control", ["disabled", disabled], [`connotation-${connotation}`, Boolean(connotation)]);
|
|
421
421
|
var getThumbClassesFor = (thumb) => ({ _visiblyFocusedThumb }) => classNames("thumb-container", ["focus-visible", _visiblyFocusedThumb === thumb]);
|
|
422
422
|
var RangeSliderTemplate = (context) => {
|
|
423
423
|
const popupTag = context.tagFor(Popup);
|
|
@@ -113,12 +113,20 @@ var Kind = {
|
|
|
113
113
|
default: {
|
|
114
114
|
placement: void 0,
|
|
115
115
|
placementStrategy: require_definition$2.PlacementStrategy.AutoPlacementHorizontal,
|
|
116
|
+
shiftCrossAxis: false,
|
|
116
117
|
strategy: "absolute"
|
|
117
118
|
},
|
|
118
119
|
autocomplete: {
|
|
119
120
|
placement: "bottom-start",
|
|
120
121
|
placementStrategy: require_definition$2.PlacementStrategy.Flip,
|
|
122
|
+
shiftCrossAxis: false,
|
|
121
123
|
strategy: "fixed"
|
|
124
|
+
},
|
|
125
|
+
imageOptions: {
|
|
126
|
+
placement: "bottom",
|
|
127
|
+
placementStrategy: require_definition$2.PlacementStrategy.Flip,
|
|
128
|
+
shiftCrossAxis: true,
|
|
129
|
+
strategy: "absolute"
|
|
122
130
|
}
|
|
123
131
|
};
|
|
124
132
|
var popoverTemplate = (context) => {
|
|
@@ -127,6 +135,7 @@ var popoverTemplate = (context) => {
|
|
|
127
135
|
:anchor="${(x) => x.anchorEl}"
|
|
128
136
|
:placement="${(x) => Kind[x.kind].placement}"
|
|
129
137
|
:placementStrategy="${(x) => Kind[x.kind].placementStrategy}"
|
|
138
|
+
:shiftCrossAxis="${(x) => Kind[x.kind].shiftCrossAxis}"
|
|
130
139
|
:open="${(x) => x.open}"
|
|
131
140
|
:offset="${(x) => x.offset}"
|
|
132
141
|
:strategy="${(x) => Kind[x.kind].strategy}"
|
|
@@ -316,6 +325,8 @@ var RteCoreImpl = class extends require_slottable_request.RteFeatureImpl {
|
|
|
316
325
|
super(..._args);
|
|
317
326
|
this.name = "RteCore";
|
|
318
327
|
this.disabled = new FeatureState(false);
|
|
328
|
+
this.scrollThreshold = void 0;
|
|
329
|
+
this.scrollMargin = void 0;
|
|
319
330
|
}
|
|
320
331
|
getStyles() {
|
|
321
332
|
return [
|
|
@@ -595,6 +606,15 @@ var RteInstance = class {
|
|
|
595
606
|
else tr.setSelection(prosemirror_state.TextSelection.atStart(tr.doc));
|
|
596
607
|
dispatchTransaction(tr);
|
|
597
608
|
}
|
|
609
|
+
/**
|
|
610
|
+
* Scrolls the cursor into view.
|
|
611
|
+
* Has no effect if the editor is not currently mounted.
|
|
612
|
+
*/
|
|
613
|
+
scrollIntoView() {
|
|
614
|
+
const instance = this[require_slottable_request.impl];
|
|
615
|
+
if (!instance.view) return;
|
|
616
|
+
instance.dispatchTransaction(instance.tr.scrollIntoView());
|
|
617
|
+
}
|
|
598
618
|
};
|
|
599
619
|
var RteInstanceImpl = class {
|
|
600
620
|
getFeature(name) {
|
|
@@ -649,12 +669,15 @@ var RteInstanceImpl = class {
|
|
|
649
669
|
this.view?.updateState(this.state);
|
|
650
670
|
}
|
|
651
671
|
createView(target) {
|
|
672
|
+
const core = this.config.featureMap.get("RteCore");
|
|
652
673
|
this.view = new prosemirror_view.EditorView((editor) => {
|
|
653
674
|
editor.part = "editor";
|
|
654
675
|
target.appendChild(editor);
|
|
655
676
|
}, {
|
|
656
677
|
state: this.state,
|
|
657
|
-
dispatchTransaction: this.dispatchTransaction
|
|
678
|
+
dispatchTransaction: this.dispatchTransaction,
|
|
679
|
+
...core?.scrollThreshold !== void 0 && { scrollThreshold: core.scrollThreshold },
|
|
680
|
+
...core?.scrollMargin !== void 0 && { scrollMargin: core.scrollMargin }
|
|
658
681
|
});
|
|
659
682
|
}
|
|
660
683
|
destroyViewIfNeeded() {
|
|
@@ -1365,6 +1388,20 @@ var RteBaseImpl = class extends require_slottable_request.RteFeatureImpl {
|
|
|
1365
1388
|
},
|
|
1366
1389
|
set disabled(value) {
|
|
1367
1390
|
core.disabled.setValue(rte, value);
|
|
1391
|
+
},
|
|
1392
|
+
get scrollThreshold() {
|
|
1393
|
+
return core.scrollThreshold;
|
|
1394
|
+
},
|
|
1395
|
+
set scrollThreshold(value) {
|
|
1396
|
+
core.scrollThreshold = value;
|
|
1397
|
+
rte.view?.setProps({ scrollThreshold: value });
|
|
1398
|
+
},
|
|
1399
|
+
get scrollMargin() {
|
|
1400
|
+
return core.scrollMargin;
|
|
1401
|
+
},
|
|
1402
|
+
set scrollMargin(value) {
|
|
1403
|
+
core.scrollMargin = value;
|
|
1404
|
+
rte.view?.setProps({ scrollMargin: value });
|
|
1368
1405
|
}
|
|
1369
1406
|
};
|
|
1370
1407
|
}
|
|
@@ -1955,7 +1992,7 @@ var RteTextColorPickerFeatureImpl = class extends require_slottable_request.RteF
|
|
|
1955
1992
|
if (selectionColor === null) selectionColor = observedColor ?? null;
|
|
1956
1993
|
else if (observedColor !== selectionColor) selectionColor = mixedColor;
|
|
1957
1994
|
};
|
|
1958
|
-
state.doc.nodesBetween(from, to, (node,
|
|
1995
|
+
state.doc.nodesBetween(from, to, (node, _pos, parent) => {
|
|
1959
1996
|
if (selectionColor === mixedColor) return false;
|
|
1960
1997
|
if (!node.isLeaf) {
|
|
1961
1998
|
if (node.type.allowsMarkType(textColor) && node.childCount === 0) observeColor(this.defaultColorForNode?.[node.type.name]);
|
|
@@ -2704,7 +2741,7 @@ var InlineImageView = class {
|
|
|
2704
2741
|
this.img.className = "inline-image";
|
|
2705
2742
|
this.update(node);
|
|
2706
2743
|
this.img.addEventListener("load", () => {
|
|
2707
|
-
const pos = this.getPos
|
|
2744
|
+
const pos = this.getPos();
|
|
2708
2745
|
if (pos) {
|
|
2709
2746
|
const { state, dispatch } = this.view;
|
|
2710
2747
|
const currentNode = state.doc.nodeAt(pos);
|
|
@@ -2811,6 +2848,7 @@ var RteInlineImageFeatureImpl = class extends require_slottable_request.RteFeatu
|
|
|
2811
2848
|
shouldReturnFocusToEditor: true
|
|
2812
2849
|
});
|
|
2813
2850
|
popover = rte.createComponent(Popover);
|
|
2851
|
+
popover.kind = "imageOptions";
|
|
2814
2852
|
popover.offset = 4;
|
|
2815
2853
|
const content = createDiv(ctx, {
|
|
2816
2854
|
className: "inline-image-popover",
|
|
@@ -2871,7 +2909,7 @@ var RteInlineImageFeatureImpl = class extends require_slottable_request.RteFeatu
|
|
|
2871
2909
|
} }))];
|
|
2872
2910
|
}
|
|
2873
2911
|
calculateSmallWidth(naturalWidth) {
|
|
2874
|
-
return Math.min(300, naturalWidth / 2)
|
|
2912
|
+
return `${Math.min(300, naturalWidth / 2)}px`;
|
|
2875
2913
|
}
|
|
2876
2914
|
getSelectedInlineImage(state) {
|
|
2877
2915
|
const sel = state.selection;
|
|
@@ -3004,13 +3042,13 @@ var RteFileHandlerFeatureImpl = class extends require_slottable_request.RteFeatu
|
|
|
3004
3042
|
if (resolved.type === "error") console.error("Error in handleFiles handler:", resolved.error);
|
|
3005
3043
|
};
|
|
3006
3044
|
return [this.contribution(insertPointPlaceholderPlugin), this.contribution(new prosemirror_state.Plugin({ props: {
|
|
3007
|
-
handlePaste: (
|
|
3045
|
+
handlePaste: (_view, event) => {
|
|
3008
3046
|
const files = Array.from(event.clipboardData.files);
|
|
3009
3047
|
if (!files.length) return false;
|
|
3010
3048
|
handleFiles(files, { type: "selection" });
|
|
3011
3049
|
return true;
|
|
3012
3050
|
},
|
|
3013
|
-
handleDrop: (view, event
|
|
3051
|
+
handleDrop: (view, event) => {
|
|
3014
3052
|
const files = Array.from(event.dataTransfer.files);
|
|
3015
3053
|
if (!files.length) return false;
|
|
3016
3054
|
let target = view.posAtCoords({
|
|
@@ -3039,7 +3077,7 @@ var RteDropHandlerFeatureImpl = class extends require_slottable_request.RteFeatu
|
|
|
3039
3077
|
this.config = config;
|
|
3040
3078
|
this.name = "RteDebugFeature";
|
|
3041
3079
|
}
|
|
3042
|
-
getPlugins(
|
|
3080
|
+
getPlugins() {
|
|
3043
3081
|
const dragOverResults = /* @__PURE__ */ new WeakMap();
|
|
3044
3082
|
let lastResult = false;
|
|
3045
3083
|
const onDragOver = (event) => {
|
|
@@ -3077,7 +3115,7 @@ var RteDropHandlerFeatureImpl = class extends require_slottable_request.RteFeatu
|
|
|
3077
3115
|
viewport.removeEventListener("dragleave", onDragLeave);
|
|
3078
3116
|
} };
|
|
3079
3117
|
} })), this.contribution(new prosemirror_state.Plugin({ props: { handleDOMEvents: {
|
|
3080
|
-
dragover: (
|
|
3118
|
+
dragover: (_view, event) => {
|
|
3081
3119
|
const result = this.config.onViewportDragOver?.(event) ?? false;
|
|
3082
3120
|
dragOverResults.set(event, result);
|
|
3083
3121
|
lastResult = result;
|
|
@@ -3088,7 +3126,7 @@ var RteDropHandlerFeatureImpl = class extends require_slottable_request.RteFeatu
|
|
|
3088
3126
|
}
|
|
3089
3127
|
return false;
|
|
3090
3128
|
},
|
|
3091
|
-
drop: (
|
|
3129
|
+
drop: () => {
|
|
3092
3130
|
return lastResult;
|
|
3093
3131
|
}
|
|
3094
3132
|
} } }), require_slottable_request.contributionPriority.high)];
|
|
@@ -111,12 +111,20 @@ var Kind = {
|
|
|
111
111
|
default: {
|
|
112
112
|
placement: void 0,
|
|
113
113
|
placementStrategy: PlacementStrategy.AutoPlacementHorizontal,
|
|
114
|
+
shiftCrossAxis: false,
|
|
114
115
|
strategy: "absolute"
|
|
115
116
|
},
|
|
116
117
|
autocomplete: {
|
|
117
118
|
placement: "bottom-start",
|
|
118
119
|
placementStrategy: PlacementStrategy.Flip,
|
|
120
|
+
shiftCrossAxis: false,
|
|
119
121
|
strategy: "fixed"
|
|
122
|
+
},
|
|
123
|
+
imageOptions: {
|
|
124
|
+
placement: "bottom",
|
|
125
|
+
placementStrategy: PlacementStrategy.Flip,
|
|
126
|
+
shiftCrossAxis: true,
|
|
127
|
+
strategy: "absolute"
|
|
120
128
|
}
|
|
121
129
|
};
|
|
122
130
|
var popoverTemplate = (context) => {
|
|
@@ -125,6 +133,7 @@ var popoverTemplate = (context) => {
|
|
|
125
133
|
:anchor="${(x) => x.anchorEl}"
|
|
126
134
|
:placement="${(x) => Kind[x.kind].placement}"
|
|
127
135
|
:placementStrategy="${(x) => Kind[x.kind].placementStrategy}"
|
|
136
|
+
:shiftCrossAxis="${(x) => Kind[x.kind].shiftCrossAxis}"
|
|
128
137
|
:open="${(x) => x.open}"
|
|
129
138
|
:offset="${(x) => x.offset}"
|
|
130
139
|
:strategy="${(x) => Kind[x.kind].strategy}"
|
|
@@ -314,6 +323,8 @@ var RteCoreImpl = class extends RteFeatureImpl {
|
|
|
314
323
|
super(..._args);
|
|
315
324
|
this.name = "RteCore";
|
|
316
325
|
this.disabled = new FeatureState(false);
|
|
326
|
+
this.scrollThreshold = void 0;
|
|
327
|
+
this.scrollMargin = void 0;
|
|
317
328
|
}
|
|
318
329
|
getStyles() {
|
|
319
330
|
return [
|
|
@@ -593,6 +604,15 @@ var RteInstance = class {
|
|
|
593
604
|
else tr.setSelection(TextSelection.atStart(tr.doc));
|
|
594
605
|
dispatchTransaction(tr);
|
|
595
606
|
}
|
|
607
|
+
/**
|
|
608
|
+
* Scrolls the cursor into view.
|
|
609
|
+
* Has no effect if the editor is not currently mounted.
|
|
610
|
+
*/
|
|
611
|
+
scrollIntoView() {
|
|
612
|
+
const instance = this[impl];
|
|
613
|
+
if (!instance.view) return;
|
|
614
|
+
instance.dispatchTransaction(instance.tr.scrollIntoView());
|
|
615
|
+
}
|
|
596
616
|
};
|
|
597
617
|
var RteInstanceImpl = class {
|
|
598
618
|
getFeature(name) {
|
|
@@ -647,12 +667,15 @@ var RteInstanceImpl = class {
|
|
|
647
667
|
this.view?.updateState(this.state);
|
|
648
668
|
}
|
|
649
669
|
createView(target) {
|
|
670
|
+
const core = this.config.featureMap.get("RteCore");
|
|
650
671
|
this.view = new EditorView((editor) => {
|
|
651
672
|
editor.part = "editor";
|
|
652
673
|
target.appendChild(editor);
|
|
653
674
|
}, {
|
|
654
675
|
state: this.state,
|
|
655
|
-
dispatchTransaction: this.dispatchTransaction
|
|
676
|
+
dispatchTransaction: this.dispatchTransaction,
|
|
677
|
+
...core?.scrollThreshold !== void 0 && { scrollThreshold: core.scrollThreshold },
|
|
678
|
+
...core?.scrollMargin !== void 0 && { scrollMargin: core.scrollMargin }
|
|
656
679
|
});
|
|
657
680
|
}
|
|
658
681
|
destroyViewIfNeeded() {
|
|
@@ -1363,6 +1386,20 @@ var RteBaseImpl = class extends RteFeatureImpl {
|
|
|
1363
1386
|
},
|
|
1364
1387
|
set disabled(value) {
|
|
1365
1388
|
core.disabled.setValue(rte, value);
|
|
1389
|
+
},
|
|
1390
|
+
get scrollThreshold() {
|
|
1391
|
+
return core.scrollThreshold;
|
|
1392
|
+
},
|
|
1393
|
+
set scrollThreshold(value) {
|
|
1394
|
+
core.scrollThreshold = value;
|
|
1395
|
+
rte.view?.setProps({ scrollThreshold: value });
|
|
1396
|
+
},
|
|
1397
|
+
get scrollMargin() {
|
|
1398
|
+
return core.scrollMargin;
|
|
1399
|
+
},
|
|
1400
|
+
set scrollMargin(value) {
|
|
1401
|
+
core.scrollMargin = value;
|
|
1402
|
+
rte.view?.setProps({ scrollMargin: value });
|
|
1366
1403
|
}
|
|
1367
1404
|
};
|
|
1368
1405
|
}
|
|
@@ -1953,7 +1990,7 @@ var RteTextColorPickerFeatureImpl = class extends RteFeatureImpl {
|
|
|
1953
1990
|
if (selectionColor === null) selectionColor = observedColor ?? null;
|
|
1954
1991
|
else if (observedColor !== selectionColor) selectionColor = mixedColor;
|
|
1955
1992
|
};
|
|
1956
|
-
state.doc.nodesBetween(from, to, (node,
|
|
1993
|
+
state.doc.nodesBetween(from, to, (node, _pos, parent) => {
|
|
1957
1994
|
if (selectionColor === mixedColor) return false;
|
|
1958
1995
|
if (!node.isLeaf) {
|
|
1959
1996
|
if (node.type.allowsMarkType(textColor) && node.childCount === 0) observeColor(this.defaultColorForNode?.[node.type.name]);
|
|
@@ -2702,7 +2739,7 @@ var InlineImageView = class {
|
|
|
2702
2739
|
this.img.className = "inline-image";
|
|
2703
2740
|
this.update(node);
|
|
2704
2741
|
this.img.addEventListener("load", () => {
|
|
2705
|
-
const pos = this.getPos
|
|
2742
|
+
const pos = this.getPos();
|
|
2706
2743
|
if (pos) {
|
|
2707
2744
|
const { state, dispatch } = this.view;
|
|
2708
2745
|
const currentNode = state.doc.nodeAt(pos);
|
|
@@ -2809,6 +2846,7 @@ var RteInlineImageFeatureImpl = class extends RteFeatureImpl {
|
|
|
2809
2846
|
shouldReturnFocusToEditor: true
|
|
2810
2847
|
});
|
|
2811
2848
|
popover = rte.createComponent(Popover);
|
|
2849
|
+
popover.kind = "imageOptions";
|
|
2812
2850
|
popover.offset = 4;
|
|
2813
2851
|
const content = createDiv(ctx, {
|
|
2814
2852
|
className: "inline-image-popover",
|
|
@@ -2869,7 +2907,7 @@ var RteInlineImageFeatureImpl = class extends RteFeatureImpl {
|
|
|
2869
2907
|
} }))];
|
|
2870
2908
|
}
|
|
2871
2909
|
calculateSmallWidth(naturalWidth) {
|
|
2872
|
-
return Math.min(300, naturalWidth / 2)
|
|
2910
|
+
return `${Math.min(300, naturalWidth / 2)}px`;
|
|
2873
2911
|
}
|
|
2874
2912
|
getSelectedInlineImage(state) {
|
|
2875
2913
|
const sel = state.selection;
|
|
@@ -3002,13 +3040,13 @@ var RteFileHandlerFeatureImpl = class extends RteFeatureImpl {
|
|
|
3002
3040
|
if (resolved.type === "error") console.error("Error in handleFiles handler:", resolved.error);
|
|
3003
3041
|
};
|
|
3004
3042
|
return [this.contribution(insertPointPlaceholderPlugin), this.contribution(new Plugin({ props: {
|
|
3005
|
-
handlePaste: (
|
|
3043
|
+
handlePaste: (_view, event) => {
|
|
3006
3044
|
const files = Array.from(event.clipboardData.files);
|
|
3007
3045
|
if (!files.length) return false;
|
|
3008
3046
|
handleFiles(files, { type: "selection" });
|
|
3009
3047
|
return true;
|
|
3010
3048
|
},
|
|
3011
|
-
handleDrop: (view, event
|
|
3049
|
+
handleDrop: (view, event) => {
|
|
3012
3050
|
const files = Array.from(event.dataTransfer.files);
|
|
3013
3051
|
if (!files.length) return false;
|
|
3014
3052
|
let target = view.posAtCoords({
|
|
@@ -3037,7 +3075,7 @@ var RteDropHandlerFeatureImpl = class extends RteFeatureImpl {
|
|
|
3037
3075
|
this.config = config;
|
|
3038
3076
|
this.name = "RteDebugFeature";
|
|
3039
3077
|
}
|
|
3040
|
-
getPlugins(
|
|
3078
|
+
getPlugins() {
|
|
3041
3079
|
const dragOverResults = /* @__PURE__ */ new WeakMap();
|
|
3042
3080
|
let lastResult = false;
|
|
3043
3081
|
const onDragOver = (event) => {
|
|
@@ -3075,7 +3113,7 @@ var RteDropHandlerFeatureImpl = class extends RteFeatureImpl {
|
|
|
3075
3113
|
viewport.removeEventListener("dragleave", onDragLeave);
|
|
3076
3114
|
} };
|
|
3077
3115
|
} })), this.contribution(new Plugin({ props: { handleDOMEvents: {
|
|
3078
|
-
dragover: (
|
|
3116
|
+
dragover: (_view, event) => {
|
|
3079
3117
|
const result = this.config.onViewportDragOver?.(event) ?? false;
|
|
3080
3118
|
dragOverResults.set(event, result);
|
|
3081
3119
|
lastResult = result;
|
|
@@ -3086,7 +3124,7 @@ var RteDropHandlerFeatureImpl = class extends RteFeatureImpl {
|
|
|
3086
3124
|
}
|
|
3087
3125
|
return false;
|
|
3088
3126
|
},
|
|
3089
|
-
drop: (
|
|
3127
|
+
drop: () => {
|
|
3090
3128
|
return lastResult;
|
|
3091
3129
|
}
|
|
3092
3130
|
} } }), contributionPriority.high)];
|
|
@@ -200,7 +200,10 @@ var Select = class extends require_mixins.WithLightDOMFeedback(require_with_cont
|
|
|
200
200
|
* @internal
|
|
201
201
|
*/
|
|
202
202
|
focusinHandler(e) {
|
|
203
|
-
if (!this.multiple)
|
|
203
|
+
if (!this.multiple) {
|
|
204
|
+
super.focusinHandler(e);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
204
207
|
/* v8 ignore else -- @preserve */
|
|
205
208
|
if (!this.shouldSkipFocus && e.target === e.currentTarget) {
|
|
206
209
|
this.uncheckAllOptions();
|
|
@@ -290,7 +293,7 @@ var Select = class extends require_mixins.WithLightDOMFeedback(require_with_cont
|
|
|
290
293
|
_microsoft_fast_element.Updates.enqueue(() => this.focus());
|
|
291
294
|
return;
|
|
292
295
|
}
|
|
293
|
-
const didClose = prev
|
|
296
|
+
const didClose = prev && !next;
|
|
294
297
|
const selectionChangedWhileOpen = this.indexWhenOpened !== this.selectedIndex;
|
|
295
298
|
if (didClose && selectionChangedWhileOpen) this.updateValue(true);
|
|
296
299
|
}
|
|
@@ -484,7 +487,7 @@ var Select = class extends require_mixins.WithLightDOMFeedback(require_with_cont
|
|
|
484
487
|
}
|
|
485
488
|
default:
|
|
486
489
|
/* v8 ignore else -- @preserve */
|
|
487
|
-
if (key.length === 1) this.handleTypeAhead(
|
|
490
|
+
if (key.length === 1) this.handleTypeAhead(key);
|
|
488
491
|
return;
|
|
489
492
|
}
|
|
490
493
|
}
|
|
@@ -617,7 +620,7 @@ var Select = class extends require_mixins.WithLightDOMFeedback(require_with_cont
|
|
|
617
620
|
* @internal
|
|
618
621
|
*/
|
|
619
622
|
_onClearButtonClick() {
|
|
620
|
-
if (this.multiple) this.selectedOptions
|
|
623
|
+
if (this.multiple) this.selectedOptions.forEach((o) => {
|
|
621
624
|
/* v8 ignore else -- @preserve */
|
|
622
625
|
if (!o.disabled) o.selected = false;
|
|
623
626
|
});
|
|
@@ -764,7 +767,10 @@ function renderControl(context) {
|
|
|
764
767
|
*/
|
|
765
768
|
function ifNotFromFeedback(handler) {
|
|
766
769
|
return (x, c) => {
|
|
767
|
-
if (!c.event.composedPath().includes(x._feedbackWrapper))
|
|
770
|
+
if (!c.event.composedPath().includes(x._feedbackWrapper)) {
|
|
771
|
+
handler(x, c.event);
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
768
774
|
return true;
|
|
769
775
|
};
|
|
770
776
|
}
|
|
@@ -786,7 +792,7 @@ var SelectTemplate = (context) => {
|
|
|
786
792
|
@focusin="${ifNotFromFeedback((x, e) => x.focusinHandler(e))}"
|
|
787
793
|
@focusout="${ifNotFromFeedback((x, e) => x.focusoutHandler(e))}"
|
|
788
794
|
@keydown="${ifNotFromFeedback((x, e) => {
|
|
789
|
-
x.open
|
|
795
|
+
if (x.open) require_dialog.handleEscapeKeyAndStopPropogation(e);
|
|
790
796
|
return x.keydownHandler(e);
|
|
791
797
|
})}"
|
|
792
798
|
@mousedown="${ifNotFromFeedback((x, e) => x.mousedownHandler(e))}"
|