domma-js 0.56.0 → 0.58.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/README.md +2 -2
- package/assets/types/generated/public/assets/flags/africa.d.ts +6 -0
- package/assets/types/generated/public/assets/flags/americas.d.ts +6 -0
- package/assets/types/generated/public/assets/flags/asia.d.ts +6 -0
- package/assets/types/generated/public/assets/flags/europe.d.ts +9 -0
- package/assets/types/generated/public/assets/flags/index.d.ts +11 -0
- package/assets/types/generated/public/assets/flags/oceania.d.ts +2 -0
- package/assets/types/generated/public/assets/icons/buildings.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/code.d.ts +2 -0
- package/assets/types/generated/public/assets/icons/commerce.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/communication.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/devices.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/emojis.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/files.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/finance.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/forms.d.ts +5 -0
- package/assets/types/generated/public/assets/icons/health.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/index.d.ts +24 -0
- package/assets/types/generated/public/assets/icons/media.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/navigation.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/seasonal.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/social.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/sport.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/status.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/transport.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/ui.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/weather.d.ts +6 -0
- package/assets/types/generated/src/auth.d.ts +424 -0
- package/assets/types/generated/src/avatar.d.ts +270 -0
- package/assets/types/generated/src/binding-source.d.ts +58 -0
- package/assets/types/generated/src/butterfly-drawing.d.ts +2 -0
- package/assets/types/generated/src/component-factory.d.ts +150 -0
- package/assets/types/generated/src/component.d.ts +162 -0
- package/assets/types/generated/src/components/back-to-top.d.ts +150 -0
- package/assets/types/generated/src/components/badge.d.ts +208 -0
- package/assets/types/generated/src/components/card.d.ts +189 -0
- package/assets/types/generated/src/components/command-palette.d.ts +352 -0
- package/assets/types/generated/src/components/dropzone.d.ts +342 -0
- package/assets/types/generated/src/components/focus-trap.d.ts +238 -0
- package/assets/types/generated/src/components/loader.d.ts +133 -0
- package/assets/types/generated/src/components/modal.d.ts +339 -0
- package/assets/types/generated/src/components/range-slider.d.ts +267 -0
- package/assets/types/generated/src/components/shared.d.ts +91 -0
- package/assets/types/generated/src/components/split-pane.d.ts +239 -0
- package/assets/types/generated/src/components/toast.d.ts +284 -0
- package/assets/types/generated/src/components/tooltip.d.ts +200 -0
- package/assets/types/generated/src/components/virtual-list.d.ts +340 -0
- package/assets/types/generated/src/config.d.ts +193 -0
- package/assets/types/generated/src/context-cursor.d.ts +69 -0
- package/assets/types/generated/src/context-menu.d.ts +596 -0
- package/assets/types/generated/src/dates.d.ts +367 -0
- package/assets/types/generated/src/dom.d.ts +1221 -0
- package/assets/types/generated/src/effects.d.ts +1281 -0
- package/assets/types/generated/src/elements.d.ts +4994 -0
- package/assets/types/generated/src/escape.d.ts +5 -0
- package/assets/types/generated/src/flags-bundle.d.ts +4 -0
- package/assets/types/generated/src/flags.d.ts +338 -0
- package/assets/types/generated/src/forms.d.ts +1060 -0
- package/assets/types/generated/src/globals.d.ts +45 -0
- package/assets/types/generated/src/http.d.ts +131 -0
- package/assets/types/generated/src/i18n.d.ts +261 -0
- package/assets/types/generated/src/icons.d.ts +213 -0
- package/assets/types/generated/src/index.d.ts +249 -0
- package/assets/types/generated/src/input-group.d.ts +135 -0
- package/assets/types/generated/src/models.d.ts +968 -0
- package/assets/types/generated/src/popover.d.ts +413 -0
- package/assets/types/generated/src/router.d.ts +344 -0
- package/assets/types/generated/src/safe-url.d.ts +10 -0
- package/assets/types/generated/src/sanitize.d.ts +97 -0
- package/assets/types/generated/src/schema-builder.d.ts +420 -0
- package/assets/types/generated/src/skeleton.d.ts +135 -0
- package/assets/types/generated/src/smooth-caret.d.ts +61 -0
- package/assets/types/generated/src/sortable.d.ts +368 -0
- package/assets/types/generated/src/storage.d.ts +93 -0
- package/assets/types/generated/src/tables.d.ts +901 -0
- package/assets/types/generated/src/theme.d.ts +262 -0
- package/assets/types/generated/src/ticker-tape-drawing.d.ts +2 -0
- package/assets/types/generated/src/treeview.d.ts +504 -0
- package/assets/types/generated/src/utils.d.ts +1667 -0
- package/assets/types/generated/src/web-components/base/domma-element.d.ts +134 -0
- package/assets/types/generated/src/web-components/index.d.ts +14 -0
- package/assets/types/generated/vendor/domma-reactive.d.ts +587 -0
- package/assets/types/index.d.ts +104 -226
- package/package.json +5 -2
- package/public/dist/bundles/domma-complete.css +20 -14
- package/public/dist/bundles/domma-data-focused.css +20 -14
- package/public/dist/bundles/domma-essentials.css +20 -14
- package/public/dist/bundles/domma-full.css +20 -14
- package/public/dist/bundles/domma-minimal.css +8 -8
- package/public/dist/domma-flags.esm.js +3 -3
- package/public/dist/domma-flags.esm.js.map +1 -1
- package/public/dist/domma-flags.min.js +3 -3
- package/public/dist/domma-flags.min.js.map +1 -1
- package/public/dist/domma-syntax.min.js +3 -3
- package/public/dist/domma.css +3 -3
- package/public/dist/domma.esm.js +5 -5
- package/public/dist/domma.esm.js.map +1 -1
- package/public/dist/domma.min.js +5 -5
- package/public/dist/domma.min.js.map +1 -1
- package/public/dist/elements.css +9 -3
- package/public/dist/grid.css +3 -3
- package/public/dist/syntax.css +3 -3
- package/public/dist/themes/domma-themes.css +3 -3
- package/templates/kickstart/.claude/snippets.md +1 -1
- package/templates/kickstart/CLAUDE.md +1 -1
- package/templates/kickstart/frontend/types/domma.d.ts +7 -4
- package/templates/kickstart-spa/.claude/snippets.md +1 -1
- package/assets/types/config.d.ts +0 -136
- package/assets/types/dates.d.ts +0 -209
- package/assets/types/dom.d.ts +0 -448
- package/assets/types/elements.d.ts +0 -1168
- package/assets/types/flags.d.ts +0 -130
- package/assets/types/http.d.ts +0 -97
- package/assets/types/i18n.d.ts +0 -99
- package/assets/types/icons.d.ts +0 -147
- package/assets/types/models.d.ts +0 -260
- package/assets/types/smooth-caret.d.ts +0 -12
- package/assets/types/storage.d.ts +0 -93
- package/assets/types/tables.d.ts +0 -327
- package/assets/types/theme.d.ts +0 -137
- package/assets/types/utils.d.ts +0 -675
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
export default Popover;
|
|
2
|
+
export type PopoverSide = "top" | "bottom" | "left" | "right";
|
|
3
|
+
export type PopoverPlacement = PopoverSide | "auto" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "auto-start" | "auto-end";
|
|
4
|
+
/**
|
|
5
|
+
* 'click', 'hover', 'focus', 'manual', or several separated by spaces ('hover focus').
|
|
6
|
+
*/
|
|
7
|
+
export type PopoverTrigger = "click" | "hover" | "focus" | "manual" | (string & {});
|
|
8
|
+
/**
|
|
9
|
+
* Text, a DOM node or collection, or a function returning either - called on every open.
|
|
10
|
+
*/
|
|
11
|
+
export type PopoverContent = string | Node | ArrayLike<Node> | null | ((popover: Popover) => string | Node | ArrayLike<Node> | null);
|
|
12
|
+
export type PopoverOptions = {
|
|
13
|
+
/**
|
|
14
|
+
* - Text (default), a Node, or a function returning either; see `html`
|
|
15
|
+
*/
|
|
16
|
+
content?: PopoverContent;
|
|
17
|
+
/**
|
|
18
|
+
* - Heading; empty for none
|
|
19
|
+
*/
|
|
20
|
+
title?: PopoverContent;
|
|
21
|
+
/**
|
|
22
|
+
* - Treat string content/title as HTML, passed through Domma's sanitiser (default: false)
|
|
23
|
+
*/
|
|
24
|
+
html?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* - 'click' (default), 'hover', 'focus', 'manual', or several separated by spaces
|
|
27
|
+
*/
|
|
28
|
+
trigger?: PopoverTrigger;
|
|
29
|
+
/**
|
|
30
|
+
* - Preferred side and alignment (default: 'bottom')
|
|
31
|
+
*/
|
|
32
|
+
placement?: PopoverPlacement;
|
|
33
|
+
/**
|
|
34
|
+
* - Try the other sides when the preferred one has no room (default: true)
|
|
35
|
+
*/
|
|
36
|
+
flip?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* - Gap in px, or [crossAxis, mainAxis] (default: 10)
|
|
39
|
+
*/
|
|
40
|
+
offset?: number | [number, number];
|
|
41
|
+
/**
|
|
42
|
+
* - Show the arrow (default: true)
|
|
43
|
+
*/
|
|
44
|
+
arrow?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* - Show a close (x) button (default: false)
|
|
47
|
+
*/
|
|
48
|
+
dismissible?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* - Close on a pointer press or focus outside (default: true)
|
|
51
|
+
*/
|
|
52
|
+
closeOnOutside?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* - Close on Escape (default: true)
|
|
55
|
+
*/
|
|
56
|
+
closeOnEscape?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* - One open at a time per group; null = independent (default: 'default')
|
|
59
|
+
*/
|
|
60
|
+
group?: string | null;
|
|
61
|
+
/**
|
|
62
|
+
* - Any CSS width; numbers are px
|
|
63
|
+
*/
|
|
64
|
+
width?: string | number | null;
|
|
65
|
+
/**
|
|
66
|
+
* - Any CSS width; the stylesheet default is 20rem
|
|
67
|
+
*/
|
|
68
|
+
maxWidth?: string | number | null;
|
|
69
|
+
/**
|
|
70
|
+
* - Extra classes on the panel
|
|
71
|
+
*/
|
|
72
|
+
className?: string;
|
|
73
|
+
/**
|
|
74
|
+
* - Panel id (generated when omitted)
|
|
75
|
+
*/
|
|
76
|
+
id?: string | null;
|
|
77
|
+
/**
|
|
78
|
+
* - 'dialog', or 'tooltip' for hover/focus-only triggers (default: auto)
|
|
79
|
+
*/
|
|
80
|
+
role?: "dialog" | "tooltip" | (string & {}) | null;
|
|
81
|
+
/**
|
|
82
|
+
* - Accessible name when there is no title
|
|
83
|
+
*/
|
|
84
|
+
ariaLabel?: string | null;
|
|
85
|
+
/**
|
|
86
|
+
* - Move focus into the panel on open; null = for click popovers
|
|
87
|
+
*/
|
|
88
|
+
autoFocus?: boolean | null;
|
|
89
|
+
/**
|
|
90
|
+
* - Tab cycles inside the panel instead of leaving it, with a focus trap while focus is in it (default: false)
|
|
91
|
+
*/
|
|
92
|
+
trapFocus?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* - Hover delays in ms (default: {show: 80, hide: 120})
|
|
95
|
+
*/
|
|
96
|
+
delay?: number | {
|
|
97
|
+
show?: number;
|
|
98
|
+
hide?: number;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* - Fade and scale (default: true; skipped under reduced motion)
|
|
102
|
+
*/
|
|
103
|
+
animation?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* - ms (default: 150)
|
|
106
|
+
*/
|
|
107
|
+
animationDuration?: number;
|
|
108
|
+
/**
|
|
109
|
+
* - Where the panel is placed (default: document.body)
|
|
110
|
+
*/
|
|
111
|
+
container?: string | HTMLElement | null;
|
|
112
|
+
/**
|
|
113
|
+
* - Override the stylesheet's z-index (10045)
|
|
114
|
+
*/
|
|
115
|
+
zIndex?: number | null;
|
|
116
|
+
/**
|
|
117
|
+
* - Before opening; return false to cancel
|
|
118
|
+
*/
|
|
119
|
+
onShow?: ((popover: Popover) => boolean | void) | null;
|
|
120
|
+
/**
|
|
121
|
+
* - After the open transition
|
|
122
|
+
*/
|
|
123
|
+
onShown?: ((popover: Popover) => void) | null;
|
|
124
|
+
/**
|
|
125
|
+
* - Before closing; return false to cancel
|
|
126
|
+
*/
|
|
127
|
+
onHide?: ((popover: Popover) => boolean | void) | null;
|
|
128
|
+
/**
|
|
129
|
+
* - After the panel has been removed
|
|
130
|
+
*/
|
|
131
|
+
onHidden?: ((popover: Popover) => void) | null;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* event.detail of dm:popover:show / shown / hide / hidden (bubbling, fired on the trigger).
|
|
135
|
+
*/
|
|
136
|
+
export type PopoverEventDetail = {
|
|
137
|
+
instance: Popover;
|
|
138
|
+
args: Popover[];
|
|
139
|
+
};
|
|
140
|
+
export type PopoverInstance = Popover;
|
|
141
|
+
/**
|
|
142
|
+
* `E.popover` - the factory plus its statics: `scan(root)` creates popovers from
|
|
143
|
+
* [data-popover] / [data-popover-content] markup under root and returns the new ones;
|
|
144
|
+
* `closeAll(group)` closes every open popover, or one group's; `getInstance(trigger)` is the
|
|
145
|
+
* popover bound to a trigger; `open()` lists the open popovers, oldest first.
|
|
146
|
+
*/
|
|
147
|
+
export type PopoverStatic = {
|
|
148
|
+
(trigger: string | HTMLElement | ArrayLike<HTMLElement>, options?: PopoverOptions): Popover;
|
|
149
|
+
scan(root?: string | Element | Document): Popover[];
|
|
150
|
+
closeAll(group?: string | null): void;
|
|
151
|
+
getInstance(trigger: string | HTMLElement): Popover | null;
|
|
152
|
+
open(): Popover[];
|
|
153
|
+
};
|
|
154
|
+
/** @typedef {'top'|'bottom'|'left'|'right'} PopoverSide */
|
|
155
|
+
/**
|
|
156
|
+
* @typedef {PopoverSide|'auto'|'top-start'|'top-end'|'bottom-start'|'bottom-end'|'left-start'|'left-end'|'right-start'|'right-end'|'auto-start'|'auto-end'} PopoverPlacement
|
|
157
|
+
*/
|
|
158
|
+
/**
|
|
159
|
+
* 'click', 'hover', 'focus', 'manual', or several separated by spaces ('hover focus').
|
|
160
|
+
* @typedef {'click'|'hover'|'focus'|'manual'|(string & {})} PopoverTrigger
|
|
161
|
+
*/
|
|
162
|
+
/**
|
|
163
|
+
* Text, a DOM node or collection, or a function returning either - called on every open.
|
|
164
|
+
* @typedef {string|Node|ArrayLike<Node>|null|((popover: Popover) => string|Node|ArrayLike<Node>|null)} PopoverContent
|
|
165
|
+
*/
|
|
166
|
+
/**
|
|
167
|
+
* @typedef {object} PopoverOptions
|
|
168
|
+
* @property {PopoverContent} [content] - Text (default), a Node, or a function returning either; see `html`
|
|
169
|
+
* @property {PopoverContent} [title] - Heading; empty for none
|
|
170
|
+
* @property {boolean} [html] - Treat string content/title as HTML, passed through Domma's sanitiser (default: false)
|
|
171
|
+
* @property {PopoverTrigger} [trigger] - 'click' (default), 'hover', 'focus', 'manual', or several separated by spaces
|
|
172
|
+
* @property {PopoverPlacement} [placement] - Preferred side and alignment (default: 'bottom')
|
|
173
|
+
* @property {boolean} [flip] - Try the other sides when the preferred one has no room (default: true)
|
|
174
|
+
* @property {number|[number, number]} [offset] - Gap in px, or [crossAxis, mainAxis] (default: 10)
|
|
175
|
+
* @property {boolean} [arrow] - Show the arrow (default: true)
|
|
176
|
+
* @property {boolean} [dismissible] - Show a close (x) button (default: false)
|
|
177
|
+
* @property {boolean} [closeOnOutside] - Close on a pointer press or focus outside (default: true)
|
|
178
|
+
* @property {boolean} [closeOnEscape] - Close on Escape (default: true)
|
|
179
|
+
* @property {string|null} [group] - One open at a time per group; null = independent (default: 'default')
|
|
180
|
+
* @property {string|number|null} [width] - Any CSS width; numbers are px
|
|
181
|
+
* @property {string|number|null} [maxWidth] - Any CSS width; the stylesheet default is 20rem
|
|
182
|
+
* @property {string} [className] - Extra classes on the panel
|
|
183
|
+
* @property {string|null} [id] - Panel id (generated when omitted)
|
|
184
|
+
* @property {'dialog'|'tooltip'|(string & {})|null} [role] - 'dialog', or 'tooltip' for hover/focus-only triggers (default: auto)
|
|
185
|
+
* @property {string|null} [ariaLabel] - Accessible name when there is no title
|
|
186
|
+
* @property {boolean|null} [autoFocus] - Move focus into the panel on open; null = for click popovers
|
|
187
|
+
* @property {boolean} [trapFocus] - Tab cycles inside the panel instead of leaving it, with a focus trap while focus is in it (default: false)
|
|
188
|
+
* @property {number|{show?: number, hide?: number}} [delay] - Hover delays in ms (default: {show: 80, hide: 120})
|
|
189
|
+
* @property {boolean} [animation] - Fade and scale (default: true; skipped under reduced motion)
|
|
190
|
+
* @property {number} [animationDuration] - ms (default: 150)
|
|
191
|
+
* @property {string|HTMLElement|null} [container] - Where the panel is placed (default: document.body)
|
|
192
|
+
* @property {number|null} [zIndex] - Override the stylesheet's z-index (10045)
|
|
193
|
+
* @property {((popover: Popover) => boolean|void)|null} [onShow] - Before opening; return false to cancel
|
|
194
|
+
* @property {((popover: Popover) => void)|null} [onShown] - After the open transition
|
|
195
|
+
* @property {((popover: Popover) => boolean|void)|null} [onHide] - Before closing; return false to cancel
|
|
196
|
+
* @property {((popover: Popover) => void)|null} [onHidden] - After the panel has been removed
|
|
197
|
+
*/
|
|
198
|
+
/**
|
|
199
|
+
* event.detail of dm:popover:show / shown / hide / hidden (bubbling, fired on the trigger).
|
|
200
|
+
* @typedef {object} PopoverEventDetail
|
|
201
|
+
* @property {Popover} instance
|
|
202
|
+
* @property {Popover[]} args
|
|
203
|
+
*/
|
|
204
|
+
/** @typedef {Popover} PopoverInstance */
|
|
205
|
+
/**
|
|
206
|
+
* `E.popover` - the factory plus its statics: `scan(root)` creates popovers from
|
|
207
|
+
* [data-popover] / [data-popover-content] markup under root and returns the new ones;
|
|
208
|
+
* `closeAll(group)` closes every open popover, or one group's; `getInstance(trigger)` is the
|
|
209
|
+
* popover bound to a trigger; `open()` lists the open popovers, oldest first.
|
|
210
|
+
* @typedef {{
|
|
211
|
+
* (trigger: string|HTMLElement|ArrayLike<HTMLElement>, options?: PopoverOptions): Popover,
|
|
212
|
+
* scan(root?: string|Element|Document): Popover[],
|
|
213
|
+
* closeAll(group?: string|null): void,
|
|
214
|
+
* getInstance(trigger: string|HTMLElement): Popover|null,
|
|
215
|
+
* open(): Popover[]
|
|
216
|
+
* }} PopoverStatic
|
|
217
|
+
*/
|
|
218
|
+
declare class Popover extends Component {
|
|
219
|
+
/** @type {PopoverOptions} */
|
|
220
|
+
static defaults: PopoverOptions;
|
|
221
|
+
/**
|
|
222
|
+
* Turn every `[data-popover]` (or `[data-popover-content]`) under `root`
|
|
223
|
+
* into a popover. Safe to call again: a trigger that already has one is
|
|
224
|
+
* skipped. Returns the instances created.
|
|
225
|
+
*
|
|
226
|
+
* @param {Element|Document|string} [root=document]
|
|
227
|
+
* @param {((el: HTMLElement, options: PopoverOptions) => Popover)|null} [factory] - defaults to `new Popover`
|
|
228
|
+
* @returns {Popover[]}
|
|
229
|
+
*/
|
|
230
|
+
static scan(root?: Element | Document | string, factory?: ((el: HTMLElement, options: PopoverOptions) => Popover) | null): Popover[];
|
|
231
|
+
/**
|
|
232
|
+
* Read the declarative options off a trigger's data-popover-* attributes.
|
|
233
|
+
* @param {HTMLElement} el
|
|
234
|
+
* @returns {PopoverOptions}
|
|
235
|
+
*/
|
|
236
|
+
static optionsFromAttributes(el: HTMLElement): PopoverOptions;
|
|
237
|
+
/**
|
|
238
|
+
* Close every open popover, or only those in `group`.
|
|
239
|
+
* @param {string|null} [group]
|
|
240
|
+
* @returns {void}
|
|
241
|
+
*/
|
|
242
|
+
static closeAll(group?: string | null): void;
|
|
243
|
+
/**
|
|
244
|
+
* The popover bound to a trigger, if any - the same answer as E.get(trigger, 'popover').
|
|
245
|
+
* @param {string|HTMLElement} trigger
|
|
246
|
+
* @returns {Popover|null}
|
|
247
|
+
*/
|
|
248
|
+
static getInstance(trigger: string | HTMLElement): Popover | null;
|
|
249
|
+
/**
|
|
250
|
+
* The open popovers, oldest first.
|
|
251
|
+
* @returns {Popover[]}
|
|
252
|
+
*/
|
|
253
|
+
static openPopovers(): Popover[];
|
|
254
|
+
/**
|
|
255
|
+
* @param {string|HTMLElement|ArrayLike<HTMLElement>|null} trigger - Selector, element or collection
|
|
256
|
+
* @param {PopoverOptions} [options]
|
|
257
|
+
*/
|
|
258
|
+
constructor(trigger: string | HTMLElement | ArrayLike<HTMLElement> | null, options?: PopoverOptions);
|
|
259
|
+
_open: boolean;
|
|
260
|
+
_panel: HTMLDivElement;
|
|
261
|
+
_parent: any;
|
|
262
|
+
_timers: {
|
|
263
|
+
show: any;
|
|
264
|
+
hide: any;
|
|
265
|
+
remove: any;
|
|
266
|
+
shown: any;
|
|
267
|
+
};
|
|
268
|
+
_triggerHandlers: any[];
|
|
269
|
+
_openHandlers: any[];
|
|
270
|
+
_savedAttrs: {};
|
|
271
|
+
_frame: any;
|
|
272
|
+
_resizeObserver: ResizeObserver;
|
|
273
|
+
_destroyed: boolean;
|
|
274
|
+
/** Panel id. @type {string} */
|
|
275
|
+
id: string;
|
|
276
|
+
/**
|
|
277
|
+
* The panel element (created on first show).
|
|
278
|
+
* @returns {HTMLElement|null}
|
|
279
|
+
*/
|
|
280
|
+
get panel(): HTMLElement;
|
|
281
|
+
/**
|
|
282
|
+
* The trigger element.
|
|
283
|
+
* @returns {HTMLElement|null}
|
|
284
|
+
*/
|
|
285
|
+
get trigger(): HTMLElement;
|
|
286
|
+
/** @returns {boolean} */
|
|
287
|
+
isOpen(): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Open the popover.
|
|
290
|
+
* @param {{focus?: boolean}} [opts] - focus overrides `autoFocus` for this open
|
|
291
|
+
* @returns {this}
|
|
292
|
+
*/
|
|
293
|
+
show(opts?: {
|
|
294
|
+
focus?: boolean;
|
|
295
|
+
}): this;
|
|
296
|
+
_openedBy: any;
|
|
297
|
+
/**
|
|
298
|
+
* Close the popover.
|
|
299
|
+
* @param {{returnFocus?: boolean}} [opts] - default: only when focus is inside the panel
|
|
300
|
+
* @returns {this}
|
|
301
|
+
*/
|
|
302
|
+
hide(opts?: {
|
|
303
|
+
returnFocus?: boolean;
|
|
304
|
+
}): this;
|
|
305
|
+
_returningFocus: boolean;
|
|
306
|
+
/**
|
|
307
|
+
* @param {{focus?: boolean, returnFocus?: boolean}} [opts]
|
|
308
|
+
* @returns {this}
|
|
309
|
+
*/
|
|
310
|
+
toggle(opts?: {
|
|
311
|
+
focus?: boolean;
|
|
312
|
+
returnFocus?: boolean;
|
|
313
|
+
}): this;
|
|
314
|
+
/**
|
|
315
|
+
* Alias of show().
|
|
316
|
+
* @param {...{focus?: boolean}} args - passed to show()
|
|
317
|
+
* @returns {this}
|
|
318
|
+
*/
|
|
319
|
+
open(...args: {
|
|
320
|
+
focus?: boolean;
|
|
321
|
+
}[]): this;
|
|
322
|
+
/**
|
|
323
|
+
* Alias of hide().
|
|
324
|
+
* @param {...{returnFocus?: boolean}} args - passed to hide()
|
|
325
|
+
* @returns {this}
|
|
326
|
+
*/
|
|
327
|
+
close(...args: {
|
|
328
|
+
returnFocus?: boolean;
|
|
329
|
+
}[]): this;
|
|
330
|
+
/**
|
|
331
|
+
* Alias of isOpen().
|
|
332
|
+
* @returns {boolean}
|
|
333
|
+
*/
|
|
334
|
+
isVisible(): boolean;
|
|
335
|
+
/**
|
|
336
|
+
* Replace the content. Same types as the `content` option.
|
|
337
|
+
* @param {PopoverContent} content
|
|
338
|
+
* @returns {this}
|
|
339
|
+
*/
|
|
340
|
+
setContent(content: PopoverContent): this;
|
|
341
|
+
/**
|
|
342
|
+
* Replace the title. An empty value removes the header.
|
|
343
|
+
* @param {PopoverContent} title
|
|
344
|
+
* @returns {this}
|
|
345
|
+
*/
|
|
346
|
+
setTitle(title: PopoverContent): this;
|
|
347
|
+
/**
|
|
348
|
+
* Recalculate the position (after the trigger moved or the content changed size).
|
|
349
|
+
* @returns {this}
|
|
350
|
+
*/
|
|
351
|
+
update(): this;
|
|
352
|
+
_trap: FocusTrap;
|
|
353
|
+
/**
|
|
354
|
+
* @param {PopoverOptions} [newOptions]
|
|
355
|
+
* @returns {this}
|
|
356
|
+
*/
|
|
357
|
+
setOptions(newOptions?: PopoverOptions): this;
|
|
358
|
+
_changedKeys: string[];
|
|
359
|
+
_applyOptions(): void;
|
|
360
|
+
_triggers(): string[];
|
|
361
|
+
_role(): any;
|
|
362
|
+
_closesOnFocusLeave(): any;
|
|
363
|
+
_on(el: any, event: any, handler: any, list: any): void;
|
|
364
|
+
_bindTrigger(): void;
|
|
365
|
+
_unbindTrigger(): void;
|
|
366
|
+
_scheduleShow(ms: any): void;
|
|
367
|
+
/** `reason` is what asked: a popover a click opened (or claimed) ignores hover and focus leaving. */
|
|
368
|
+
_scheduleHide(ms: any, reason?: any): void;
|
|
369
|
+
_saveAttrs(): void;
|
|
370
|
+
_restoreAttrs(): void;
|
|
371
|
+
_applyTriggerAria(): void;
|
|
372
|
+
_setExpanded(open: any): void;
|
|
373
|
+
_ensurePanel(): HTMLDivElement;
|
|
374
|
+
_parts: {
|
|
375
|
+
arrow: HTMLDivElement;
|
|
376
|
+
header: HTMLDivElement;
|
|
377
|
+
title: HTMLDivElement;
|
|
378
|
+
body: HTMLDivElement;
|
|
379
|
+
close: HTMLButtonElement;
|
|
380
|
+
};
|
|
381
|
+
_styleNode(): void;
|
|
382
|
+
_render(): void;
|
|
383
|
+
_renderTitle(): void;
|
|
384
|
+
_renderBody(): void;
|
|
385
|
+
_label(): void;
|
|
386
|
+
/**
|
|
387
|
+
* Put a content value into `el`. Returns whether anything was put there.
|
|
388
|
+
* Text by default; nodes are appended as they are; strings become HTML
|
|
389
|
+
* only with `html: true`, and then only after sanitising.
|
|
390
|
+
*/
|
|
391
|
+
_fill(el: any, value: any): boolean;
|
|
392
|
+
_duration(): number;
|
|
393
|
+
/** trapFocus: a FocusTrap round the panel while focus is in it. */
|
|
394
|
+
_holdTrap(): void;
|
|
395
|
+
_releaseTrap(): void;
|
|
396
|
+
/** First tabbable in the content; the panel itself when there is none. */
|
|
397
|
+
_focusInside(): void;
|
|
398
|
+
_onPanelKeyDown(e: any): void;
|
|
399
|
+
_nextTabbableAfterTrigger(): HTMLElement;
|
|
400
|
+
_bindOpen(): void;
|
|
401
|
+
_frameIsTimeout: boolean;
|
|
402
|
+
_unbindOpen(): void;
|
|
403
|
+
_contains(node: any): boolean;
|
|
404
|
+
_isAncestorOf(other: any): boolean;
|
|
405
|
+
_position(): void;
|
|
406
|
+
/**
|
|
407
|
+
* Run the callback, then the .on() listeners and `dm:popover:<name>`. For a
|
|
408
|
+
* cancelable phase, returns false when any of them said no.
|
|
409
|
+
*/
|
|
410
|
+
_phase(name: any, cancelable?: boolean): boolean;
|
|
411
|
+
}
|
|
412
|
+
import Component from './component.js';
|
|
413
|
+
import FocusTrap from './components/focus-trap.js';
|