@fluentui/web-components 3.0.0-beta.5 → 3.0.0-beta.7
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 +20 -2
- package/dist/dts/dialog/define.d.ts +1 -0
- package/dist/dts/dialog/dialog.d.ts +192 -0
- package/dist/dts/dialog/dialog.definition.d.ts +9 -0
- package/dist/dts/dialog/dialog.options.d.ts +11 -0
- package/dist/dts/dialog/dialog.styles.d.ts +4 -0
- package/dist/dts/dialog/dialog.template.d.ts +7 -0
- package/dist/dts/dialog/index.d.ts +4 -0
- package/dist/dts/index.d.ts +1 -0
- package/dist/dts/theme/design-tokens.d.ts +384 -384
- package/dist/dts/theme/set-theme.d.ts +1 -2
- package/dist/esm/accordion-item/accordion-item.styles.js +25 -25
- package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
- package/dist/esm/avatar/avatar.styles.js +100 -100
- package/dist/esm/avatar/avatar.styles.js.map +1 -1
- package/dist/esm/badge/badge.styles.js +3 -3
- package/dist/esm/badge/badge.styles.js.map +1 -1
- package/dist/esm/button/button.styles.js +63 -63
- package/dist/esm/button/button.styles.js.map +1 -1
- package/dist/esm/checkbox/checkbox.styles.js +37 -37
- package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
- package/dist/esm/compound-button/compound-button.styles.js +18 -18
- package/dist/esm/compound-button/compound-button.styles.js.map +1 -1
- package/dist/esm/counter-badge/counter-badge.styles.js +2 -2
- package/dist/esm/counter-badge/counter-badge.styles.js.map +1 -1
- package/dist/esm/dialog/define.js +4 -0
- package/dist/esm/dialog/define.js.map +1 -0
- package/dist/esm/dialog/dialog.definition.js +17 -0
- package/dist/esm/dialog/dialog.definition.js.map +1 -0
- package/dist/esm/dialog/dialog.js +370 -0
- package/dist/esm/dialog/dialog.js.map +1 -0
- package/dist/esm/dialog/dialog.options.js +10 -0
- package/dist/esm/dialog/dialog.options.js.map +1 -0
- package/dist/esm/dialog/dialog.styles.js +102 -0
- package/dist/esm/dialog/dialog.styles.js.map +1 -0
- package/dist/esm/dialog/dialog.template.js +61 -0
- package/dist/esm/dialog/dialog.template.js.map +1 -0
- package/dist/esm/dialog/index.js +5 -0
- package/dist/esm/dialog/index.js.map +1 -0
- package/dist/esm/divider/divider.styles.js +13 -13
- package/dist/esm/divider/divider.styles.js.map +1 -1
- package/dist/esm/image/image.styles.js +4 -4
- package/dist/esm/image/image.styles.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/label/label.styles.js +14 -14
- package/dist/esm/label/label.styles.js.map +1 -1
- package/dist/esm/menu-item/menu-item.styles.js +16 -16
- package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
- package/dist/esm/menu-list/menu-list.styles.js +4 -4
- package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.styles.js +25 -25
- package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
- package/dist/esm/radio/radio.styles.js +32 -32
- package/dist/esm/radio/radio.styles.js.map +1 -1
- package/dist/esm/radio-group/radio-group.styles.js +9 -9
- package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
- package/dist/esm/slider/slider.styles.js +23 -22
- package/dist/esm/slider/slider.styles.js.map +1 -1
- package/dist/esm/spinner/spinner.styles.js +5 -5
- package/dist/esm/spinner/spinner.styles.js.map +1 -1
- package/dist/esm/styles/partials/badge.partials.js +75 -75
- package/dist/esm/styles/partials/badge.partials.js.map +1 -1
- package/dist/esm/switch/switch.styles.js +34 -34
- package/dist/esm/switch/switch.styles.js.map +1 -1
- package/dist/esm/tab/tab.styles.js +20 -20
- package/dist/esm/tab/tab.styles.js.map +1 -1
- package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
- package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
- package/dist/esm/tabs/tabs.styles.js +49 -49
- package/dist/esm/tabs/tabs.styles.js.map +1 -1
- package/dist/esm/text/text.styles.js +27 -27
- package/dist/esm/text/text.styles.js.map +1 -1
- package/dist/esm/text-input/text-input.styles.js +67 -67
- package/dist/esm/text-input/text-input.styles.js.map +1 -1
- package/dist/esm/theme/design-tokens.js +385 -386
- package/dist/esm/theme/design-tokens.js.map +1 -1
- package/dist/esm/theme/set-theme.js +2 -2
- package/dist/esm/theme/set-theme.js.map +1 -1
- package/dist/esm/toggle-button/toggle-button.styles.js +24 -24
- package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
- package/dist/fluent-web-components.api.json +3913 -1564
- package/dist/storybook/{677.939f187f.iframe.bundle.js → 350.e4be85c2.iframe.bundle.js} +3 -3
- package/dist/storybook/{677.939f187f.iframe.bundle.js.LICENSE.txt → 350.e4be85c2.iframe.bundle.js.LICENSE.txt} +5 -0
- package/dist/storybook/{677.939f187f.iframe.bundle.js.map → 350.e4be85c2.iframe.bundle.js.map} +1 -1
- package/dist/storybook/iframe.html +1 -1
- package/dist/storybook/main.b095c2e8.iframe.bundle.js +2 -0
- package/dist/storybook/project.json +1 -1
- package/dist/web-components.d.ts +607 -386
- package/dist/web-components.js +2272 -2913
- package/dist/web-components.min.js +195 -187
- package/docs/api-report.md +418 -386
- package/package.json +6 -1
- package/dist/storybook/main.49f4b1e6.iframe.bundle.js +0 -2
- /package/dist/storybook/{main.49f4b1e6.iframe.bundle.js.LICENSE.txt → main.b095c2e8.iframe.bundle.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { attr, FASTElement, observable, Updates } from '@microsoft/fast-element';
|
|
8
|
+
import { isTabbable } from 'tabbable';
|
|
9
|
+
import { keyEscape, keyTab } from '@microsoft/fast-web-utilities';
|
|
10
|
+
import { DialogModalType } from './dialog.options.js';
|
|
11
|
+
/**
|
|
12
|
+
* Dialog component that extends the FASTElement class.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
* @extends FASTElement
|
|
16
|
+
*/
|
|
17
|
+
export class Dialog extends FASTElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
* Indicates whether focus is being trapped within the dialog
|
|
23
|
+
*/
|
|
24
|
+
this.isTrappingFocus = false;
|
|
25
|
+
/**
|
|
26
|
+
* @public
|
|
27
|
+
* The title action elements
|
|
28
|
+
*/
|
|
29
|
+
this.titleAction = [];
|
|
30
|
+
/**
|
|
31
|
+
* @public
|
|
32
|
+
* The type of the dialog modal
|
|
33
|
+
*/
|
|
34
|
+
this.modalType = DialogModalType.modal;
|
|
35
|
+
/**
|
|
36
|
+
* @public
|
|
37
|
+
* Indicates whether the dialog is open
|
|
38
|
+
*/
|
|
39
|
+
this.open = false;
|
|
40
|
+
/**
|
|
41
|
+
* @public
|
|
42
|
+
* Indicates whether the dialog has a title action
|
|
43
|
+
*/
|
|
44
|
+
this.noTitleAction = false;
|
|
45
|
+
/**
|
|
46
|
+
* @private
|
|
47
|
+
* Indicates whether focus should be trapped within the dialog
|
|
48
|
+
*/
|
|
49
|
+
this.trapFocus = false;
|
|
50
|
+
/**
|
|
51
|
+
* @public
|
|
52
|
+
* Method to emit an event when the dialog's open state changes
|
|
53
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
54
|
+
*/
|
|
55
|
+
this.onOpenChangeEvent = (dismissed = false) => {
|
|
56
|
+
this.$emit('onOpenChange', { open: this.dialog.open, dismissed: dismissed });
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* @public
|
|
60
|
+
* Handles keydown events on the dialog
|
|
61
|
+
* @param e - The keydown event
|
|
62
|
+
* @returns boolean | void
|
|
63
|
+
*/
|
|
64
|
+
this.handleKeydown = (e) => {
|
|
65
|
+
if (e.defaultPrevented) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
switch (e.key) {
|
|
69
|
+
case keyEscape:
|
|
70
|
+
if (this.modalType !== DialogModalType.alert) {
|
|
71
|
+
this.hide(true);
|
|
72
|
+
this.$emit('dismiss');
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
75
|
+
default:
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* @private
|
|
81
|
+
* Handles keydown events on the document
|
|
82
|
+
* @param e - The keydown event
|
|
83
|
+
*/
|
|
84
|
+
this.handleDocumentKeydown = (e) => {
|
|
85
|
+
if (!e.defaultPrevented && this.dialog.open) {
|
|
86
|
+
switch (e.key) {
|
|
87
|
+
case keyTab:
|
|
88
|
+
this.handleTabKeyDown(e);
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* @private
|
|
95
|
+
* Handles tab keydown events
|
|
96
|
+
* @param e - The keydown event
|
|
97
|
+
*/
|
|
98
|
+
this.handleTabKeyDown = (e) => {
|
|
99
|
+
if (!this.trapFocus || !this.dialog.open) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const bounds = this.getTabQueueBounds();
|
|
103
|
+
if (bounds.length === 1) {
|
|
104
|
+
bounds[0].focus();
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (e.shiftKey && e.target === bounds[0]) {
|
|
109
|
+
bounds[bounds.length - 1].focus();
|
|
110
|
+
e.preventDefault();
|
|
111
|
+
}
|
|
112
|
+
else if (!e.shiftKey && e.target === bounds[bounds.length - 1]) {
|
|
113
|
+
bounds[0].focus();
|
|
114
|
+
e.preventDefault();
|
|
115
|
+
}
|
|
116
|
+
return;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* @private
|
|
120
|
+
* Gets the bounds of the tab queue
|
|
121
|
+
* @returns (HTMLElement | SVGElement)[]
|
|
122
|
+
*/
|
|
123
|
+
this.getTabQueueBounds = () => {
|
|
124
|
+
const bounds = [];
|
|
125
|
+
return Dialog.reduceTabbableItems(bounds, this);
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* @private
|
|
129
|
+
* Focuses the first element in the tab queue
|
|
130
|
+
*/
|
|
131
|
+
this.focusFirstElement = () => {
|
|
132
|
+
const bounds = this.getTabQueueBounds();
|
|
133
|
+
if (bounds.length > 0) {
|
|
134
|
+
bounds[0].focus();
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
if (this.dialog instanceof HTMLElement) {
|
|
138
|
+
this.dialog.focus();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* @private
|
|
144
|
+
* Determines if focus should be forced
|
|
145
|
+
* @param currentFocusElement - The currently focused element
|
|
146
|
+
* @returns boolean
|
|
147
|
+
*/
|
|
148
|
+
this.shouldForceFocus = (currentFocusElement) => {
|
|
149
|
+
return this.isTrappingFocus && !this.contains(currentFocusElement);
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* @private
|
|
153
|
+
* Determines if focus should be trapped
|
|
154
|
+
* @returns boolean
|
|
155
|
+
*/
|
|
156
|
+
this.shouldTrapFocus = () => {
|
|
157
|
+
return this.trapFocus && this.dialog.open;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* @private
|
|
161
|
+
* Handles focus events on the document
|
|
162
|
+
* @param e - The focus event
|
|
163
|
+
*/
|
|
164
|
+
this.handleDocumentFocus = (e) => {
|
|
165
|
+
if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
|
|
166
|
+
this.focusFirstElement();
|
|
167
|
+
e.preventDefault();
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* @private
|
|
172
|
+
* Updates the state of focus trapping
|
|
173
|
+
* @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
|
|
174
|
+
*/
|
|
175
|
+
this.updateTrapFocus = (shouldTrapFocusOverride) => {
|
|
176
|
+
const shouldTrapFocus = shouldTrapFocusOverride === undefined ? this.shouldTrapFocus() : shouldTrapFocusOverride;
|
|
177
|
+
if (shouldTrapFocus && !this.isTrappingFocus) {
|
|
178
|
+
this.isTrappingFocus = true;
|
|
179
|
+
// Add an event listener for focusin events if we are trapping focus
|
|
180
|
+
document.addEventListener('focusin', this.handleDocumentFocus);
|
|
181
|
+
Updates.enqueue(() => {
|
|
182
|
+
if (this.shouldForceFocus(document.activeElement)) {
|
|
183
|
+
this.focusFirstElement();
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
else if (!shouldTrapFocus && this.isTrappingFocus) {
|
|
188
|
+
this.isTrappingFocus = false;
|
|
189
|
+
// remove event listener if we are not trapping focus
|
|
190
|
+
document.removeEventListener('focusin', this.handleDocumentFocus);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* @public
|
|
196
|
+
* Lifecycle method called when the element is connected to the DOM
|
|
197
|
+
*/
|
|
198
|
+
connectedCallback() {
|
|
199
|
+
super.connectedCallback();
|
|
200
|
+
document.addEventListener('keydown', this.handleDocumentKeydown);
|
|
201
|
+
Updates.enqueue(() => {
|
|
202
|
+
this.updateTrapFocus();
|
|
203
|
+
this.setComponent();
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* @public
|
|
208
|
+
* Lifecycle method called when the element is disconnected from the DOM
|
|
209
|
+
*/
|
|
210
|
+
disconnectedCallback() {
|
|
211
|
+
super.disconnectedCallback();
|
|
212
|
+
document.removeEventListener('keydown', this.handleDocumentKeydown);
|
|
213
|
+
this.updateTrapFocus(false);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* @public
|
|
217
|
+
* Method called when the 'open' attribute changes
|
|
218
|
+
*/
|
|
219
|
+
openChanged(oldValue, newValue) {
|
|
220
|
+
if (newValue !== oldValue) {
|
|
221
|
+
if (newValue && !oldValue) {
|
|
222
|
+
this.show();
|
|
223
|
+
}
|
|
224
|
+
else if (!newValue && oldValue) {
|
|
225
|
+
this.hide();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* @public
|
|
231
|
+
* Method called when the 'modalType' attribute changes
|
|
232
|
+
*/
|
|
233
|
+
modalTypeChanged(oldValue, newValue) {
|
|
234
|
+
if (newValue !== oldValue) {
|
|
235
|
+
if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
|
|
236
|
+
this.trapFocus = true;
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
this.trapFocus = false;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* @public
|
|
245
|
+
* Method to set the component's state based on its attributes
|
|
246
|
+
*/
|
|
247
|
+
setComponent() {
|
|
248
|
+
if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
|
|
249
|
+
this.trapFocus = true;
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
this.trapFocus = false;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* @public
|
|
257
|
+
* Method to show the dialog
|
|
258
|
+
*/
|
|
259
|
+
show() {
|
|
260
|
+
Updates.enqueue(() => {
|
|
261
|
+
if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
|
|
262
|
+
this.dialog.showModal();
|
|
263
|
+
this.open = true;
|
|
264
|
+
this.updateTrapFocus(true);
|
|
265
|
+
}
|
|
266
|
+
else if (this.modalType === DialogModalType.nonModal) {
|
|
267
|
+
this.dialog.show();
|
|
268
|
+
this.open = true;
|
|
269
|
+
}
|
|
270
|
+
this.onOpenChangeEvent();
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* @public
|
|
275
|
+
* Method to hide the dialog
|
|
276
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
277
|
+
*/
|
|
278
|
+
hide(dismissed = false) {
|
|
279
|
+
this.dialog.close();
|
|
280
|
+
this.open = false;
|
|
281
|
+
this.onOpenChangeEvent(dismissed);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* @public
|
|
285
|
+
* Method to dismiss the dialog
|
|
286
|
+
*/
|
|
287
|
+
dismiss() {
|
|
288
|
+
if (this.modalType === DialogModalType.alert) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
this.hide(true);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* @public
|
|
295
|
+
* Handles click events on the dialog
|
|
296
|
+
* @param event - The click event
|
|
297
|
+
* @returns boolean
|
|
298
|
+
*/
|
|
299
|
+
handleClick(event) {
|
|
300
|
+
event.preventDefault();
|
|
301
|
+
if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
|
|
302
|
+
this.dismiss();
|
|
303
|
+
}
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @private
|
|
308
|
+
* Reduces the list of tabbable items
|
|
309
|
+
* @param elements - The current list of elements
|
|
310
|
+
* @param element - The element to consider adding to the list
|
|
311
|
+
* @returns HTMLElement[]
|
|
312
|
+
*/
|
|
313
|
+
static reduceTabbableItems(elements, element) {
|
|
314
|
+
if (element.getAttribute('tabindex') === '-1') {
|
|
315
|
+
return elements;
|
|
316
|
+
}
|
|
317
|
+
if (isTabbable(element) || (Dialog.isFocusableFastElement(element) && Dialog.hasTabbableShadow(element))) {
|
|
318
|
+
elements.push(element);
|
|
319
|
+
return elements;
|
|
320
|
+
}
|
|
321
|
+
return Array.from(element.children).reduce((elements, currentElement) => Dialog.reduceTabbableItems(elements, currentElement), elements);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* @private
|
|
325
|
+
* Determines if an element is a focusable FASTElement
|
|
326
|
+
* @param element - The element to check
|
|
327
|
+
* @returns boolean
|
|
328
|
+
*/
|
|
329
|
+
static isFocusableFastElement(element) {
|
|
330
|
+
var _a, _b;
|
|
331
|
+
return !!((_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus);
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* @private
|
|
335
|
+
* Determines if an element has a tabbable shadow
|
|
336
|
+
* @param element - The element to check
|
|
337
|
+
* @returns boolean
|
|
338
|
+
*/
|
|
339
|
+
static hasTabbableShadow(element) {
|
|
340
|
+
var _a, _b;
|
|
341
|
+
return Array.from((_b = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('*')) !== null && _b !== void 0 ? _b : []).some(x => {
|
|
342
|
+
return isTabbable(x);
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
__decorate([
|
|
347
|
+
observable
|
|
348
|
+
], Dialog.prototype, "dialog", void 0);
|
|
349
|
+
__decorate([
|
|
350
|
+
observable
|
|
351
|
+
], Dialog.prototype, "titleAction", void 0);
|
|
352
|
+
__decorate([
|
|
353
|
+
observable
|
|
354
|
+
], Dialog.prototype, "defaultTitleAction", void 0);
|
|
355
|
+
__decorate([
|
|
356
|
+
attr({ attribute: 'aria-describedby' })
|
|
357
|
+
], Dialog.prototype, "ariaDescribedby", void 0);
|
|
358
|
+
__decorate([
|
|
359
|
+
attr({ attribute: 'aria-labelledby' })
|
|
360
|
+
], Dialog.prototype, "ariaLabelledby", void 0);
|
|
361
|
+
__decorate([
|
|
362
|
+
attr({ attribute: 'modal-type' })
|
|
363
|
+
], Dialog.prototype, "modalType", void 0);
|
|
364
|
+
__decorate([
|
|
365
|
+
attr({ mode: 'boolean' })
|
|
366
|
+
], Dialog.prototype, "open", void 0);
|
|
367
|
+
__decorate([
|
|
368
|
+
attr({ mode: 'boolean', attribute: 'no-title-action' })
|
|
369
|
+
], Dialog.prototype, "noTitleAction", void 0);
|
|
370
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/dialog/dialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.options.js","sourceRoot":"","sources":["../../../src/dialog/dialog.options.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,OAAO;CACN,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { borderRadiusXLarge, colorBackgroundOverlay, colorNeutralBackground1, colorNeutralForeground1, colorTransparentStroke, fontFamilyBase, fontSizeBase300, fontSizeBase500, fontWeightRegular, fontWeightSemibold, lineHeightBase300, lineHeightBase500, shadow64, spacingHorizontalS, spacingHorizontalXXL, spacingVerticalS, spacingVerticalXXL, strokeWidthThin, } from '../theme/design-tokens.js';
|
|
4
|
+
/** Dialog styles
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export const styles = css `
|
|
8
|
+
${display('flex')}
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
--dialog-backdrop: var(${colorBackgroundOverlay});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
dialog {
|
|
15
|
+
background: var(${colorNeutralBackground1});
|
|
16
|
+
border: var(${strokeWidthThin}) solid var(${colorTransparentStroke});
|
|
17
|
+
z-index: 2;
|
|
18
|
+
margin: auto auto;
|
|
19
|
+
max-width: 100%;
|
|
20
|
+
width: 100vw;
|
|
21
|
+
border-radius: var(${borderRadiusXLarge});
|
|
22
|
+
box-shadow: var(${shadow64});
|
|
23
|
+
max-height: 100vh;
|
|
24
|
+
height: fit-content;
|
|
25
|
+
overflow: unset;
|
|
26
|
+
position: fixed;
|
|
27
|
+
inset: 0;
|
|
28
|
+
padding: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
dialog::backdrop {
|
|
32
|
+
background: var(--dialog-backdrop, rgba(0, 0, 0, 0.4));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.root {
|
|
36
|
+
box-sizing: border-box;
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
overflow: unset;
|
|
40
|
+
max-height: calc(100vh - 48px);
|
|
41
|
+
padding: var(${spacingVerticalXXL}) var(${spacingHorizontalXXL});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.title {
|
|
45
|
+
font-size: var(${fontSizeBase500});
|
|
46
|
+
line-height: var(${lineHeightBase500});
|
|
47
|
+
font-weight: var(${fontWeightSemibold});
|
|
48
|
+
font-family: var(${fontFamilyBase});
|
|
49
|
+
color: var(${colorNeutralForeground1});
|
|
50
|
+
margin-bottom: var(${spacingVerticalS});
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
align-items: flex-start;
|
|
54
|
+
column-gap: 8px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.content {
|
|
58
|
+
vertical-align: top;
|
|
59
|
+
min-height: 32px;
|
|
60
|
+
color: var(${colorNeutralForeground1});
|
|
61
|
+
font-size: var(${fontSizeBase300});
|
|
62
|
+
line-height: var(${lineHeightBase300});
|
|
63
|
+
font-weight: var(${fontWeightRegular});
|
|
64
|
+
font-family: var(${fontFamilyBase});
|
|
65
|
+
overflow-y: auto;
|
|
66
|
+
box-sizing: border-box;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.actions {
|
|
70
|
+
display: flex;
|
|
71
|
+
grid-column-start: 1;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
max-width: 100vw;
|
|
74
|
+
row-gap: var(${spacingVerticalS});
|
|
75
|
+
padding-top: var(${spacingVerticalXXL});
|
|
76
|
+
justify-self: stretch;
|
|
77
|
+
width: 100%;
|
|
78
|
+
}
|
|
79
|
+
::slotted([slot='action']) {
|
|
80
|
+
width: 100%;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@media screen and (min-width: 480px) {
|
|
84
|
+
::slotted([slot='action']) {
|
|
85
|
+
width: fit-content;
|
|
86
|
+
}
|
|
87
|
+
dialog {
|
|
88
|
+
max-width: 600px;
|
|
89
|
+
width: 100%;
|
|
90
|
+
}
|
|
91
|
+
.actions {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: row;
|
|
94
|
+
justify-content: flex-end;
|
|
95
|
+
align-items: center;
|
|
96
|
+
column-gap: var(${spacingHorizontalS});
|
|
97
|
+
padding-top: var(${spacingVerticalS});
|
|
98
|
+
box-sizing: border-box;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
`;
|
|
102
|
+
//# sourceMappingURL=dialog.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.styles.js","sourceRoot":"","sources":["../../../src/dialog/dialog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;6BAGU,sBAAsB;;;;sBAI7B,uBAAuB;kBAC3B,eAAe,eAAe,sBAAsB;;;;;yBAK7C,kBAAkB;sBACrB,QAAQ;;;;;;;;;;;;;;;;;;;mBAmBX,kBAAkB,SAAS,oBAAoB;;;;qBAI7C,eAAe;uBACb,iBAAiB;uBACjB,kBAAkB;uBAClB,cAAc;iBACpB,uBAAuB;yBACf,gBAAgB;;;;;;;;;;iBAUxB,uBAAuB;qBACnB,eAAe;uBACb,iBAAiB;uBACjB,iBAAiB;uBACjB,cAAc;;;;;;;;;;mBAUlB,gBAAgB;uBACZ,kBAAkB;;;;;;;;;;;;;;;;;;;;;wBAqBjB,kBAAkB;yBACjB,gBAAgB;;;;CAIxC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { elements, html, ref, slotted, when } from '@microsoft/fast-element';
|
|
2
|
+
import { DialogModalType } from './dialog.options.js';
|
|
3
|
+
const dismissed16Regular = html.partial(`
|
|
4
|
+
<svg
|
|
5
|
+
fill="currentColor"
|
|
6
|
+
aria-hidden="true"
|
|
7
|
+
width="20"
|
|
8
|
+
height="20"
|
|
9
|
+
viewBox="0 0 20 20"
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
>
|
|
12
|
+
<path
|
|
13
|
+
d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"
|
|
14
|
+
fill="currentColor"
|
|
15
|
+
></path>
|
|
16
|
+
</svg>`);
|
|
17
|
+
/**
|
|
18
|
+
* Template for the Dialog component
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export const template = html `
|
|
22
|
+
<template ?open="${x => x.open}">
|
|
23
|
+
<dialog
|
|
24
|
+
role="${x => (x.modalType === DialogModalType.alert ? 'alertdialog' : 'dialog')}"
|
|
25
|
+
modal-type="${x => x.modalType}"
|
|
26
|
+
class="dialog"
|
|
27
|
+
part="dialog"
|
|
28
|
+
aria-modal="${x => x.modalType === DialogModalType.modal || x.modalType === DialogModalType.alert ? 'true' : void 0}"
|
|
29
|
+
aria-describedby="${x => x.ariaDescribedby}"
|
|
30
|
+
aria-labelledby="${x => x.ariaLabelledby}"
|
|
31
|
+
aria-label="${x => x.ariaLabel}"
|
|
32
|
+
@keydown="${(x, c) => x.handleKeydown(c.event)}"
|
|
33
|
+
@click="${(x, c) => x.handleClick(c.event)}"
|
|
34
|
+
${ref('dialog')}
|
|
35
|
+
>
|
|
36
|
+
<div class="root" part="root">
|
|
37
|
+
<div class="title" part="title">
|
|
38
|
+
<slot name="title"></slot>
|
|
39
|
+
<slot ${slotted({ property: 'titleAction', filter: elements() })} name="title-action"></slot>
|
|
40
|
+
${when(x => x.modalType === DialogModalType.nonModal && x.titleAction.length === 0 && !x.noTitleAction, html `<fluent-button
|
|
41
|
+
tabindex="0"
|
|
42
|
+
part="title-action"
|
|
43
|
+
class="title-action"
|
|
44
|
+
appearance="transparent"
|
|
45
|
+
icon-only
|
|
46
|
+
@click=${x => x.dismiss()}
|
|
47
|
+
${ref('defaultTitleAction')}
|
|
48
|
+
>${dismissed16Regular}</fluent-button
|
|
49
|
+
>`)}
|
|
50
|
+
</div>
|
|
51
|
+
<div class="content" part="content">
|
|
52
|
+
<slot></slot>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="actions" part="actions">
|
|
55
|
+
<slot name="action"></slot>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</dialog>
|
|
59
|
+
</template>
|
|
60
|
+
`;
|
|
61
|
+
//# sourceMappingURL=dialog.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.template.js","sourceRoot":"","sources":["../../../src/dialog/dialog.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;SAa/B,CAAC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgC,IAAI,CAAA;qBACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;cAElB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;;;oBAGhB,CAAC,CAAC,EAAE,CAChB,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;0BAC9E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;yBACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;kBAClB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAsB,CAAC;gBACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAmB,CAAC;QACtD,GAAG,CAAC,QAAQ,CAAC;;;;;kBAKH,OAAO,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC9D,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAC/F,IAAI,CAAA;;;;;;uBAMO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;gBACvB,GAAG,CAAC,oBAAoB,CAAC;iBACxB,kBAAkB;cACrB,CACH;;;;;;;;;;;CAWV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -14,12 +14,12 @@ export const styles = css `
|
|
|
14
14
|
:host::after,
|
|
15
15
|
:host::before {
|
|
16
16
|
align-self: center;
|
|
17
|
-
background: ${colorNeutralStroke2};
|
|
17
|
+
background: var(${colorNeutralStroke2});
|
|
18
18
|
box-sizing: border-box;
|
|
19
19
|
content: '';
|
|
20
20
|
display: flex;
|
|
21
21
|
flex-grow: 1;
|
|
22
|
-
height: ${strokeWidthThin};
|
|
22
|
+
height: var(${strokeWidthThin});
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
:host([inset]) {
|
|
@@ -27,10 +27,10 @@ export const styles = css `
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
:host ::slotted(*) {
|
|
30
|
-
color: ${colorNeutralForeground2};
|
|
31
|
-
font-family: ${fontFamilyBase};
|
|
32
|
-
font-size: ${fontSizeBase200};
|
|
33
|
-
font-weight: ${fontWeightRegular};
|
|
30
|
+
color: var(${colorNeutralForeground2});
|
|
31
|
+
font-family: var(${fontFamilyBase});
|
|
32
|
+
font-size: var(${fontSizeBase200});
|
|
33
|
+
font-weight: var(${fontWeightRegular});
|
|
34
34
|
margin: 0;
|
|
35
35
|
padding: 0 12px;
|
|
36
36
|
}
|
|
@@ -71,7 +71,7 @@ export const styles = css `
|
|
|
71
71
|
|
|
72
72
|
:host([orientation='vertical'])::before,
|
|
73
73
|
:host([orientation='vertical'])::after {
|
|
74
|
-
width: ${strokeWidthThin};
|
|
74
|
+
width: var(${strokeWidthThin});
|
|
75
75
|
min-height: 20px;
|
|
76
76
|
height: 100%;
|
|
77
77
|
}
|
|
@@ -92,24 +92,24 @@ export const styles = css `
|
|
|
92
92
|
|
|
93
93
|
:host([appearance='strong'])::before,
|
|
94
94
|
:host([appearance='strong'])::after {
|
|
95
|
-
background: ${colorNeutralStroke1};
|
|
95
|
+
background: var(${colorNeutralStroke1});
|
|
96
96
|
}
|
|
97
97
|
:host([appearance='strong']) ::slotted(*) {
|
|
98
|
-
color: ${colorNeutralForeground1};
|
|
98
|
+
color: var(${colorNeutralForeground1});
|
|
99
99
|
}
|
|
100
100
|
:host([appearance='brand'])::before,
|
|
101
101
|
:host([appearance='brand'])::after {
|
|
102
|
-
background: ${colorBrandStroke1};
|
|
102
|
+
background: var(${colorBrandStroke1});
|
|
103
103
|
}
|
|
104
104
|
:host([appearance='brand']) ::slotted(*) {
|
|
105
|
-
color: ${colorBrandForeground1};
|
|
105
|
+
color: var(${colorBrandForeground1});
|
|
106
106
|
}
|
|
107
107
|
:host([appearance='subtle'])::before,
|
|
108
108
|
:host([appearance='subtle'])::after {
|
|
109
|
-
background: ${colorNeutralStroke3};
|
|
109
|
+
background: var(${colorNeutralStroke3});
|
|
110
110
|
}
|
|
111
111
|
:host([appearance='subtle']) ::slotted(*) {
|
|
112
|
-
color: ${colorNeutralForeground3};
|
|
112
|
+
color: var(${colorNeutralForeground3});
|
|
113
113
|
}
|
|
114
114
|
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
115
115
|
:host([appearance='strong'])::before,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider.styles.js","sourceRoot":"","sources":["../../../src/divider/divider.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"divider.styles.js","sourceRoot":"","sources":["../../../src/divider/divider.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;sBASG,mBAAmB;;;;;kBAKvB,eAAe;;;;;;;;iBAQhB,uBAAuB;uBACjB,cAAc;qBAChB,eAAe;uBACb,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCvB,eAAe;;;;;;;;;;;;;;;;;;;;;sBAqBV,mBAAmB;;;iBAGxB,uBAAuB;;;;sBAIlB,iBAAiB;;;iBAGtB,qBAAqB;;;;sBAIhB,mBAAmB;;;iBAGxB,uBAAuB;;CAEvC,CAAC,aAAa,CACb,8BAA8B,CAAC,GAAG,CAAA;;;;;;;;;;;;GAYjC,CAAC,CACH,CAAC"}
|