@functionalcms/svelte-components 2.33.2 → 2.34.2

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 (103) hide show
  1. package/dist/components/Link.svelte +290 -290
  2. package/dist/components/agnostic/Alert/Alert.svelte +310 -0
  3. package/dist/components/agnostic/Alert/Alert.svelte.d.ts +31 -0
  4. package/dist/components/agnostic/Avatar/Avatar.svelte +123 -0
  5. package/dist/components/agnostic/Avatar/Avatar.svelte.d.ts +26 -0
  6. package/dist/components/agnostic/Avatar/AvatarGroup.svelte +106 -0
  7. package/dist/components/agnostic/Avatar/AvatarGroup.svelte.d.ts +29 -0
  8. package/dist/components/agnostic/Breadcrumb/Breadcrumb.svelte +56 -0
  9. package/dist/components/agnostic/Breadcrumb/Breadcrumb.svelte.d.ts +20 -0
  10. package/dist/components/agnostic/Breadcrumb/api.d.ts +4 -0
  11. package/dist/components/agnostic/Breadcrumb/api.js +1 -0
  12. package/dist/components/agnostic/Button/Button.svelte +345 -0
  13. package/dist/components/agnostic/Button/Button.svelte.d.ts +43 -0
  14. package/dist/components/agnostic/Button/ButtonGroup.svelte +20 -0
  15. package/dist/components/agnostic/Button/ButtonGroup.svelte.d.ts +23 -0
  16. package/dist/components/agnostic/Button/button-base.css +12 -0
  17. package/dist/components/agnostic/Button/button-core.css +237 -0
  18. package/dist/components/agnostic/Button/button-empty.css +31 -0
  19. package/dist/components/agnostic/Button/button-group.css +8 -0
  20. package/dist/components/agnostic/Card/Card.svelte +133 -0
  21. package/dist/components/agnostic/Card/Card.svelte.d.ts +31 -0
  22. package/dist/components/agnostic/ChoiceInput/ChoiceInput.svelte +337 -0
  23. package/dist/components/agnostic/ChoiceInput/ChoiceInput.svelte.d.ts +37 -0
  24. package/dist/components/agnostic/ChoiceInput/api.d.ts +7 -0
  25. package/dist/components/agnostic/ChoiceInput/api.js +1 -0
  26. package/dist/components/agnostic/Close/Close.svelte +120 -0
  27. package/dist/components/agnostic/Close/Close.svelte.d.ts +23 -0
  28. package/dist/components/agnostic/Close/api.d.ts +1 -0
  29. package/dist/components/agnostic/Close/api.js +1 -0
  30. package/dist/components/agnostic/Dialog/Dialog.svelte +265 -0
  31. package/dist/components/agnostic/Dialog/Dialog.svelte.d.ts +39 -0
  32. package/dist/components/agnostic/Dialog/SvelteA11yDialog.svelte +103 -0
  33. package/dist/components/agnostic/Dialog/SvelteA11yDialog.svelte.d.ts +30 -0
  34. package/dist/components/agnostic/Dialog/a11y-dialog.d.ts +56 -0
  35. package/dist/components/agnostic/Dialog/a11y-dialog.js +216 -0
  36. package/dist/components/agnostic/Dialog/dom-utils.d.ts +26 -0
  37. package/dist/components/agnostic/Dialog/dom-utils.js +206 -0
  38. package/dist/components/agnostic/Disclose/Disclose.svelte +102 -0
  39. package/dist/components/agnostic/Disclose/Disclose.svelte.d.ts +23 -0
  40. package/dist/components/agnostic/Divider/Divider.svelte +139 -0
  41. package/dist/components/agnostic/Divider/Divider.svelte.d.ts +25 -0
  42. package/dist/components/agnostic/Divider/api.d.ts +3 -0
  43. package/dist/components/agnostic/Divider/api.js +1 -0
  44. package/dist/components/agnostic/Drawer/Drawer.svelte +30 -0
  45. package/dist/components/agnostic/Drawer/Drawer.svelte.d.ts +28 -0
  46. package/dist/components/agnostic/Drawer/api.d.ts +1 -0
  47. package/dist/components/agnostic/Drawer/api.js +1 -0
  48. package/dist/components/agnostic/EmptyState/EmptyState.svelte +46 -0
  49. package/dist/components/agnostic/EmptyState/EmptyState.svelte.d.ts +23 -0
  50. package/dist/components/agnostic/Header/Header.svelte +104 -0
  51. package/dist/components/agnostic/Header/Header.svelte.d.ts +26 -0
  52. package/dist/components/agnostic/Header/HeaderNav.svelte +28 -0
  53. package/dist/components/agnostic/Header/HeaderNav.svelte.d.ts +20 -0
  54. package/dist/components/agnostic/Header/HeaderNavItem.svelte +30 -0
  55. package/dist/components/agnostic/Header/HeaderNavItem.svelte.d.ts +20 -0
  56. package/dist/components/agnostic/Icon/Icon.svelte +180 -0
  57. package/dist/components/agnostic/Icon/Icon.svelte.d.ts +23 -0
  58. package/dist/components/agnostic/Icon/api.d.ts +2 -0
  59. package/dist/components/agnostic/Icon/api.js +1 -0
  60. package/dist/components/agnostic/Input/Input.svelte +415 -0
  61. package/dist/components/agnostic/Input/Input.svelte.d.ts +45 -0
  62. package/dist/components/agnostic/Input/InputAddonItem.svelte +42 -0
  63. package/dist/components/agnostic/Input/InputAddonItem.svelte.d.ts +33 -0
  64. package/dist/components/agnostic/Loader/Loader.svelte +113 -0
  65. package/dist/components/agnostic/Loader/Loader.svelte.d.ts +20 -0
  66. package/dist/components/agnostic/Menu/Menu.svelte +466 -0
  67. package/dist/components/agnostic/Menu/Menu.svelte.d.ts +31 -0
  68. package/dist/components/agnostic/Menu/MenuItem.svelte +117 -0
  69. package/dist/components/agnostic/Menu/MenuItem.svelte.d.ts +29 -0
  70. package/dist/components/agnostic/Progress/Progress.svelte +50 -0
  71. package/dist/components/agnostic/Progress/Progress.svelte.d.ts +20 -0
  72. package/dist/components/agnostic/Select/Select.svelte +141 -0
  73. package/dist/components/agnostic/Select/Select.svelte.d.ts +32 -0
  74. package/dist/components/agnostic/Spinner/Spinner.svelte +105 -0
  75. package/dist/components/agnostic/Spinner/Spinner.svelte.d.ts +19 -0
  76. package/dist/components/agnostic/Switch/Switch.svelte +275 -0
  77. package/dist/components/agnostic/Switch/Switch.svelte.d.ts +45 -0
  78. package/dist/components/agnostic/Table/Table.svelte +508 -0
  79. package/dist/components/agnostic/Table/Table.svelte.d.ts +36 -0
  80. package/dist/components/agnostic/Table/TableCustomRenderComponent.svelte +13 -0
  81. package/dist/components/agnostic/Table/TableCustomRenderComponent.svelte.d.ts +25 -0
  82. package/dist/components/agnostic/Tabs/TabButtonCustom.svelte +65 -0
  83. package/dist/components/agnostic/Tabs/TabButtonCustom.svelte.d.ts +35 -0
  84. package/dist/components/agnostic/Tabs/Tabs.svelte +330 -0
  85. package/dist/components/agnostic/Tabs/Tabs.svelte.d.ts +34 -0
  86. package/dist/components/agnostic/Tabs/api.d.ts +10 -0
  87. package/dist/components/agnostic/Tabs/api.js +1 -0
  88. package/dist/components/agnostic/Tag/Tag.svelte +74 -0
  89. package/dist/components/agnostic/Tag/Tag.svelte.d.ts +23 -0
  90. package/dist/components/agnostic/Tag/TagSlots.svelte +51 -0
  91. package/dist/components/agnostic/Tag/TagSlots.svelte.d.ts +16 -0
  92. package/dist/components/agnostic/Toasts/Toasts.svelte +46 -0
  93. package/dist/components/agnostic/Toasts/Toasts.svelte.d.ts +22 -0
  94. package/dist/components/agnostic/Tooltip/Tooltip.svelte +103 -0
  95. package/dist/components/agnostic/Tooltip/Tooltip.svelte.d.ts +23 -0
  96. package/dist/components/agnostic/Tooltip/TooltipSlots.svelte +81 -0
  97. package/dist/components/agnostic/Tooltip/TooltipSlots.svelte.d.ts +16 -0
  98. package/dist/components/agnostic/Tooltip/api.d.ts +1 -0
  99. package/dist/components/agnostic/Tooltip/api.js +1 -0
  100. package/dist/components/agnostic/animation.css +37 -0
  101. package/dist/index.d.ts +30 -1
  102. package/dist/index.js +30 -1
  103. package/package.json +1 -4
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,265 @@
1
+ <style>
2
+
3
+ /* ---------- GLOBAL STYLES ---------- */
4
+ /* Note this component requires global styles and doesn't get copied over from copystyles.js
5
+ and is "locked down". Svelte no longer appears to support <style global> and CSS Modules support
6
+ isn't built in. So, not ideal, but this is what we'll have to do for this component. */
7
+
8
+ /* These are styles for the case where classNames.closeButton property was NOT
9
+ passed in and so we're generating the default close 'X' button on the upper right. */
10
+ :global(.dialog-close-button) {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ background-color: transparent;
15
+ border: 0;
16
+ border-radius: 0;
17
+ box-shadow: none;
18
+ width: var(--fluid-32);
19
+ height: var(--fluid-32);
20
+ }
21
+
22
+ :global(.dialog-close-button:hover,
23
+ .dialog-close-button:active,
24
+ .dialog-close-button:focus) {
25
+ background: none;
26
+
27
+ /* Needed for High Contrast mode */
28
+ outline: var(--functional-focus-ring-outline-width)
29
+ var(--functional-focus-ring-outline-style)
30
+ var(--functional-focus-ring-outline-color);
31
+ }
32
+
33
+ :global(.dialog-close-button:focus) {
34
+ box-shadow: 0 0 0 3px var(--functional-focus-ring-color);
35
+ transition: box-shadow var(--functional-timing-fast) ease-out;
36
+ }
37
+
38
+ @media (prefers-reduced-motion), (update: slow) {
39
+ :global(.dialog-close-button:focus) {
40
+ transition-duration: 0.001ms !important;
41
+ }
42
+ }
43
+
44
+ :global(.close-button-large > .close) {
45
+ width: var(--fluid-16);
46
+ height: var(--fluid-16);
47
+ }
48
+
49
+ :global(.dialog-close-button:hover .close) {
50
+ opacity: 100%;
51
+ }
52
+
53
+
54
+ :global(.dialog),
55
+ :global(.dialog-overlay) {
56
+ position: fixed;
57
+ top: 0;
58
+ right: 0;
59
+ bottom: 0;
60
+ left: 0;
61
+ }
62
+
63
+ :global(.dialog) {
64
+ z-index: 1001;
65
+ display: flex;
66
+ }
67
+
68
+ :global(.dialog[aria-hidden="true"]) {
69
+ display: none;
70
+ }
71
+
72
+ :global(.dialog-overlay) {
73
+ background-color: rgb(50 50 50 / 60%);
74
+ animation: fade-in var(--functional-timing-fast) both;
75
+ }
76
+
77
+ :global(.dialog-content) {
78
+ background-color: var(--functional-light);
79
+ margin: auto;
80
+ z-index: 1001;
81
+ position: relative;
82
+ padding: var(--fluid-16);
83
+ max-width: 90%;
84
+ width: 600px;
85
+ border-radius: var(--functional-radius);
86
+ }
87
+
88
+ :global(.dialog-fade-in) {
89
+ animation: fade-in var(--functional-timing-fast) both;
90
+ }
91
+
92
+ :global(.dialog-slide-up) {
93
+ animation: slide-up var(--functional-timing-slow) var(--functional-timing-fast) both;
94
+ }
95
+
96
+ /**
97
+ * Cannot use two separate CSS classes with animation: foo, bar
98
+ * as the later class will overwrite the first (so this combines)
99
+ */
100
+ :global(.dialog-slide-up-fade-in) {
101
+ animation:
102
+ fade-in var(--functional-timing-fast) both,
103
+ slide-up var(--functional-timing-slow) var(--functional-timing-fast) both;
104
+ }
105
+
106
+ @media screen and (min-width: 700px) {
107
+ :global(.dialog-content) {
108
+ padding: var(--fluid-32);
109
+ }
110
+ }
111
+
112
+ @keyframes -global-fade-in {
113
+ from {
114
+ opacity: 0%;
115
+ }
116
+ }
117
+
118
+ @keyframes -global-slide-up {
119
+ from {
120
+ transform: translateY(10%);
121
+ }
122
+ }
123
+
124
+ /* Shared with AgnosticUI close buton so only need positioning and transition */
125
+ :global(.dialog-close) {
126
+ position: absolute;
127
+ top: var(--fluid-8);
128
+ right: var(--fluid-8);
129
+ }
130
+
131
+ @media (prefers-reduced-motion), (update: slow) {
132
+ :global(.dialog-slide-up-fade-in, .dialog-fade-in, .dialog-slide-up, .dialog-content) {
133
+ transition-duration: 0.001ms !important;
134
+ }
135
+ }
136
+
137
+ @media only screen and (min-width: 576px) {
138
+ :global(.dialog-close) {
139
+ top: var(--fluid-12);
140
+ right: var(--fluid-12);
141
+ }
142
+ }
143
+
144
+ @media screen and (min-width: 768px) {
145
+ :global(.dialog-close) {
146
+ top: var(--fluid-16);
147
+ right: var(--fluid-16);
148
+ }
149
+ }
150
+
151
+ /* We use div.drawer-* for specificity battle :( */
152
+ :global(div.drawer-start) {
153
+ right: initial;
154
+ }
155
+
156
+ :global(div.drawer-start[aria-hidden]) {
157
+ transform: none;
158
+ }
159
+
160
+ :global(div.drawer-end) {
161
+ left: initial;
162
+ }
163
+
164
+ :global(div.drawer-end[aria-hidden]) {
165
+ transform: none;
166
+ }
167
+
168
+ :global(div.drawer-top) {
169
+ bottom: initial;
170
+ transform: none;
171
+ }
172
+
173
+ :global(div.drawer-top[aria-hidden]) {
174
+ transform: none;
175
+ }
176
+
177
+ :global(div.drawer-bottom) {
178
+ top: initial;
179
+ transform: none;
180
+ }
181
+
182
+ :global(div.drawer-bottom[aria-hidden]) {
183
+ transform: none;
184
+ }
185
+
186
+ :global(div.drawer-content) {
187
+ margin: initial;
188
+ max-width: initial;
189
+ border-radius: initial;
190
+ }
191
+
192
+ :global(div.drawer-start div.drawer-content, div.drawer-end div.drawer-content) {
193
+ width: 25rem;
194
+ }
195
+
196
+ :global(div.drawer-top div.drawer-content, div.drawer-bottom div.drawer-content) {
197
+ height: 25vh;
198
+ width: 100%;
199
+ }
200
+ </style>
201
+
202
+ <script>import Close from "../Close/Close.svelte";
203
+ import SvelteA11yDialog from "svelte-a11y-dialog/SvelteA11yDialog.svelte";
204
+ import { createEventDispatcher } from "svelte";
205
+ const dispatch = createEventDispatcher();
206
+ export let id;
207
+ export let title;
208
+ export let dialogRoot;
209
+ export let role = "dialog";
210
+ export let titleId = "";
211
+ export let closeButtonLabel = "Close button";
212
+ export let closeButtonPosition = "first";
213
+ export let drawerPlacement = "";
214
+ export let isAnimationFadeIn = false;
215
+ export let isAnimationSlideUp = false;
216
+ let dialogInstance;
217
+ const assignDialogInstance = (ev) => {
218
+ dialogInstance = ev.detail.instance;
219
+ dispatch("instance", {
220
+ instance: dialogInstance
221
+ });
222
+ };
223
+ export let classNames = {};
224
+ const documentClasses = [
225
+ "dialog-content",
226
+ isAnimationFadeIn && isAnimationSlideUp ? "dialog-slide-up-fade-in" : "",
227
+ !isAnimationFadeIn && isAnimationSlideUp ? "dialog-slide-up" : "",
228
+ isAnimationFadeIn && !isAnimationSlideUp ? "dialog-fade-in" : "",
229
+ drawerPlacement.length ? "drawer-content" : ""
230
+ ].filter((c) => c).join(" ");
231
+ const containerClasses = [
232
+ "dialog",
233
+ drawerPlacement ? `drawer-${drawerPlacement}` : ""
234
+ ].filter((c) => c).join(" ");
235
+ const defaultClassNames = {
236
+ container: containerClasses,
237
+ document: documentClasses,
238
+ overlay: "dialog-overlay",
239
+ title: "h4 mbe16",
240
+ // Borrows .close-button (from close.css) as it gives us the transparent
241
+ // style plus the a11y focus ring we want applied to dialog's close button
242
+ closeButton: "dialog-close dialog-close-button"
243
+ };
244
+ $: getClassNames = () => {
245
+ return { ...defaultClassNames, ...classNames };
246
+ };
247
+ </script>
248
+
249
+ <SvelteA11yDialog
250
+ id={id}
251
+ dialogRoot={dialogRoot}
252
+ closeButtonLabel={closeButtonLabel}
253
+ closeButtonPosition={closeButtonPosition}
254
+ title={title}
255
+ titleId={titleId}
256
+ role={role}
257
+ classNames={getClassNames()}
258
+ on:instance={assignDialogInstance}
259
+ >
260
+ <slot name="closeButtonContent" slot="closeButtonContent">
261
+ <Close isFaux size="large" />
262
+ </slot>
263
+ <slot />
264
+ </SvelteA11yDialog>
265
+
@@ -0,0 +1,39 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id: any;
5
+ title: any;
6
+ dialogRoot: any;
7
+ role?: "dialog" | "alertdialog";
8
+ titleId?: string;
9
+ closeButtonLabel?: string;
10
+ closeButtonPosition?: "first" | "last" | "none";
11
+ drawerPlacement?: string;
12
+ /**
13
+ * Animates the dialog content by fading in. Set to false to disable.
14
+ */ isAnimationFadeIn?: boolean;
15
+ /**
16
+ * Animates the dialog content by sliding up. Set to false to disable.
17
+ */ isAnimationSlideUp?: boolean;
18
+ classNames?: {};
19
+ };
20
+ events: {
21
+ instance: CustomEvent<any>;
22
+ } & {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {
26
+ closeButtonContent: {
27
+ slot: string;
28
+ };
29
+ default: {};
30
+ };
31
+ exports?: {} | undefined;
32
+ bindings?: string | undefined;
33
+ };
34
+ export type DialogProps = typeof __propDef.props;
35
+ export type DialogEvents = typeof __propDef.events;
36
+ export type DialogSlots = typeof __propDef.slots;
37
+ export default class Dialog extends SvelteComponent<DialogProps, DialogEvents, DialogSlots> {
38
+ }
39
+ export {};
@@ -0,0 +1,103 @@
1
+ <script>import { createEventDispatcher, onMount, onDestroy, tick } from "svelte";
2
+ import A11yDialog from "./a11y-dialog.js";
3
+ const dispatch = createEventDispatcher();
4
+ export let id;
5
+ export let titleId = "";
6
+ export let role = "dialog";
7
+ export let dialogRoot;
8
+ export let title;
9
+ export let closeButtonLabel = "Close this dialog window";
10
+ export let closeButtonPosition = "first";
11
+ export let classNames = {};
12
+ const defaultClassNames = {
13
+ container: "dialog-container",
14
+ document: "dialog-content",
15
+ overlay: "dialog-overlay",
16
+ element: "dialog-element",
17
+ title: "dialog-title h4",
18
+ closeButton: "dialog-close"
19
+ };
20
+ const classes = { ...defaultClassNames, ...classNames };
21
+ let dialog;
22
+ let rootElement;
23
+ const portalTarget = dialogRoot || "document.body";
24
+ const fullTitleId = titleId || `${id}-title`;
25
+ const roleAttribute = ["dialog", "alertdialog"].includes(role) ? role : "dialog";
26
+ let mounted = false;
27
+ onMount(() => mounted = true);
28
+ onDestroy(() => {
29
+ if (dialog) {
30
+ dialog.destroy();
31
+ }
32
+ });
33
+ const instantiateDialog = async () => {
34
+ await tick();
35
+ dialog = new A11yDialog(rootElement, portalTarget);
36
+ dispatch("instance", {
37
+ "instance": dialog
38
+ });
39
+ };
40
+ const teleportNode = async (node) => {
41
+ const destination = document.querySelector(portalTarget);
42
+ destination.appendChild(node);
43
+ instantiateDialog();
44
+ };
45
+ const teleport = (node) => {
46
+ teleportNode(node);
47
+ };
48
+ const close = () => {
49
+ dialog.hide();
50
+ };
51
+ </script>
52
+
53
+ {#if mounted}
54
+ <div
55
+ id={id}
56
+ bind:this={rootElement}
57
+ class={classes.container}
58
+ role={roleAttribute}
59
+ aria-hidden="true"
60
+ aria-labelledby={fullTitleId}
61
+ use:teleport
62
+ >
63
+ <div
64
+ data-a11y-dialog-hide
65
+ tabindex="-1"
66
+ class={classes.overlay}
67
+ on:click|preventDefault={role === 'alertdialog' ? undefined : close}
68
+ ></div>
69
+ <div role="document" class={classes.document}>
70
+ {#if closeButtonPosition === 'first'}
71
+ <button
72
+ data-a11y-dialog-hide
73
+ type="button"
74
+ class={classes.closeButton}
75
+ aria-label={closeButtonLabel}
76
+ on:click={close}
77
+ >
78
+ <slot name="closeButtonContent">
79
+ { '\u00D7' }
80
+ </slot>
81
+ </button>
82
+ {/if}
83
+ <p id={fullTitleId} class={classes.title}>
84
+ {title}
85
+ </p>
86
+ <slot />
87
+ {#if closeButtonPosition === 'last'}
88
+ <button
89
+ data-a11y-dialog-hide
90
+ type="button"
91
+ class={classes.closeButton}
92
+ aria-label={closeButtonLabel}
93
+ on:click={close}
94
+ >
95
+ <slot name="closeButtonContent">
96
+ { '\u00D7' }
97
+ </slot>
98
+ </button>
99
+ {/if}
100
+ </div>
101
+ </div>
102
+ {/if}
103
+
@@ -0,0 +1,30 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id: string;
5
+ titleId?: string;
6
+ role?: "dialog" | "alertdialog";
7
+ dialogRoot: string;
8
+ title: string;
9
+ closeButtonLabel?: string;
10
+ closeButtonPosition?: "first" | "last" | "none";
11
+ classNames?: {};
12
+ };
13
+ events: {
14
+ instance: CustomEvent<any>;
15
+ } & {
16
+ [evt: string]: CustomEvent<any>;
17
+ };
18
+ slots: {
19
+ closeButtonContent: {};
20
+ default: {};
21
+ };
22
+ exports?: {} | undefined;
23
+ bindings?: string | undefined;
24
+ };
25
+ export type SvelteA11yDialogProps = typeof __propDef.props;
26
+ export type SvelteA11yDialogEvents = typeof __propDef.events;
27
+ export type SvelteA11yDialogSlots = typeof __propDef.slots;
28
+ export default class SvelteA11yDialog extends SvelteComponent<SvelteA11yDialogProps, SvelteA11yDialogEvents, SvelteA11yDialogSlots> {
29
+ }
30
+ export {};
@@ -0,0 +1,56 @@
1
+ export type A11yDialogEvent = 'show' | 'hide' | 'destroy';
2
+ export type A11yDialogInstance = InstanceType<typeof A11yDialog>;
3
+ export default class A11yDialog {
4
+ private $el;
5
+ private id;
6
+ private previouslyFocused;
7
+ shown: boolean;
8
+ constructor(element: HTMLElement);
9
+ /**
10
+ * Destroy the current instance (after making sure the dialog has been hidden)
11
+ * and remove all associated listeners from dialog openers and closers
12
+ */
13
+ destroy(): this;
14
+ /**
15
+ * Show the dialog element, trap the current focus within it, listen for some
16
+ * specific key presses and fire all registered callbacks for `show` event
17
+ */
18
+ show(event?: Event): this;
19
+ /**
20
+ * Hide the dialog element, restore the focus to the previously active
21
+ * element, stop listening for some specific key presses and fire all
22
+ * registered callbacks for `hide` event
23
+ */
24
+ hide(event?: Event): this;
25
+ /**
26
+ * Register a new callback for the given event type
27
+ */
28
+ on(type: A11yDialogEvent, handler: EventListener, options?: AddEventListenerOptions): this;
29
+ /**
30
+ * Unregister an existing callback for the given event type
31
+ */
32
+ off(type: A11yDialogEvent, handler: EventListener, options?: AddEventListenerOptions): this;
33
+ /**
34
+ * Dispatch and return a custom event from the DOM element associated with
35
+ * this dialog; this allows authors to listen for and respond to the events
36
+ * in their own code
37
+ */
38
+ private fire;
39
+ /**
40
+ * Add a delegated event listener for when elememts that open or close the
41
+ * dialog are clicked, and call `show` or `hide`, respectively
42
+ */
43
+ private handleTriggerClicks;
44
+ /**
45
+ * Private event handler used when listening to some specific key presses
46
+ * (namely ESC and TAB)
47
+ */
48
+ private bindKeypress;
49
+ /**
50
+ * If the dialog is shown and the focus is not within a dialog element (either
51
+ * this one or another one in case of nested dialogs) or attribute, move it
52
+ * back to the dialog container
53
+ * See: https://github.com/KittyGiraudel/a11y-dialog/issues/177
54
+ */
55
+ private maintainFocus;
56
+ }