domma-js 0.55.0 → 0.57.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.
Files changed (116) hide show
  1. package/assets/types/generated/public/assets/flags/africa.d.ts +6 -0
  2. package/assets/types/generated/public/assets/flags/americas.d.ts +6 -0
  3. package/assets/types/generated/public/assets/flags/asia.d.ts +6 -0
  4. package/assets/types/generated/public/assets/flags/europe.d.ts +9 -0
  5. package/assets/types/generated/public/assets/flags/index.d.ts +11 -0
  6. package/assets/types/generated/public/assets/flags/oceania.d.ts +2 -0
  7. package/assets/types/generated/public/assets/icons/buildings.d.ts +6 -0
  8. package/assets/types/generated/public/assets/icons/code.d.ts +2 -0
  9. package/assets/types/generated/public/assets/icons/commerce.d.ts +7 -0
  10. package/assets/types/generated/public/assets/icons/communication.d.ts +7 -0
  11. package/assets/types/generated/public/assets/icons/devices.d.ts +6 -0
  12. package/assets/types/generated/public/assets/icons/emojis.d.ts +6 -0
  13. package/assets/types/generated/public/assets/icons/files.d.ts +7 -0
  14. package/assets/types/generated/public/assets/icons/finance.d.ts +6 -0
  15. package/assets/types/generated/public/assets/icons/forms.d.ts +5 -0
  16. package/assets/types/generated/public/assets/icons/health.d.ts +6 -0
  17. package/assets/types/generated/public/assets/icons/index.d.ts +24 -0
  18. package/assets/types/generated/public/assets/icons/media.d.ts +7 -0
  19. package/assets/types/generated/public/assets/icons/navigation.d.ts +7 -0
  20. package/assets/types/generated/public/assets/icons/seasonal.d.ts +6 -0
  21. package/assets/types/generated/public/assets/icons/social.d.ts +7 -0
  22. package/assets/types/generated/public/assets/icons/sport.d.ts +6 -0
  23. package/assets/types/generated/public/assets/icons/status.d.ts +7 -0
  24. package/assets/types/generated/public/assets/icons/transport.d.ts +7 -0
  25. package/assets/types/generated/public/assets/icons/ui.d.ts +7 -0
  26. package/assets/types/generated/public/assets/icons/weather.d.ts +6 -0
  27. package/assets/types/generated/src/auth.d.ts +424 -0
  28. package/assets/types/generated/src/avatar.d.ts +270 -0
  29. package/assets/types/generated/src/binding-source.d.ts +58 -0
  30. package/assets/types/generated/src/butterfly-drawing.d.ts +2 -0
  31. package/assets/types/generated/src/component-factory.d.ts +150 -0
  32. package/assets/types/generated/src/component.d.ts +162 -0
  33. package/assets/types/generated/src/components/back-to-top.d.ts +150 -0
  34. package/assets/types/generated/src/components/badge.d.ts +208 -0
  35. package/assets/types/generated/src/components/card.d.ts +189 -0
  36. package/assets/types/generated/src/components/command-palette.d.ts +352 -0
  37. package/assets/types/generated/src/components/dropzone.d.ts +342 -0
  38. package/assets/types/generated/src/components/focus-trap.d.ts +238 -0
  39. package/assets/types/generated/src/components/loader.d.ts +133 -0
  40. package/assets/types/generated/src/components/modal.d.ts +341 -0
  41. package/assets/types/generated/src/components/range-slider.d.ts +267 -0
  42. package/assets/types/generated/src/components/shared.d.ts +91 -0
  43. package/assets/types/generated/src/components/split-pane.d.ts +239 -0
  44. package/assets/types/generated/src/components/toast.d.ts +284 -0
  45. package/assets/types/generated/src/components/tooltip.d.ts +200 -0
  46. package/assets/types/generated/src/components/virtual-list.d.ts +340 -0
  47. package/assets/types/generated/src/config.d.ts +193 -0
  48. package/assets/types/generated/src/context-cursor.d.ts +69 -0
  49. package/assets/types/generated/src/context-menu.d.ts +596 -0
  50. package/assets/types/generated/src/dates.d.ts +367 -0
  51. package/assets/types/generated/src/dom.d.ts +1221 -0
  52. package/assets/types/generated/src/effects.d.ts +1281 -0
  53. package/assets/types/generated/src/elements.d.ts +4996 -0
  54. package/assets/types/generated/src/escape.d.ts +5 -0
  55. package/assets/types/generated/src/flags-bundle.d.ts +4 -0
  56. package/assets/types/generated/src/flags.d.ts +338 -0
  57. package/assets/types/generated/src/forms.d.ts +1060 -0
  58. package/assets/types/generated/src/globals.d.ts +45 -0
  59. package/assets/types/generated/src/http.d.ts +131 -0
  60. package/assets/types/generated/src/i18n.d.ts +261 -0
  61. package/assets/types/generated/src/icons.d.ts +213 -0
  62. package/assets/types/generated/src/index.d.ts +249 -0
  63. package/assets/types/generated/src/input-group.d.ts +135 -0
  64. package/assets/types/generated/src/models.d.ts +968 -0
  65. package/assets/types/generated/src/popover.d.ts +412 -0
  66. package/assets/types/generated/src/router.d.ts +344 -0
  67. package/assets/types/generated/src/safe-url.d.ts +10 -0
  68. package/assets/types/generated/src/sanitize.d.ts +97 -0
  69. package/assets/types/generated/src/schema-builder.d.ts +420 -0
  70. package/assets/types/generated/src/skeleton.d.ts +135 -0
  71. package/assets/types/generated/src/smooth-caret.d.ts +61 -0
  72. package/assets/types/generated/src/sortable.d.ts +369 -0
  73. package/assets/types/generated/src/storage.d.ts +93 -0
  74. package/assets/types/generated/src/tables.d.ts +901 -0
  75. package/assets/types/generated/src/theme.d.ts +277 -0
  76. package/assets/types/generated/src/ticker-tape-drawing.d.ts +2 -0
  77. package/assets/types/generated/src/treeview.d.ts +504 -0
  78. package/assets/types/generated/src/utils.d.ts +1667 -0
  79. package/assets/types/generated/src/web-components/base/domma-element.d.ts +134 -0
  80. package/assets/types/generated/src/web-components/index.d.ts +14 -0
  81. package/assets/types/generated/vendor/domma-reactive.d.ts +587 -0
  82. package/assets/types/index.d.ts +104 -216
  83. package/package.json +5 -2
  84. package/public/dist/bundles/domma-complete.css +1084 -14
  85. package/public/dist/bundles/domma-data-focused.css +1084 -14
  86. package/public/dist/bundles/domma-essentials.css +1084 -14
  87. package/public/dist/bundles/domma-full.css +1084 -14
  88. package/public/dist/bundles/domma-minimal.css +8 -8
  89. package/public/dist/domma-flags.esm.js +3 -3
  90. package/public/dist/domma-flags.esm.js.map +1 -1
  91. package/public/dist/domma-flags.min.js +3 -3
  92. package/public/dist/domma-flags.min.js.map +1 -1
  93. package/public/dist/domma-syntax.min.js +3 -3
  94. package/public/dist/domma.css +3 -3
  95. package/public/dist/domma.esm.js +5 -5
  96. package/public/dist/domma.esm.js.map +1 -1
  97. package/public/dist/domma.min.js +5 -5
  98. package/public/dist/domma.min.js.map +1 -1
  99. package/public/dist/elements.css +1073 -3
  100. package/public/dist/grid.css +3 -3
  101. package/public/dist/syntax.css +3 -3
  102. package/public/dist/themes/domma-themes.css +3 -3
  103. package/templates/kickstart/frontend/types/domma.d.ts +2 -1
  104. package/assets/types/config.d.ts +0 -136
  105. package/assets/types/dates.d.ts +0 -209
  106. package/assets/types/dom.d.ts +0 -448
  107. package/assets/types/elements.d.ts +0 -682
  108. package/assets/types/flags.d.ts +0 -130
  109. package/assets/types/http.d.ts +0 -97
  110. package/assets/types/icons.d.ts +0 -147
  111. package/assets/types/models.d.ts +0 -260
  112. package/assets/types/smooth-caret.d.ts +0 -12
  113. package/assets/types/storage.d.ts +0 -93
  114. package/assets/types/tables.d.ts +0 -327
  115. package/assets/types/theme.d.ts +0 -137
  116. package/assets/types/utils.d.ts +0 -675
@@ -0,0 +1,239 @@
1
+ /**
2
+ * E.splitPane: one instance per container; calling it again updates the existing one.
3
+ * @param {Element} el
4
+ * @param {SplitPaneOptions} [options]
5
+ * @returns {SplitPane}
6
+ */
7
+ export function splitPaneFor(el: Element, options?: SplitPaneOptions): SplitPane;
8
+ /**
9
+ * A pane size limit: px as a number, or a percentage string such as '20%'.
10
+ * @typedef {number|string} SplitPaneSize
11
+ */
12
+ /**
13
+ * @typedef {object} SplitPaneOptions
14
+ * @property {'horizontal'|'vertical'} [direction] - 'horizontal' = side by side (default), 'vertical' = stacked
15
+ * @property {number[]|null} [sizes] - Percentages, one per pane (scaled to add up to 100); equal by default
16
+ * @property {SplitPaneSize|SplitPaneSize[]} [minSize] - Minimum size, one value or one per pane (default 0)
17
+ * @property {SplitPaneSize|null|Array<SplitPaneSize|null>} [maxSize] - Maximum size, one value or one per pane (default none)
18
+ * @property {number} [gutterSize] - Gutter thickness in px (default 8)
19
+ * @property {number} [snapOffset] - Snap to a limit when dragged within this many px of it (default 0)
20
+ * @property {boolean|boolean[]} [collapsible] - Which panes the gutter gestures may collapse
21
+ * @property {SplitPaneSize|SplitPaneSize[]} [collapsedSize] - What a collapsed pane shrinks to (default 0)
22
+ * @property {boolean} [collapseButton] - A small toggle button in gutters next to a collapsible pane
23
+ * @property {string|null} [persistKey] - Remember sizes and collapse state with S under 'split-pane:<key>'
24
+ * @property {string|null} [cursor] - Gutter cursor (default col-resize / row-resize)
25
+ * @property {boolean} [disabled]
26
+ * @property {number} [step] - Percent per arrow key (default 1)
27
+ * @property {number} [largeStep] - Percent per Shift+arrow (default 10)
28
+ * @property {string} [gutterLabel] - The gutters' aria-label
29
+ * @property {((gutterIndex: number, event: PointerEvent) => boolean|void)|null} [onBeforeDrag] - Return false to refuse a drag
30
+ * @property {((sizes: number[], gutterIndex: number) => void)|null} [onDragStart]
31
+ * @property {((sizes: number[], gutterIndex: number) => void)|null} [onDrag]
32
+ * @property {((sizes: number[], gutterIndex: number) => void)|null} [onDragEnd]
33
+ * @property {((sizes: number[]) => void)|null} [onResize] - Any size change: drag, keys, setSizes, collapse
34
+ * @property {((paneIndex: number) => void)|null} [onCollapse]
35
+ * @property {((paneIndex: number) => void)|null} [onExpand]
36
+ */
37
+ /** @typedef {SplitPane} SplitPaneInstance */
38
+ export class SplitPane extends Component {
39
+ static defaults: {
40
+ direction: string;
41
+ sizes: any;
42
+ minSize: number;
43
+ maxSize: any;
44
+ gutterSize: number;
45
+ snapOffset: number;
46
+ collapsible: boolean;
47
+ collapsedSize: number;
48
+ collapseButton: boolean;
49
+ persistKey: any;
50
+ cursor: any;
51
+ disabled: boolean;
52
+ step: number;
53
+ largeStep: number;
54
+ gutterLabel: string;
55
+ onBeforeDrag: any;
56
+ onDragStart: any;
57
+ onDrag: any;
58
+ onDragEnd: any;
59
+ onResize: any;
60
+ onCollapse: any;
61
+ onExpand: any;
62
+ };
63
+ /**
64
+ * @param {string|HTMLElement} element - The container; its element children are the panes
65
+ * @param {SplitPaneOptions} [options]
66
+ */
67
+ constructor(element: string | HTMLElement, options?: SplitPaneOptions);
68
+ _gutters: any[];
69
+ _drag: {
70
+ index: any;
71
+ pointerId: any;
72
+ start: any;
73
+ startSize: any;
74
+ available: number;
75
+ sign: number;
76
+ gutter: any;
77
+ };
78
+ _collapsed: any[];
79
+ _restoreTo: any[];
80
+ _addedIds: any[];
81
+ _frame: number;
82
+ _containerStyle: string;
83
+ /** The pane elements. @type {HTMLElement[]} */
84
+ panes: HTMLElement[];
85
+ _paneStyles: string[];
86
+ get horizontal(): boolean;
87
+ _build(): void;
88
+ _sizes: any;
89
+ _observer: ResizeObserver;
90
+ _makeGutter(i: any): HTMLDivElement;
91
+ /** Settings that can change after set-up: disabled, gutter size, cursor, label, buttons. */
92
+ _applyOptions(): void;
93
+ _syncButton(gutter: any, i: any): void;
94
+ /** Sizes as percentages that add up to 100, one per pane. */
95
+ _normalise(sizes: any): any[];
96
+ /** Space shared by the panes: the container less its gutters, in px. */
97
+ _available(): number;
98
+ /** A px number or '%' string as a percentage of the shared space. */
99
+ _toPercent(value: any, available: any, fallback: any): any;
100
+ _limits(i: any, available?: number): {
101
+ min: any;
102
+ max: number;
103
+ };
104
+ /** Pull every pane inside its limits, moving the difference to its neighbours. */
105
+ _clampAll(sizes: any): any;
106
+ /** Pane indexes ordered by distance from i, nearest first. */
107
+ _neighbours(i: any): any[];
108
+ _apply(sizes: any): void;
109
+ _syncAria(): void;
110
+ /**
111
+ * Move the boundary between pane i and pane i + 1 so pane i is `want` percent,
112
+ * within both panes' limits.
113
+ */
114
+ _moveBoundary(i: any, want: any, { snap }?: {
115
+ snap?: boolean;
116
+ }): boolean;
117
+ _onPointerDown(e: any, i: any): void;
118
+ _onPointerMove: (e: any) => void;
119
+ _onPointerUp: (e: any) => void;
120
+ /** Dragging either side of a collapsed pane opens it from its collapsed size. */
121
+ _uncollapseForDrag(i: any): void;
122
+ _onKey(e: any, i: any): void;
123
+ _isCollapsible(i: any): boolean;
124
+ /** The pane a gutter collapses: the one before it if it may, else the one after. */
125
+ _collapseTarget(gutter: any): any;
126
+ _toggleFromGutter(i: any): void;
127
+ /**
128
+ * Collapse a pane toward the edge it sits against; the space goes to its neighbour.
129
+ * Works on any pane, collapsible or not (the option only governs the gutter's gestures).
130
+ * @param {number} i - pane index
131
+ * @returns {this}
132
+ */
133
+ collapse(i: number): this;
134
+ /**
135
+ * Restore a collapsed pane to the size it had, taking the space back from its neighbour.
136
+ * @param {number} i - pane index
137
+ * @returns {this}
138
+ */
139
+ expand(i: number): this;
140
+ /** @param {number} i @returns {boolean} whether pane i is collapsed */
141
+ isCollapsed(i: number): boolean;
142
+ /**
143
+ * The pane sizes, as percentages of the space the panes share (they add up to 100).
144
+ * @returns {number[]}
145
+ */
146
+ getSizes(): number[];
147
+ /**
148
+ * Set every pane's size. The array is scaled to add up to 100 and then pulled inside
149
+ * each pane's limits. Collapsed panes are expanded.
150
+ * @param {number[]} sizes - one per pane
151
+ * @returns {this}
152
+ */
153
+ setSizes(sizes: number[]): this;
154
+ _load(): {
155
+ sizes: any[];
156
+ collapsed: any;
157
+ restoreTo: any;
158
+ };
159
+ _save(): void;
160
+ }
161
+ export default SplitPane;
162
+ /**
163
+ * A pane size limit: px as a number, or a percentage string such as '20%'.
164
+ */
165
+ export type SplitPaneSize = number | string;
166
+ export type SplitPaneOptions = {
167
+ /**
168
+ * - 'horizontal' = side by side (default), 'vertical' = stacked
169
+ */
170
+ direction?: "horizontal" | "vertical";
171
+ /**
172
+ * - Percentages, one per pane (scaled to add up to 100); equal by default
173
+ */
174
+ sizes?: number[] | null;
175
+ /**
176
+ * - Minimum size, one value or one per pane (default 0)
177
+ */
178
+ minSize?: SplitPaneSize | SplitPaneSize[];
179
+ /**
180
+ * - Maximum size, one value or one per pane (default none)
181
+ */
182
+ maxSize?: SplitPaneSize | null | Array<SplitPaneSize | null>;
183
+ /**
184
+ * - Gutter thickness in px (default 8)
185
+ */
186
+ gutterSize?: number;
187
+ /**
188
+ * - Snap to a limit when dragged within this many px of it (default 0)
189
+ */
190
+ snapOffset?: number;
191
+ /**
192
+ * - Which panes the gutter gestures may collapse
193
+ */
194
+ collapsible?: boolean | boolean[];
195
+ /**
196
+ * - What a collapsed pane shrinks to (default 0)
197
+ */
198
+ collapsedSize?: SplitPaneSize | SplitPaneSize[];
199
+ /**
200
+ * - A small toggle button in gutters next to a collapsible pane
201
+ */
202
+ collapseButton?: boolean;
203
+ /**
204
+ * - Remember sizes and collapse state with S under 'split-pane:<key>'
205
+ */
206
+ persistKey?: string | null;
207
+ /**
208
+ * - Gutter cursor (default col-resize / row-resize)
209
+ */
210
+ cursor?: string | null;
211
+ disabled?: boolean;
212
+ /**
213
+ * - Percent per arrow key (default 1)
214
+ */
215
+ step?: number;
216
+ /**
217
+ * - Percent per Shift+arrow (default 10)
218
+ */
219
+ largeStep?: number;
220
+ /**
221
+ * - The gutters' aria-label
222
+ */
223
+ gutterLabel?: string;
224
+ /**
225
+ * - Return false to refuse a drag
226
+ */
227
+ onBeforeDrag?: ((gutterIndex: number, event: PointerEvent) => boolean | void) | null;
228
+ onDragStart?: ((sizes: number[], gutterIndex: number) => void) | null;
229
+ onDrag?: ((sizes: number[], gutterIndex: number) => void) | null;
230
+ onDragEnd?: ((sizes: number[], gutterIndex: number) => void) | null;
231
+ /**
232
+ * - Any size change: drag, keys, setSizes, collapse
233
+ */
234
+ onResize?: ((sizes: number[]) => void) | null;
235
+ onCollapse?: ((paneIndex: number) => void) | null;
236
+ onExpand?: ((paneIndex: number) => void) | null;
237
+ };
238
+ export type SplitPaneInstance = SplitPane;
239
+ import Component from '../component.js';
@@ -0,0 +1,284 @@
1
+ /**
2
+ * Show a toast.
3
+ * @param {string|Node|ToastOptions} message - the text (or `{message, ...options}`)
4
+ * @param {ToastOptions} [options]
5
+ * @returns {Toast}
6
+ */
7
+ export function showToast(message: string | Node | ToastOptions, options?: ToastOptions): Toast;
8
+ /**
9
+ * An action button in a toast.
10
+ * @typedef {object} ToastAction
11
+ * @property {string} [label='OK'] - Button label (`text` is accepted too)
12
+ * @property {string} [text] - Alias of `label`
13
+ * @property {(event: MouseEvent, toast: ToastInstance) => void} [onClick] - Click handler
14
+ * @property {boolean} [closeOnClick=true] - Close toast on click
15
+ * @property {boolean} [primary] - Primary style
16
+ */
17
+ /**
18
+ * @typedef {object} ToastOptions
19
+ * @property {string|Node} [message] - The message (text unless `html: true`)
20
+ * @property {string} [title] - Toast title
21
+ * @property {import('../elements.js').ToastType} [type='default'] - Toast type
22
+ * @property {import('../elements.js').ToastPosition} [position='top-right'] - Toast position
23
+ * @property {number} [duration=3000] - Auto-dismiss duration in ms (0 = no auto-dismiss)
24
+ * @property {boolean} [pauseOnHover=true] - Pause countdown on hover
25
+ * @property {boolean} [showProgress=true] - Show progress bar
26
+ * @property {'slide'|'fade'|(string & {})} [animation='slide'] - Animation style
27
+ * @property {number} [animationDuration=300] - Animation duration in ms
28
+ * @property {boolean} [closable=true] - Show close button
29
+ * @property {boolean} [html=false] - The message is HTML (sanitised unless `safe: false`)
30
+ * @property {boolean} [safe=true] - Sanitise HTML message / icon
31
+ * @property {string|Node|null} [icon] - Icon name (data-icon), HTML string or Node; the typed helpers default to the type's icon
32
+ * @property {ToastAction[]} [actions] - Action buttons
33
+ * @property {ToastAction} [action] - One action button (used when `actions` is empty)
34
+ * @property {number} [maxToasts=5] - Maximum number of toasts on screen; the oldest closes
35
+ * @property {string} [className] - Extra classes on the toast
36
+ * @property {((toast: ToastInstance) => void)|null} [onShow] - When the toast shows
37
+ * @property {((toast: ToastInstance) => void)|null} [onClose] - After the exit animation, just before removal
38
+ * @property {((toast: ToastInstance) => void)|null} [onPause] - The countdown paused (hover)
39
+ * @property {((toast: ToastInstance) => void)|null} [onResume] - The countdown resumed
40
+ * @property {((detail: {action: ToastAction, index: number}, toast: ToastInstance) => void)|null} [onAction] - An action button was clicked
41
+ */
42
+ /** @typedef {Toast} ToastInstance */
43
+ /**
44
+ * E.toast: show a toast, with typed helpers.
45
+ * @typedef {((message: string|Node|ToastOptions, options?: ToastOptions) => ToastInstance) & {
46
+ * show(message: string|Node|ToastOptions, options?: ToastOptions): ToastInstance,
47
+ * success(message: string|Node, options?: ToastOptions): ToastInstance,
48
+ * error(message: string|Node, options?: ToastOptions): ToastInstance,
49
+ * warning(message: string|Node, options?: ToastOptions): ToastInstance,
50
+ * info(message: string|Node, options?: ToastOptions): ToastInstance,
51
+ * closeAll(): void
52
+ * }} ToastStatic
53
+ */
54
+ export class Toast extends Component {
55
+ static defaults: {
56
+ message: string;
57
+ title: string;
58
+ type: string;
59
+ position: string;
60
+ duration: number;
61
+ pauseOnHover: boolean;
62
+ showProgress: boolean;
63
+ animation: string;
64
+ animationDuration: number;
65
+ closable: boolean;
66
+ html: boolean;
67
+ safe: boolean;
68
+ icon: string;
69
+ actions: any[];
70
+ maxToasts: number;
71
+ className: string;
72
+ onShow: any;
73
+ onClose: any;
74
+ onPause: any;
75
+ onResume: any;
76
+ onAction: any;
77
+ };
78
+ /**
79
+ * @param {string|Node} [message]
80
+ * @param {ToastOptions} [options]
81
+ */
82
+ constructor(message?: string | Node, options?: ToastOptions);
83
+ _visible: boolean;
84
+ _timer: number;
85
+ _remaining: number;
86
+ _started: number;
87
+ _paused: boolean;
88
+ _render(): void;
89
+ _titleEl: HTMLDivElement;
90
+ _messageEl: HTMLDivElement;
91
+ _actionsEl: HTMLDivElement;
92
+ _bar: HTMLDivElement;
93
+ _writeMessage(): void;
94
+ _renderActions(): void;
95
+ _bind(): void;
96
+ _startTimer(): void;
97
+ _pause(): void;
98
+ _resume(): void;
99
+ /**
100
+ * Put the toast on screen (E.toast() does this).
101
+ * @returns {this}
102
+ */
103
+ open(): this;
104
+ /**
105
+ * Close the toast (removed after the exit animation).
106
+ * @returns {this}
107
+ */
108
+ close(): this;
109
+ /**
110
+ * Permanent alias of open(), by name.
111
+ * @returns {this}
112
+ */
113
+ show(...args: any[]): this;
114
+ /**
115
+ * Permanent alias of close(), by name.
116
+ * @returns {this}
117
+ */
118
+ hide(...args: any[]): this;
119
+ /** @returns {this} */
120
+ toggle(): this;
121
+ /** @returns {boolean} */
122
+ isVisible(): boolean;
123
+ /** @returns {boolean} */
124
+ isOpen(): boolean;
125
+ /**
126
+ * Update the message.
127
+ * @param {string|Node} message
128
+ * @returns {this}
129
+ */
130
+ setMessage(message: string | Node): this;
131
+ /**
132
+ * @param {string} title - Empty hides the title
133
+ * @returns {this}
134
+ */
135
+ setTitle(title: string): this;
136
+ /**
137
+ * @param {import('../elements.js').ToastType} type
138
+ * @returns {this}
139
+ */
140
+ setType(type: import("../elements.js").ToastType): this;
141
+ /**
142
+ * @param {ToastAction[]|null} actions
143
+ * @returns {this}
144
+ */
145
+ setActions(actions: ToastAction[] | null): this;
146
+ _applyOptions(): void;
147
+ }
148
+ /**
149
+ * The E.toast function with its statics.
150
+ * @type {ToastStatic}
151
+ */
152
+ export const toast: ToastStatic;
153
+ export default Toast;
154
+ /**
155
+ * An action button in a toast.
156
+ */
157
+ export type ToastAction = {
158
+ /**
159
+ * - Button label (`text` is accepted too)
160
+ */
161
+ label?: string;
162
+ /**
163
+ * - Alias of `label`
164
+ */
165
+ text?: string;
166
+ /**
167
+ * - Click handler
168
+ */
169
+ onClick?: (event: MouseEvent, toast: ToastInstance) => void;
170
+ /**
171
+ * - Close toast on click
172
+ */
173
+ closeOnClick?: boolean;
174
+ /**
175
+ * - Primary style
176
+ */
177
+ primary?: boolean;
178
+ };
179
+ export type ToastOptions = {
180
+ /**
181
+ * - The message (text unless `html: true`)
182
+ */
183
+ message?: string | Node;
184
+ /**
185
+ * - Toast title
186
+ */
187
+ title?: string;
188
+ /**
189
+ * - Toast type
190
+ */
191
+ type?: import("../elements.js").ToastType;
192
+ /**
193
+ * - Toast position
194
+ */
195
+ position?: import("../elements.js").ToastPosition;
196
+ /**
197
+ * - Auto-dismiss duration in ms (0 = no auto-dismiss)
198
+ */
199
+ duration?: number;
200
+ /**
201
+ * - Pause countdown on hover
202
+ */
203
+ pauseOnHover?: boolean;
204
+ /**
205
+ * - Show progress bar
206
+ */
207
+ showProgress?: boolean;
208
+ /**
209
+ * - Animation style
210
+ */
211
+ animation?: "slide" | "fade" | (string & {});
212
+ /**
213
+ * - Animation duration in ms
214
+ */
215
+ animationDuration?: number;
216
+ /**
217
+ * - Show close button
218
+ */
219
+ closable?: boolean;
220
+ /**
221
+ * - The message is HTML (sanitised unless `safe: false`)
222
+ */
223
+ html?: boolean;
224
+ /**
225
+ * - Sanitise HTML message / icon
226
+ */
227
+ safe?: boolean;
228
+ /**
229
+ * - Icon name (data-icon), HTML string or Node; the typed helpers default to the type's icon
230
+ */
231
+ icon?: string | Node | null;
232
+ /**
233
+ * - Action buttons
234
+ */
235
+ actions?: ToastAction[];
236
+ /**
237
+ * - One action button (used when `actions` is empty)
238
+ */
239
+ action?: ToastAction;
240
+ /**
241
+ * - Maximum number of toasts on screen; the oldest closes
242
+ */
243
+ maxToasts?: number;
244
+ /**
245
+ * - Extra classes on the toast
246
+ */
247
+ className?: string;
248
+ /**
249
+ * - When the toast shows
250
+ */
251
+ onShow?: ((toast: ToastInstance) => void) | null;
252
+ /**
253
+ * - After the exit animation, just before removal
254
+ */
255
+ onClose?: ((toast: ToastInstance) => void) | null;
256
+ /**
257
+ * - The countdown paused (hover)
258
+ */
259
+ onPause?: ((toast: ToastInstance) => void) | null;
260
+ /**
261
+ * - The countdown resumed
262
+ */
263
+ onResume?: ((toast: ToastInstance) => void) | null;
264
+ /**
265
+ * - An action button was clicked
266
+ */
267
+ onAction?: ((detail: {
268
+ action: ToastAction;
269
+ index: number;
270
+ }, toast: ToastInstance) => void) | null;
271
+ };
272
+ export type ToastInstance = Toast;
273
+ /**
274
+ * E.toast: show a toast, with typed helpers.
275
+ */
276
+ export type ToastStatic = ((message: string | Node | ToastOptions, options?: ToastOptions) => ToastInstance) & {
277
+ show(message: string | Node | ToastOptions, options?: ToastOptions): ToastInstance;
278
+ success(message: string | Node, options?: ToastOptions): ToastInstance;
279
+ error(message: string | Node, options?: ToastOptions): ToastInstance;
280
+ warning(message: string | Node, options?: ToastOptions): ToastInstance;
281
+ info(message: string | Node, options?: ToastOptions): ToastInstance;
282
+ closeAll(): void;
283
+ };
284
+ import Component from '../component.js';