@ckeditor/ckeditor5-ui 40.2.0 → 41.1.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/CHANGELOG.md +8 -8
- package/LICENSE.md +1 -1
- package/lang/contexts.json +3 -1
- package/lang/translations/ar.po +9 -1
- package/lang/translations/ast.po +9 -1
- package/lang/translations/az.po +9 -1
- package/lang/translations/bg.po +9 -1
- package/lang/translations/bn.po +9 -1
- package/lang/translations/ca.po +9 -1
- package/lang/translations/cs.po +9 -1
- package/lang/translations/da.po +9 -1
- package/lang/translations/de-ch.po +9 -1
- package/lang/translations/de.po +9 -1
- package/lang/translations/el.po +9 -1
- package/lang/translations/en-au.po +9 -1
- package/lang/translations/en-gb.po +9 -1
- package/lang/translations/en.po +9 -1
- package/lang/translations/eo.po +9 -1
- package/lang/translations/es.po +14 -6
- package/lang/translations/et.po +9 -1
- package/lang/translations/eu.po +9 -1
- package/lang/translations/fa.po +9 -1
- package/lang/translations/fi.po +9 -1
- package/lang/translations/fr.po +9 -1
- package/lang/translations/gl.po +9 -1
- package/lang/translations/he.po +9 -1
- package/lang/translations/hi.po +9 -1
- package/lang/translations/hr.po +9 -1
- package/lang/translations/hu.po +9 -1
- package/lang/translations/id.po +9 -1
- package/lang/translations/it.po +9 -1
- package/lang/translations/ja.po +9 -1
- package/lang/translations/km.po +9 -1
- package/lang/translations/kn.po +9 -1
- package/lang/translations/ko.po +9 -1
- package/lang/translations/ku.po +9 -1
- package/lang/translations/lt.po +9 -1
- package/lang/translations/lv.po +9 -1
- package/lang/translations/ms.po +9 -1
- package/lang/translations/nb.po +9 -1
- package/lang/translations/ne.po +9 -1
- package/lang/translations/nl.po +9 -1
- package/lang/translations/no.po +9 -1
- package/lang/translations/pl.po +9 -1
- package/lang/translations/pt-br.po +9 -1
- package/lang/translations/pt.po +9 -1
- package/lang/translations/ro.po +9 -1
- package/lang/translations/ru.po +9 -1
- package/lang/translations/sk.po +9 -1
- package/lang/translations/sl.po +9 -1
- package/lang/translations/sq.po +9 -1
- package/lang/translations/sr-latn.po +9 -1
- package/lang/translations/sr.po +9 -1
- package/lang/translations/sv.po +9 -1
- package/lang/translations/th.po +9 -1
- package/lang/translations/tk.po +9 -1
- package/lang/translations/tr.po +9 -1
- package/lang/translations/tt.po +9 -1
- package/lang/translations/ug.po +9 -1
- package/lang/translations/uk.po +9 -1
- package/lang/translations/ur.po +9 -1
- package/lang/translations/uz.po +9 -1
- package/lang/translations/vi.po +9 -1
- package/lang/translations/zh-cn.po +9 -1
- package/lang/translations/zh.po +9 -1
- package/package.json +4 -3
- package/src/arialiveannouncer.d.ts +14 -10
- package/src/arialiveannouncer.js +11 -8
- package/src/augmentation.d.ts +3 -2
- package/src/augmentation.js +1 -1
- package/src/autocomplete/autocompleteview.d.ts +4 -4
- package/src/autocomplete/autocompleteview.js +4 -3
- package/src/bindings/addkeyboardhandlingforgrid.d.ts +2 -2
- package/src/bindings/addkeyboardhandlingforgrid.js +1 -1
- package/src/bindings/clickoutsidehandler.d.ts +1 -1
- package/src/bindings/clickoutsidehandler.js +1 -1
- package/src/bindings/csstransitiondisablermixin.d.ts +2 -2
- package/src/bindings/csstransitiondisablermixin.js +1 -1
- package/src/bindings/draggableviewmixin.d.ts +46 -0
- package/src/bindings/draggableviewmixin.js +144 -0
- package/src/bindings/injectcsstransitiondisabler.d.ts +2 -2
- package/src/bindings/injectcsstransitiondisabler.js +1 -1
- package/src/bindings/preventdefault.d.ts +3 -3
- package/src/bindings/preventdefault.js +1 -1
- package/src/bindings/submithandler.d.ts +2 -2
- package/src/bindings/submithandler.js +1 -1
- package/src/button/button.d.ts +4 -1
- package/src/button/button.js +1 -1
- package/src/button/buttonlabel.d.ts +2 -2
- package/src/button/buttonlabel.js +1 -1
- package/src/button/buttonlabelview.d.ts +3 -3
- package/src/button/buttonlabelview.js +2 -2
- package/src/button/buttonview.d.ts +6 -6
- package/src/button/buttonview.js +4 -4
- package/src/button/switchbuttonview.d.ts +3 -3
- package/src/button/switchbuttonview.js +3 -3
- package/src/collapsible/collapsibleview.d.ts +7 -6
- package/src/collapsible/collapsibleview.js +3 -3
- package/src/colorgrid/colorgridview.d.ts +5 -5
- package/src/colorgrid/colorgridview.js +4 -4
- package/src/colorgrid/colortileview.d.ts +2 -2
- package/src/colorgrid/colortileview.js +2 -2
- package/src/colorgrid/utils.d.ts +1 -1
- package/src/colorgrid/utils.js +1 -1
- package/src/colorpicker/colorpickerview.d.ts +12 -7
- package/src/colorpicker/colorpickerview.js +12 -9
- package/src/colorpicker/utils.d.ts +6 -1
- package/src/colorpicker/utils.js +10 -1
- package/src/colorselector/colorgridsfragmentview.d.ts +9 -8
- package/src/colorselector/colorgridsfragmentview.js +10 -11
- package/src/colorselector/colorpickerfragmentview.d.ts +9 -8
- package/src/colorselector/colorpickerfragmentview.js +7 -8
- package/src/colorselector/colorselectorview.d.ts +9 -9
- package/src/colorselector/colorselectorview.js +6 -6
- package/src/colorselector/documentcolorcollection.d.ts +2 -2
- package/src/colorselector/documentcolorcollection.js +1 -1
- package/src/componentfactory.d.ts +2 -2
- package/src/componentfactory.js +1 -1
- package/src/dialog/dialog.d.ts +273 -0
- package/src/dialog/dialog.js +261 -0
- package/src/dialog/dialogactionsview.d.ts +69 -0
- package/src/dialog/dialogactionsview.js +98 -0
- package/src/dialog/dialogcontentview.d.ts +27 -0
- package/src/dialog/dialogcontentview.js +35 -0
- package/src/dialog/dialogview.d.ts +256 -0
- package/src/dialog/dialogview.js +466 -0
- package/src/dropdown/button/dropdownbutton.d.ts +3 -3
- package/src/dropdown/button/dropdownbutton.js +1 -1
- package/src/dropdown/button/dropdownbuttonview.d.ts +4 -4
- package/src/dropdown/button/dropdownbuttonview.js +3 -3
- package/src/dropdown/button/splitbuttonview.d.ts +7 -7
- package/src/dropdown/button/splitbuttonview.js +3 -3
- package/src/dropdown/dropdownpanelfocusable.d.ts +1 -1
- package/src/dropdown/dropdownpanelfocusable.js +1 -1
- package/src/dropdown/dropdownpanelview.d.ts +4 -4
- package/src/dropdown/dropdownpanelview.js +2 -2
- package/src/dropdown/dropdownview.d.ts +8 -8
- package/src/dropdown/dropdownview.js +5 -4
- package/src/dropdown/utils.d.ts +9 -9
- package/src/dropdown/utils.js +15 -15
- package/src/editableui/editableuiview.d.ts +3 -3
- package/src/editableui/editableuiview.js +2 -2
- package/src/editableui/inline/inlineeditableuiview.d.ts +4 -4
- package/src/editableui/inline/inlineeditableuiview.js +2 -2
- package/src/editorui/bodycollection.d.ts +3 -3
- package/src/editorui/bodycollection.js +3 -3
- package/src/editorui/boxed/boxededitoruiview.d.ts +3 -3
- package/src/editorui/boxed/boxededitoruiview.js +3 -3
- package/src/editorui/editorui.d.ts +7 -7
- package/src/editorui/editorui.js +5 -5
- package/src/editorui/editoruiview.d.ts +4 -4
- package/src/editorui/editoruiview.js +3 -3
- package/src/editorui/poweredby.d.ts +1 -1
- package/src/editorui/poweredby.js +4 -4
- package/src/focuscycler.d.ts +29 -10
- package/src/focuscycler.js +46 -17
- package/src/formheader/formheaderview.d.ts +4 -4
- package/src/formheader/formheaderview.js +3 -3
- package/src/highlightedtext/highlightedtextview.d.ts +2 -2
- package/src/highlightedtext/highlightedtextview.js +2 -2
- package/src/icon/iconview.d.ts +5 -2
- package/src/icon/iconview.js +4 -3
- package/src/iframe/iframeview.d.ts +2 -2
- package/src/iframe/iframeview.js +2 -2
- package/src/index.d.ts +67 -68
- package/src/index.js +63 -65
- package/src/input/inputbase.d.ts +2 -2
- package/src/input/inputbase.js +2 -2
- package/src/input/inputview.d.ts +2 -2
- package/src/input/inputview.js +2 -2
- package/src/inputnumber/inputnumberview.d.ts +2 -2
- package/src/inputnumber/inputnumberview.js +2 -2
- package/src/inputtext/inputtextview.d.ts +2 -2
- package/src/inputtext/inputtextview.js +2 -2
- package/src/label/labelview.d.ts +2 -2
- package/src/label/labelview.js +2 -2
- package/src/labeledfield/labeledfieldview.d.ts +5 -5
- package/src/labeledfield/labeledfieldview.js +3 -3
- package/src/labeledfield/utils.d.ts +14 -14
- package/src/labeledfield/utils.js +13 -13
- package/src/labeledinput/labeledinputview.d.ts +4 -4
- package/src/labeledinput/labeledinputview.js +3 -3
- package/src/list/listitemgroupview.d.ts +5 -5
- package/src/list/listitemgroupview.js +5 -5
- package/src/list/listitemview.d.ts +4 -4
- package/src/list/listitemview.js +2 -2
- package/src/list/listseparatorview.d.ts +2 -2
- package/src/list/listseparatorview.js +2 -2
- package/src/list/listview.d.ts +9 -8
- package/src/list/listview.js +7 -7
- package/src/model.d.ts +1 -1
- package/src/model.js +1 -1
- package/src/notification/notification.d.ts +1 -1
- package/src/notification/notification.js +1 -1
- package/src/panel/balloon/balloonpanelview.d.ts +4 -4
- package/src/panel/balloon/balloonpanelview.js +5 -4
- package/src/panel/balloon/contextualballoon.d.ts +5 -5
- package/src/panel/balloon/contextualballoon.js +7 -9
- package/src/panel/sticky/stickypanelview.d.ts +9 -9
- package/src/panel/sticky/stickypanelview.js +7 -7
- package/src/search/filteredview.d.ts +2 -2
- package/src/search/filteredview.js +1 -1
- package/src/search/searchinfoview.d.ts +3 -3
- package/src/search/searchinfoview.js +2 -2
- package/src/search/searchresultsview.d.ts +5 -5
- package/src/search/searchresultsview.js +3 -3
- package/src/search/text/searchtextqueryview.d.ts +5 -5
- package/src/search/text/searchtextqueryview.js +5 -5
- package/src/search/text/searchtextview.d.ts +12 -12
- package/src/search/text/searchtextview.js +6 -6
- package/src/spinner/spinnerview.d.ts +2 -2
- package/src/spinner/spinnerview.js +2 -2
- package/src/template.d.ts +3 -3
- package/src/template.js +3 -3
- package/src/textarea/textareaview.d.ts +18 -2
- package/src/textarea/textareaview.js +46 -6
- package/src/toolbar/balloon/balloontoolbar.d.ts +3 -3
- package/src/toolbar/balloon/balloontoolbar.js +5 -5
- package/src/toolbar/block/blockbuttonview.d.ts +2 -2
- package/src/toolbar/block/blockbuttonview.js +2 -2
- package/src/toolbar/block/blocktoolbar.d.ts +4 -4
- package/src/toolbar/block/blocktoolbar.js +6 -6
- package/src/toolbar/normalizetoolbarconfig.d.ts +1 -1
- package/src/toolbar/normalizetoolbarconfig.js +1 -1
- package/src/toolbar/toolbarlinebreakview.d.ts +2 -2
- package/src/toolbar/toolbarlinebreakview.js +2 -2
- package/src/toolbar/toolbarseparatorview.d.ts +2 -2
- package/src/toolbar/toolbarseparatorview.js +2 -2
- package/src/toolbar/toolbarview.d.ts +7 -6
- package/src/toolbar/toolbarview.js +17 -15
- package/src/tooltipmanager.d.ts +3 -3
- package/src/tooltipmanager.js +5 -4
- package/src/view.d.ts +3 -3
- package/src/view.js +3 -3
- package/src/viewcollection.d.ts +2 -2
- package/src/viewcollection.js +1 -1
- package/theme/components/arialiveannouncer/arialiveannouncer.css +1 -1
- package/theme/components/autocomplete/autocomplete.css +2 -2
- package/theme/components/button/button.css +1 -1
- package/theme/components/button/switchbutton.css +1 -1
- package/theme/components/collapsible/collapsible.css +1 -1
- package/theme/components/colorgrid/colorgrid.css +1 -1
- package/theme/components/colorpicker/colorpicker.css +1 -1
- package/theme/components/colorselector/colorselector.css +1 -1
- package/theme/components/dialog/dialog.css +39 -0
- package/theme/components/dialog/dialogactions.css +11 -0
- package/theme/components/dropdown/dropdown.css +3 -3
- package/theme/components/dropdown/listdropdown.css +1 -1
- package/theme/components/dropdown/splitbutton.css +1 -1
- package/theme/components/dropdown/toolbardropdown.css +1 -1
- package/theme/components/editorui/editorui.css +1 -1
- package/theme/components/formheader/formheader.css +1 -1
- package/theme/components/highlightedtext/highlightedtext.css +1 -1
- package/theme/components/icon/icon.css +1 -1
- package/theme/components/input/input.css +1 -1
- package/theme/components/label/label.css +1 -1
- package/theme/components/labeledfield/labeledfieldview.css +1 -1
- package/theme/components/labeledinput/labeledinput.css +1 -1
- package/theme/components/list/list.css +1 -1
- package/theme/components/panel/balloonpanel.css +2 -2
- package/theme/components/panel/balloonrotator.css +1 -1
- package/theme/components/panel/fakepanel.css +2 -2
- package/theme/components/panel/stickypanel.css +2 -2
- package/theme/components/responsive-form/responsiveform.css +1 -1
- package/theme/components/search/search.css +1 -1
- package/theme/components/spinner/spinner.css +1 -1
- package/theme/components/textarea/textarea.css +1 -1
- package/theme/components/toolbar/blocktoolbar.css +1 -1
- package/theme/components/toolbar/toolbar.css +1 -1
- package/theme/components/tooltip/tooltip.css +2 -2
- package/theme/globals/_hidden.css +1 -1
- package/theme/globals/_poweredby.css +2 -2
- package/theme/globals/_reset.css +1 -1
- package/theme/globals/_transition.css +1 -1
- package/theme/globals/_zindex.css +3 -2
- package/theme/globals/globals.css +1 -1
- package/theme/mixins/_dir.css +1 -1
- package/theme/mixins/_rwd.css +1 -1
- package/theme/mixins/_unselectable.css +1 -1
- package/theme/icons/color-palette.svg +0 -1
- package/theme/icons/next-arrow.svg +0 -1
- package/theme/icons/previous-arrow.svg +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module ui/dialog/dialogcontentview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view.js';
|
|
9
|
+
import type ViewCollection from '../viewcollection.js';
|
|
10
|
+
import type { Locale } from '@ckeditor/ckeditor5-utils';
|
|
11
|
+
/**
|
|
12
|
+
* A dialog content view class.
|
|
13
|
+
*/
|
|
14
|
+
export default class DialogContentView extends View {
|
|
15
|
+
/**
|
|
16
|
+
* A collection of content items.
|
|
17
|
+
*/
|
|
18
|
+
readonly children: ViewCollection;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
constructor(locale: Locale | undefined);
|
|
23
|
+
/**
|
|
24
|
+
* Removes all the child views.
|
|
25
|
+
*/
|
|
26
|
+
reset(): void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module ui/dialog/dialogcontentview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view.js';
|
|
9
|
+
/**
|
|
10
|
+
* A dialog content view class.
|
|
11
|
+
*/
|
|
12
|
+
export default class DialogContentView extends View {
|
|
13
|
+
/**
|
|
14
|
+
* @inheritDoc
|
|
15
|
+
*/
|
|
16
|
+
constructor(locale) {
|
|
17
|
+
super(locale);
|
|
18
|
+
this.children = this.createCollection();
|
|
19
|
+
this.setTemplate({
|
|
20
|
+
tag: 'div',
|
|
21
|
+
attributes: {
|
|
22
|
+
class: ['ck', 'ck-dialog__content']
|
|
23
|
+
},
|
|
24
|
+
children: this.children
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Removes all the child views.
|
|
29
|
+
*/
|
|
30
|
+
reset() {
|
|
31
|
+
while (this.children.length) {
|
|
32
|
+
this.children.remove(0);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module ui/dialog/dialogview
|
|
7
|
+
*/
|
|
8
|
+
import { KeystrokeHandler, FocusTracker, type Locale, type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
|
|
9
|
+
import ViewCollection from '../viewcollection.js';
|
|
10
|
+
import View from '../view.js';
|
|
11
|
+
import FormHeaderView from '../formheader/formheaderview.js';
|
|
12
|
+
import ButtonView from '../button/buttonview.js';
|
|
13
|
+
import { type DraggableView } from '../bindings/draggableviewmixin.js';
|
|
14
|
+
import DialogActionsView, { type DialogActionButtonDefinition } from './dialogactionsview.js';
|
|
15
|
+
import DialogContentView from './dialogcontentview.js';
|
|
16
|
+
import type EditorUI from '../editorui/editorui.js';
|
|
17
|
+
import '../../theme/components/dialog/dialog.css';
|
|
18
|
+
/**
|
|
19
|
+
* Available dialog view positions:
|
|
20
|
+
*
|
|
21
|
+
* * `DialogViewPosition.SCREEN_CENTER` – A fixed position in the center of the screen.
|
|
22
|
+
* * `DialogViewPosition.EDITOR_CENTER` – A dynamic position in the center of the editor editable area.
|
|
23
|
+
* * `DialogViewPosition.EDITOR_TOP_SIDE` – A dynamic position at the top-right (for the left-to-right languages)
|
|
24
|
+
* or top-left (for right-to-left languages) corner of the editor editable area.
|
|
25
|
+
* * `DialogViewPosition.EDITOR_TOP_CENTER` – A dynamic position at the top-center of the editor editable area.
|
|
26
|
+
* * `DialogViewPosition.EDITOR_BOTTOM_CENTER` – A dynamic position at the bottom-center of the editor editable area.
|
|
27
|
+
* * `DialogViewPosition.EDITOR_ABOVE_CENTER` – A dynamic position centered above the editor editable area.
|
|
28
|
+
* * `DialogViewPosition.EDITOR_BELOW_CENTER` – A dynamic position centered below the editor editable area.
|
|
29
|
+
*
|
|
30
|
+
* The position of a dialog is specified by a {@link module:ui/dialog/dialog~DialogDefinition#position `position` property} of a
|
|
31
|
+
* definition passed to the {@link module:ui/dialog/dialog~Dialog#show} method.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DialogViewPosition: {
|
|
34
|
+
readonly SCREEN_CENTER: "screen-center";
|
|
35
|
+
readonly EDITOR_CENTER: "editor-center";
|
|
36
|
+
readonly EDITOR_TOP_SIDE: "editor-top-side";
|
|
37
|
+
readonly EDITOR_TOP_CENTER: "editor-top-center";
|
|
38
|
+
readonly EDITOR_BOTTOM_CENTER: "editor-bottom-center";
|
|
39
|
+
readonly EDITOR_ABOVE_CENTER: "editor-above-center";
|
|
40
|
+
readonly EDITOR_BELOW_CENTER: "editor-below-center";
|
|
41
|
+
};
|
|
42
|
+
declare const DialogView_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof View, DraggableView>;
|
|
43
|
+
/**
|
|
44
|
+
* A dialog view class.
|
|
45
|
+
*/
|
|
46
|
+
export default class DialogView extends DialogView_base implements DraggableView {
|
|
47
|
+
/**
|
|
48
|
+
* A collection of the child views inside of the dialog.
|
|
49
|
+
* A dialog can have 3 optional parts: header, content, and actions.
|
|
50
|
+
*/
|
|
51
|
+
readonly parts: ViewCollection;
|
|
52
|
+
/**
|
|
53
|
+
* A header view of the dialog. It is also a drag handle of the dialog.
|
|
54
|
+
*/
|
|
55
|
+
headerView?: FormHeaderView;
|
|
56
|
+
/**
|
|
57
|
+
* A close button view. It is automatically added to the header view if present.
|
|
58
|
+
*/
|
|
59
|
+
closeButtonView?: ButtonView;
|
|
60
|
+
/**
|
|
61
|
+
* A view with the action buttons available to the user.
|
|
62
|
+
*/
|
|
63
|
+
actionsView?: DialogActionsView;
|
|
64
|
+
/**
|
|
65
|
+
* A default dialog element offset from the reference element (e.g. editor editable area).
|
|
66
|
+
*/
|
|
67
|
+
static defaultOffset: number;
|
|
68
|
+
/**
|
|
69
|
+
* A view with the dialog content.
|
|
70
|
+
*/
|
|
71
|
+
contentView?: DialogContentView;
|
|
72
|
+
/**
|
|
73
|
+
* A keystroke handler instance.
|
|
74
|
+
*/
|
|
75
|
+
readonly keystrokes: KeystrokeHandler;
|
|
76
|
+
/**
|
|
77
|
+
* A focus tracker instance.
|
|
78
|
+
*/
|
|
79
|
+
readonly focusTracker: FocusTracker;
|
|
80
|
+
/**
|
|
81
|
+
* A flag indicating if the dialog was moved manually. If so, its position
|
|
82
|
+
* will not be updated automatically upon window resize or document scroll.
|
|
83
|
+
*/
|
|
84
|
+
wasMoved: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* A flag indicating if this dialog view is a modal.
|
|
87
|
+
*
|
|
88
|
+
* @observable
|
|
89
|
+
*/
|
|
90
|
+
isModal: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* A label for the view dialog element to be used by the assistive technologies.
|
|
93
|
+
*
|
|
94
|
+
* @observable
|
|
95
|
+
*/
|
|
96
|
+
ariaLabel: string;
|
|
97
|
+
/**
|
|
98
|
+
* A custom class name to be added to the dialog element.
|
|
99
|
+
*
|
|
100
|
+
* @observable
|
|
101
|
+
*/
|
|
102
|
+
className: string | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* The position of the dialog view.
|
|
105
|
+
*
|
|
106
|
+
* @observable
|
|
107
|
+
*/
|
|
108
|
+
position: typeof DialogViewPosition[keyof typeof DialogViewPosition];
|
|
109
|
+
/**
|
|
110
|
+
* A flag indicating that the dialog should be shown. Once set to `true`, the dialog will be shown
|
|
111
|
+
* after its position is calculated. Until then, the dialog is transparent and not visible.
|
|
112
|
+
*
|
|
113
|
+
* See {@link #_isTransparent} property.
|
|
114
|
+
*
|
|
115
|
+
* @observable
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
_isVisible: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* A flag indicating if a dialog is transparent. It is used to prevent the dialog from being visible
|
|
121
|
+
* before its position is calculated.
|
|
122
|
+
*
|
|
123
|
+
* @observable
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
_isTransparent: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* The calculated dialog `top` CSS property used for positioning.
|
|
129
|
+
*
|
|
130
|
+
* @observable
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
_top: number;
|
|
134
|
+
/**
|
|
135
|
+
* The calculated dialog `left` CSS property used for positioning.
|
|
136
|
+
*
|
|
137
|
+
* @observable
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
_left: number;
|
|
141
|
+
/**
|
|
142
|
+
* A callback returning the DOM root that requested the dialog.
|
|
143
|
+
*/
|
|
144
|
+
private _getCurrentDomRoot;
|
|
145
|
+
/**
|
|
146
|
+
* A callback returning the configured editor viewport offset.
|
|
147
|
+
*/
|
|
148
|
+
private _getViewportOffset;
|
|
149
|
+
/**
|
|
150
|
+
* The list of the focusable elements inside the dialog view.
|
|
151
|
+
*/
|
|
152
|
+
private readonly _focusables;
|
|
153
|
+
/**
|
|
154
|
+
* The focus cycler instance.
|
|
155
|
+
*/
|
|
156
|
+
private readonly _focusCycler;
|
|
157
|
+
/**
|
|
158
|
+
* @inheritDoc
|
|
159
|
+
*/
|
|
160
|
+
constructor(locale: Locale, { getCurrentDomRoot, getViewportOffset }: {
|
|
161
|
+
getCurrentDomRoot: () => HTMLElement;
|
|
162
|
+
getViewportOffset: () => EditorUI['viewportOffset'];
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* @inheritDoc
|
|
166
|
+
*/
|
|
167
|
+
render(): void;
|
|
168
|
+
/**
|
|
169
|
+
* Returns the element that should be used as a drag handle.
|
|
170
|
+
*/
|
|
171
|
+
get dragHandleElement(): HTMLElement | null;
|
|
172
|
+
/**
|
|
173
|
+
* Creates the dialog parts. Which of them are created depends on the arguments passed to the method.
|
|
174
|
+
* There are no rules regarding the dialog construction, that is, no part is mandatory.
|
|
175
|
+
* Each part can only be created once.
|
|
176
|
+
*
|
|
177
|
+
* @internal
|
|
178
|
+
*/
|
|
179
|
+
setupParts({ icon, title, hasCloseButton, content, actionButtons }: {
|
|
180
|
+
icon?: string;
|
|
181
|
+
title?: string;
|
|
182
|
+
hasCloseButton?: boolean;
|
|
183
|
+
content?: View | Array<View>;
|
|
184
|
+
actionButtons?: Array<DialogActionButtonDefinition>;
|
|
185
|
+
}): void;
|
|
186
|
+
/**
|
|
187
|
+
* Focuses the first focusable element inside the dialog.
|
|
188
|
+
*/
|
|
189
|
+
focus(): void;
|
|
190
|
+
/**
|
|
191
|
+
* Normalizes the passed coordinates to make sure the dialog view
|
|
192
|
+
* is displayed within the visible viewport and moves it there.
|
|
193
|
+
*
|
|
194
|
+
* @internal
|
|
195
|
+
*/
|
|
196
|
+
moveTo(left: number, top: number): void;
|
|
197
|
+
/**
|
|
198
|
+
* Moves the dialog to the specified coordinates.
|
|
199
|
+
*/
|
|
200
|
+
private _moveTo;
|
|
201
|
+
/**
|
|
202
|
+
* Moves the dialog by the specified offset.
|
|
203
|
+
*
|
|
204
|
+
* @internal
|
|
205
|
+
*/
|
|
206
|
+
moveBy(left: number, top: number): void;
|
|
207
|
+
/**
|
|
208
|
+
* Moves the dialog view to the off-screen position.
|
|
209
|
+
* Used when there is no space to display the dialog.
|
|
210
|
+
*/
|
|
211
|
+
private _moveOffScreen;
|
|
212
|
+
/**
|
|
213
|
+
* Recalculates the dialog according to the set position and viewport,
|
|
214
|
+
* and moves it to the new position.
|
|
215
|
+
*/
|
|
216
|
+
updatePosition(): void;
|
|
217
|
+
/**
|
|
218
|
+
* Calculates the visible DOM root part.
|
|
219
|
+
*/
|
|
220
|
+
private _getVisibleDomRootRect;
|
|
221
|
+
/**
|
|
222
|
+
* Calculates the dialog element rect.
|
|
223
|
+
*/
|
|
224
|
+
private _getDialogRect;
|
|
225
|
+
/**
|
|
226
|
+
* Calculates the viewport rect.
|
|
227
|
+
*/
|
|
228
|
+
private _getViewportRect;
|
|
229
|
+
/**
|
|
230
|
+
* Collects all focusable elements inside the dialog parts
|
|
231
|
+
* and adds them to the focus tracker and focus cycler.
|
|
232
|
+
*/
|
|
233
|
+
private _updateFocusCyclableItems;
|
|
234
|
+
/**
|
|
235
|
+
* Creates the close button view that is displayed in the header view corner.
|
|
236
|
+
*/
|
|
237
|
+
private _createCloseButton;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* An event fired when the dialog is closed.
|
|
241
|
+
*
|
|
242
|
+
* @eventName ~DialogView#close
|
|
243
|
+
*/
|
|
244
|
+
export type DialogViewCloseEvent = {
|
|
245
|
+
name: 'close';
|
|
246
|
+
args: [{
|
|
247
|
+
source: 'closeButton' | 'escKeyPress';
|
|
248
|
+
}];
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* An event fired when the dialog is moved.
|
|
252
|
+
*
|
|
253
|
+
* @eventName ~DialogView#moveTo
|
|
254
|
+
*/
|
|
255
|
+
export type DialogViewMoveToEvent = DecoratedMethodEvent<DialogView, 'moveTo'>;
|
|
256
|
+
export {};
|